1*1fd5a2e1SPrashanth Swaminathan#define LIBFFI_ASM 2*1fd5a2e1SPrashanth Swaminathan#define LIBFFI_H 3*1fd5a2e1SPrashanth Swaminathan#include <fficonfig.h> 4*1fd5a2e1SPrashanth Swaminathan#include <ffitarget.h> 5*1fd5a2e1SPrashanth Swaminathan 6*1fd5a2e1SPrashanth Swaminathan/* These version numbers correspond to the libtool-version abi numbers, 7*1fd5a2e1SPrashanth Swaminathan not to the libffi release numbers. */ 8*1fd5a2e1SPrashanth Swaminathan 9*1fd5a2e1SPrashanth SwaminathanLIBFFI_BASE_7.0 { 10*1fd5a2e1SPrashanth Swaminathan global: 11*1fd5a2e1SPrashanth Swaminathan /* Exported data variables. */ 12*1fd5a2e1SPrashanth Swaminathan ffi_type_void; 13*1fd5a2e1SPrashanth Swaminathan ffi_type_uint8; 14*1fd5a2e1SPrashanth Swaminathan ffi_type_sint8; 15*1fd5a2e1SPrashanth Swaminathan ffi_type_uint16; 16*1fd5a2e1SPrashanth Swaminathan ffi_type_sint16; 17*1fd5a2e1SPrashanth Swaminathan ffi_type_uint32; 18*1fd5a2e1SPrashanth Swaminathan ffi_type_sint32; 19*1fd5a2e1SPrashanth Swaminathan ffi_type_uint64; 20*1fd5a2e1SPrashanth Swaminathan ffi_type_sint64; 21*1fd5a2e1SPrashanth Swaminathan ffi_type_float; 22*1fd5a2e1SPrashanth Swaminathan ffi_type_double; 23*1fd5a2e1SPrashanth Swaminathan ffi_type_longdouble; 24*1fd5a2e1SPrashanth Swaminathan ffi_type_pointer; 25*1fd5a2e1SPrashanth Swaminathan 26*1fd5a2e1SPrashanth Swaminathan /* Exported functions. */ 27*1fd5a2e1SPrashanth Swaminathan ffi_call; 28*1fd5a2e1SPrashanth Swaminathan ffi_prep_cif; 29*1fd5a2e1SPrashanth Swaminathan ffi_prep_cif_var; 30*1fd5a2e1SPrashanth Swaminathan 31*1fd5a2e1SPrashanth Swaminathan ffi_raw_call; 32*1fd5a2e1SPrashanth Swaminathan ffi_ptrarray_to_raw; 33*1fd5a2e1SPrashanth Swaminathan ffi_raw_to_ptrarray; 34*1fd5a2e1SPrashanth Swaminathan ffi_raw_size; 35*1fd5a2e1SPrashanth Swaminathan 36*1fd5a2e1SPrashanth Swaminathan ffi_java_raw_call; 37*1fd5a2e1SPrashanth Swaminathan ffi_java_ptrarray_to_raw; 38*1fd5a2e1SPrashanth Swaminathan ffi_java_raw_to_ptrarray; 39*1fd5a2e1SPrashanth Swaminathan ffi_java_raw_size; 40*1fd5a2e1SPrashanth Swaminathan 41*1fd5a2e1SPrashanth Swaminathan local: 42*1fd5a2e1SPrashanth Swaminathan *; 43*1fd5a2e1SPrashanth Swaminathan}; 44*1fd5a2e1SPrashanth Swaminathan 45*1fd5a2e1SPrashanth SwaminathanLIBFFI_BASE_7.1 { 46*1fd5a2e1SPrashanth Swaminathan global: 47*1fd5a2e1SPrashanth Swaminathan ffi_get_struct_offsets; 48*1fd5a2e1SPrashanth Swaminathan} LIBFFI_BASE_7.0; 49*1fd5a2e1SPrashanth Swaminathan 50*1fd5a2e1SPrashanth Swaminathan#ifdef FFI_TARGET_HAS_COMPLEX_TYPE 51*1fd5a2e1SPrashanth SwaminathanLIBFFI_COMPLEX_7.0 { 52*1fd5a2e1SPrashanth Swaminathan global: 53*1fd5a2e1SPrashanth Swaminathan /* Exported data variables. */ 54*1fd5a2e1SPrashanth Swaminathan ffi_type_complex_float; 55*1fd5a2e1SPrashanth Swaminathan ffi_type_complex_double; 56*1fd5a2e1SPrashanth Swaminathan ffi_type_complex_longdouble; 57*1fd5a2e1SPrashanth Swaminathan} LIBFFI_BASE_7.0; 58*1fd5a2e1SPrashanth Swaminathan#endif 59*1fd5a2e1SPrashanth Swaminathan 60*1fd5a2e1SPrashanth Swaminathan#if FFI_CLOSURES 61*1fd5a2e1SPrashanth SwaminathanLIBFFI_CLOSURE_7.0 { 62*1fd5a2e1SPrashanth Swaminathan global: 63*1fd5a2e1SPrashanth Swaminathan ffi_closure_alloc; 64*1fd5a2e1SPrashanth Swaminathan ffi_closure_free; 65*1fd5a2e1SPrashanth Swaminathan ffi_prep_closure; 66*1fd5a2e1SPrashanth Swaminathan ffi_prep_closure_loc; 67*1fd5a2e1SPrashanth Swaminathan ffi_prep_raw_closure; 68*1fd5a2e1SPrashanth Swaminathan ffi_prep_raw_closure_loc; 69*1fd5a2e1SPrashanth Swaminathan ffi_prep_java_raw_closure; 70*1fd5a2e1SPrashanth Swaminathan ffi_prep_java_raw_closure_loc; 71*1fd5a2e1SPrashanth Swaminathan} LIBFFI_BASE_7.0; 72*1fd5a2e1SPrashanth Swaminathan#endif 73*1fd5a2e1SPrashanth Swaminathan 74*1fd5a2e1SPrashanth Swaminathan#if FFI_GO_CLOSURES 75*1fd5a2e1SPrashanth SwaminathanLIBFFI_GO_CLOSURE_7.0 { 76*1fd5a2e1SPrashanth Swaminathan global: 77*1fd5a2e1SPrashanth Swaminathan ffi_call_go; 78*1fd5a2e1SPrashanth Swaminathan ffi_prep_go_closure; 79*1fd5a2e1SPrashanth Swaminathan} LIBFFI_CLOSURE_7.0; 80*1fd5a2e1SPrashanth Swaminathan#endif 81