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)