Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Macros | Functions
ffi.c File Reference
`#include <ffi.h>`
`#include <ffi_common.h>`
`#include <stdlib.h>`
`#include <sys/cachectl.h>`

Go to the source code of this file.

## Macros
#define | FFI_MIPS_STOP_HERE() do {} while(0)
#define | FIX_ARGP

## Functions
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif)
int | ffi_call_O32 (void(*)(char *, extended_cif *, int, int), extended_cif *, unsigned, unsigned, unsigned *, void(*)(void))
int | ffi_call_N32 (void(*)(char *, extended_cif *, int, int), extended_cif *, unsigned, unsigned, void *, void(*)(void))
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)

## Macro Definition Documentation

## ◆ FFI_MIPS_STOP_HERE

#define FFI_MIPS_STOP_HERE | ( |  | ) | do {} while(0)

Definition at line 51 of file ffi.c.

## ◆ FIX_ARGP

#define FIX_ARGP

Definition at line 63 of file ffi.c.

## Function Documentation

## ◆ ffi_call()

void ffi_call | ( | ffi_cif * | cif,
|  | void(*)(void) | fn,
|  | void * | rvalue,
|  | void ** | avalue
| ) |  |

Definition at line 591 of file ffi.c.

References alloca, extended_cif::avalue, extended_cif::cif, FFI_ASSERT, ffi_call_N32(), ffi_call_O32(), FFI_N32, FFI_N32_SOFT_FLOAT, FFI_N64, FFI_N64_SOFT_FLOAT, FFI_O32, FFI_O32_SOFT_FLOAT, ffi_prep_args(), memcpy(), NULL, and extended_cif::rvalue.

## ◆ ffi_call_N32()

int ffi_call_N32 | ( | void(*)(char *, extended_cif *, int, int) | ,
|  | extended_cif * | ,
|  | unsigned | ,
|  | unsigned | ,
|  | void * | ,
|  | void(*)(void) |
| ) |  |

Referenced by ffi_call().

## ◆ ffi_call_O32()

int ffi_call_O32 | ( | void(*)(char *, extended_cif *, int, int) | ,
|  | extended_cif * | ,
|  | unsigned | ,
|  | unsigned | ,
|  | unsigned * | ,
|  | void(*)(void) |
| ) |  |

Referenced by ffi_call().

## ◆ ffi_prep_cif_machdep()

ffi_status ffi_prep_cif_machdep | ( | ffi_cif * | cif | ) |

Definition at line 325 of file ffi.c.

References ALIGN, count, FFI_FLAG_BITS, FFI_N32, FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT, FFI_O32, FFI_O32_SOFT_FLOAT, FFI_SIZEOF_ARG, FFI_TYPE_LONGDOUBLE, FFI_TYPE_SMALLSTRUCT2, and index.