pub trait WasiUnstable {
Show 46 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;
// Provided method
fn set_hostcall_fuel(&mut self, fuel: usize) { ... }
}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
Provided Methods§
Sourcefn set_hostcall_fuel(&mut self, fuel: usize)
fn set_hostcall_fuel(&mut self, fuel: usize)
Indicates, if this implementation supports it, that the specified amount of fuel should be the maximal spent for the upcoming function call.
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.