Ruby  2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)
Macros | Typedefs | Enumerations
ffitarget.h File Reference

Go to the source code of this file.

Macros

#define FFI_CLOSURES   1
 
#define FFI_NATIVE_RAW_API   0
 
#define FFI_TYPE_UINT128   (FFI_TYPE_LAST + 1)
 
#define FFI_SYSV_TYPE_SMALL_STRUCT   (FFI_TYPE_LAST + 2)
 
#define FFI_V2_TYPE_FLOAT_HOMOG   (FFI_TYPE_LAST + 1)
 
#define FFI_V2_TYPE_DOUBLE_HOMOG   (FFI_TYPE_LAST + 2)
 
#define FFI_V2_TYPE_SMALL_STRUCT   (FFI_TYPE_LAST + 3)
 
#define FFI_TRAMPOLINE_SIZE   40
 

Typedefs

typedef unsigned long ffi_arg
 
typedef signed long ffi_sarg
 
typedef enum ffi_abi ffi_abi
 

Enumerations

enum  ffi_abi {
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV,
  FFI_FIRST_ABI = 0, FFI_OSF, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_OSF,
  FFI_FIRST_ABI = 0, FFI_ARCOMPACT, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_ARCOMPACT,
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_VFP, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_EABI, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_EABI, FFI_FIRST_ABI = 0, FFI_UNIX, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_UNIX, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_OBSD, FFI_DEFAULT_ABI = FFI_OBSD,
  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_DEFAULT_ABI = FFI_SYSV,
  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI,
  FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_O32, FFI_N32,
  FFI_N64, FFI_O32_SOFT_FLOAT, FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT,
  FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_N64, FFI_FIRST_ABI = 0, FFI_EABI,
  FFI_DEFAULT_ABI = FFI_EABI, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_SYSV,
  FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_SYSV,
  FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV, FFI_FIRST_ABI = 0, FFI_FIRST_ABI = 0,
  FFI_COMPAT_SYSV, FFI_COMPAT_GCC_SYSV, FFI_COMPAT_LINUX64, FFI_COMPAT_LINUX,
  FFI_COMPAT_LINUX_SOFT_FLOAT, FFI_SYSV = 8, FFI_SYSV_SOFT_FLOAT = 1, FFI_SYSV_STRUCT_RET = 2,
  FFI_SYSV_IBM_LONG_DOUBLE = 4, FFI_SYSV_LONG_DOUBLE_128 = 16, FFI_DEFAULT_ABI, FFI_LAST_ABI = 32,
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV,
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV,
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV,
  FFI_FIRST_ABI = 0, FFI_V8, FFI_V8PLUS, FFI_V9,
  FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_V8, FFI_FIRST_ABI = 0, FFI_UNIX,
  FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_UNIX, FFI_FIRST_ABI = 0, FFI_ELFBSD,
  FFI_DEFAULT_ABI = FFI_ELFBSD, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_SYSV,
  FFI_UNIX64, FFI_THISCALL, FFI_FASTCALL, FFI_STDCALL,
  FFI_PASCAL, FFI_REGISTER, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_UNIX64,
  FFI_FIRST_ABI = 0, FFI_SYSV, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_SYSV
}
 

Macro Definition Documentation

◆ FFI_CLOSURES

#define FFI_CLOSURES   1

Definition at line 138 of file ffitarget.h.

◆ FFI_NATIVE_RAW_API

#define FFI_NATIVE_RAW_API   0

Definition at line 139 of file ffitarget.h.

◆ FFI_SYSV_TYPE_SMALL_STRUCT

#define FFI_SYSV_TYPE_SMALL_STRUCT   (FFI_TYPE_LAST + 2)

Definition at line 152 of file ffitarget.h.

◆ FFI_TRAMPOLINE_SIZE

#define FFI_TRAMPOLINE_SIZE   40

Definition at line 169 of file ffitarget.h.

◆ FFI_TYPE_UINT128

#define FFI_TYPE_UINT128   (FFI_TYPE_LAST + 1)

Definition at line 149 of file ffitarget.h.

◆ FFI_V2_TYPE_DOUBLE_HOMOG

#define FFI_V2_TYPE_DOUBLE_HOMOG   (FFI_TYPE_LAST + 2)

Definition at line 156 of file ffitarget.h.

◆ FFI_V2_TYPE_FLOAT_HOMOG

#define FFI_V2_TYPE_FLOAT_HOMOG   (FFI_TYPE_LAST + 1)

Definition at line 155 of file ffitarget.h.

◆ FFI_V2_TYPE_SMALL_STRUCT

#define FFI_V2_TYPE_SMALL_STRUCT   (FFI_TYPE_LAST + 3)

Definition at line 157 of file ffitarget.h.

Typedef Documentation

◆ ffi_abi

typedef enum ffi_abi ffi_abi

◆ ffi_arg

Definition at line 57 of file ffitarget.h.

◆ ffi_sarg

typedef signed long ffi_sarg

Definition at line 58 of file ffitarget.h.

Enumeration Type Documentation

◆ ffi_abi

enum ffi_abi
Enumerator
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_OSF 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_ARCOMPACT 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_VFP 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_EABI 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_UNIX 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_OBSD 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_O32 
FFI_N32 
FFI_N64 
FFI_O32_SOFT_FLOAT 
FFI_N32_SOFT_FLOAT 
FFI_N64_SOFT_FLOAT 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_EABI 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_FIRST_ABI 
FFI_COMPAT_SYSV 
FFI_COMPAT_GCC_SYSV 
FFI_COMPAT_LINUX64 
FFI_COMPAT_LINUX 
FFI_COMPAT_LINUX_SOFT_FLOAT 
FFI_SYSV 
FFI_SYSV_SOFT_FLOAT 
FFI_SYSV_STRUCT_RET 
FFI_SYSV_IBM_LONG_DOUBLE 
FFI_SYSV_LONG_DOUBLE_128 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_V8 
FFI_V8PLUS 
FFI_V9 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_UNIX 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_ELFBSD 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_UNIX64 
FFI_THISCALL 
FFI_FASTCALL 
FFI_STDCALL 
FFI_PASCAL 
FFI_REGISTER 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 

Definition at line 60 of file ffitarget.h.