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