Ruby: ext/fiddle/libffi-3.2.1/src/or1k/ffi.c File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Functions
ffi.c File Reference
`#include <ffi.h>`
`#include "ffi_common.h"`

Go to the source code of this file.

## Functions
void * | ffi_prep_args (char *stack, extended_cif *ecif)
void | ffi_call_SYSV (unsigned, extended_cif *, void *(*)(int *, extended_cif *), unsigned *, void(*fn)(void), unsigned)
void | ffi_call (ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
void | ffi_closure_SYSV (unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7, unsigned long r8)
ffi_status | ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
ffi_status | ffi_prep_cif_machdep (ffi_cif *cif)
ffi_status | ffi_prep_cif_machdep_var (ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs)

## Function Documentation

## ◆ ffi_call()

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

Definition at line 119 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.

## ◆ ffi_call_SYSV()

void ffi_call_SYSV | ( | unsigned | ,
|  | extended_cif * | ,
|  | void * | *)(int *, extended_cif *,
|  | unsigned * | ,
|  | void(*)(void) | fn,
|  | unsigned |
| ) |  |

## ◆ ffi_closure_SYSV()

void ffi_closure_SYSV | ( | unsigned long | r3,
|  | unsigned long | r4,
|  | unsigned long | r5,
|  | unsigned long | r6,
|  | unsigned long | r7,
|  | unsigned long | r8
| ) |  |

Definition at line 163 of file ffi.c.

References alloca, count, NULL, ptr, and r3.

## ◆ ffi_prep_args()

void * ffi_prep_args | ( | char * | stack,
|  | extended_cif * | ecif
| ) |  |

Definition at line 33 of file ffi.c.

References argv, extended_cif::avalue, extended_cif::cif, count, memcpy, and extended_cif::rvalue.

## ◆ ffi_prep_cif_machdep()

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

Definition at line 303 of file ffi.c.

## ◆ ffi_prep_cif_machdep_var()

ffi_status ffi_prep_cif_machdep_var | ( | ffi_cif * | cif,
|  | unsigned int nfixedargs | ,
|  | unsigned int ntotalargs |
| ) |  |

Definition at line 320 of file ffi.c.

References ffi_prep_cif_machdep().

## ◆ ffi_prep_closure_loc()

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 265 of file ffi.c.

References ffi_closure_SYSV(), FFI_SYSV, and long().