re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
[platform/upstream/gcc.git] / gcc / builtin-types.def
1 /* Copyright (C) 2001-2014 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
8 version.
9
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13 for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GCC; see the file COPYING3.  If not see
17 <http://www.gnu.org/licenses/>.  */
18
19 /* This header provides a declarative way of describing the types that
20    are used when declaring builtin functions.
21
22    Before including this header, you must define the following macros:
23
24    DEF_PRIMITIVE_TYPE (ENUM, TYPE)
25
26      The ENUM is an identifier indicating which type is being defined.
27      TYPE is an expression for a `tree' that represents the type.
28
29    DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
30    DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
31    DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
32    DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
33    DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
34    DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
35    DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
36    DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
37    DEF_FUNCTION_TYPE_8 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7,
38                         ARG8)
39
40      These macros describe function types.  ENUM is as above.  The
41      RETURN type is one of the enumerals already defined.  ARG1, ARG2,
42      etc, give the types of the arguments, similarly.
43
44    DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
45    DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
46    DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
47    DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
48    DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
49    DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
50
51      Similar, but for function types that take variable arguments.
52      For example:
53
54        DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
55
56      describes the type `int ()(double)', using the enumeral
57      BT_INT_DOUBLE, whereas:
58
59        DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
60
61      describes the type `int ()(double, ...)'.
62
63   DEF_POINTER_TYPE (ENUM, TYPE)
64
65     This macro describes a pointer type.  ENUM is as above; TYPE is
66     the type pointed to.  */
67
68 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
69 DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
70 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
71 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
72 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
73 DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
74 DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
75 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
76 DEF_PRIMITIVE_TYPE (BT_INT128, int128_integer_type_node)
77 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
78 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
79 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
80 DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
81 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
82 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
83 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
84 DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
85                                     (targetm.unwind_word_mode (), 1))
86 DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
87 DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
88 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
89 DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
90 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
91 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
92
93 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
94 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
95 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
96 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
97                     build_pointer_type
98                      (build_qualified_type (void_type_node,
99                                             TYPE_QUAL_VOLATILE)))
100 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
101                     build_pointer_type
102                      (build_qualified_type (void_type_node,
103                                           TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
104 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
105 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
106 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
107 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
108 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
109                     build_pointer_type
110                      (build_qualified_type (double_type_node,
111                                             TYPE_QUAL_CONST)))
112 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
113 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
114 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
115 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
116 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
117 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
118 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
119
120 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
121 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
122 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
123 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
124 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
125 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
126
127 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
128 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
129
130 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
131 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
132 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
133 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
134 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
135
136 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
137 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
138 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
139 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
140
141 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
142 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
143 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
144 DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
145 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
146 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
147 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
148 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
149 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
150 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
151    distinguish it from two types in sequence, "long" followed by
152    "double".  */
153 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
154 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
155 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
156 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
157
158 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
159 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
160 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
161 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
162 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
163 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
164                      BT_LONGDOUBLE, BT_LONGDOUBLE)
165 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
166                      BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
167 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
168                      BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
169 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
170                      BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
171 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
172                      BT_FLOAT, BT_COMPLEX_FLOAT)
173 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
174                      BT_DOUBLE, BT_COMPLEX_DOUBLE)
175 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
176                      BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
177 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
178                      BT_COMPLEX_FLOAT, BT_FLOAT)
179 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
180                      BT_COMPLEX_DOUBLE, BT_DOUBLE)
181 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
182                      BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
183 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
184 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
185 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
186 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
187 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
188 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
189 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
190 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
191 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
192 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
193 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
194 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
195 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
196 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
197 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
198 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
199 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
200 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
201 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
202 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
203 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
204 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
205 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
206 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
207 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
208 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
209 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
210 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
211 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
212 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
213 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
214 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
215                      BT_LONGDOUBLE, BT_CONST_STRING)
216 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
217 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
218 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
219                      BT_DFLOAT128, BT_CONST_STRING)
220 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
221 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
222 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
223 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
224 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
225 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
226 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
227 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
228 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
229 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
230 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
231 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
232 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
233 DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
234 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
235 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
236 DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
237
238 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
239
240 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
241 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
242                      BT_STRING, BT_STRING, BT_CONST_STRING)
243 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
244                      BT_INT, BT_CONST_STRING, BT_CONST_STRING)
245 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
246                      BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
247 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
248                      BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
249 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
250                      BT_STRING, BT_CONST_STRING, BT_INT)
251 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
252                      BT_STRING, BT_CONST_STRING, BT_SIZE)
253 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
254                      BT_INT, BT_CONST_STRING, BT_FILEPTR)
255 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
256                      BT_INT, BT_INT, BT_FILEPTR)
257 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
258                      BT_VOID, BT_PTRMODE, BT_PTR)
259 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
260                      BT_VOID, BT_PTR, BT_PTRMODE)
261 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
262                      BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
263 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
264                      BT_LONG, BT_LONG, BT_LONG)
265 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
266                      BT_INT, BT_PTR, BT_CONST_STRING)
267 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
268                      BT_VOID, BT_PTR, BT_SIZE)
269 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
270                      BT_FLOAT, BT_FLOAT, BT_FLOAT)
271 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
272                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
273 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
274                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
275 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
276                      BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
277 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
278                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
279 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
280                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
281 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
282                      BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
283 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
284                      BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
285 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
286                      BT_FLOAT, BT_FLOAT, BT_INT)
287 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
288                      BT_DOUBLE, BT_DOUBLE, BT_INT)
289 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
290                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
291 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
292                      BT_FLOAT, BT_FLOAT, BT_INT_PTR)
293 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
294                      BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
295 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
296                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
297 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
298                      BT_FLOAT, BT_INT, BT_FLOAT)
299 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
300                      BT_DOUBLE, BT_INT, BT_DOUBLE)
301 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
302                      BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
303 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
304                      BT_FLOAT, BT_FLOAT, BT_LONG)
305 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
306                      BT_DOUBLE, BT_DOUBLE, BT_LONG)
307 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
308                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
309 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
310                      BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
311 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
312                      BT_PTR, BT_SIZE, BT_SIZE)
313 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
314                      BT_PTR, BT_PTR, BT_SIZE)
315 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
316                      BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
317 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
318                      BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
319 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
320                      BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
321 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
322 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
323                      BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
324 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
325 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
326 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
327 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
328 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
329 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
330 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
331                      BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
332 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
333                      BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
334 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
335                      BT_INT)
336 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
337                      BT_INT)
338 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
339                      BT_INT)
340 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
341                      BT_INT)
342 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
343                      BT_INT)
344 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
345 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
346 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
347                      BT_CONST_VOLATILE_PTR)
348 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
349 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
350
351 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
352
353 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
354                      BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
355 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
356                      BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
357 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
358                      BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
359 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
360                      BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
361 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
362                      BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
363 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
364                      BT_PTR, BT_PTR, BT_INT, BT_SIZE)
365 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
366                      BT_VOID, BT_PTR, BT_INT, BT_SIZE)
367 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
368                      BT_VOID, BT_PTR, BT_INT, BT_INT)
369 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
370                      BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
371 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
372                      BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
373 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
374                      BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
375 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
376                      BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
377 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
378                      BT_INT, BT_PTR, BT_PTR, BT_PTR)
379 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
380                      BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
381 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
382                      BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
383 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
384                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
385 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
386                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
387 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
388                      BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
389 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
390                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
391 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
392                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
393 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
394                      BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
395 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
396                      BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
397 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
398                      BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
399 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
400 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
401                      BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
402 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
403                      BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
404 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
405                      BT_I1, BT_I1)
406 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
407                      BT_I2, BT_I2)
408 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
409                      BT_I4, BT_I4)
410 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
411                      BT_I8, BT_I8)
412 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
413                      BT_I16, BT_I16)
414 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
415 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
416 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
417 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
418 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
419                      BT_I16, BT_I16)
420 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
421                      BT_CONST_PTR, BT_INT, BT_SIZE)
422 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
423 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
424 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
425 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
426 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
427 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
428 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
429 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
430 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
431 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
432 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
433
434 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
435                      BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
436 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
437                 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
438 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
439                 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
440 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
441                      BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
442 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
443                      BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
444 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
445                      BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
446 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
447                      BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
448 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
449                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
450 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
451                      BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
452 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
453                      BT_VOLATILE_PTR, BT_PTR, BT_INT)
454 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
455                      BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
456
457 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
458                      BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
459                      BT_VALIST_ARG)
460 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
461                      BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
462                      BT_PTR_LONG, BT_PTR_LONG)
463 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
464                      BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
465 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
466                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
467 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
468                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
469 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
470                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
471 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
472                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
473 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
474                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
475 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
476                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
477                      BT_UINT)
478
479 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
480                      BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
481                      BT_CONST_STRING, BT_VALIST_ARG)
482 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
483                      BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
484                      BT_PTR_LONG, BT_PTR_LONG)
485 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
486                      BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
487                      BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
488 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT, 
489                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
490                      BT_INT)
491 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT, 
492                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
493                      BT_INT)
494 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT, 
495                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
496                      BT_INT)
497 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT, 
498                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
499                      BT_INT)
500 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT, 
501                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
502                      BT_INT)
503 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
504                      BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
505 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
506                      BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
507
508 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
509                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
510                      BT_LONG, BT_LONG, BT_LONG, BT_UINT)
511 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
512                      BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
513                      BT_ULONGLONG, BT_ULONGLONG,
514                      BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
515 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
516                      BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
517                      BT_PTR, BT_PTR, BT_PTR)
518
519 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
520                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
521                      BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
522 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
523                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
524                      BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
525                      BT_BOOL, BT_UINT, BT_PTR)
526
527 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
528 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
529 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
530
531 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
532                          BT_VOID, BT_VALIST_REF)
533 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
534                          BT_VOID, BT_CONST_PTR)
535 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
536                          BT_INT, BT_CONST_STRING)
537 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
538                          BT_UINT32, BT_UINT32)
539
540 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
541                          BT_INT, BT_FILEPTR, BT_CONST_STRING)
542 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
543                          BT_INT, BT_STRING, BT_CONST_STRING)
544 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
545                          BT_INT, BT_CONST_STRING, BT_CONST_STRING)
546 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
547                          BT_INT, BT_INT, BT_CONST_STRING)
548 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
549                          BT_CONST_PTR, BT_SIZE)
550
551 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
552                          BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
553 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
554                          BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
555 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
556                          BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
557
558 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
559                          BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
560
561 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
562                          BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
563                          BT_CONST_STRING)
564
565 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
566                          BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
567
568 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
569 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
570                      BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
571
572
573 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
574 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
575 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
576 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
577 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
578 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
579 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
580
581 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
582 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
583 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
584 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
585 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
586 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
587                      BT_VOLATILE_PTR, BT_DOUBLE)
588 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
589                      BT_VOLATILE_PTR, BT_LONGDOUBLE)
590 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
591                      BT_VOLATILE_PTR, BT_SIZE)