pub trait WasiUnstable {
Show 45 methods
// Required methods
fn args_get(
&mut self,
mem: &mut GuestMemory<'_>,
argv: GuestPtr<GuestPtr<u8>>,
argv_buf: GuestPtr<u8>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn args_sizes_get(
&mut self,
mem: &mut GuestMemory<'_>,
) -> impl Future<Output = Result<(Size, Size), Error>> + Send;
fn environ_get(
&mut self,
mem: &mut GuestMemory<'_>,
environ: GuestPtr<GuestPtr<u8>>,
environ_buf: GuestPtr<u8>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn environ_sizes_get(
&mut self,
mem: &mut GuestMemory<'_>,
) -> impl Future<Output = Result<(Size, Size), Error>> + Send;
fn clock_res_get(
&mut self,
mem: &mut GuestMemory<'_>,
id: Clockid,
) -> impl Future<Output = Result<Timestamp, Error>> + Send;
fn clock_time_get(
&mut self,
mem: &mut GuestMemory<'_>,
id: Clockid,
precision: Timestamp,
) -> impl Future<Output = Result<Timestamp, Error>> + Send;
fn fd_advise(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
offset: Filesize,
len: Filesize,
advice: Advice,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_allocate(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
offset: Filesize,
len: Filesize,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_close(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_datasync(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_fdstat_get(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<Fdstat, Error>> + Send;
fn fd_fdstat_set_flags(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
flags: Fdflags,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_fdstat_set_rights(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
fs_rights_base: Rights,
fs_rights_inheriting: Rights,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_filestat_get(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<Filestat, Error>> + Send;
fn fd_filestat_set_size(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
size: Filesize,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_filestat_set_times(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_pread(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
iovs: IovecArray,
offset: Filesize,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn fd_prestat_get(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<Prestat, Error>> + Send;
fn fd_prestat_dir_name(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<u8>,
path_len: Size,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_pwrite(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
iovs: CiovecArray,
offset: Filesize,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn fd_read(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
iovs: IovecArray,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn fd_readdir(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
buf: GuestPtr<u8>,
buf_len: Size,
cookie: Dircookie,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn fd_renumber(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
to: Fd,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_seek(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
offset: Filedelta,
whence: Whence,
) -> impl Future<Output = Result<Filesize, Error>> + Send;
fn fd_sync(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<(), Error>> + Send;
fn fd_tell(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
) -> impl Future<Output = Result<Filesize, Error>> + Send;
fn fd_write(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
iovs: CiovecArray,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn path_create_directory(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_filestat_get(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
) -> impl Future<Output = Result<Filestat, Error>> + Send;
fn path_filestat_set_times(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
flags: Lookupflags,
path: GuestPtr<str>,
atim: Timestamp,
mtim: Timestamp,
fst_flags: Fstflags,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_link(
&mut self,
mem: &mut GuestMemory<'_>,
old_fd: Fd,
old_flags: Lookupflags,
old_path: GuestPtr<str>,
new_fd: Fd,
new_path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_open(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
dirflags: Lookupflags,
path: GuestPtr<str>,
oflags: Oflags,
fs_rights_base: Rights,
fs_rights_inheriting: Rights,
fdflags: Fdflags,
) -> impl Future<Output = Result<Fd, Error>> + Send;
fn path_readlink(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<str>,
buf: GuestPtr<u8>,
buf_len: Size,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn path_remove_directory(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_rename(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
old_path: GuestPtr<str>,
new_fd: Fd,
new_path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_symlink(
&mut self,
mem: &mut GuestMemory<'_>,
old_path: GuestPtr<str>,
fd: Fd,
new_path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn path_unlink_file(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
path: GuestPtr<str>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn poll_oneoff(
&mut self,
mem: &mut GuestMemory<'_>,
in_: GuestPtr<Subscription>,
out: GuestPtr<Event>,
nsubscriptions: Size,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn proc_exit(
&mut self,
mem: &mut GuestMemory<'_>,
rval: Exitcode,
) -> impl Future<Output = Error> + Send;
fn proc_raise(
&mut self,
mem: &mut GuestMemory<'_>,
sig: Signal,
) -> impl Future<Output = Result<(), Error>> + Send;
fn sched_yield(
&mut self,
mem: &mut GuestMemory<'_>,
) -> impl Future<Output = Result<(), Error>> + Send;
fn random_get(
&mut self,
mem: &mut GuestMemory<'_>,
buf: GuestPtr<u8>,
buf_len: Size,
) -> impl Future<Output = Result<(), Error>> + Send;
fn sock_recv(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
ri_data: IovecArray,
ri_flags: Riflags,
) -> impl Future<Output = Result<(Size, Roflags), Error>> + Send;
fn sock_send(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
si_data: CiovecArray,
si_flags: Siflags,
) -> impl Future<Output = Result<Size, Error>> + Send;
fn sock_shutdown(
&mut self,
mem: &mut GuestMemory<'_>,
fd: Fd,
how: Sdflags,
) -> impl Future<Output = Result<(), Error>> + Send;
}
Required Methods§
fn args_get( &mut self, mem: &mut GuestMemory<'_>, argv: GuestPtr<GuestPtr<u8>>, argv_buf: GuestPtr<u8>, ) -> impl Future<Output = Result<(), Error>> + Send
fn args_sizes_get( &mut self, mem: &mut GuestMemory<'_>, ) -> impl Future<Output = Result<(Size, Size), Error>> + Send
fn environ_get( &mut self, mem: &mut GuestMemory<'_>, environ: GuestPtr<GuestPtr<u8>>, environ_buf: GuestPtr<u8>, ) -> impl Future<Output = Result<(), Error>> + Send
fn environ_sizes_get( &mut self, mem: &mut GuestMemory<'_>, ) -> impl Future<Output = Result<(Size, Size), Error>> + Send
fn clock_res_get( &mut self, mem: &mut GuestMemory<'_>, id: Clockid, ) -> impl Future<Output = Result<Timestamp, Error>> + Send
fn clock_time_get( &mut self, mem: &mut GuestMemory<'_>, id: Clockid, precision: Timestamp, ) -> impl Future<Output = Result<Timestamp, Error>> + Send
fn fd_advise( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, offset: Filesize, len: Filesize, advice: Advice, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_allocate( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, offset: Filesize, len: Filesize, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_close( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_datasync( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_fdstat_get( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<Fdstat, Error>> + Send
fn fd_fdstat_set_flags( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, flags: Fdflags, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_fdstat_set_rights( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, fs_rights_base: Rights, fs_rights_inheriting: Rights, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_filestat_get( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<Filestat, Error>> + Send
fn fd_filestat_set_size( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, size: Filesize, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_filestat_set_times( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, atim: Timestamp, mtim: Timestamp, fst_flags: Fstflags, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_pread( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, iovs: IovecArray, offset: Filesize, ) -> impl Future<Output = Result<Size, Error>> + Send
fn fd_prestat_get( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<Prestat, Error>> + Send
fn fd_prestat_dir_name( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<u8>, path_len: Size, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_pwrite( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, iovs: CiovecArray, offset: Filesize, ) -> impl Future<Output = Result<Size, Error>> + Send
fn fd_read( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, iovs: IovecArray, ) -> impl Future<Output = Result<Size, Error>> + Send
fn fd_readdir( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, buf: GuestPtr<u8>, buf_len: Size, cookie: Dircookie, ) -> impl Future<Output = Result<Size, Error>> + Send
fn fd_renumber( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, to: Fd, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_seek( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, offset: Filedelta, whence: Whence, ) -> impl Future<Output = Result<Filesize, Error>> + Send
fn fd_sync( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<(), Error>> + Send
fn fd_tell( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ) -> impl Future<Output = Result<Filesize, Error>> + Send
fn fd_write( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, iovs: CiovecArray, ) -> impl Future<Output = Result<Size, Error>> + Send
fn path_create_directory( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_filestat_get( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, flags: Lookupflags, path: GuestPtr<str>, ) -> impl Future<Output = Result<Filestat, Error>> + Send
fn path_filestat_set_times( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, flags: Lookupflags, path: GuestPtr<str>, atim: Timestamp, mtim: Timestamp, fst_flags: Fstflags, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_link( &mut self, mem: &mut GuestMemory<'_>, old_fd: Fd, old_flags: Lookupflags, old_path: GuestPtr<str>, new_fd: Fd, new_path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_open( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, dirflags: Lookupflags, path: GuestPtr<str>, oflags: Oflags, fs_rights_base: Rights, fs_rights_inheriting: Rights, fdflags: Fdflags, ) -> impl Future<Output = Result<Fd, Error>> + Send
fn path_readlink( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<str>, buf: GuestPtr<u8>, buf_len: Size, ) -> impl Future<Output = Result<Size, Error>> + Send
fn path_remove_directory( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_rename( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, old_path: GuestPtr<str>, new_fd: Fd, new_path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_symlink( &mut self, mem: &mut GuestMemory<'_>, old_path: GuestPtr<str>, fd: Fd, new_path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn path_unlink_file( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, path: GuestPtr<str>, ) -> impl Future<Output = Result<(), Error>> + Send
fn poll_oneoff( &mut self, mem: &mut GuestMemory<'_>, in_: GuestPtr<Subscription>, out: GuestPtr<Event>, nsubscriptions: Size, ) -> impl Future<Output = Result<Size, Error>> + Send
fn proc_exit( &mut self, mem: &mut GuestMemory<'_>, rval: Exitcode, ) -> impl Future<Output = Error> + Send
fn proc_raise( &mut self, mem: &mut GuestMemory<'_>, sig: Signal, ) -> impl Future<Output = Result<(), Error>> + Send
fn sched_yield( &mut self, mem: &mut GuestMemory<'_>, ) -> impl Future<Output = Result<(), Error>> + Send
fn random_get( &mut self, mem: &mut GuestMemory<'_>, buf: GuestPtr<u8>, buf_len: Size, ) -> impl Future<Output = Result<(), Error>> + Send
fn sock_recv( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, ri_data: IovecArray, ri_flags: Riflags, ) -> impl Future<Output = Result<(Size, Roflags), Error>> + Send
fn sock_send( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, si_data: CiovecArray, si_flags: Siflags, ) -> impl Future<Output = Result<Size, Error>> + Send
fn sock_shutdown( &mut self, mem: &mut GuestMemory<'_>, fd: Fd, how: Sdflags, ) -> impl Future<Output = Result<(), Error>> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.