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

Go to the source code of this file.

Macros

#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 

Functions

unsigned int ffi_prep_args (char *stack, extended_cif *ecif)
 
ffi_status ffi_prep_cif_machdep (ffi_cif *cif)
 
void ffi_call_SYSV (void(*fn)(void), extended_cif *, unsigned, unsigned, double *)
 
void ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
 
void ffi_closure_SYSV (ffi_closure *)
 
void ffi_init_trampoline (unsigned char *__tramp, unsigned int __fun, unsigned int __ctx)
 
ffi_status ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
 
unsigned int ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args, void *vfp_args)
 

Variables

unsigned int ffi_metag_trampoline [10]
 

Macro Definition Documentation

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 30 of file ffi.c.

Function Documentation

◆ ffi_call()

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

◆ ffi_call_SYSV()

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

◆ ffi_closure_SYSV()

void ffi_closure_SYSV ( ffi_closure *  )

Definition at line 420 of file ffi.c.

◆ ffi_closure_SYSV_inner()

unsigned int ffi_closure_SYSV_inner ( ffi_closure *  closure,
void **  respp,
void args,
void vfp_args 
)

Definition at line 268 of file ffi.c.

References alloca.

◆ ffi_init_trampoline()

void ffi_init_trampoline ( unsigned char __tramp,
unsigned int  __fun,
unsigned int  __ctx 
)

Definition at line 227 of file ffi.c.

References ffi_metag_trampoline, and memcpy().

Referenced by ffi_prep_closure_loc().

◆ ffi_prep_args()

unsigned int ffi_prep_args ( char stack,
extended_cif ecif 
)

◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep ( ffi_cif *  cif)

Definition at line 100 of file ffi.c.

References ALIGN, FFI_ASSERT_VALID_TYPE, i, ptr, and unsigned.

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

References ffi_closure_SYSV(), ffi_init_trampoline(), FFI_SYSV, NULL, and void.

Variable Documentation

◆ ffi_metag_trampoline

unsigned int ffi_metag_trampoline[10]

Referenced by ffi_init_trampoline().