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
14#ifdef __cplusplus
15extern "C" {
16#endif
17
25typedef struct wasmtime_func {
31 uint64_t store_id;
33 void *__private;
35
43typedef struct wasmtime_table {
44 struct {
46 uint64_t store_id;
48 uint32_t __private1;
49 };
51 uint32_t __private2;
53
61typedef struct wasmtime_memory {
62 struct {
64 uint64_t store_id;
66 uint32_t __private1;
67 };
69 uint32_t __private2;
71
79typedef struct wasmtime_global {
81 uint64_t store_id;
83 uint32_t __private1;
85 uint32_t __private2;
87 uint32_t __private3;
89
91typedef uint8_t wasmtime_extern_kind_t;
92
95#define WASMTIME_EXTERN_FUNC 0
98#define WASMTIME_EXTERN_GLOBAL 1
101#define WASMTIME_EXTERN_TABLE 2
104#define WASMTIME_EXTERN_MEMORY 3
107#define WASMTIME_EXTERN_SHAREDMEMORY 4
108
129 struct wasmtime_sharedmemory *sharedmemory;
131
145typedef struct wasmtime_extern {
151
154
161 wasmtime_extern_t *val);
162
163#ifdef __cplusplus
164} // extern "C"
165#endif
166
167#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:91
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:145
wasmtime_extern_union_t of
Container for the extern item's value.
Definition: extern.h:149
wasmtime_extern_kind_t kind
Discriminant of which field of of is valid.
Definition: extern.h:147
Representation of a function in Wasmtime.
Definition: extern.h:25
void * __private
Private field for Wasmtime, undefined if store_id is zero.
Definition: extern.h:33
uint64_t store_id
Definition: extern.h:31
Representation of a global in Wasmtime.
Definition: extern.h:79
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:85
uint32_t __private3
Private field for Wasmtime.
Definition: extern.h:87
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:81
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:83
Representation of a memory in Wasmtime.
Definition: extern.h:61
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:69
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:66
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:64
Representation of a table in Wasmtime.
Definition: extern.h:43
uint32_t __private1
Private field for Wasmtime.
Definition: extern.h:48
uint32_t __private2
Private field for Wasmtime.
Definition: extern.h:51
uint64_t store_id
Internal identifier of what store this belongs to, never zero.
Definition: extern.h:46
Container for different kinds of extern items.
Definition: extern.h:119
struct wasmtime_sharedmemory * sharedmemory
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_SHAREDMEMORY.
Definition: extern.h:129
wasmtime_memory_t memory
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_MEMORY.
Definition: extern.h:127
wasmtime_func_t func
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_FUNC.
Definition: extern.h:121
wasmtime_global_t global
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_GLOBAL.
Definition: extern.h:123
wasmtime_table_t table
Field used if wasmtime_extern_t::kind is WASMTIME_EXTERN_TABLE.
Definition: extern.h:125