Ruby: ext/fiddle/libffi-3.2.1/src/powerpc/ffi_powerpc.h File Reference

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

Data Structures | Enumerations | Functions
ffi_powerpc.h File Reference

Go to the source code of this file.

## Data Structures
union | ffi_dblfl

## Enumerations
enum | { FLAG_RETURNS_SMST = 1 << (31-31) , FLAG_RETURNS_NOTHING = 1 << (31-30) , FLAG_RETURNS_FP = 1 << (31-29) , FLAG_RETURNS_64BITS = 1 << (31-28) , FLAG_RETURNS_128BITS = 1 << (31-27) , FLAG_COMPAT = 1 << (31- 8) , FLAG_ARG_NEEDS_COPY = 1 << (31- 7) , FLAG_ARG_NEEDS_PSAVE = FLAG_ARG_NEEDS_COPY , FLAG_FP_ARGUMENTS = 1 << (31- 6) , FLAG_4_GPR_ARGUMENTS = 1 << (31- 5) , FLAG_RETVAL_REFERENCE = 1 << (31- 4) }

## Functions
void FFI_HIDDEN | ffi_closure_SYSV (void)
void FFI_HIDDEN | ffi_call_SYSV (extended_cif *, unsigned, unsigned, unsigned *, void(*)(void))
void FFI_HIDDEN | ffi_prep_types_sysv (ffi_abi)
ffi_status FFI_HIDDEN | ffi_prep_cif_sysv (ffi_cif *)
int FFI_HIDDEN | ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *, ffi_dblfl *, unsigned long *)
void FFI_HIDDEN | ffi_call_LINUX64 (extended_cif *, unsigned long, unsigned long, unsigned long *, void(*)(void))
void FFI_HIDDEN | ffi_closure_LINUX64 (void)
void FFI_HIDDEN | ffi_prep_types_linux64 (ffi_abi)
ffi_status FFI_HIDDEN | ffi_prep_cif_linux64 (ffi_cif *)
ffi_status FFI_HIDDEN | ffi_prep_cif_linux64_var (ffi_cif *, unsigned int, unsigned int)
void FFI_HIDDEN | ffi_prep_args64 (extended_cif *, unsigned long *const)
int FFI_HIDDEN | ffi_closure_helper_LINUX64 (ffi_closure *, void *, unsigned long *, ffi_dblfl *)

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
FLAG_RETURNS_SMST |
FLAG_RETURNS_NOTHING |
FLAG_RETURNS_FP |
FLAG_RETURNS_64BITS |
FLAG_RETURNS_128BITS |
FLAG_COMPAT |
FLAG_ARG_NEEDS_COPY |
FLAG_ARG_NEEDS_PSAVE |
FLAG_FP_ARGUMENTS |
FLAG_4_GPR_ARGUMENTS |
FLAG_RETVAL_REFERENCE |

Definition at line 31 of file ffi_powerpc.h.

## Function Documentation

## ◆ ffi_call_LINUX64()

void FFI_HIDDEN ffi_call_LINUX64 | ( | extended_cif * | ,
|  | unsigned long | ,
|  | unsigned long | ,
|  | unsigned long * | ,
|  | void(*)(void) |
| ) |  |

Referenced by ffi_call().

## ◆ ffi_call_SYSV()

void FFI_HIDDEN ffi_call_SYSV | ( | extended_cif * | ,
|  | unsigned | ,
|  | unsigned | ,
|  | unsigned * | ,
|  | void(*)(void) |
| ) |  |

## ◆ ffi_closure_helper_LINUX64()

int FFI_HIDDEN ffi_closure_helper_LINUX64 | ( | ffi_closure * | ,
|  | void * | ,
|  | unsigned long * | ,
|  | ffi_dblfl * |
| ) |  |

## ◆ ffi_closure_helper_SYSV()

int FFI_HIDDEN ffi_closure_helper_SYSV | ( | ffi_closure * | closure,
|  | void * | rvalue,
|  | unsigned long * | pgr,
|  | ffi_dblfl * | pfr,
|  | unsigned long * | pst
| ) |  |

Definition at line 685 of file ffi_sysv.c.

References alloca, ffi_dblfl::d, ffi_dblfl::f, FFI_ASSERT, FFI_SYSV_STRUCT_RET, FFI_SYSV_TYPE_SMALL_STRUCT, FFI_TYPE_LONGDOUBLE, FFI_TYPE_UINT128, NUM_FPR_ARG_REGISTERS, and NUM_GPR_ARG_REGISTERS.

## ◆ ffi_closure_LINUX64()

void FFI_HIDDEN ffi_closure_LINUX64 | ( | void |  | ) |

## ◆ ffi_closure_SYSV()

void FFI_HIDDEN ffi_closure_SYSV | ( | void |  | ) |

Definition at line 53 of file ffi.c.

## ◆ ffi_prep_args64()

void FFI_HIDDEN ffi_prep_args64 | ( | extended_cif * | ,
|  | unsigned long * const |
| ) |  |

## ◆ ffi_prep_cif_linux64()

ffi_status FFI_HIDDEN ffi_prep_cif_linux64 | ( | ffi_cif * |  | ) |

Referenced by ffi_prep_cif_machdep().

## ◆ ffi_prep_cif_linux64_var()

ffi_status FFI_HIDDEN ffi_prep_cif_linux64_var | ( | ffi_cif * | ,
|  | unsigned int | ,
|  | unsigned int |
| ) |  |

Referenced by ffi_prep_cif_machdep_var().

## ◆ ffi_prep_cif_sysv()

ffi_status FFI_HIDDEN ffi_prep_cif_sysv | ( | ffi_cif * | cif | ) |

Definition at line 290 of file ffi_sysv.c.

References FFI_COMPAT_GCC_SYSV, FFI_COMPAT_LINUX, FFI_COMPAT_LINUX_SOFT_FLOAT, FFI_COMPAT_SYSV, FFI_SYSV, FFI_SYSV_IBM_LONG_DOUBLE, FFI_SYSV_LONG_DOUBLE_128, FFI_SYSV_SOFT_FLOAT, FFI_SYSV_STRUCT_RET, and FLAG_COMPAT.

Referenced by ffi_prep_cif_machdep(), and ffi_prep_cif_machdep_var().

## ◆ ffi_prep_types_linux64()

void FFI_HIDDEN ffi_prep_types_linux64 | ( | ffi_abi |  | ) |

## ◆ ffi_prep_types_sysv()

void FFI_HIDDEN ffi_prep_types_sysv | ( | ffi_abi |  | ) |