29 #define LIBFFI_HIDE_BASIC_TYPES 36 #define FFI_TYPEDEF(name, type, id, maybe_const)\ 37 struct struct_align_##name { \ 41 maybe_const ffi_type ffi_type_##name = { \ 43 offsetof(struct struct_align_##name, x), \ 47 #define FFI_COMPLEX_TYPEDEF(name, type, maybe_const) \ 48 static ffi_type *ffi_elements_complex_##name [2] = { \ 49 (ffi_type *)(&ffi_type_##name), NULL \ 51 struct struct_align_complex_##name { \ 55 maybe_const ffi_type ffi_type_complex_##name = { \ 56 sizeof(_Complex type), \ 57 offsetof(struct struct_align_complex_##name, x), \ 59 (ffi_type **)ffi_elements_complex_##name \ 64 1, 1, FFI_TYPE_VOID,
NULL 69 FFI_TYPEDEF(uint16, UINT16, FFI_TYPE_UINT16,
const);
70 FFI_TYPEDEF(sint16, SINT16, FFI_TYPE_SINT16,
const);
71 FFI_TYPEDEF(uint32, UINT32, FFI_TYPE_UINT32,
const);
72 FFI_TYPEDEF(sint32, SINT32, FFI_TYPE_SINT32,
const);
73 FFI_TYPEDEF(uint64, UINT64, FFI_TYPE_UINT64,
const);
74 FFI_TYPEDEF(sint64, SINT64, FFI_TYPE_SINT64,
const);
76 FFI_TYPEDEF(pointer,
void*, FFI_TYPE_POINTER,
const);
79 FFI_TYPEDEF(
double,
double, FFI_TYPE_DOUBLE,
const);
81 #if !defined HAVE_LONG_DOUBLE_VARIANT || defined __alpha__ 82 #define FFI_LDBL_CONST const 84 #define FFI_LDBL_CONST 92 # if defined(__LONG_DOUBLE_128__) && FFI_TYPE_LONGDOUBLE != 4 93 # error FFI_TYPE_LONGDOUBLE out of date 95 const ffi_type ffi_type_longdouble = { 16, 16, 4,
NULL };
96 #elif FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE 100 #ifdef FFI_TARGET_HAS_COMPLEX_TYPE 103 #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
#define FFI_TYPEDEF(name, type, id, maybe_const)
#define FFI_TYPE_LONGDOUBLE
const ffi_type ffi_type_void
#define FFI_COMPLEX_TYPEDEF(name, type, maybe_const)