Ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
Macros | Functions
ffi.c File Reference
#include <ffi.h>
#include <ffi_common.h>
#include <stdlib.h>
#include <unistd.h>

Go to the source code of this file.

Macros

#define CIF_FLAGS_INT   (1 << 0)
 
#define CIF_FLAGS_DINT   (1 << 1)
 

Functions

void ffi_call_OBSD (unsigned int, extended_cif *, unsigned int, void *, void(*fn)())
 
voidffi_prep_args (void *, extended_cif *)
 
void ffi_closure_OBSD (ffi_closure *)
 
void ffi_closure_struct_OBSD (ffi_closure *)
 
unsigned int ffi_closure_OBSD_inner (ffi_closure *, void *, unsigned int *, char *)
 
void ffi_cacheflush_OBSD (unsigned int, unsigned int)
 
ffi_status ffi_prep_cif_machdep (ffi_cif *cif)
 
void ffi_call (ffi_cif *cif, void(*fn)(), void *rvalue, void **avalue)
 
ffi_status ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
 

Macro Definition Documentation

◆ CIF_FLAGS_DINT

#define CIF_FLAGS_DINT   (1 << 1)

Definition at line 62 of file ffi.c.

◆ CIF_FLAGS_INT

#define CIF_FLAGS_INT   (1 << 0)

Definition at line 61 of file ffi.c.

Function Documentation

◆ ffi_cacheflush_OBSD()

void ffi_cacheflush_OBSD ( unsigned int  ,
unsigned int   
)

Referenced by ffi_prep_closure_loc().

◆ ffi_call()

void ffi_call ( ffi_cif *  cif,
void(*)()  fn,
void rvalue,
void **  avalue 
)

◆ ffi_call_OBSD()

void ffi_call_OBSD ( unsigned int  ,
extended_cif ,
unsigned int  ,
void ,
void(*)()  fn 
)

Referenced by ffi_call().

◆ ffi_closure_OBSD()

void ffi_closure_OBSD ( ffi_closure *  )

Referenced by ffi_prep_closure_loc().

◆ ffi_closure_OBSD_inner()

unsigned int ffi_closure_OBSD_inner ( ffi_closure *  closure,
void resp,
unsigned int regp,
char stackp 
)

Definition at line 351 of file ffi.c.

References alloca.

◆ ffi_closure_struct_OBSD()

void ffi_closure_struct_OBSD ( ffi_closure *  )

Referenced by ffi_prep_closure_loc().

◆ ffi_prep_args()

void * ffi_prep_args ( void stack,
extended_cif ecif 
)

Definition at line 72 of file ffi.c.

References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, i, int, memcpy(), NULL, and extended_cif::rvalue.

◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep ( ffi_cif *  cif)

Definition at line 200 of file ffi.c.

References CIF_FLAGS_DINT, and CIF_FLAGS_INT.

◆ ffi_prep_closure_loc()

ffi_status ffi_prep_closure_loc ( ffi_closure *  closure,
ffi_cif *  cif,
void(*)(ffi_cif *, void *, void **, void *)  fun,
void user_data,
void codeloc 
)