Crate wasmer_wasi
source ·Expand description
Wasmer’s WASI implementation
Use generate_import_object
to create an Imports
. This Imports
can be combined with a module to create an Instance
which can execute WASI
Wasm functions.
See state
for the experimental WASI FS API. Also see the
WASI plugin example
for an example of how to extend WASI using the WASI FS API.
Modules
Structs
For piping stdio. Stores all output / input in a byte-vector.
A wrapper type around Stderr that implements
VirtualFile
and
Serialize
+ Deserialize
.A wrapper type around Stdin that implements
VirtualFile
and
Serialize
+ Deserialize
.A wrapper type around Stdout that implements
VirtualFile
and
Serialize
+ Deserialize
.Represents the ID of a sub-process
The environment provided to the WASI imports.
Warning, modifying these fields directly may cause invariants to break and
should be considered unsafe. These fields may be made private in a future release
Top level data type containing all* the state with which WASI can
interact.
Convenient builder API for configuring WASI via
WasiState
.Represents the ID of a WASI thread
Enums
Error type for external users
This is returned in
RuntimeError
.
Use downcast
or downcast_ref
to retrieve the ExitCode
.Error type for external users
Error type returned when bad data is given to
WasiStateBuilder
.The version of WASI. This is determined by the imports namespace
string.
Constants
all the rights enabled
the fd value of the virtual root
Traits
This trait relies on your file closing when it goes out of scope via
Drop
An implementation of virtual networking
This trait relies on your file closing when it goes out of scope via
Drop
Represents an implementation of the WASI runtime - by default everything is
unimplemented.
Functions
Create an
Imports
from a [Context
]Detect the version of WASI being used based on the import
namespaces.
Like
get_wasi_version
but detects multiple WASI versions in a single module.
Thus strict
behaves differently in this function as multiple versions are
always supported. strict
indicates whether non-WASI imports should trigger a
failure or be ignored.Check if a provided module is compiled for some version of WASI.
Use
get_wasi_version
to find out which version of WASI the module is.Returns if the module is WASIX or not
Imports (any) shared memory into the imports.
(if the module does not import memory then this function is ignored)