1 /* Copyright (C
) 2001-2016 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)
34 These macros describe function types. ENUM is as above. The
35 RETURN type is one of the enumerals already defined. ARG1, ARG2,
36 etc, give the types of the arguments, similarly.
38 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
39 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
40 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
43 Similar, but for function types that take variable arguments.
46 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
48 describes the type `int ()(double)', using the enumeral
49 BT_INT_DOUBLE
, whereas
:
51 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR
, BT_INT
, BT_DOUBLE
)
53 describes the type `
int ()(double
, ...
)'.
55 DEF_POINTER_TYPE (ENUM, TYPE)
57 This macro describes a pointer type. ENUM is as above; TYPE is
58 the type pointed to. */
60 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
61 DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
62 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
63 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
64 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
65 DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
66 DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
67 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
68 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
69 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
70 DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
71 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
72 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
73 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
74 DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
75 (targetm.unwind_word_mode (), 1))
76 DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
77 DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
78 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
79 DEF_PRIMITIVE_TYPE (BT_FLOAT16, (float16_type_node
82 DEF_PRIMITIVE_TYPE (BT_FLOAT32, (float32_type_node
85 DEF_PRIMITIVE_TYPE (BT_FLOAT64, (float64_type_node
88 DEF_PRIMITIVE_TYPE (BT_FLOAT128, (float128_type_node
91 DEF_PRIMITIVE_TYPE (BT_FLOAT32X, (float32x_type_node
94 DEF_PRIMITIVE_TYPE (BT_FLOAT64X, (float64x_type_node
97 DEF_PRIMITIVE_TYPE (BT_FLOAT128X, (float128x_type_node
100 DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
101 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
102 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
104 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
105 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
106 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
107 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
109 (build_qualified_type (void_type_node,
110 TYPE_QUAL_VOLATILE)))
111 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
113 (build_qualified_type (void_type_node,
114 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
115 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
116 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
117 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
118 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
119 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
121 (build_qualified_type (double_type_node,
123 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
124 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
125 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
126 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
127 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
128 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
129 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
131 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
132 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
133 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
134 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
135 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
136 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
138 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
139 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
141 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
142 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
143 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
144 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
145 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
147 DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
149 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
150 DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT)
151 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
152 DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG)
153 DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG)
154 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
155 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
157 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
158 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
159 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
160 DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
161 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
162 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
163 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
164 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
165 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
166 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
167 distinguish it from two types in sequence, "long" followed by
169 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
170 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT16, BT_FLOAT16)
171 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32, BT_FLOAT32)
172 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64, BT_FLOAT64)
173 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128, BT_FLOAT128)
174 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32X, BT_FLOAT32X)
175 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64X, BT_FLOAT64X)
176 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128X, BT_FLOAT128X)
177 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
178 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
179 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
181 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
182 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
183 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
184 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
185 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
186 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
187 BT_LONGDOUBLE, BT_LONGDOUBLE)
188 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_FLOAT16, BT_FLOAT16, BT_FLOAT16)
189 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_FLOAT32, BT_FLOAT32, BT_FLOAT32)
190 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_FLOAT64, BT_FLOAT64, BT_FLOAT64)
191 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_FLOAT128, BT_FLOAT128, BT_FLOAT128)
192 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
193 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
194 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
195 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
196 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
197 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
198 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
199 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
200 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
201 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
202 BT_FLOAT, BT_COMPLEX_FLOAT)
203 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
204 BT_DOUBLE, BT_COMPLEX_DOUBLE)
205 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
206 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
207 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
208 BT_COMPLEX_FLOAT, BT_FLOAT)
209 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
210 BT_COMPLEX_DOUBLE, BT_DOUBLE)
211 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
212 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
213 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
214 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
215 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
216 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
217 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
218 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
219 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
220 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
221 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
222 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
223 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
224 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
225 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
226 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
227 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
228 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
229 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
230 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
231 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
232 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
233 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
234 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
235 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
236 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
237 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
238 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
239 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
240 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
241 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
242 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
243 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
244 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
245 BT_LONGDOUBLE, BT_CONST_STRING)
246 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_CONST_STRING, BT_FLOAT16, BT_CONST_STRING)
247 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_CONST_STRING, BT_FLOAT32, BT_CONST_STRING)
248 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_CONST_STRING, BT_FLOAT64, BT_CONST_STRING)
249 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_CONST_STRING, BT_FLOAT128, BT_CONST_STRING)
250 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_CONST_STRING, BT_FLOAT32X, BT_CONST_STRING)
251 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_CONST_STRING, BT_FLOAT64X, BT_CONST_STRING)
252 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_CONST_STRING, BT_FLOAT128X, BT_CONST_STRING)
253 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
254 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
255 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
256 BT_DFLOAT128, BT_CONST_STRING)
257 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
258 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
259 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
260 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
261 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
262 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
263 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
264 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
265 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
266 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
267 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
268 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
269 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
270 DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
271 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
272 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
273 DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
274 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
275 DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
276 DEF_FUNCTION_TYPE_1 (BT_FN_BND_CONST_PTR, BT_BND, BT_CONST_PTR)
277 DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_BND, BT_CONST_PTR, BT_BND)
279 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
281 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
282 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
283 BT_STRING, BT_STRING, BT_CONST_STRING)
284 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
285 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
286 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
287 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
288 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
289 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
290 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
291 BT_STRING, BT_CONST_STRING, BT_INT)
292 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
293 BT_STRING, BT_CONST_STRING, BT_SIZE)
294 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
295 BT_INT, BT_CONST_STRING, BT_FILEPTR)
296 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
297 BT_INT, BT_INT, BT_FILEPTR)
298 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
299 BT_VOID, BT_PTRMODE, BT_PTR)
300 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
301 BT_VOID, BT_PTR, BT_PTRMODE)
302 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
303 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
304 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
305 BT_LONG, BT_LONG, BT_LONG)
306 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
307 BT_INT, BT_PTR, BT_CONST_STRING)
308 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
309 BT_VOID, BT_PTR, BT_SIZE)
310 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
311 BT_FLOAT, BT_FLOAT, BT_FLOAT)
312 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
313 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
314 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
315 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
316 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_FLOAT16,
317 BT_FLOAT16, BT_FLOAT16, BT_FLOAT16)
318 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_FLOAT32,
319 BT_FLOAT32, BT_FLOAT32, BT_FLOAT32)
320 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_FLOAT64,
321 BT_FLOAT64, BT_FLOAT64, BT_FLOAT64)
322 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_FLOAT128,
323 BT_FLOAT128, BT_FLOAT128, BT_FLOAT128)
324 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X,
325 BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
326 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X,
327 BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
328 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X,
329 BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
330 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
331 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
332 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
333 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
334 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
335 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
336 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
337 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
338 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
339 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
340 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
341 BT_FLOAT, BT_FLOAT, BT_INT)
342 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
343 BT_DOUBLE, BT_DOUBLE, BT_INT)
344 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
345 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
346 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
347 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
348 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
349 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
350 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
351 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
352 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
353 BT_FLOAT, BT_INT, BT_FLOAT)
354 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
355 BT_DOUBLE, BT_INT, BT_DOUBLE)
356 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
357 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
358 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
359 BT_FLOAT, BT_FLOAT, BT_LONG)
360 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
361 BT_DOUBLE, BT_DOUBLE, BT_LONG)
362 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
363 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
364 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
365 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
366 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
367 BT_PTR, BT_SIZE, BT_SIZE)
368 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
369 BT_PTR, BT_PTR, BT_SIZE)
370 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
371 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
372 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
373 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
374 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
375 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
376 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
377 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
378 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
379 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
380 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
381 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
382 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
383 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
384 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
385 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
386 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
387 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
388 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
389 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
391 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
393 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
395 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
397 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
399 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
400 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
401 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
402 BT_CONST_VOLATILE_PTR)
403 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
404 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
405 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
406 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
407 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
408 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
409 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_BND, BT_VOID, BT_PTR, BT_BND)
410 DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
411 DEF_FUNCTION_TYPE_2 (BT_FN_BND_CONST_PTR_SIZE, BT_BND, BT_CONST_PTR, BT_SIZE)
413 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
415 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
416 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
417 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
418 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
419 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
420 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
421 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
422 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
423 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
424 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
425 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
426 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
427 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
428 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
429 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
430 BT_VOID, BT_PTR, BT_INT, BT_INT)
431 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
432 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
433 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
434 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
435 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
436 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
437 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
438 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
439 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
440 BT_INT, BT_PTR, BT_PTR, BT_PTR)
441 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
442 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
443 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
444 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
445 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
446 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
447 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
448 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
449 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
450 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
451 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
452 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
453 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
454 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
455 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
456 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
457 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
458 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
459 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
460 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
461 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
462 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
463 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
464 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
465 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
466 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
468 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
470 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
472 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
474 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
476 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
477 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
478 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
479 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
480 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
482 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
483 BT_CONST_PTR, BT_INT, BT_SIZE)
484 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
485 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
486 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
487 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
488 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
489 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
490 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
491 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
492 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
493 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
494 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
495 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
496 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_BND_CONST_PTR, BT_VOID, BT_CONST_PTR, BT_BND, BT_CONST_PTR)
497 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT,
499 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG,
501 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL,
502 BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG)
503 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT,
505 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG,
506 BT_ULONG, BT_PTR_ULONG)
507 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL,
508 BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG)
510 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
511 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
512 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
513 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
514 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
515 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
516 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
517 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
518 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
519 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
520 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
521 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
522 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
523 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
524 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
525 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
526 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
527 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
528 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
529 BT_VOLATILE_PTR, BT_PTR, BT_INT)
530 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
531 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
532 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
533 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG)
534 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
535 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
537 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
540 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
541 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
543 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
544 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
545 BT_PTR_LONG, BT_PTR_LONG)
546 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
547 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
548 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
549 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
550 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
551 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
552 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
553 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
554 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
555 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
556 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
557 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
558 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
559 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
560 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
561 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
563 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
564 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG,
566 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
567 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG,
568 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
570 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
571 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
572 BT_CONST_STRING, BT_VALIST_ARG)
573 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
574 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
575 BT_PTR_LONG, BT_PTR_LONG)
576 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
577 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
578 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
579 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
580 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
582 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
583 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
585 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
586 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
588 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
589 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
591 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
592 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
594 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
595 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
597 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
598 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
599 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
600 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
601 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
602 BT_ULONGLONG, BT_ULONGLONG,
603 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
604 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
605 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT,
608 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
609 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
610 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
612 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
613 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
614 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
615 BT_BOOL, BT_UINT, BT_PTR, BT_INT)
616 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
617 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
618 BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
620 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
621 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
622 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
623 BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG)
624 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
625 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
626 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
627 BT_UINT, BT_LONG, BT_INT,
628 BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
630 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
631 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
632 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
633 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
635 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
636 BT_VOID, BT_VALIST_REF)
637 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
638 BT_VOID, BT_CONST_PTR)
639 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
640 BT_INT, BT_CONST_STRING)
641 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
642 BT_UINT32, BT_UINT32)
643 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR,
645 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
646 BT_VOID, BT_ULONGLONG)
648 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
649 BT_INT, BT_FILEPTR, BT_CONST_STRING)
650 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
651 BT_INT, BT_STRING, BT_CONST_STRING)
652 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
653 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
654 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
655 BT_INT, BT_INT, BT_CONST_STRING)
656 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
657 BT_CONST_PTR, BT_SIZE)
658 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID,
661 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
662 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
663 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
664 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
665 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
666 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
668 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
669 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
671 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
672 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
675 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
676 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
678 DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
679 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE,
680 BT_PTR, BT_PTR, BT_PTR)
682 DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
683 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR,
684 BT_PTR, BT_INT, BT_INT)
686 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
687 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
688 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
691 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
692 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
693 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
694 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
695 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
696 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
697 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
699 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
700 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
701 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
702 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
703 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
704 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
705 BT_VOLATILE_PTR, BT_DOUBLE)
706 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
707 BT_VOLATILE_PTR, BT_LONGDOUBLE)
708 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
709 BT_VOLATILE_PTR, BT_SIZE)