Function wasmer_c_api::wasm_c_api::unstable::module::wasmer_module_name
source · #[no_mangle]
pub unsafe extern "C" fn wasmer_module_name(
module: &wasm_module_t,
out: &mut wasm_name_t,
)
Expand description
Unstable non-standard Wasmer-specific API to get the module’s
name, otherwise out->size
is set to 0
and out->data
to
NULL
.
§Example
int main() {
// Create the engine and the store.
wasm_engine_t* engine = wasm_engine_new();
wasm_store_t* store = wasm_store_new(engine);
// Create a WebAssembly module from a WAT definition.
wasm_byte_vec_t wat;
wasmer_byte_vec_new_from_string(&wat, "(module $moduleName)");
// ^~~~~~~~~~~ that's the name!
wasm_byte_vec_t wasm;
wat2wasm(&wat, &wasm);
// Create the module.
wasm_module_t* module = wasm_module_new(store, &wasm);
// Read the module's name.
wasm_name_t name;
wasmer_module_name(module, &name);
// It works!
wasmer_assert_name(&name, "moduleName");
// Free everything.
wasm_byte_vec_delete(&name);
wasm_module_delete(module);
wasm_byte_vec_delete(&wasm);
wasm_byte_vec_delete(&wat);
wasm_store_delete(store);
wasm_engine_delete(engine);
return 0;
}