Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
#include <ffi.h>
#include <ffi_common.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <asm/cachectl.h>
Go to the source code of this file.
Macros | |
#define | CIF_FLAGS_INT 1 |
#define | CIF_FLAGS_DINT 2 |
#define | CIF_FLAGS_FLOAT 4 |
#define | CIF_FLAGS_DOUBLE 8 |
#define | CIF_FLAGS_LDOUBLE 16 |
#define | CIF_FLAGS_POINTER 32 |
#define | CIF_FLAGS_STRUCT1 64 |
#define | CIF_FLAGS_STRUCT2 128 |
#define | CIF_FLAGS_SINT8 256 |
#define | CIF_FLAGS_SINT16 512 |
Functions | |
void | ffi_call_SYSV (extended_cif *, unsigned, unsigned, void *, void(*fn)()) |
void * | ffi_prep_args (void *stack, extended_cif *ecif) |
void | ffi_closure_SYSV (ffi_closure *) |
void | ffi_closure_struct_SYSV (ffi_closure *) |
unsigned int | ffi_closure_SYSV_inner (ffi_closure *closure, void *resp, void *args) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(), void *rvalue, void **avalue) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
Definition at line 222 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), FFI_SYSV, NULL, and extended_cif::rvalue.
void ffi_closure_struct_SYSV | ( | ffi_closure * | ) |
Referenced by ffi_prep_closure_loc().
void * ffi_prep_args | ( | void * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 37 of file ffi.c.
References ALIGN, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, FFI_TYPE_LONGDOUBLE, i, int, memcpy(), NULL, and extended_cif::rvalue.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 131 of file ffi.c.
References CIF_FLAGS_DINT, CIF_FLAGS_DOUBLE, CIF_FLAGS_FLOAT, CIF_FLAGS_INT, CIF_FLAGS_LDOUBLE, CIF_FLAGS_POINTER, CIF_FLAGS_SINT16, CIF_FLAGS_SINT8, CIF_FLAGS_STRUCT1, CIF_FLAGS_STRUCT2, and FFI_TYPE_LONGDOUBLE.
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 325 of file ffi.c.
References ffi_closure_struct_SYSV(), ffi_closure_SYSV(), FFI_SYSV, FFI_TRAMPOLINE_SIZE, and FFI_TYPE_LONGDOUBLE.