30#define WASMTIME_V128 4
33#define WASMTIME_FUNCREF 5
35#ifdef WASMTIME_FEATURE_GC
38#define WASMTIME_EXTERNREF 6
41#define WASMTIME_ANYREF 7
44#define WASMTIME_EXNREF 8
51#ifdef WASMTIME_FEATURE_GC
242#ifdef WASMTIME_FEATURE_GC
254 wasmtime_func_t funcref;
273static inline bool wasmtime_funcref_is_null(
const wasmtime_func_t *func) {
311#ifdef WASMTIME_FEATURE_GC
348static inline void __wasmtime_val_assertions() {
351 "should be 16 bytes plus a pointer large (plus alignment on "
354 "should be 8-byte aligned");
Build-time defines for how the C API was built.
Definition of wasmtime_extern_t and external items.
A WebAssembly value in the any hierarchy of GC types.
Definition: val.h:77
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:82
void * __private3
Internal to Wasmtime.
Definition: val.h:86
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:84
uint64_t store_id
Definition: val.h:80
A WebAssembly arrayref value.
Definition: val.h:210
uint64_t store_id
Internal metadata.
Definition: val.h:212
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:216
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:214
void * __private3
Internal to Wasmtime.
Definition: val.h:218
A WebAssembly eqref value.
Definition: val.h:163
void * __private3
Internal to Wasmtime.
Definition: val.h:172
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:170
uint64_t store_id
Definition: val.h:166
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:168
A WebAssembly exception reference value.
Definition: val.h:103
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:110
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:108
void * __private3
Internal to Wasmtime.
Definition: val.h:112
uint64_t store_id
Definition: val.h:106
A host-defined un-forgeable reference to pass into WebAssembly.
Definition: val.h:136
uint64_t store_id
Definition: val.h:139
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:143
void * __private3
Internal to Wasmtime.
Definition: val.h:145
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:141
Representation of a function in Wasmtime.
Definition: extern.h:26
uint64_t store_id
Definition: extern.h:32
A WebAssembly structref value.
Definition: val.h:187
uint32_t __private2
Internal to Wasmtime.
Definition: val.h:193
void * __private3
Internal to Wasmtime.
Definition: val.h:195
uint32_t __private1
Internal to Wasmtime.
Definition: val.h:191
uint64_t store_id
Internal metadata.
Definition: val.h:189
Container for different kinds of wasm values.
Definition: val.h:376
wasmtime_valkind_t kind
Discriminant of which field of of is valid.
Definition: val.h:378
wasmtime_valunion_t of
Container for the extern item's value.
Definition: val.h:380
Container for possible wasm values.
Definition: val.h:290
uint32_t anyref
Definition: val.h:319
uint32_t externref
Definition: val.h:327
float32_t f32
Definition: val.h:302
float64_t f64
Definition: val.h:306
int32_t i32
Definition: val.h:294
wasmtime_v128 v128
Definition: val.h:310
int64_t i64
Definition: val.h:298
uint32_t exnref
Definition: val.h:335
Container for different kinds of wasm values.
Definition: val.h:233
int32_t i32
Field used if wasmtime_val_t::kind is WASMTIME_I32.
Definition: val.h:235
wasmtime_v128 v128
Field used if wasmtime_val_t::kind is WASMTIME_V128.
Definition: val.h:256
float32_t f32
Field used if wasmtime_val_t::kind is WASMTIME_F32.
Definition: val.h:239
int64_t i64
Field used if wasmtime_val_t::kind is WASMTIME_I64.
Definition: val.h:237
wasmtime_exnref_t exnref
Field used if wasmtime_val_t::kind is WASMTIME_EXNREF.
Definition: val.h:248
float64_t f64
Field used if wasmtime_val_t::kind is WASMTIME_F64.
Definition: val.h:241
wasmtime_anyref_t anyref
Field used if wasmtime_val_t::kind is WASMTIME_ANYREF.
Definition: val.h:244
wasmtime_externref_t externref
Field used if wasmtime_val_t::kind is WASMTIME_EXTERNREF.
Definition: val.h:246
uint8_t wasmtime_valkind_t
Discriminant stored in wasmtime_val::kind.
Definition: val.h:20
struct wasmtime_externref wasmtime_externref_t
Convenience alias for wasmtime_externref.
union wasmtime_valunion wasmtime_valunion_t
Convenience alias for wasmtime_valunion.
union wasmtime_val_raw wasmtime_val_raw_t
Convenience alias for wasmtime_val_raw.
uint8_t wasmtime_v128[16]
A 128-bit value representing the WebAssembly v128 type. Bytes are stored in little-endian order.
Definition: val.h:49
struct wasmtime_arrayref wasmtime_arrayref_t
Convenience alias for wasmtime_arrayref.
WASM_API_EXTERN void wasmtime_val_unroot(wasmtime_val_t *val)
Unroot the value contained by val.
struct wasmtime_eqref wasmtime_eqref_t
Convenience alias for wasmtime_eqref.
WASM_API_EXTERN void wasmtime_val_clone(const wasmtime_val_t *src, wasmtime_val_t *dst)
Clones the value pointed to by src into the dst provided.
struct wasmtime_val wasmtime_val_t
Convenience alias for wasmtime_val_t.
struct wasmtime_exnref wasmtime_exnref_t
Convenience alias for wasmtime_exnref.
struct wasmtime_anyref wasmtime_anyref_t
Convenience alias for wasmtime_anyref.
struct wasmtime_structref wasmtime_structref_t
Convenience alias for wasmtime_structref.
float float32_t
A type definition for a 32-bit float.
Definition: wasm.h:44
double float64_t
A type definition for a 64-bit float.
Definition: wasm.h:45