Crate lucet_module_data

Source
Expand description

Common types for representing Lucet module data and metadata.

These types are used both in lucetc and lucet-runtime, with values serialized in bincode format to the compiled Lucet modules.

Modules§

bindings
owned
Owned variants of the module data types, useful for serialization and testing.

Macros§

lucet_signature

Structs§

ExportFunction
ExportFunction describes an exported function - its internal function index and a name that function has been exported under.
FunctionHandle
FunctionIndex
FunctionIndex is an identifier for a function, imported, exported, or external. The space of FunctionIndex is shared for all of these, so FunctionIndex(N) may identify exported function #2, FunctionIndex(N + 1) may identify an internal function, and FunctionIndex(N + 2) may identify an imported function.
FunctionMetadata
Information about the corresponding function.
FunctionPointer
FunctionPointer serves entirely as a safer way to work with function pointers than as raw u64 or usize values. It also avoids the need to write them as fn types, which cannot be freely cast from one to another with as. If you need to call a FunctionPointer, use as_usize() and transmute the resulting usize to a fn type with appropriate signature.
FunctionSpec
GlobalSpec
A WebAssembly global along with its export specification.
HeapSpec
Specifications about the heap of a Lucet module.
ImportFunction
ImportFunction describes an internal function - its internal function index and the name/module pair that function should be found in.
LinearMemorySpec
Specification of the linear memory of a module
ModuleData
The metadata (and some data) for a Lucet module.
ModuleSignature
PublicKey
A PublicKey is used to verify signatures.
Signature
A signature for a function in a wasm module.
SparseData
A sparse representation of a Lucet module’s initial heap.
TrapManifest
A collection of trap sites, typically obtained from a single function (see [FunctionSpec::traps])
TrapSite
Trap information for an address in a compiled function
UniqueSignatureIndex
UniqueSignatureIndex names a signature after collapsing duplicate signatures to a single identifier, whereas SignatureIndex is directly what the original module specifies, and may specify duplicates of types that are structurally equal.

Enums§

Error
Module data (de)serialization errors.
Global
A WebAssembly global is either defined locally, or is defined in relation to a field of another WebAssembly module.
GlobalDef
Definition for a global in this module (not imported).
TrapCode
The type of a WebAssembly trap.
ValueType

Unions§

GlobalValue