Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | CIF_FLAGS_CHAR 1 /* for struct only */ |
#define | CIF_FLAGS_SHORT 2 /* for struct only */ |
#define | CIF_FLAGS_INT 4 |
#define | CIF_FLAGS_DINT 8 |
Functions | |
void | ffi_call_elfbsd (extended_cif *, unsigned, unsigned, void *, void(*)()) |
void * | ffi_prep_args (extended_cif *ecif, void *stack) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(), void *rvalue, void **avalue) |
void | ffi_closure_elfbsd (void) |
void | ffi_closure_struct_elfbsd (void) |
unsigned int | ffi_closure_elfbsd_inner (ffi_closure *, void *, char *) |
static void | ffi_prep_closure_elfbsd (ffi_cif *cif, void **avalue, char *stackp) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
#define CIF_FLAGS_CHAR 1 /* for struct only */ |
Definition at line 37 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define CIF_FLAGS_DINT 8 |
Definition at line 40 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define CIF_FLAGS_INT 4 |
Definition at line 39 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define CIF_FLAGS_SHORT 2 /* for struct only */ |
Definition at line 38 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
void ffi_call | ( | ffi_cif * | cif, |
void(*)() | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 163 of file ffi.c.
References alloca(), extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_elfbsd(), ffi_closure_elfbsd(), ffi_closure_elfbsd_inner(), ffi_closure_struct_elfbsd(), FFI_ELFBSD, NULL, and extended_cif::rvalue.
void ffi_call_elfbsd | ( | extended_cif * | , |
unsigned | , | ||
unsigned | , | ||
void * | , | ||
void(*)() | |||
) |
Referenced by ffi_call().
void ffi_closure_elfbsd | ( | void | ) |
Referenced by ffi_call(), and ffi_prep_closure_loc().
unsigned int ffi_closure_elfbsd_inner | ( | ffi_closure * | closure, |
void * | resp, | ||
char * | stack | ||
) |
Definition at line 226 of file ffi.c.
References alloca(), and ffi_prep_closure_elfbsd().
Referenced by ffi_call().
void ffi_closure_struct_elfbsd | ( | void | ) |
Referenced by ffi_call(), and ffi_prep_closure_loc().
void * ffi_prep_args | ( | extended_cif * | ecif, |
void * | stack | ||
) |
Definition at line 51 of file ffi.c.
References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, memcpy, NULL, and extended_cif::rvalue.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 122 of file ffi.c.
References CIF_FLAGS_CHAR, CIF_FLAGS_DINT, CIF_FLAGS_INT, and CIF_FLAGS_SHORT.
|
static |
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 242 of file ffi.c.
References FFI_ASSERT, ffi_closure_elfbsd(), ffi_closure_struct_elfbsd(), and FFI_ELFBSD.