Expand description
§Overview
The wasmedge-sys crate defines a group of low-level Rust APIs for WasmEdge, a light-weight, high-performance, and extensible WebAssembly runtime for cloud-native, edge, and decentralized applications.
For developers, it is strongly recommended that the APIs in wasmedge-sys are used to construct high-level libraries, while wasmedge-sdk is for building up business applications.
- Notice that wasmedge-sys requires Rust v1.71 or above in the stable channel.
§Build
To use or build the wasmedge-sys crate, the WasmEdge library is required. Please refer to WasmEdge Installation and Uninstallation to install the WasmEdge library.
-
The following table provides the versioning information about each crate of WasmEdge Rust bindings.
wasmedge-sdk WasmEdge lib wasmedge-sys wasmedge-types wasmedge-macro async-wasi 0.17.1 0.17.1 0.21.0 0.6.1 0.6.1 0.2.2 0.16.1 0.16.1 0.20.0 0.6.0 0.6.1 0.2.1 0.14.0+ 0.14.1 0.19.3 0.6.0 0.6.1 0.2.1 0.14.0+ 0.14.0 0.19.2 0.6.0 0.6.1 0.2.1 0.13.2 0.13.5 0.17.5 0.4.4 0.6.1 0.1.0 0.13.1 0.13.5 0.17.4 0.4.4 0.6.1 0.1.0 0.13.0 0.13.5 0.17.3 0.4.4 0.6.1 0.1.0 0.12.2 0.13.4 0.17.2 0.4.4 0.6.1 0.1.0 0.12.1 0.13.4 0.17.1 0.4.4 0.6.1 0.1.0 0.12.0 0.13.4 0.17.0 0.4.4 0.6.1 0.1.0 0.11.2 0.13.3 0.16.2 0.4.3 0.6.1 0.1.0 0.11.0 0.13.3 0.16.0 0.4.3 0.6.0 0.0.3 0.10.1 0.13.3 0.15.1 0.4.2 0.5.0 0.0.2 0.10.0 0.13.2 0.15.0 0.4.2 0.5.0 0.0.2 0.9.0 0.13.1 0.14.0 0.4.2 0.4.0 0.0.1 0.9.0 0.13.0 0.14.0 0.4.2 0.4.0 0.0.1 0.8.1 0.12.1 0.13.1 0.4.1 0.3.0 - 0.8.0 0.12.0 0.13.0 0.4.1 0.3.0 - 0.7.1 0.11.2 0.12.2 0.3.1 0.3.0 - 0.7.0 0.11.2 0.12 0.3.1 0.3.0 - 0.6.0 0.11.2 0.11 0.3.0 0.2.0 - 0.5.0 0.11.1 0.10 0.3.0 0.1.0 - 0.4.0 0.11.0 0.9 0.2.1 - - 0.3.0 0.10.1 0.8 0.2 - - 0.1.0 0.10.0 0.7 0.1 - -
§API Reference
§See also
Modules§
- async
Linux and async - Defines
asyncrelated types. - ffi
- Foreign function interfaces generated from WasmEdge C-API.
- frame
- Defines WasmEdge CallingFrame.
- instance
- Defines WasmEdge instance structs, including Function, Global, Memory, Table, and etc.
- plugin
- Defines PluginManager and Plugin structs.
- types
- Defines the WebAssembly primitive types.
- utils
- Defines the versioning and logging functions.
Structs§
- Calling
Frame - Represents a calling frame on top of stack.
- Compiler
aot - Defines WasmEdge ahead-of-time(AOT) compiler and the relevant APIs.
- Config
- Defines Config struct used to check/set the configuration options.
- Executor
- Defines an execution environment for both pure WASM and compiled WASM.
- Export
Type - Defines the types of the exported wasm values.
- Func
Type - Struct of WasmEdge FuncType.
- Function
- Defines a host function.
- Global
- Defines a WebAssembly global variable, which stores a single value of the given type and a flag indicating whether it is mutable or not.
- Global
Type - Struct of WasmEdge GlobalType.
- Import
Module - An ImportModule represents a host module with a name. A host module consists of one or more host function, table, memory, and global instances, which are defined outside wasm modules and fed into wasm modules as imports.
- Import
Type - Defines the types of the imported wasm value.
- Instance
- An Instance represents an instantiated module. In the instantiation process, An Instance is created from alModule. From an Instance the exported functions, tables, memories, and globals can be fetched.
- Loader
- Loader is used to load WASM modules from the given WASM files or buffers.
- Memory
- Defines a WebAssembly memory instance, which is a linear memory described by its type. Each memory instance consists of a vector of bytes and an optional maximum size, and its size is a multiple of the WebAssembly page size (64KiB of each page).
- Memory
Type - Struct of WasmEdge MemoryType.
- Module
- Defines compiled in-memory representation of an input WASM binary.
- Statistics
- Struct of WasmEdge Statistics.
- Store
- The Store is a collection of registered modules and assists wasm modules in finding the import modules they need.
- Table
- A WasmEdge Table defines a WebAssembly table instance described by its type. A table is an array-like structure and stores function references.
- Table
Type - Struct of WasmEdge TableType.
- Validator
- Struct of WasmEdge Validator.
- Wasi
Module - A WasiModule is a module instance for the WASI specification.
- Wasm
Value - Defines a WebAssembly value.
Traits§
- AsInstance
- The object as an module instance is required to implement this trait.
Type Aliases§
- FuncRef
- Defines a reference to a host function.
- SyncFn
- WasiCtx
Linux and async - Type of wasi context that is used to configure the wasi environment.