pub trait WasiUnstable {
Show 45 methods
// Required methods
fn args_get<'a>(
&mut self,
argv: &GuestPtr<'a, GuestPtr<'a, u8>>,
argv_buf: &GuestPtr<'a, u8>
) -> Result<(), Error>;
fn args_sizes_get(&mut self) -> Result<(Size, Size), Error>;
fn environ_get<'a>(
&mut self,
environ: &GuestPtr<'a, GuestPtr<'a, u8>>,
environ_buf: &GuestPtr<'a, u8>
) -> Result<(), Error>;
fn environ_sizes_get(&mut self) -> Result<(Size, Size), Error>;
fn clock_res_get(&mut self, id: Clockid) -> Result<Timestamp, Error>;
fn clock_time_get(
&mut self,
id: Clockid,
precision: Timestamp
) -> Result<Timestamp, Error>;
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(
&mut self,
fd: Fd,
offset: Filesize,
len: Filesize
) -> Result<(), Error>;
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(
&mut self,
fd: Fd,
flags: Fdflags
) -> Result<(), Error>;
fn fd_fdstat_set_rights(
&mut self,
fd: Fd,
fs_rights_base: Rights,
fs_rights_inheriting: Rights
) -> Result<(), Error>;
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_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_prestat_get(&mut self, fd: Fd) -> Result<Prestat, Error>;
fn fd_prestat_dir_name<'a>(
&mut self,
fd: Fd,
path: &GuestPtr<'a, u8>,
path_len: Size
) -> Result<(), Error>;
fn fd_pwrite<'a, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
fd: Fd,
iovs: &'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_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_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 fd_renumber(&mut self, fd: Fd, to: Fd) -> Result<(), Error>;
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(&mut self, fd: Fd) -> Result<Filesize, Error>;
fn fd_write<'a, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
fd: Fd,
iovs: &'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 path_create_directory<'a, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
fd: 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,
fd: 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,
fd: 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,
old_fd: Fd,
old_flags: Lookupflags,
old_path: &'life1 GuestPtr<'a, str>,
new_fd: Fd,
new_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,
fd: 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,
fd: 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,
fd: 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,
fd: Fd,
old_path: &'life1 GuestPtr<'a, str>,
new_fd: Fd,
new_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,
old_path: &'life1 GuestPtr<'a, str>,
fd: Fd,
new_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,
fd: 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,
in_: &'life1 GuestPtr<'a, Subscription>,
out: &'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(&mut self, rval: Exitcode) -> Error;
fn proc_raise(&mut self, sig: Signal) -> Result<(), Error>;
fn sched_yield(&mut self) -> Result<(), Error>;
fn random_get<'a>(
&mut self,
buf: &GuestPtr<'a, u8>,
buf_len: Size
) -> Result<(), Error>;
fn sock_recv<'a>(
&mut self,
fd: Fd,
ri_data: &IovecArray<'a>,
ri_flags: Riflags
) -> Result<(Size, Roflags), Error>;
fn sock_send<'a>(
&mut self,
fd: Fd,
si_data: &CiovecArray<'a>,
si_flags: Siflags
) -> Result<Size, Error>;
fn sock_shutdown(&mut self, fd: Fd, how: Sdflags) -> Result<(), Error>;
}