|
Wasmtime
|
Go to the source code of this file.
Data Structures | |
| struct | wasmtime_storage_type |
| A storage type descriptor for struct/array fields. More... | |
| struct | wasmtime_field_type |
| Describes the type and mutability of a struct field or array element. More... | |
Typedefs | |
| typedef uint8_t | wasmtime_storage_type_kind_t |
| Discriminant for storage types in struct/array field types. | |
| typedef struct wasmtime_storage_type | wasmtime_storage_type_t |
| A storage type descriptor for struct/array fields. | |
| typedef struct wasmtime_field_type | wasmtime_field_type_t |
| Convenience alias for wasmtime_field_type. | |
| typedef struct wasmtime_struct_type | wasmtime_struct_type_t |
| An opaque handle to a WebAssembly struct type definition. More... | |
Functions | |
| WASM_API_EXTERN void | wasmtime_storage_type_clone (const wasmtime_storage_type_t *storage, wasmtime_storage_type_t *out) |
Clone a storage type into out. | |
| WASM_API_EXTERN void | wasmtime_storage_type_delete (wasmtime_storage_type_t *storage) |
| Delete a storage type. More... | |
| WASM_API_EXTERN void | wasmtime_field_type_clone (const wasmtime_field_type_t *field, wasmtime_field_type_t *out) |
Clone a field type into out. | |
| WASM_API_EXTERN void | wasmtime_field_type_delete (wasmtime_field_type_t *field) |
| Delete a field type. | |
| WASM_API_EXTERN wasmtime_error_t * | wasmtime_struct_type_new (const wasm_engine_t *engine, const wasmtime_field_type_t *fields, size_t nfields, wasmtime_struct_type_t **out) |
| Create a new struct type. More... | |
| WASM_API_EXTERN wasmtime_struct_type_t * | wasmtime_struct_type_copy (const wasmtime_struct_type_t *ty) |
| Clone a struct type. | |
| WASM_API_EXTERN void | wasmtime_struct_type_delete (wasmtime_struct_type_t *ty) |
| Delete a struct type. | |
| WASM_API_EXTERN size_t | wasmtime_struct_type_num_fields (const wasmtime_struct_type_t *ty) |
| Get the number of fields in a struct type. | |
| WASM_API_EXTERN bool | wasmtime_struct_type_field (const wasmtime_struct_type_t *ty, size_t index, wasmtime_field_type_t *out) |
| Get the field type of a struct type's field by index. More... | |
APIs for interacting with WebAssembly GC structref type in Wasmtime.
| typedef struct wasmtime_struct_type wasmtime_struct_type_t |
An opaque handle to a WebAssembly struct type definition.
A struct type describes the fields of a struct. It is used to create a wasmtime_struct_ref_pre_t, which can then allocate struct instances.
Owned. Must be deleted with wasmtime_struct_type_delete.
| WASM_API_EXTERN void wasmtime_storage_type_delete | ( | wasmtime_storage_type_t * | storage | ) |
Delete a storage type.
Only necessary for WASMTIME_STORAGE_TYPE_KIND_VALTYPE when the value type is a concrete reference type.
| WASM_API_EXTERN bool wasmtime_struct_type_field | ( | const wasmtime_struct_type_t * | ty, |
| size_t | index, | ||
| wasmtime_field_type_t * | out | ||
| ) |
Get the field type of a struct type's field by index.
Returns true if index is in-bounds and out is filled in. Returns false if index is out-of-bounds and out is not modified.
| WASM_API_EXTERN wasmtime_error_t * wasmtime_struct_type_new | ( | const wasm_engine_t * | engine, |
| const wasmtime_field_type_t * | fields, | ||
| size_t | nfields, | ||
| wasmtime_struct_type_t ** | out | ||
| ) |
Create a new struct type.
| engine | The engine to register the type with. |
| fields | Pointer to an array of field type descriptors. |
| nfields | Number of fields. |
| out | On success, filled in with the new struct type. |
Fills in out on success and returns NULL. Otherwise returns an error (e.g. there are too many fields) and does not modify out.
This function aborts the process if any field's type comes from an engine other than engine.