Ruby  2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
Functions
ffi.c File Reference
#include <ffi.h>
#include "ffi_common.h"

Go to the source code of this file.

Functions

voidffi_prep_args (char *stack, extended_cif *ecif)
 
void ffi_call_SYSV (unsigned, extended_cif *, void *(*)(int *, extended_cif *), unsigned *, void(*fn)(void), unsigned)
 
void ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
 
void ffi_closure_SYSV (unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7, unsigned long r8)
 
ffi_status ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
 
ffi_status ffi_prep_cif_machdep (ffi_cif *cif)
 
ffi_status ffi_prep_cif_machdep_var (ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs)
 

Function Documentation

◆ ffi_call()

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

◆ ffi_call_SYSV()

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

◆ ffi_closure_SYSV()

void ffi_closure_SYSV ( unsigned long  r3,
unsigned long  r4,
unsigned long  r5,
unsigned long  r6,
unsigned long  r7,
unsigned long  r8 
)

Definition at line 163 of file ffi.c.

References __asm__, alloca, count, i, NULL, ptr, and r3.

◆ ffi_prep_args()

void* ffi_prep_args ( char stack,
extended_cif ecif 
)

Definition at line 33 of file ffi.c.

References arg, argv, extended_cif::avalue, extended_cif::cif, count, i, memcpy(), and extended_cif::rvalue.

◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep ( ffi_cif *  cif)

Definition at line 303 of file ffi.c.

◆ ffi_prep_cif_machdep_var()

ffi_status ffi_prep_cif_machdep_var ( ffi_cif *  cif,
unsigned int nfixedargs  ,
unsigned int ntotalargs   
)

Definition at line 320 of file ffi.c.

References ffi_prep_cif_machdep().

◆ 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 265 of file ffi.c.

References ffi_closure_SYSV(), FFI_SYSV, and long.