Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Macros | |
#define | MAX_GPRARGS 3 |
#define | FFIBFIN_RET_VOID 0 |
#define | FFIBFIN_RET_BYTE 1 |
#define | FFIBFIN_RET_HALFWORD 2 |
#define | FFIBFIN_RET_INT64 3 |
#define | FFIBFIN_RET_INT32 4 |
Functions | |
void | ffi_prep_args (unsigned char *, extended_cif *) |
void | ffi_call_SYSV (unsigned, extended_cif *, void(*)(unsigned char *, extended_cif *), unsigned, void *, void(*fn)(void)) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
#define FFIBFIN_RET_BYTE 1 |
Definition at line 40 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFIBFIN_RET_HALFWORD 2 |
Definition at line 41 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFIBFIN_RET_INT32 4 |
Definition at line 43 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFIBFIN_RET_INT64 3 |
Definition at line 42 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
#define FFIBFIN_RET_VOID 0 |
Definition at line 39 of file ffi.c.
Referenced by ffi_prep_cif_machdep().
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 120 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), ffi_prep_args(), FFI_SYSV, and extended_cif::rvalue.
void ffi_call_SYSV | ( | unsigned | , |
extended_cif * | , | ||
void(*)(unsigned char *, extended_cif *) | , | ||
unsigned | , | ||
void * | , | ||
void(*)(void) | fn | ||
) |
static void ffi_prep_args | ( | unsigned char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 144 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, FFI_ASSERT, and memcpy.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 67 of file ffi.c.
References FFI_ASSERT, FFIBFIN_RET_BYTE, FFIBFIN_RET_HALFWORD, FFIBFIN_RET_INT32, FFIBFIN_RET_INT64, and FFIBFIN_RET_VOID.