infix
A JIT-Powered FFI Library for C
Loading...
Searching...
No Matches
infix_reverse_t Struct Reference

#include <infix_internals.h>

Collaboration diagram for infix_reverse_t:
[legend]

Public Attributes

infix_arena_tarena
 The arena that owns all type metadata for this callback.
 
infix_executable_t exec
 Handle to the executable JIT-compiled entry stub.
 
infix_protected_t protected_ctx
 Handle to the memory where this very context struct resides.
 
infix_typereturn_type
 The infix_type of the callback's return value.
 
infix_type ** arg_types
 An array of infix_type pointers for each argument.
 
size_t num_args
 The total number of arguments.
 
size_t num_fixed_args
 The number of non-variadic arguments.
 
bool is_variadic
 True if the function signature is variadic.
 
void * user_callback_fn
 Pointer to the user's actual C callback handler function.
 
void * user_data
 Arbitrary user-data pointer associated with this callback.
 
infix_internal_dispatch_callback_fn internal_dispatcher
 Pointer to the C function that bridges from assembly.
 
infix_forward_tcached_forward_trampoline
 A pre-compiled forward trampoline for calling a type-safe user C callback.
 

Member Data Documentation

◆ arena

infix_arena_t* infix_reverse_t::arena

The arena that owns all type metadata for this callback.

◆ arg_types

infix_type** infix_reverse_t::arg_types

An array of infix_type pointers for each argument.

◆ cached_forward_trampoline

infix_forward_t* infix_reverse_t::cached_forward_trampoline

A pre-compiled forward trampoline for calling a type-safe user C callback.

If this pointer is non-NULL, it signifies a high-level "callback" created with infix_reverse_create_callback. The dispatcher will use this trampoline to marshal arguments and call the user's type-safe C handler. If this is NULL, it signifies a low-level "closure" created with infix_reverse_create_closure, and the dispatcher will call the generic handler directly.

◆ exec

infix_executable_t infix_reverse_t::exec

Handle to the executable JIT-compiled entry stub.

◆ internal_dispatcher

infix_internal_dispatch_callback_fn infix_reverse_t::internal_dispatcher

Pointer to the C function that bridges from assembly.

◆ is_variadic

bool infix_reverse_t::is_variadic

True if the function signature is variadic.

◆ num_args

size_t infix_reverse_t::num_args

The total number of arguments.

◆ num_fixed_args

size_t infix_reverse_t::num_fixed_args

The number of non-variadic arguments.

◆ protected_ctx

infix_protected_t infix_reverse_t::protected_ctx

Handle to the memory where this very context struct resides.

◆ return_type

infix_type* infix_reverse_t::return_type

The infix_type of the callback's return value.

◆ user_callback_fn

void* infix_reverse_t::user_callback_fn

Pointer to the user's actual C callback handler function.

◆ user_data

void* infix_reverse_t::user_data

Arbitrary user-data pointer associated with this callback.


The documentation for this struct was generated from the following file: