|
c23_nodiscard infix_registry_t * | infix_registry_create (void) |
| Creates a new, empty type registry.
|
|
void | infix_registry_destroy (infix_registry_t *registry) |
| Frees a type registry and all type definitions and metadata contained within it.
|
|
c23_nodiscard infix_status | infix_register_types (infix_registry_t *, const char *) |
| Parses a string of definitions and populates a type registry.
|
|
c23_nodiscard infix_status | infix_forward_create (infix_forward_t **, const char *, void *, infix_registry_t *) |
| Generates a bound forward-call trampoline from a signature string.
|
|
c23_nodiscard infix_status | infix_forward_create_unbound (infix_forward_t **, const char *, infix_registry_t *) |
| Generates an unbound forward-call trampoline from a signature string.
|
|
c23_nodiscard infix_status | infix_reverse_create_callback (infix_reverse_t **, const char *, void *, infix_registry_t *) |
| Generates a type-safe reverse-call trampoline (callback) from a signature string.
|
|
c23_nodiscard infix_status | infix_reverse_create_closure (infix_reverse_t **, const char *, infix_closure_handler_fn, void *, infix_registry_t *) |
| Generates a low-level reverse-call trampoline (closure) from a signature string.
|
|
c23_nodiscard infix_status | infix_signature_parse (const char *, infix_arena_t **, infix_type **, infix_function_argument **, size_t *, size_t *, infix_registry_t *) |
| Parses a full function signature string into its constituent infix_type parts.
|
|
c23_nodiscard infix_status | infix_type_from_signature (infix_type **, infix_arena_t **, const char *, infix_registry_t *) |
| Parses a signature string representing a single data type.
|
|
c23_nodiscard infix_library_t * | infix_library_open (const char *) |
| Opens a dynamic library and returns a handle to it.
|
|
void | infix_library_close (infix_library_t *) |
| Closes a dynamic library handle and unloads it.
|
|
c23_nodiscard void * | infix_library_get_symbol (infix_library_t *, const char *) |
| Retrieves the memory address of a symbol (function or global variable).
|
|
infix_status | infix_read_global (infix_library_t *, const char *, const char *, void *) |
| Reads the value of a global variable from a loaded library.
|
|
infix_status | infix_write_global (infix_library_t *, const char *, const char *, void *) |
| Writes a value to a global variable in a loaded library.
|
|
c23_nodiscard infix_status | infix_forward_create_manual (infix_forward_t **, infix_type *, infix_type **, size_t, size_t, void *) |
| Generates a bound forward-call trampoline for a given function signature.
|
|
c23_nodiscard infix_status | infix_forward_create_unbound_manual (infix_forward_t **, infix_type *, infix_type **, size_t, size_t) |
| Generates an unbound forward-call trampoline for a given function signature.
|
|
c23_nodiscard infix_status | infix_reverse_create_callback_manual (infix_reverse_t **, infix_type *, infix_type **, size_t, size_t, void *) |
| Generates a type-safe reverse-call trampoline (callback) from infix_type objects.
|
|
c23_nodiscard infix_status | infix_reverse_create_closure_manual (infix_reverse_t **, infix_type *, infix_type **, size_t, size_t, infix_closure_handler_fn, void *) |
| Generates a generic reverse-call trampoline (closure) from infix_type objects.
|
|
void | infix_forward_destroy (infix_forward_t *) |
| Frees a forward trampoline and its associated executable memory.
|
|
void | infix_reverse_destroy (infix_reverse_t *) |
| Frees a reverse trampoline, its JIT-compiled stub, and its context.
|
|
c23_nodiscard infix_type * | infix_type_create_primitive (infix_primitive_type_id) |
| Creates an infix_type descriptor for a primitive C type.
|
|
c23_nodiscard infix_type * | infix_type_create_pointer (void) |
| Creates an infix_type descriptor for a generic void* pointer.
|
|
c23_nodiscard infix_status | infix_type_create_pointer_to (infix_arena_t *, infix_type **, infix_type *) |
| Creates an infix_type for a pointer to a specific type from an arena.
|
|
c23_nodiscard infix_type * | infix_type_create_void (void) |
| Creates an infix_type descriptor for the void type.
|
|
c23_nodiscard infix_status | infix_type_create_struct (infix_arena_t *, infix_type **, infix_struct_member *, size_t) |
| Creates a new infix_type for a struct from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_packed_struct (infix_arena_t *, infix_type **, size_t, size_t, infix_struct_member *, size_t) |
| Creates a new infix_type for a packed struct from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_union (infix_arena_t *, infix_type **, infix_struct_member *, size_t) |
| Creates a new infix_type for a union from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_array (infix_arena_t *, infix_type **, infix_type *, size_t) |
| Creates a new infix_type for a fixed-size array from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_enum (infix_arena_t *, infix_type **, infix_type *) |
| Creates a new infix_type for an enum from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_named_reference (infix_arena_t *, infix_type **, const char *, infix_aggregate_category_t) |
| Creates a new infix_type for a named reference from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_complex (infix_arena_t *, infix_type **, infix_type *) |
| Creates a new infix_type for a _Complex number from an arena.
|
|
c23_nodiscard infix_status | infix_type_create_vector (infix_arena_t *, infix_type **, infix_type *, size_t) |
| Creates a new infix_type for a SIMD vector from an arena.
|
|
infix_struct_member | infix_type_create_member (const char *, infix_type *, size_t) |
| A factory function to create an infix_struct_member .
|
|
c23_nodiscard infix_arena_t * | infix_arena_create (size_t) |
| Creates and initializes a new memory arena.
|
|
void | infix_arena_destroy (infix_arena_t *) |
| Frees an entire memory arena and all objects allocated within it.
|
|
c23_nodiscard void * | infix_arena_alloc (infix_arena_t *, size_t, size_t) |
| Allocates a block of memory from the arena with a specific alignment.
|
|
c23_nodiscard void * | infix_arena_calloc (infix_arena_t *, size_t, size_t, size_t) |
| Allocates a zero-initialized block of memory from the arena.
|
|
infix_error_details_t | infix_get_last_error (void) |
| Retrieves detailed information about the last error that occurred on the current thread.
|
|
|
c23_nodiscard infix_status | infix_type_print (char *, size_t, const infix_type *, infix_print_dialect_t) |
| Serializes an infix_type object graph into a string representation.
|
|
c23_nodiscard infix_status | infix_function_print (char *, size_t, const char *, const infix_type *, const infix_function_argument *, size_t, size_t, infix_print_dialect_t) |
| Serializes a full function signature into a string representation.
|
|
|
c23_nodiscard infix_unbound_cif_func | infix_forward_get_unbound_code (infix_forward_t *) |
| Retrieves the executable code pointer from an unbound forward trampoline.
|
|
c23_nodiscard infix_cif_func | infix_forward_get_code (infix_forward_t *) |
| Retrieves the executable code pointer from a bound forward trampoline.
|
|
c23_nodiscard void * | infix_reverse_get_code (const infix_reverse_t *) |
| Retrieves the executable code pointer from a reverse trampoline.
|
|
c23_nodiscard void * | infix_reverse_get_user_data (const infix_reverse_t *) |
| Retrieves the user_data stored with a reverse trampoline.
|
|
c23_nodiscard size_t | infix_forward_get_num_args (const infix_forward_t *) |
| Retrieves the number of arguments for a forward trampoline.
|
|
c23_nodiscard size_t | infix_forward_get_num_fixed_args (const infix_forward_t *) |
| Retrieves the number of fixed (non-variadic) arguments for a forward trampoline.
|
|
c23_nodiscard const infix_type * | infix_forward_get_return_type (const infix_forward_t *) |
| Retrieves the return type for a forward trampoline.
|
|
c23_nodiscard const infix_type * | infix_forward_get_arg_type (const infix_forward_t *, size_t) |
| Retrieves the type of a specific argument for a forward trampoline.
|
|
c23_nodiscard size_t | infix_reverse_get_num_args (const infix_reverse_t *) |
| Retrieves the number of arguments for a reverse trampoline.
|
|
c23_nodiscard const infix_type * | infix_reverse_get_return_type (const infix_reverse_t *) |
| Retrieves the return type for a reverse trampoline.
|
|
c23_nodiscard size_t | infix_reverse_get_num_fixed_args (const infix_reverse_t *) |
| Retrieves the number of fixed (non-variadic) arguments for a reverse trampoline.
|
|
c23_nodiscard const infix_type * | infix_reverse_get_arg_type (const infix_reverse_t *, size_t) |
| Retrieves the type of a specific argument for a reverse trampoline.
|
|