Wasmtime
module.h File Reference
#include <wasm.h>
#include <wasmtime/error.h>

Go to the source code of this file.

Typedefs

typedef struct wasmtime_module wasmtime_module_t
 Convenience alias for wasmtime_module.
 

Functions

void wasmtime_module_delete (wasmtime_module_t *m)
 Deletes a module.
 
wasmtime_module_twasmtime_module_clone (wasmtime_module_t *m)
 Creates a shallow clone of the specified module, increasing the internal reference count.
 
void wasmtime_module_imports (const wasmtime_module_t *module, wasm_importtype_vec_t *out)
 Same as wasm_module_imports, but for wasmtime_module_t.
 
void wasmtime_module_exports (const wasmtime_module_t *module, wasm_exporttype_vec_t *out)
 Same as wasm_module_exports, but for wasmtime_module_t.
 
wasmtime_error_twasmtime_module_deserialize (wasm_engine_t *engine, const uint8_t *bytes, size_t bytes_len, wasmtime_module_t **ret)
 Build a module from serialized data. More...
 
wasmtime_error_twasmtime_module_deserialize_file (wasm_engine_t *engine, const char *path, wasmtime_module_t **ret)
 Deserialize a module from an on-disk file. More...
 
void wasmtime_module_image_range (const wasmtime_module_t *module, void **start, void **end)
 Returns the range of bytes in memory where this module’s compilation image resides. More...
 

Detailed Description

APIs for interacting with modules in Wasmtime

Function Documentation

◆ wasmtime_module_deserialize()

wasmtime_error_t * wasmtime_module_deserialize ( wasm_engine_t engine,
const uint8_t *  bytes,
size_t  bytes_len,
wasmtime_module_t **  ret 
)

Build a module from serialized data.

This function does not take ownership of any of its arguments, but the returned error and module are owned by the caller.

This function is not safe to receive arbitrary user input. See the Rust documentation for more information on what inputs are safe to pass in here (e.g. only that of wasmtime_module_serialize)

◆ wasmtime_module_deserialize_file()

wasmtime_error_t * wasmtime_module_deserialize_file ( wasm_engine_t engine,
const char *  path,
wasmtime_module_t **  ret 
)

Deserialize a module from an on-disk file.

This function is the same as wasmtime_module_deserialize except that it reads the data for the serialized module from the path on disk. This can be faster than the alternative which may require copying the data around.

This function does not take ownership of any of its arguments, but the returned error and module are owned by the caller.

This function is not safe to receive arbitrary user input. See the Rust documentation for more information on what inputs are safe to pass in here (e.g. only that of wasmtime_module_serialize)

◆ wasmtime_module_image_range()

void wasmtime_module_image_range ( const wasmtime_module_t module,
void **  start,
void **  end 
)

Returns the range of bytes in memory where this module’s compilation image resides.

The compilation image for a module contains executable code, data, debug information, etc. This is roughly the same as the wasmtime_module_serialize but not the exact same.

For more details see: https://docs.wasmtime.dev/api/wasmtime/struct.Module.html#method.image_range