Crate wasmer_types
source · [−]Expand description
This are the common types and utility tools for using WebAssembly in a Rust environment.
This crate provides common structures such as Type
or Value
, type indexes
and native function wrappers with Func
.
Modules
The entity module, with common helpers for Rust structures
The lib
module defines a std
module that is identical whether
the core
or the std
feature is enabled.
Macros
Macro which provides the common implementation of a 32-bit entity reference.
Structs
Rkyv Archivable IndexMap
Atomically.
Units of WebAssembly memory in terms of 8-bit bytes.
Index type of a custom section inside a WebAssembly module.
Index type of a passive data segment inside the WebAssembly module.
A data initializer for linear memory.
A memory index and offset within that memory where a data initialization should be performed.
Index type of a passive element segment inside the WebAssembly module.
A descriptor for an exported WebAssembly value.
This iterator allows us to iterate over the exports and offer nice API ergonomics over it.
An opaque reference to some data. This reference can be passed through Wasm.
Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.
Index type of a function (imported or local) inside the WebAssembly module.
The signature of a function that is either implemented in a Wasm module or exposed to Wasm by the host.
Index type of a global variable (imported or local) inside the WebAssembly module.
WebAssembly global.
A descriptor for an imported value into a wasm module.
This iterator allows us to iterate over the imports and offer nice API ergonomics over it.
Index type of a function defined locally inside the WebAssembly module.
Index type of a global defined locally inside the WebAssembly module.
Index type of a memory defined locally inside the WebAssembly module.
Index type of a table defined locally inside the WebAssembly module.
Index type of a linear memory (imported or local) inside the WebAssembly module.
A descriptor for a WebAssembly memory type.
A view into a memory.
A translated WebAssembly module, excluding the function bodies and memory initializers.
As DataInitializer
but owning the data rather than
holding a reference to it
The only error that can happen when converting Bytes
to Pages
Units of WebAssembly pages (as specified to be 65,536 bytes).
Index type of a signature (imported or local) inside the WebAssembly module.
Index type of a table (imported or local) inside the WebAssembly module.
A WebAssembly table initializer.
A descriptor for a table in a WebAssembly module.
Target specific type for shared signature index.
The WebAssembly V128 type
An index type for builtin functions.
This type does not do reference counting automatically, reference counting can be done with
Self::ref_clone
and Self::ref_drop
.
This class computes offsets to fields within VMContext and other related structs that JIT code accesses directly.
Enums
An entity to export.
A list of all possible types which can be externally referenced from a WebAssembly module.
Globals are initialized via the const
operators or by referring to another import.
An entity to import.
The name of a runtime library routine.
Implementation styles for WebAssembly linear memory.
Indicator of whether a global is mutable or not
Implementation styles for WebAssembly tables.
A trap code describing the reason for a trap.
A list of all possible value types in WebAssembly.
Possible runtime values that a WebAssembly module can either consume or produce.
Constants
Version number of this crate.
The number of pages we can have before we run out of byte index space.
The minimum number of pages allowed.
WebAssembly page sizes are fixed to be 64KiB. Note: large page support may be added in an opt-in manner in the future.
Traits
NativeWasmType
represents a Wasm type that has a direct
representation on the host (hence the “native” term).
Trait for a Value type. A Value type is a type that is always valid and may be safely copied.
Trait for reading and writing Wasm values into binary for use on the layer
between the API and the VM internals, specifically with wasmer_types::Value
.
Functions
Check if the provided bytes are wasm-like