Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
|
#include <ffi.h>
#include <ffi_common.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <asm/unistd.h>
Go to the source code of this file.
Functions | |
void | ffi_call_SYSV (void(*)(char *, extended_cif *), extended_cif *, unsigned int, unsigned int, unsigned int *, unsigned int, void(*fn)(void)) |
void | ffi_closure_SYSV (ffi_closure *) |
unsigned int | pass_struct_on_stack (ffi_type *type) |
void | ffi_prep_args (char *stack, extended_cif *ecif) |
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif) |
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) |
unsigned int | ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args) |
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc) |
void ffi_call | ( | ffi_cif * | cif, |
void(*)(void) | fn, | ||
void * | rvalue, | ||
void ** | avalue | ||
) |
Definition at line 235 of file ffi.c.
References alloca, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_SYSV(), ffi_prep_args(), FFI_SYSV, NULL, and extended_cif::rvalue.
void ffi_call_SYSV | ( | void(*)(char *, extended_cif *) | , |
extended_cif * | , | ||
unsigned int | , | ||
unsigned int | , | ||
unsigned int * | , | ||
unsigned int | , | ||
void(*)(void) | fn | ||
) |
unsigned int ffi_closure_SYSV_inner | ( | ffi_closure * | closure, |
void ** | respp, | ||
void * | args | ||
) |
void ffi_prep_args | ( | char * | stack, |
extended_cif * | ecif | ||
) |
Definition at line 67 of file ffi.c.
References extended_cif::avalue, extended_cif::cif, memcpy, NULL, pass_struct_on_stack(), and extended_cif::rvalue.
ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |
Definition at line 177 of file ffi.c.
References pass_struct_on_stack().
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 394 of file ffi.c.
References ffi_closure_SYSV(), ffi_closure_SYSV_inner(), FFI_SYSV, and int().
unsigned int pass_struct_on_stack | ( | ffi_type * | type | ) |
Definition at line 43 of file ffi.c.
Referenced by ffi_prep_args(), and ffi_prep_cif_machdep().