Wasmtime
component/linker.h
Go to the documentation of this file.
1
2
3#ifndef WASMTIME_COMPONENT_LINKER_H
4#define WASMTIME_COMPONENT_LINKER_H
5
6#include <wasm.h>
9#include <wasmtime/conf.h>
10#include <wasmtime/error.h>
11#include <wasmtime/store.h>
12
13#ifdef WASMTIME_FEATURE_COMPONENT_MODEL
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
21
25
33WASM_API_EXTERN wasmtime_component_linker_t *
35
47
63 const wasmtime_component_linker_t *linker, wasmtime_context_t *context,
64 const wasmtime_component_t *component,
65 wasmtime_component_instance_t *instance_out);
66
73WASM_API_EXTERN void
75
94WASM_API_EXTERN wasmtime_error_t *
96 wasmtime_component_linker_instance_t *linker_instance, const char *name,
97 size_t name_len,
98 wasmtime_component_linker_instance_t **linker_instance_out);
99
114 wasmtime_component_linker_instance_t *linker_instance, const char *name,
115 size_t name_len, const wasmtime_module_t *module);
116
118typedef wasmtime_error_t *(*wasmtime_component_func_callback_t)(
119 void *, wasmtime_context_t *, const wasmtime_component_val_t *, size_t,
120 wasmtime_component_val_t *, size_t);
121
135 wasmtime_component_linker_instance_t *linker_instance, const char *name,
136 size_t name_len, wasmtime_component_func_callback_t callback, void *data,
137 void (*finalizer)());
138
139#ifdef WASMTIME_FEATURE_WASI
140
144WASM_API_EXTERN wasmtime_error_t *
146
147#endif // WASMTIME_FEATURE_WASI
148
155 wasmtime_component_linker_instance_t *linker_instance);
156
157#ifdef __cplusplus
158} // extern "C"
159#endif
160
161#endif // WASMTIME_FEATURE_COMPONENT_MODEL
162
163#endif // WASMTIME_COMPONENT_LINKER_H
struct wasmtime_component_t wasmtime_component_t
Representation of a component in the component model.
Definition: component/component.h:17
wasmtime_error_t * wasmtime_component_linker_instance_add_module(wasmtime_component_linker_instance_t *linker_instance, const char *name, size_t name_len, const wasmtime_module_t *module)
Defines a wasmtime_module_t within this instance.
wasmtime_component_linker_t * wasmtime_component_linker_new(const wasm_engine_t *engine)
Creates a new wasmtime_component_linker_t for the specified engine.
struct wasmtime_component_linker_instance_t wasmtime_component_linker_instance_t
Structure representing an "instance" being defined within a linker.
Definition: component/linker.h:23
wasmtime_error_t * wasmtime_component_linker_instantiate(const wasmtime_component_linker_t *linker, wasmtime_context_t *context, const wasmtime_component_t *component, wasmtime_component_instance_t *instance_out)
Instantiates a component instance in a given wasmtime_context_t.
wasmtime_error_t * wasmtime_component_linker_instance_add_func(wasmtime_component_linker_instance_t *linker_instance, const char *name, size_t name_len, wasmtime_component_func_callback_t callback, void *data, void(*finalizer)())
Define a function within this instance.
void wasmtime_component_linker_instance_delete(wasmtime_component_linker_instance_t *linker_instance)
Deletes a wasmtime_component_linker_instance_t.
wasmtime_component_linker_instance_t * wasmtime_component_linker_root(wasmtime_component_linker_t *linker)
Returns the "root instance" of this linker, used to define names into the root namespace.
struct wasmtime_component_linker_t wasmtime_component_linker_t
A type used to instantiate a wasmtime_component_t.
Definition: component/linker.h:20
wasmtime_error_t * wasmtime_component_linker_instance_add_instance(wasmtime_component_linker_instance_t *linker_instance, const char *name, size_t name_len, wasmtime_component_linker_instance_t **linker_instance_out)
Defines a nested instance within this instance.
wasmtime_error_t * wasmtime_component_linker_add_wasip2(wasmtime_component_linker_t *linker)
Add all WASI interfaces into the linker provided.
void wasmtime_component_linker_delete(wasmtime_component_linker_t *linker)
Deletes a wasmtime_component_linker_t created by wasmtime_component_linker_new.
wasmtime_error_t *(* wasmtime_component_func_callback_t)(void *, wasmtime_context_t *, const wasmtime_component_val_t *, size_t, wasmtime_component_val_t *, size_t)
Type of the callback used in wasmtime_component_linker_instance_add_func.
Definition: component/linker.h:118
Build-time defines for how the C API was built.
Definition and accessors of wasmtime_error_t.
Compilation environment and configuration.
Representation of a instance in Wasmtime.
Definition: component/instance.h:24
Represents possible runtime values which a component function can either consume or produce.
Definition: component/val.h:183
An interior pointer into a wasmtime_store_t which is used as "context" for many functions.
Errors generated by Wasmtime.
A compiled Wasmtime module.