Struct wasi_common::WasiCtx
source · pub struct WasiCtx(_);
Expand description
An Arc
-wrapper around the wasi-common context to allow mutable access to
the file descriptor table. This wrapper is only necessary due to the
signature of fd_fdstat_set_flags
; if that changes, there are a variety of
improvements that can be made (TODO:
https://github.com/bytecodealliance/wasmtime/issues/5643).
Implementations§
source§impl WasiCtx
impl WasiCtx
pub fn new( random: Box<dyn RngCore + Send + Sync>, clocks: WasiClocks, sched: Box<dyn WasiSched>, table: Table ) -> Self
pub fn insert_file(&self, fd: u32, file: Box<dyn WasiFile>, caps: FileCaps)
pub fn push_file( &self, file: Box<dyn WasiFile>, caps: FileCaps ) -> Result<u32, Error>
pub fn insert_dir( &self, fd: u32, dir: Box<dyn WasiDir>, caps: DirCaps, file_caps: FileCaps, path: PathBuf )
pub fn push_dir( &self, dir: Box<dyn WasiDir>, caps: DirCaps, file_caps: FileCaps, path: PathBuf ) -> Result<u32, Error>
pub fn table(&self) -> &Table
pub fn table_mut(&mut self) -> Option<&mut Table>
pub fn push_arg(&mut self, arg: &str) -> Result<(), StringArrayError>
pub fn push_env( &mut self, var: &str, value: &str ) -> Result<(), StringArrayError>
pub fn set_stdin(&self, f: Box<dyn WasiFile>)
pub fn set_stdout(&self, f: Box<dyn WasiFile>)
pub fn set_stderr(&self, f: Box<dyn WasiFile>)
pub fn push_preopened_dir( &self, dir: Box<dyn WasiDir>, path: impl AsRef<Path> ) -> Result<(), Error>
Trait Implementations§
source§impl WasiSnapshotPreview1 for WasiCtx
impl WasiSnapshotPreview1 for WasiCtx
fn args_get<'b, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, argv: &'life1 GuestPtr<'b, GuestPtr<'b, u8>>, argv_buf: &'life2 GuestPtr<'b, u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'b: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn args_sizes_get<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn environ_get<'b, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, environ: &'life1 GuestPtr<'b, GuestPtr<'b, u8>>, environ_buf: &'life2 GuestPtr<'b, u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'b: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn environ_sizes_get<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn clock_res_get<'life0, 'async_trait>( &'life0 mut self, id: Clockid ) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn clock_time_get<'life0, 'async_trait>( &'life0 mut self, id: Clockid, precision: Timestamp ) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_advise<'life0, 'async_trait>( &'life0 mut self, 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,
fn fd_allocate<'life0, 'async_trait>( &'life0 mut self, fd: Fd, offset: Filesize, len: Filesize ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_close<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_datasync<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_set_flags<'life0, 'async_trait>( &'life0 mut self, fd: Fd, flags: Fdflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_set_rights<'life0, 'async_trait>( &'life0 mut self, fd: Fd, fs_rights_base: Rights, fs_rights_inheriting: Rights ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_set_size<'life0, 'async_trait>( &'life0 mut self, fd: Fd, size: Filesize ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_set_times<'life0, 'async_trait>( &'life0 mut self, 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,
fn fd_read<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, iovs: &'life1 IovecArray<'a> ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_pread<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, iovs: &'life1 IovecArray<'a>, offset: Filesize ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_write<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, ciovs: &'life1 CiovecArray<'a> ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_pwrite<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, ciovs: &'life1 CiovecArray<'a>, offset: Filesize ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_prestat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Prestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_prestat_dir_name<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, path: &'life1 GuestPtr<'a, u8>, path_max_len: Size ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_renumber<'life0, 'async_trait>( &'life0 mut self, from: Fd, to: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_seek<'life0, 'async_trait>( &'life0 mut self, fd: Fd, offset: Filedelta, whence: Whence ) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_sync<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_tell<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_readdir<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, buf: &'life1 GuestPtr<'a, u8>, buf_len: Size, cookie: Dircookie ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_create_directory<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_filestat_get<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, flags: Lookupflags, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_filestat_set_times<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, flags: Lookupflags, path: &'life1 GuestPtr<'a, str>, atim: Timestamp, mtim: Timestamp, fst_flags: Fstflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_link<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_fd: Fd, src_flags: Lookupflags, src_path: &'life1 GuestPtr<'a, str>, target_fd: Fd, target_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_open<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, dirflags: Lookupflags, path: &'life1 GuestPtr<'a, 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, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_readlink<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str>, buf: &'life2 GuestPtr<'a, u8>, buf_len: Size ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_remove_directory<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_rename<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_fd: Fd, src_path: &'life1 GuestPtr<'a, str>, dest_fd: Fd, dest_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_symlink<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_path: &'life1 GuestPtr<'a, str>, dirfd: Fd, dest_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_unlink_file<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn poll_oneoff<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, subs: &'life1 GuestPtr<'a, Subscription>, events: &'life2 GuestPtr<'a, Event>, nsubscriptions: Size ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn proc_exit<'life0, 'async_trait>( &'life0 mut self, status: Exitcode ) -> Pin<Box<dyn Future<Output = Error> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn proc_raise<'life0, 'async_trait>( &'life0 mut self, _sig: Signal ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn sched_yield<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn random_get<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, buf: &'life1 GuestPtr<'a, u8>, buf_len: Size ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_accept<'life0, 'async_trait>( &'life0 mut self, fd: Fd, flags: Fdflags ) -> Pin<Box<dyn Future<Output = Result<Fd, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn sock_recv<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, ri_data: &'life1 IovecArray<'a>, ri_flags: Riflags ) -> Pin<Box<dyn Future<Output = Result<(Size, Roflags), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_send<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, si_data: &'life1 CiovecArray<'a>, _si_flags: Siflags ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_shutdown<'life0, 'async_trait>( &'life0 mut self, fd: Fd, how: Sdflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
source§impl WasiUnstable for WasiCtx
impl WasiUnstable for WasiCtx
fn args_get<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, argv: &'life1 GuestPtr<'a, GuestPtr<'a, u8>>, argv_buf: &'life2 GuestPtr<'a, u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn args_sizes_get<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn environ_get<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, environ: &'life1 GuestPtr<'a, GuestPtr<'a, u8>>, environ_buf: &'life2 GuestPtr<'a, u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn environ_sizes_get<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn clock_res_get<'life0, 'async_trait>( &'life0 mut self, id: Clockid ) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn clock_time_get<'life0, 'async_trait>( &'life0 mut self, id: Clockid, precision: Timestamp ) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_advise<'life0, 'async_trait>( &'life0 mut self, 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,
fn fd_allocate<'life0, 'async_trait>( &'life0 mut self, fd: Fd, offset: Filesize, len: Filesize ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_close<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_datasync<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Fdstat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_set_flags<'life0, 'async_trait>( &'life0 mut self, fd: Fd, flags: Fdflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_fdstat_set_rights<'life0, 'async_trait>( &'life0 mut self, fd: Fd, fs_rights_base: Rights, fs_rights_inheriting: Rights ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_set_size<'life0, 'async_trait>( &'life0 mut self, fd: Fd, size: Filesize ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_filestat_set_times<'life0, 'async_trait>( &'life0 mut self, 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,
fn fd_read<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, iovs: &'life1 IovecArray<'a> ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_pread<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, iovs: &'life1 IovecArray<'a>, offset: Filesize ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_write<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, ciovs: &'life1 CiovecArray<'a> ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_pwrite<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, ciovs: &'life1 CiovecArray<'a>, offset: Filesize ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_prestat_get<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Prestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_prestat_dir_name<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, path: &'life1 GuestPtr<'a, u8>, path_max_len: Size ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn fd_renumber<'life0, 'async_trait>( &'life0 mut self, from: Fd, to: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_seek<'life0, 'async_trait>( &'life0 mut self, fd: Fd, offset: Filedelta, whence: Whence ) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_sync<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_tell<'life0, 'async_trait>( &'life0 mut self, fd: Fd ) -> Pin<Box<dyn Future<Output = Result<Filesize, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn fd_readdir<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, fd: Fd, buf: &'life1 GuestPtr<'a, u8>, buf_len: Size, cookie: Dircookie ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_create_directory<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_filestat_get<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, flags: Lookupflags, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<Filestat, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_filestat_set_times<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, flags: Lookupflags, path: &'life1 GuestPtr<'a, str>, atim: Timestamp, mtim: Timestamp, fst_flags: Fstflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_link<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_fd: Fd, src_flags: Lookupflags, src_path: &'life1 GuestPtr<'a, str>, target_fd: Fd, target_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_open<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, dirflags: Lookupflags, path: &'life1 GuestPtr<'a, 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, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_readlink<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str>, buf: &'life2 GuestPtr<'a, u8>, buf_len: Size ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_remove_directory<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn path_rename<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_fd: Fd, src_path: &'life1 GuestPtr<'a, str>, dest_fd: Fd, dest_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_symlink<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, src_path: &'life1 GuestPtr<'a, str>, dirfd: Fd, dest_path: &'life2 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn path_unlink_file<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, dirfd: Fd, path: &'life1 GuestPtr<'a, str> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn poll_oneoff<'a, 'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, subs: &'life1 GuestPtr<'a, Subscription>, events: &'life2 GuestPtr<'a, Event>, nsubscriptions: Size ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn proc_exit<'life0, 'async_trait>( &'life0 mut self, status: Exitcode ) -> Pin<Box<dyn Future<Output = Error> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn proc_raise<'life0, 'async_trait>( &'life0 mut self, _sig: Signal ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn sched_yield<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn random_get<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, buf: &'life1 GuestPtr<'a, u8>, buf_len: Size ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_recv<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, _fd: Fd, _ri_data: &'life1 IovecArray<'a>, _ri_flags: Riflags ) -> Pin<Box<dyn Future<Output = Result<(Size, Roflags), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_send<'a, 'life0, 'life1, 'async_trait>( &'life0 mut self, _fd: Fd, _si_data: &'life1 CiovecArray<'a>, _si_flags: Siflags ) -> Pin<Box<dyn Future<Output = Result<Size, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn sock_shutdown<'life0, 'async_trait>( &'life0 mut self, _fd: Fd, _how: Sdflags ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for WasiCtx
impl Send for WasiCtx
impl Sync for WasiCtx
impl Unpin for WasiCtx
impl !UnwindSafe for WasiCtx
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
Mutably borrows from an owned value. Read more