pub struct WasiP1Ctx { /* private fields */ }
preview1
only.Expand description
Structure containing state for WASIp1.
This structure is created through WasiCtxBuilder::build_p1
and is
configured through the various methods of WasiCtxBuilder
. This structure
itself implements generated traits for WASIp1 as well as WasiView
to
have access to WASIp2.
Instances of WasiP1Ctx
are typically stored within the T
of
Store<T>
.
§Examples
use wasmtime::{Result, Linker};
use wasmtime_wasi::preview1::{self, WasiP1Ctx};
use wasmtime_wasi::WasiCtxBuilder;
struct MyState {
// ... custom state as necessary ...
wasi: WasiP1Ctx,
}
impl MyState {
fn new() -> MyState {
MyState {
// .. initialize custom state if needed ..
wasi: WasiCtxBuilder::new()
.arg("./foo.wasm")
// .. more customization if necesssary ..
.build_p1(),
}
}
}
fn add_to_linker(linker: &mut Linker<MyState>) -> Result<()> {
preview1::add_to_linker_sync(linker, |my_state| &mut my_state.wasi)?;
Ok(())
}
Trait Implementations§
Source§impl WasiSnapshotPreview1 for WasiP1Ctx
impl WasiSnapshotPreview1 for WasiP1Ctx
Source§fn fd_allocate(
&mut self,
_memory: &mut GuestMemory<'_>,
fd: Fd,
_offset: Filesize,
_len: Filesize,
) -> Result<(), Error>
fn fd_allocate( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, _offset: Filesize, _len: Filesize, ) -> Result<(), Error>
Force the allocation of space in a file.
NOTE: This is similar to posix_fallocate
in POSIX.
Source§fn fd_close<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_close<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Close a file descriptor.
NOTE: This is similar to close
in POSIX.
Source§fn fd_datasync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_datasync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Synchronize the data of a file to disk.
NOTE: This is similar to fdatasync
in POSIX.
Source§fn fd_fdstat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_fdstat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get the attributes of a file descriptor.
NOTE: This returns similar flags to fsync(fd, F_GETFL)
in POSIX, as well as additional fields.
Source§fn fd_fdstat_set_flags(
&mut self,
_memory: &mut GuestMemory<'_>,
fd: Fd,
flags: Fdflags,
) -> Result<(), Error>
fn fd_fdstat_set_flags( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, flags: Fdflags, ) -> Result<(), Error>
Adjust the flags associated with a file descriptor.
NOTE: This is similar to fcntl(fd, F_SETFL, flags)
in POSIX.
Source§fn fd_fdstat_set_rights(
&mut self,
_memory: &mut GuestMemory<'_>,
fd: Fd,
_fs_rights_base: Rights,
_fs_rights_inheriting: Rights,
) -> Result<(), Error>
fn fd_fdstat_set_rights( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, _fs_rights_base: Rights, _fs_rights_inheriting: Rights, ) -> Result<(), Error>
Does not do anything if fd
corresponds to a valid descriptor and returns [types::Errno::Badf]
error otherwise.
Source§fn fd_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the attributes of an open file.
Source§fn fd_filestat_set_size<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
size: Filesize,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_filestat_set_size<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
size: Filesize,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Adjust the size of an open file. If this increases the file’s size, the extra bytes are filled with zeros.
NOTE: This is similar to ftruncate
in POSIX.
Source§fn fd_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Adjust the timestamps of an open file or directory.
NOTE: This is similar to futimens
in POSIX.
Source§fn fd_read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: IovecArray,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: IovecArray,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read from a file descriptor.
NOTE: This is similar to readv
in POSIX.
Source§fn fd_pread<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: IovecArray,
offset: Filesize,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_pread<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: IovecArray,
offset: Filesize,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read from a file descriptor, without using and updating the file descriptor’s offset.
NOTE: This is similar to preadv
in POSIX.
Source§fn fd_write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: CiovecArray,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: CiovecArray,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Write to a file descriptor.
NOTE: This is similar to writev
in POSIX.
Source§fn fd_pwrite<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: CiovecArray,
offset: Filesize,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_pwrite<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: CiovecArray,
offset: Filesize,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Write to a file descriptor, without using and updating the file descriptor’s offset.
NOTE: This is similar to pwritev
in POSIX.
Source§fn fd_prestat_get(
&mut self,
_memory: &mut GuestMemory<'_>,
fd: Fd,
) -> Result<Prestat, Error>
fn fd_prestat_get( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, ) -> Result<Prestat, Error>
Return a description of the given preopened file descriptor.
Source§fn fd_prestat_dir_name(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<u8>,
path_max_len: Size,
) -> Result<(), Error>
fn fd_prestat_dir_name( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<u8>, path_max_len: Size, ) -> Result<(), Error>
Return a description of the given preopened file descriptor.
Source§fn fd_renumber(
&mut self,
_memory: &mut GuestMemory<'_>,
from: Fd,
to: Fd,
) -> Result<(), Error>
fn fd_renumber( &mut self, _memory: &mut GuestMemory<'_>, from: Fd, to: Fd, ) -> Result<(), Error>
Atomically replace a file descriptor by renumbering another file descriptor.
Source§fn fd_seek<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: Filedelta,
whence: Whence,
) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_seek<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: Filedelta,
whence: Whence,
) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Move the offset of a file descriptor.
NOTE: This is similar to lseek
in POSIX.
Source§fn fd_sync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_sync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Synchronize the data and metadata of a file to disk.
NOTE: This is similar to fsync
in POSIX.
Source§fn fd_tell(
&mut self,
_memory: &mut GuestMemory<'_>,
fd: Fd,
) -> Result<Filesize, Error>
fn fd_tell( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, ) -> Result<Filesize, Error>
Return the current offset of a file descriptor.
NOTE: This is similar to lseek(fd, 0, SEEK_CUR)
in POSIX.
Source§fn path_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the attributes of a file or directory.
NOTE: This is similar to stat
in POSIX.
Source§fn path_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Adjust the timestamps of a file or directory.
NOTE: This is similar to utimensat
in POSIX.
Source§fn path_link<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_flags: Lookupflags,
src_path: GuestPtr<str>,
target_fd: Fd,
target_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_link<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_flags: Lookupflags,
src_path: GuestPtr<str>,
target_fd: Fd,
target_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a hard link.
NOTE: This is similar to linkat
in POSIX.
Source§fn path_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
dirflags: Lookupflags,
path: GuestPtr<str>,
oflags: Oflags,
fs_rights_base: Rights,
_fs_rights_inheriting: Rights,
fdflags: Fdflags,
) -> Pin<Box<dyn Future<Output = Result<Fd, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
dirflags: Lookupflags,
path: GuestPtr<str>,
oflags: Oflags,
fs_rights_base: Rights,
_fs_rights_inheriting: Rights,
fdflags: Fdflags,
) -> Pin<Box<dyn Future<Output = Result<Fd, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Open a file or directory.
NOTE: This is similar to openat
in POSIX.
Source§fn path_readlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
buf: GuestPtr<u8>,
buf_len: Size,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_readlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
buf: GuestPtr<u8>,
buf_len: Size,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read the contents of a symbolic link.
NOTE: This is similar to readlinkat
in POSIX.
Source§fn path_rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_path: GuestPtr<str>,
dest_fd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_path: GuestPtr<str>,
dest_fd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Rename a file or directory.
NOTE: This is similar to renameat
in POSIX.
fn args_get( &mut self, memory: &mut GuestMemory<'_>, argv: GuestPtr<GuestPtr<u8>>, argv_buf: GuestPtr<u8>, ) -> Result<(), Error>
fn args_sizes_get( &mut self, _memory: &mut GuestMemory<'_>, ) -> Result<(Size, Size), Error>
fn environ_get( &mut self, memory: &mut GuestMemory<'_>, environ: GuestPtr<GuestPtr<u8>>, environ_buf: GuestPtr<u8>, ) -> Result<(), Error>
fn environ_sizes_get( &mut self, _memory: &mut GuestMemory<'_>, ) -> Result<(Size, Size), Error>
fn clock_res_get( &mut self, _memory: &mut GuestMemory<'_>, id: Clockid, ) -> Result<Timestamp, Error>
fn clock_time_get( &mut self, _memory: &mut GuestMemory<'_>, id: Clockid, _precision: Timestamp, ) -> Result<Timestamp, Error>
fn fd_advise<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: Filesize,
len: Filesize,
advice: Advice,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fd_readdir<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
buf: GuestPtr<u8>,
buf_len: Size,
cookie: Dircookie,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_create_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_remove_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_symlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_path: GuestPtr<str>,
dirfd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn path_unlink_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn poll_oneoff<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
subs: GuestPtr<Subscription>,
events: GuestPtr<Event>,
nsubscriptions: Size,
) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn proc_exit( &mut self, _memory: &mut GuestMemory<'_>, status: Exitcode, ) -> Error
fn proc_raise( &mut self, _memory: &mut GuestMemory<'_>, _sig: Signal, ) -> Result<(), Error>
fn sched_yield(&mut self, _memory: &mut GuestMemory<'_>) -> Result<(), Error>
fn random_get( &mut self, memory: &mut GuestMemory<'_>, buf: GuestPtr<u8>, buf_len: Size, ) -> Result<(), Error>
fn sock_accept( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, flags: Fdflags, ) -> Result<Fd, Error>
fn sock_recv( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, ri_data: IovecArray, ri_flags: Riflags, ) -> Result<(Size, Roflags), Error>
fn sock_send( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, si_data: CiovecArray, _si_flags: Siflags, ) -> Result<Size, Error>
fn sock_shutdown( &mut self, _memory: &mut GuestMemory<'_>, fd: Fd, how: Sdflags, ) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for WasiP1Ctx
impl !RefUnwindSafe for WasiP1Ctx
impl Send for WasiP1Ctx
impl !Sync for WasiP1Ctx
impl Unpin for WasiP1Ctx
impl !UnwindSafe for WasiP1Ctx
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self
file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> WasiUnstable for Twhere
T: WasiSnapshotPreview1 + Send,
impl<T> WasiUnstable for Twhere
T: WasiSnapshotPreview1 + Send,
Source§fn args_get(
&mut self,
memory: &mut GuestMemory<'_>,
argv: GuestPtr<GuestPtr<u8>>,
argv_buf: GuestPtr<u8>,
) -> Result<(), Error>
fn args_get( &mut self, memory: &mut GuestMemory<'_>, argv: GuestPtr<GuestPtr<u8>>, argv_buf: GuestPtr<u8>, ) -> Result<(), Error>
preview1
only.Source§fn args_sizes_get(
&mut self,
memory: &mut GuestMemory<'_>,
) -> Result<(u32, u32), Error>
fn args_sizes_get( &mut self, memory: &mut GuestMemory<'_>, ) -> Result<(u32, u32), Error>
preview1
only.Source§fn environ_get(
&mut self,
memory: &mut GuestMemory<'_>,
environ: GuestPtr<GuestPtr<u8>>,
environ_buf: GuestPtr<u8>,
) -> Result<(), Error>
fn environ_get( &mut self, memory: &mut GuestMemory<'_>, environ: GuestPtr<GuestPtr<u8>>, environ_buf: GuestPtr<u8>, ) -> Result<(), Error>
preview1
only.Source§fn environ_sizes_get(
&mut self,
memory: &mut GuestMemory<'_>,
) -> Result<(u32, u32), Error>
fn environ_sizes_get( &mut self, memory: &mut GuestMemory<'_>, ) -> Result<(u32, u32), Error>
preview1
only.Source§fn clock_res_get(
&mut self,
memory: &mut GuestMemory<'_>,
id: Clockid,
) -> Result<u64, Error>
fn clock_res_get( &mut self, memory: &mut GuestMemory<'_>, id: Clockid, ) -> Result<u64, Error>
preview1
only.Source§fn clock_time_get(
&mut self,
memory: &mut GuestMemory<'_>,
id: Clockid,
precision: u64,
) -> Result<u64, Error>
fn clock_time_get( &mut self, memory: &mut GuestMemory<'_>, id: Clockid, precision: u64, ) -> Result<u64, Error>
preview1
only.Source§fn fd_advise<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: u64,
len: u64,
advice: Advice,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_advise<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: u64,
len: u64,
advice: Advice,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_allocate(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
offset: u64,
len: u64,
) -> Result<(), Error>
fn fd_allocate( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, offset: u64, len: u64, ) -> Result<(), Error>
preview1
only.Source§fn fd_close<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_close<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_datasync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_datasync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_fdstat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_fdstat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_fdstat_set_flags(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
flags: Fdflags,
) -> Result<(), Error>
fn fd_fdstat_set_flags( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, flags: Fdflags, ) -> Result<(), Error>
preview1
only.Source§fn fd_fdstat_set_rights(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
fs_rights_base: Rights,
fs_rights_inheriting: Rights,
) -> Result<(), Error>
fn fd_fdstat_set_rights( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, fs_rights_base: Rights, fs_rights_inheriting: Rights, ) -> Result<(), Error>
preview1
only.Source§fn fd_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_filestat_set_size<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
size: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_filestat_set_size<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
size: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
atim: u64,
mtim: u64,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
atim: u64,
mtim: u64,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: GuestPtr<[Iovec]>,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: GuestPtr<[Iovec]>,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_pread<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: GuestPtr<[Iovec]>,
offset: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_pread<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: GuestPtr<[Iovec]>,
offset: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: GuestPtr<[Ciovec]>,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: GuestPtr<[Ciovec]>,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_pwrite<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: GuestPtr<[Ciovec]>,
offset: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_pwrite<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ciovs: GuestPtr<[Ciovec]>,
offset: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_prestat_get(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
) -> Result<Prestat, Error>
fn fd_prestat_get( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, ) -> Result<Prestat, Error>
preview1
only.Source§fn fd_prestat_dir_name(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<u8>,
path_max_len: u32,
) -> Result<(), Error>
fn fd_prestat_dir_name( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<u8>, path_max_len: u32, ) -> Result<(), Error>
preview1
only.Source§fn fd_renumber(
&mut self,
memory: &mut GuestMemory<'_>,
from: Fd,
to: Fd,
) -> Result<(), Error>
fn fd_renumber( &mut self, memory: &mut GuestMemory<'_>, from: Fd, to: Fd, ) -> Result<(), Error>
preview1
only.Source§fn fd_seek<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: i64,
whence: Whence,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_seek<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: i64,
whence: Whence,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_sync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_sync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn fd_tell(
&mut self,
memory: &mut GuestMemory<'_>,
fd: Fd,
) -> Result<u64, Error>
fn fd_tell( &mut self, memory: &mut GuestMemory<'_>, fd: Fd, ) -> Result<u64, Error>
preview1
only.Source§fn fd_readdir<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
buf: GuestPtr<u8>,
buf_len: u32,
cookie: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn fd_readdir<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
fd: Fd,
buf: GuestPtr<u8>,
buf_len: u32,
cookie: u64,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_create_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_create_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
atim: u64,
mtim: u64,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_filestat_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
atim: u64,
mtim: u64,
fst_flags: Fstflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_link<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_flags: Lookupflags,
src_path: GuestPtr<str>,
target_fd: Fd,
target_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_link<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_flags: Lookupflags,
src_path: GuestPtr<str>,
target_fd: Fd,
target_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
dirflags: Lookupflags,
path: GuestPtr<str>,
oflags: Oflags,
fs_rights_base: Rights,
fs_rights_inheriting: Rights,
fdflags: Fdflags,
) -> Pin<Box<dyn Future<Output = Result<Fd, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
dirflags: Lookupflags,
path: GuestPtr<str>,
oflags: Oflags,
fs_rights_base: Rights,
fs_rights_inheriting: Rights,
fdflags: Fdflags,
) -> Pin<Box<dyn Future<Output = Result<Fd, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_readlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
buf: GuestPtr<u8>,
buf_len: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_readlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
buf: GuestPtr<u8>,
buf_len: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_remove_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_remove_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_path: GuestPtr<str>,
dest_fd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_fd: Fd,
src_path: GuestPtr<str>,
dest_fd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_symlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_path: GuestPtr<str>,
dirfd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_symlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
src_path: GuestPtr<str>,
dirfd: Fd,
dest_path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn path_unlink_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn path_unlink_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
dirfd: Fd,
path: GuestPtr<str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn poll_oneoff<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
subs: GuestPtr<Subscription>,
events: GuestPtr<Event>,
nsubscriptions: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
fn poll_oneoff<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
memory: &'life1 mut GuestMemory<'life2>,
subs: GuestPtr<Subscription>,
events: GuestPtr<Event>,
nsubscriptions: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
T: 'async_trait,
preview1
only.Source§fn proc_exit(&mut self, memory: &mut GuestMemory<'_>, status: u32) -> Error
fn proc_exit(&mut self, memory: &mut GuestMemory<'_>, status: u32) -> Error
preview1
only.Source§fn proc_raise(
&mut self,
memory: &mut GuestMemory<'_>,
sig: Signal,
) -> Result<(), Error>
fn proc_raise( &mut self, memory: &mut GuestMemory<'_>, sig: Signal, ) -> Result<(), Error>
preview1
only.Source§fn sched_yield(&mut self, memory: &mut GuestMemory<'_>) -> Result<(), Error>
fn sched_yield(&mut self, memory: &mut GuestMemory<'_>) -> Result<(), Error>
preview1
only.Source§fn random_get(
&mut self,
memory: &mut GuestMemory<'_>,
buf: GuestPtr<u8>,
buf_len: u32,
) -> Result<(), Error>
fn random_get( &mut self, memory: &mut GuestMemory<'_>, buf: GuestPtr<u8>, buf_len: u32, ) -> Result<(), Error>
preview1
only.Source§fn sock_recv(
&mut self,
_memory: &mut GuestMemory<'_>,
_fd: Fd,
_ri_data: GuestPtr<[Iovec]>,
_ri_flags: Riflags,
) -> Result<(u32, Roflags), Error>
fn sock_recv( &mut self, _memory: &mut GuestMemory<'_>, _fd: Fd, _ri_data: GuestPtr<[Iovec]>, _ri_flags: Riflags, ) -> Result<(u32, Roflags), Error>
preview1
only.Source§fn sock_send(
&mut self,
_memory: &mut GuestMemory<'_>,
_fd: Fd,
_si_data: GuestPtr<[Ciovec]>,
_si_flags: u16,
) -> Result<u32, Error>
fn sock_send( &mut self, _memory: &mut GuestMemory<'_>, _fd: Fd, _si_data: GuestPtr<[Ciovec]>, _si_flags: u16, ) -> Result<u32, Error>
preview1
only.Source§fn sock_shutdown(
&mut self,
_memory: &mut GuestMemory<'_>,
_fd: Fd,
_how: Sdflags,
) -> Result<(), Error>
fn sock_shutdown( &mut self, _memory: &mut GuestMemory<'_>, _fd: Fd, _how: Sdflags, ) -> Result<(), Error>
preview1
only.