pub trait WasiUnstable {
Show 45 methods
// Required methods
fn args_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
argv: GuestPtr<GuestPtr<u8>>,
argv_buf: GuestPtr<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn args_sizes_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn environ_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
environ: GuestPtr<GuestPtr<u8>>,
environ_buf: GuestPtr<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn environ_sizes_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
) -> Pin<Box<dyn Future<Output = Result<(Size, Size), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn clock_res_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
id: Clockid,
) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn clock_time_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
id: Clockid,
precision: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Timestamp, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fd_advise<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_allocate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
offset: Filesize,
len: 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_close<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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,
mem: &'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_fdstat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_set_flags<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
flags: Fdflags,
) -> 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_fdstat_set_rights<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
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,
'life1: 'async_trait,
'life2: 'async_trait;
fn fd_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_set_size<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_pread<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_prestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> Pin<Box<dyn Future<Output = Result<Prestat, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fd_prestat_dir_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
path: GuestPtr<u8>,
path_len: Size,
) -> 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_pwrite<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: 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_read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_readdir<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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 fd_renumber<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
to: 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_seek<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_sync<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'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_tell<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
) -> 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_write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
iovs: 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 path_create_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_filestat_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_set_times<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_link<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
old_fd: Fd,
old_flags: Lookupflags,
old_path: GuestPtr<str>,
new_fd: Fd,
new_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_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_readlink<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_remove_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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_rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
old_path: GuestPtr<str>,
new_fd: Fd,
new_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,
mem: &'life1 mut GuestMemory<'life2>,
old_path: GuestPtr<str>,
fd: Fd,
new_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,
mem: &'life1 mut GuestMemory<'life2>,
fd: 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,
mem: &'life1 mut GuestMemory<'life2>,
in_: GuestPtr<Subscription>,
out: 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<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
rval: Exitcode,
) -> Pin<Box<dyn Future<Output = Error> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn proc_raise<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
sig: Signal,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn sched_yield<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn random_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
buf: GuestPtr<u8>,
buf_len: Size,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn sock_recv<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
ri_data: IovecArray,
ri_flags: Riflags,
) -> Pin<Box<dyn Future<Output = Result<(Size, Roflags), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn sock_send<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
si_data: CiovecArray,
si_flags: Siflags,
) -> 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 sock_shutdown<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
mem: &'life1 mut GuestMemory<'life2>,
fd: Fd,
how: Sdflags,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}