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

Go to the source code of this file.

Macros

#define STACK_ARG_SIZE(x)   ALIGN(x, FFI_SIZEOF_ARG)
 

Functions

static ffi_status initialize_aggregate (ffi_type *arg)
 
ffi_status FFI_HIDDEN ffi_prep_cif_core (ffi_cif *cif, ffi_abi abi, unsigned int isvariadic, unsigned int nfixedargs, unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes)
 
ffi_status ffi_prep_cif (ffi_cif *cif, ffi_abi abi, unsigned int nargs, ffi_type *rtype, ffi_type **atypes)
 
ffi_status ffi_prep_cif_var (ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs, unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes)
 

Macro Definition Documentation

◆ STACK_ARG_SIZE

#define STACK_ARG_SIZE (   x)    ALIGN(x, FFI_SIZEOF_ARG)

Definition at line 32 of file prep_cif.c.

Referenced by ffi_prep_cif_core().

Function Documentation

◆ ffi_prep_cif()

ffi_status ffi_prep_cif ( ffi_cif *  cif,
ffi_abi  abi,
unsigned int  nargs,
ffi_type *  rtype,
ffi_type **  atypes 
)

Definition at line 226 of file prep_cif.c.

References ffi_prep_cif_core().

Referenced by initialize(), and main().

◆ ffi_prep_cif_core()

ffi_status FFI_HIDDEN ffi_prep_cif_core ( ffi_cif *  cif,
ffi_abi  abi,
unsigned int  isvariadic,
unsigned int  nfixedargs,
unsigned int  ntotalargs,
ffi_type *  rtype,
ffi_type **  atypes 
)

◆ ffi_prep_cif_var()

ffi_status ffi_prep_cif_var ( ffi_cif *  cif,
ffi_abi  abi,
unsigned int  nfixedargs,
unsigned int  ntotalargs,
ffi_type *  rtype,
ffi_type **  atypes 
)

Definition at line 232 of file prep_cif.c.

References ffi_prep_cif_core(), and ffi_prep_closure_loc().

Referenced by main().

◆ initialize_aggregate()

static ffi_status initialize_aggregate ( ffi_type *  arg)
static

Definition at line 37 of file prep_cif.c.

References ALIGN, FFI_AGGREGATE_ALIGNMENT, FFI_ASSERT_VALID_TYPE, NULL, and UNLIKELY.

Referenced by ffi_prep_cif_core().