Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Functions
ffi.c File Reference
#include <ffi.h>
#include <ffi_common.h>
Include dependency graph for ffi.c:

Go to the source code of this file.

Macros

#define FFI_TYPE_STRUCT_REGS   FFI_TYPE_LAST
 

Functions

void ffi_call_SYSV (void *rvalue, unsigned rsize, unsigned flags, void(*fn)(void), unsigned nbytes, extended_cif *)
 
void ffi_closure_SYSV (void)
 
void ffi_prep_args (extended_cif *ecif, unsigned char *stack)
 
void ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
 
void ffi_trampoline ()
 
void ffi_cacheflush (void *start, void *end)
 
ffi_status ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
 
long FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *closure, void **values, void *rvalue)
 

Macro Definition Documentation

◆ FFI_TYPE_STRUCT_REGS

#define FFI_TYPE_STRUCT_REGS   FFI_TYPE_LAST

Definition at line 48 of file ffi.c.

Function Documentation

◆ ffi_cacheflush()

void ffi_cacheflush ( void *  start,
void *  end 
)

Referenced by ffi_call(), and ffi_prep_closure_loc().

◆ ffi_call()

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

◆ ffi_call_SYSV()

void ffi_call_SYSV ( void *  rvalue,
unsigned  rsize,
unsigned  flags,
void(*)(void)  fn,
unsigned  nbytes,
extended_cif  
)

◆ ffi_closure_SYSV()

void ffi_closure_SYSV ( void  )

Definition at line 53 of file ffi.c.

References ALIGN.

◆ ffi_closure_SYSV_inner()

long FFI_HIDDEN ffi_closure_SYSV_inner ( ffi_closure *  closure,
void **  values,
void *  rvalue 
)

Definition at line 251 of file ffi.c.

References alloca(), FFI_REGISTER_NARGS, and FFI_SYSV.

◆ ffi_prep_args()

void ffi_prep_args ( extended_cif ecif,
unsigned char *  stack 
)

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

References ffi_cacheflush(), ffi_closure_SYSV(), FFI_TRAMPOLINE_SIZE, and memcpy.

◆ ffi_trampoline()

void ffi_trampoline ( )

Referenced by ffi_call().