1 /* Copyright (C
) 2001-2013 Free Software Foundation
, Inc.
3 This file is part of GCC.
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
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
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
/>.
*/
19 /* This header provides a declarative way of describing the types that
20 are used when declaring builtin functions.
22 Before including this header
, you must define the following macros
:
24 DEF_PRIMITIVE_TYPE (ENUM
, TYPE)
26 The ENUM is an identifier indicating which type is being defined.
27 TYPE is an expression for a `tree
' that represents the type.
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,
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.
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)
51 Similar, but for function types that take variable arguments.
54 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
56 describes the type `int ()(double)', using the enumeral
57 BT_INT_DOUBLE
, whereas
:
59 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR
, BT_INT
, BT_DOUBLE
)
61 describes the type `
int ()(double
, ...
)'.
63 DEF_POINTER_TYPE (ENUM, TYPE)
65 This macro describes a pointer type. ENUM is as above; TYPE is
66 the type pointed to. */
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)
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,
98 (build_qualified_type (void_type_node,
100 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
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,
110 (build_qualified_type (double_type_node,
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)
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)
127 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
128 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
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))
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)
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
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)
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 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
238 DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
240 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
242 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
243 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
244 BT_STRING, BT_STRING, BT_CONST_STRING)
245 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
246 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
247 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
248 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
249 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
250 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
251 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
252 BT_STRING, BT_CONST_STRING, BT_INT)
253 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
254 BT_STRING, BT_CONST_STRING, BT_SIZE)
255 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
256 BT_INT, BT_CONST_STRING, BT_FILEPTR)
257 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
258 BT_INT, BT_INT, BT_FILEPTR)
259 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
260 BT_VOID, BT_PTRMODE, BT_PTR)
261 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
262 BT_VOID, BT_PTR, BT_PTRMODE)
263 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
264 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
265 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
266 BT_LONG, BT_LONG, BT_LONG)
267 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
268 BT_INT, BT_PTR, BT_CONST_STRING)
269 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
270 BT_VOID, BT_PTR, BT_SIZE)
271 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
272 BT_FLOAT, BT_FLOAT, BT_FLOAT)
273 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
274 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
275 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
276 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
277 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
278 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
279 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
280 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
281 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
282 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
283 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
284 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
285 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
286 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
287 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
288 BT_FLOAT, BT_FLOAT, BT_INT)
289 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
290 BT_DOUBLE, BT_DOUBLE, BT_INT)
291 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
292 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
293 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
294 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
295 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
296 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
297 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
298 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
299 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
300 BT_FLOAT, BT_INT, BT_FLOAT)
301 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
302 BT_DOUBLE, BT_INT, BT_DOUBLE)
303 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
304 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
305 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
306 BT_FLOAT, BT_FLOAT, BT_LONG)
307 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
308 BT_DOUBLE, BT_DOUBLE, BT_LONG)
309 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
310 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
311 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
312 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
313 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
314 BT_PTR, BT_SIZE, BT_SIZE)
315 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
316 BT_PTR, BT_PTR, BT_SIZE)
317 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
318 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
319 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
320 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
321 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
322 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
323 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
324 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
325 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
326 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
327 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
328 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
329 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
330 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
331 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
332 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
333 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
334 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
335 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
336 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
338 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
340 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
342 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
344 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
346 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
347 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
348 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
349 BT_CONST_VOLATILE_PTR)
350 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
351 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
352 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
353 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
354 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
355 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
357 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
359 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
360 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
361 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
362 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
363 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
364 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
365 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
366 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
367 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
368 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
369 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
370 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
371 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
372 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
373 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
374 BT_VOID, BT_PTR, BT_INT, BT_INT)
375 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
376 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
377 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
378 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
379 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
380 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
381 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
382 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
383 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
384 BT_INT, BT_PTR, BT_PTR, BT_PTR)
385 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
386 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
387 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
388 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
389 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
390 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
391 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
392 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
393 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
394 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
395 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
396 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
397 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
398 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
399 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
400 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
401 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
402 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
403 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
404 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
405 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
406 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
407 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
408 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
409 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
410 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
412 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
414 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
416 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
418 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
420 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
421 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
422 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
423 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
424 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
426 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
427 BT_CONST_PTR, BT_INT, BT_SIZE)
428 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
429 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
430 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
431 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
432 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
433 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
434 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
435 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
436 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
437 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
438 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
440 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
441 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
442 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
443 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
444 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
445 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
446 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
447 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
448 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
449 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
450 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
451 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
452 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
453 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
454 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
455 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
456 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
457 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
458 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
459 BT_VOLATILE_PTR, BT_PTR, BT_INT)
460 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
461 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
463 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
464 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
466 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
467 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
468 BT_PTR_LONG, BT_PTR_LONG)
469 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
470 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
471 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
472 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
473 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
474 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
475 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
476 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
477 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
478 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
479 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
480 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
481 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
482 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
485 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
486 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
487 BT_CONST_STRING, BT_VALIST_ARG)
488 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
489 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
490 BT_PTR_LONG, BT_PTR_LONG)
491 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
492 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
493 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
494 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
495 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
497 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
498 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
500 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
501 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
503 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
504 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
506 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
507 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
509 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
510 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
511 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
512 BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
514 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
515 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
516 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
517 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
518 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
519 BT_ULONGLONG, BT_ULONGLONG,
520 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
521 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
522 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
523 BT_PTR, BT_PTR, BT_PTR)
525 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
526 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
527 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
528 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
529 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
530 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
531 BT_BOOL, BT_UINT, BT_PTR)
533 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
534 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
535 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
537 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
538 BT_VOID, BT_VALIST_REF)
539 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
540 BT_VOID, BT_CONST_PTR)
541 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
542 BT_INT, BT_CONST_STRING)
543 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
544 BT_UINT32, BT_UINT32)
545 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_PTR_CONST_PTR_VAR,
546 BT_PTR, BT_CONST_PTR)
548 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
549 BT_INT, BT_FILEPTR, BT_CONST_STRING)
550 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
551 BT_INT, BT_STRING, BT_CONST_STRING)
552 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
553 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
554 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
555 BT_INT, BT_INT, BT_CONST_STRING)
556 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
557 BT_CONST_PTR, BT_SIZE)
559 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
560 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
561 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
562 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
563 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
564 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
566 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
567 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
569 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
570 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
573 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
574 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
576 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
577 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
578 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
581 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
582 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
583 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
584 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
585 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
586 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
587 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
589 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
590 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
591 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
592 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
593 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
594 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
595 BT_VOLATILE_PTR, BT_DOUBLE)
596 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
597 BT_VOLATILE_PTR, BT_LONGDOUBLE)
598 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
599 BT_VOLATILE_PTR, BT_SIZE)