|
infix
A JIT-Powered FFI Library for C
|
Internal definition of a reverse trampoline (callback/closure) handle. More...
#include <infix_internals.h>
Public Attributes | |
| infix_arena_t * | arena |
| infix_executable_t | exec |
| infix_protected_t | protected_ctx |
| infix_type * | return_type |
| infix_type ** | arg_types |
| size_t | num_args |
| size_t | num_fixed_args |
| bool | is_variadic |
| void * | user_callback_fn |
| void * | user_data |
| infix_internal_dispatch_callback_fn | internal_dispatcher |
| infix_forward_t * | cached_forward_trampoline |
Internal definition of a reverse trampoline (callback/closure) handle.
This is the concrete implementation of the opaque infix_reverse_t pointer. The entire struct is allocated in a page-aligned memory region that is made read-only after initialization to prevent memory corruption vulnerabilities. Like the forward trampoline, it is self-contained and owns deep copies of all its type metadata.
| infix_arena_t* infix_reverse_t::arena |
Private arena for type metadata.
| infix_type** infix_reverse_t::arg_types |
Deep copy of the function's argument types.
| infix_forward_t* infix_reverse_t::cached_forward_trampoline |
For type-safe callbacks, a pre-generated trampoline to call the C handler.
| infix_executable_t infix_reverse_t::exec |
Executable memory for the JIT stub.
| infix_internal_dispatch_callback_fn infix_reverse_t::internal_dispatcher |
Pointer to the universal C dispatcher implementation.
| bool infix_reverse_t::is_variadic |
true if the signature contains variadic arguments.
| size_t infix_reverse_t::num_args |
Total number of arguments.
| size_t infix_reverse_t::num_fixed_args |
Number of non-variadic arguments.
| infix_protected_t infix_reverse_t::protected_ctx |
The read-only memory region holding this struct.
| infix_type* infix_reverse_t::return_type |
Deep copy of the function's return type.
| void* infix_reverse_t::user_callback_fn |
The user-provided handler function pointer (type-safe or generic).
| void* infix_reverse_t::user_data |
The user-provided context pointer for closures.