Wasmtime
extern.h
Go to the documentation of this file.
1
7#ifndef WASMTIME_EXTERN_H
8#define WASMTIME_EXTERN_H
9
10#include <wasmtime/module.h>
12#include <wasmtime/store.h>
13#include <wasmtime/tag.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
26typedef struct wasmtime_func {
32 uint64_t store_id;
34 void *__private;
36
44typedef struct wasmtime_table {
45 struct {
47 uint64_t store_id;
49 uint32_t __private1;
50 };
52 uint32_t __private2;
54
62typedef struct wasmtime_memory {
63 struct {
65 uint64_t store_id;
67 uint32_t __private1;
68 };
70 uint32_t __private2;
72
80typedef struct wasmtime_global {
82 uint64_t store_id;
84 uint32_t __private1;
86 uint32_t __private2;
88 uint32_t __private3;
90
92typedef uint8_t wasmtime_extern_kind_t;
93
96#define WASMTIME_EXTERN_FUNC 0
99#define WASMTIME_EXTERN_GLOBAL 1
102#define WASMTIME_EXTERN_TABLE 2
105#define WASMTIME_EXTERN_MEMORY 3
108#define WASMTIME_EXTERN_SHAREDMEMORY 4
111#define WASMTIME_EXTERN_TAG 5
112
133 struct wasmtime_sharedmemory *sharedmemory;
137
151typedef struct wasmtime_extern {
157
160
167 wasmtime_extern_t *val);
168
169#ifdef __cplusplus
170} // extern "C"
171#endif
172
173#endif // WASMTIME_EXTERN_H
wasm_externtype_t * wasmtime_extern_type(wasmtime_context_t *context, wasmtime_extern_t *val)
Returns the type of the wasmtime_extern_t defined within the given store.
struct wasmtime_memory wasmtime_memory_t
Representation of a memory in Wasmtime.
struct wasmtime_extern wasmtime_extern_t
Convenience alias for wasmtime_extern_t.
void wasmtime_extern_delete(wasmtime_extern_t *val)
Deletes a wasmtime_extern_t.
union wasmtime_extern_union wasmtime_extern_union_t
Convenience alias for wasmtime_extern_union.
uint8_t wasmtime_extern_kind_t
Discriminant of wasmtime_extern_t.
Definition: extern.h:92
struct wasmtime_table wasmtime_table_t
Representation of a table in Wasmtime.
struct wasmtime_global wasmtime_global_t
Representation of a global in Wasmtime.
struct wasmtime_func wasmtime_func_t
Representation of a function in Wasmtime.
An opaque object representing the type of a external value. Can be seen as a superclass of wasm_funct...
An interior pointer into a wasmtime_store_t which is used as "context" for many functions.
Container for different kinds of extern items.
Definition: extern.h:151
wasmtime_extern_union_t of
Container for the extern item's value.
Definition: extern.h:155
wasmtime_extern_kind_t kind
Discriminant of which field of of is valid.
Definition: extern.h:153
Representation of a function in Wasmtime.
Definition: extern.h:26
void * __private
Private field for Wasmtime, undefined if store_id is zero.
Definition: extern.h:34
uint64_t store_id
Definition: extern.h:32
Representation of a global in Wasmtime.
Definition: extern.h:80
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:86
uint32_t __private3
Private field for Wasmtime.
Definition: extern.h:88
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:82
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:84
Representation of a memory in Wasmtime.
Definition: extern.h:62
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:70
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:67
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:65
Representation of a table in Wasmtime.
Definition: extern.h:44
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:49
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:52
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:47
Representation of a tag in Wasmtime.
Definition: tag.h:28
Wasmtime APIs for interacting with WebAssembly tags.
Container for different kinds of extern items.
Definition: extern.h:123
struct wasmtime_sharedmemory * sharedmemory
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_SHAREDMEMORY.
Definition: extern.h:133
wasmtime_memory_t memory
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_MEMORY.
Definition: extern.h:131
wasmtime_func_t func
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_FUNC.
Definition: extern.h:125
wasmtime_global_t global
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_GLOBAL.
Definition: extern.h:127
wasmtime_table_t table
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_TABLE.
Definition: extern.h:129
wasmtime_tag_t tag
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_TAG.
Definition: extern.h:135