Back to index

plt-scheme  4.2.1
Defines | Typedefs | Enumerations
ffitarget.h File Reference

Go to the source code of this file.

Defines

#define FFI_CLOSURES   1
#define FFI_TYPE_SMALL_STRUCT_1B   (FFI_TYPE_LAST + 1)
#define FFI_TYPE_SMALL_STRUCT_2B   (FFI_TYPE_LAST + 2)
#define FFI_TRAMPOLINE_SIZE   10
#define FFI_NATIVE_RAW_API   1 /* x86 has native raw api support */

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_OSF, FFI_LAST_ABI, FFI_DEFAULT_ABI = FFI_OSF,
  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_DEFAULT_ABI = FFI_SYSV, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1,
  FFI_FIRST_ABI = 0, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_UNIX,
  FFI_DEFAULT_ABI = FFI_UNIX, 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_DEFAULT_ABI = FFI_SYSV, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_O32,
  FFI_N32, FFI_N64, FFI_O32_SOFT_FLOAT, FFI_DEFAULT_ABI = FFI_N64,
  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0,
  FFI_LAST_ABI, 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_DEFAULT_ABI = FFI_SYSV,
  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_V8, FFI_V8PLUS,
  FFI_V9, FFI_DEFAULT_ABI = FFI_V8, FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, FFI_FIRST_ABI = 0,
  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
}

Define Documentation

#define FFI_CLOSURES   1

Definition at line 72 of file ffitarget.h.

#define FFI_NATIVE_RAW_API   1 /* x86 has native raw api support */

Definition at line 81 of file ffitarget.h.

#define FFI_TRAMPOLINE_SIZE   10

Definition at line 80 of file ffitarget.h.

#define FFI_TYPE_SMALL_STRUCT_1B   (FFI_TYPE_LAST + 1)

Definition at line 73 of file ffitarget.h.

#define FFI_TYPE_SMALL_STRUCT_2B   (FFI_TYPE_LAST + 2)

Definition at line 74 of file ffitarget.h.


Typedef Documentation

typedef enum ffi_abi ffi_abi
typedef unsigned long ffi_arg

Definition at line 41 of file ffitarget.h.

typedef signed long ffi_sarg

Definition at line 42 of file ffitarget.h.


Enumeration Type Documentation

enum ffi_abi
Enumerator:
FFI_FIRST_ABI 
FFI_OSF 
FFI_LAST_ABI 
FFI_DEFAULT_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_UNIX 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_O32 
FFI_N32 
FFI_N64 
FFI_O32_SOFT_FLOAT 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_SYSV 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_V8 
FFI_V8PLUS 
FFI_V9 
FFI_DEFAULT_ABI 
FFI_LAST_ABI 
FFI_FIRST_ABI 
FFI_LAST_ABI 

Definition at line 44 of file ffitarget.h.

                     {
  FFI_FIRST_ABI = 0,

  /* ---- Intel x86 Win32 ---------- */
#ifdef X86_WIN32
  FFI_SYSV,
  FFI_STDCALL,
  /* TODO: Add fastcall support for the sake of completeness */
  FFI_DEFAULT_ABI = FFI_SYSV,
#endif

  /* ---- Intel x86 and AMD x86-64 - */
#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__))
  FFI_SYSV,
  FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
#ifdef __i386__
  FFI_DEFAULT_ABI = FFI_SYSV,
#else
  FFI_DEFAULT_ABI = FFI_UNIX64,
#endif
#endif

  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
} ffi_abi;