Ruby  2.7.1p83(2020-03-31revisiona0c7c23c9cec0d0ffcba012279cd652d28ad5bf3)
Macros | Functions
ffi.c File Reference
#include <ffi.h>
#include <ffi_common.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define NGREGARG   4
 
#define STRUCT_VALUE_ADDRESS_WITH_ARG   0
 
#define OFS_INT8   3
 
#define OFS_INT16   2
 

Functions

void ffi_prep_args (char *stack, extended_cif *ecif)
 
ffi_status ffi_prep_cif_machdep (ffi_cif *cif)
 
void ffi_call_SYSV (void(*)(char *, extended_cif *), extended_cif *, unsigned, unsigned, unsigned *, void(*fn)(void))
 
void ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
 
void ffi_closure_SYSV (void)
 
ffi_status ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
 
int ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue, unsigned long *pgr, unsigned long *pfr, unsigned long *pst)
 

Macro Definition Documentation

◆ NGREGARG

#define NGREGARG   4

Definition at line 33 of file ffi.c.

◆ OFS_INT16

#define OFS_INT16   2

Definition at line 510 of file ffi.c.

◆ OFS_INT8

#define OFS_INT8   3

Definition at line 509 of file ffi.c.

◆ STRUCT_VALUE_ADDRESS_WITH_ARG

#define STRUCT_VALUE_ADDRESS_WITH_ARG   0

Definition at line 41 of file ffi.c.

Function Documentation

◆ ffi_call()

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

Definition at line 412 of file ffi.c.

References extended_cif::avalue, and extended_cif::cif.

◆ ffi_call_SYSV()

void ffi_call_SYSV ( void(*)(char *, extended_cif *)  ,
extended_cif ,
unsigned  ,
unsigned  ,
unsigned ,
void(*)(void fn 
)

◆ ffi_closure_helper_SYSV()

int ffi_closure_helper_SYSV ( ffi_closure *  closure,
void rvalue,
unsigned long pgr,
unsigned long pfr,
unsigned long pst 
)

Definition at line 514 of file ffi.c.

References alloca, FFI_ASSERT, i, int, n, NFREGARG, NGREGARG, OFS_INT16, OFS_INT8, and STRUCT_VALUE_ADDRESS_WITH_ARG.

◆ ffi_closure_SYSV()

void ffi_closure_SYSV ( void  )

Definition at line 53 of file ffi.c.

◆ ffi_prep_args()

void ffi_prep_args ( char stack,
extended_cif ecif 
)

Definition at line 111 of file ffi.c.

References i.

◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep ( ffi_cif *  cif)

Definition at line 322 of file ffi.c.

References i, n, and size.

◆ 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 
)

Definition at line 457 of file ffi.c.

References FFI_SYSV.