libstdc++/70940 Start fixing polymorphic memory resources
[official-gcc.git] / gcc / builtin-types.def
blob7fab9f831584b9ea7b71cbee6a6d824969f5e957
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
8 version.
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.
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 [...]
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)
41 [...]
43 Similar, but for function types that take variable arguments.
44 For example:
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_COMPLEX_FLOAT, complex_float_type_node)
80 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
81 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
83 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
84 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
85 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
86 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
87 build_pointer_type
88 (build_qualified_type (void_type_node,
89 TYPE_QUAL_VOLATILE)))
90 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
91 build_pointer_type
92 (build_qualified_type (void_type_node,
93 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
94 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
95 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
96 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
97 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
98 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
99 build_pointer_type
100 (build_qualified_type (double_type_node,
101 TYPE_QUAL_CONST)))
102 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
103 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
104 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
105 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
106 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
107 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
108 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
110 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
111 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
112 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
113 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
114 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
115 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
117 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
118 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
120 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
121 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
122 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
123 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
124 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
126 DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
128 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
129 DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT)
130 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
131 DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG)
132 DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG)
133 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
134 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
136 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
137 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
138 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
139 DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
140 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
141 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
142 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
143 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
144 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
145 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
146 distinguish it from two types in sequence, "long" followed by
147 "double". */
148 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
149 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
150 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
151 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
153 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
154 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
155 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
156 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
157 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
158 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
159 BT_LONGDOUBLE, BT_LONGDOUBLE)
160 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
161 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
162 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
163 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
164 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
165 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
166 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
167 BT_FLOAT, BT_COMPLEX_FLOAT)
168 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
169 BT_DOUBLE, BT_COMPLEX_DOUBLE)
170 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
171 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
172 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
173 BT_COMPLEX_FLOAT, BT_FLOAT)
174 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
175 BT_COMPLEX_DOUBLE, BT_DOUBLE)
176 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
177 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
178 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
179 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
180 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
181 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
182 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
183 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
184 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
185 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
186 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
187 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
188 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
189 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
190 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
191 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
192 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
193 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
194 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
195 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
196 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
197 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
198 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
199 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
200 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
201 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
202 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
203 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
204 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
205 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
206 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
207 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
208 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
209 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
210 BT_LONGDOUBLE, BT_CONST_STRING)
211 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
212 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
213 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
214 BT_DFLOAT128, BT_CONST_STRING)
215 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
216 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
217 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
218 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
219 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
220 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
221 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
222 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
223 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
224 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
225 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
226 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
227 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
228 DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
229 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
230 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
231 DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
232 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
233 DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
234 DEF_FUNCTION_TYPE_1 (BT_FN_BND_CONST_PTR, BT_BND, BT_CONST_PTR)
235 DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_BND, BT_CONST_PTR, BT_BND)
237 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
239 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
240 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
241 BT_STRING, BT_STRING, BT_CONST_STRING)
242 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
243 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
244 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
245 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
246 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
247 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
248 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
249 BT_STRING, BT_CONST_STRING, BT_INT)
250 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
251 BT_STRING, BT_CONST_STRING, BT_SIZE)
252 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
253 BT_INT, BT_CONST_STRING, BT_FILEPTR)
254 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
255 BT_INT, BT_INT, BT_FILEPTR)
256 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
257 BT_VOID, BT_PTRMODE, BT_PTR)
258 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
259 BT_VOID, BT_PTR, BT_PTRMODE)
260 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
261 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
262 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
263 BT_LONG, BT_LONG, BT_LONG)
264 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
265 BT_INT, BT_PTR, BT_CONST_STRING)
266 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
267 BT_VOID, BT_PTR, BT_SIZE)
268 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
269 BT_FLOAT, BT_FLOAT, BT_FLOAT)
270 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
271 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
272 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
273 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
274 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
275 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
276 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
277 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
278 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
279 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
280 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
281 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
282 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
283 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
284 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
285 BT_FLOAT, BT_FLOAT, BT_INT)
286 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
287 BT_DOUBLE, BT_DOUBLE, BT_INT)
288 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
289 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
290 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
291 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
292 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
293 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
294 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
295 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
296 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
297 BT_FLOAT, BT_INT, BT_FLOAT)
298 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
299 BT_DOUBLE, BT_INT, BT_DOUBLE)
300 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
301 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
302 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
303 BT_FLOAT, BT_FLOAT, BT_LONG)
304 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
305 BT_DOUBLE, BT_DOUBLE, BT_LONG)
306 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
307 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
308 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
309 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
310 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
311 BT_PTR, BT_SIZE, BT_SIZE)
312 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
313 BT_PTR, BT_PTR, BT_SIZE)
314 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
315 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
316 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
317 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
318 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
319 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
320 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
321 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
322 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
323 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
324 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
325 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
326 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
327 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
328 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
329 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
330 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
331 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
332 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
333 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
334 BT_INT)
335 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
336 BT_INT)
337 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
338 BT_INT)
339 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
340 BT_INT)
341 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
342 BT_INT)
343 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
344 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
345 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
346 BT_CONST_VOLATILE_PTR)
347 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
348 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
349 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
350 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
351 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
352 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
353 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_BND, BT_VOID, BT_PTR, BT_BND)
354 DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
355 DEF_FUNCTION_TYPE_2 (BT_FN_BND_CONST_PTR_SIZE, BT_BND, 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,
411 BT_I1, BT_I1)
412 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
413 BT_I2, BT_I2)
414 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
415 BT_I4, BT_I4)
416 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
417 BT_I8, BT_I8)
418 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
419 BT_I16, BT_I16)
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,
425 BT_I16, BT_I16)
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_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
439 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_3 (BT_FN_VOID_CONST_PTR_BND_CONST_PTR, BT_VOID, BT_CONST_PTR, BT_BND, BT_CONST_PTR)
441 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT,
442 BT_INT_PTR)
443 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG,
444 BT_PTR_LONG)
445 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL,
446 BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG)
447 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT,
448 BT_PTR_UINT)
449 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG,
450 BT_ULONG, BT_PTR_ULONG)
451 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL,
452 BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG)
454 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
455 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
456 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
457 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
458 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
459 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
460 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
461 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
462 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
463 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
464 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
465 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
466 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
467 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
468 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
469 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
470 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
471 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
472 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
473 BT_VOLATILE_PTR, BT_PTR, BT_INT)
474 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
475 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
476 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
477 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG)
478 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
479 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
480 BT_PTR_ULONGLONG)
481 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
482 BT_INT, BT_PTR)
484 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
485 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
486 BT_VALIST_ARG)
487 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
488 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
489 BT_PTR_LONG, BT_PTR_LONG)
490 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
491 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
492 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
493 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
494 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
495 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
496 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
497 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
498 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
499 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
500 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
501 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
502 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
503 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
504 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
505 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
506 BT_UINT)
507 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
508 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG,
509 BT_PTR_LONG)
510 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
511 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG,
512 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
514 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
515 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
516 BT_CONST_STRING, BT_VALIST_ARG)
517 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
518 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
519 BT_PTR_LONG, BT_PTR_LONG)
520 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
521 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
522 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
523 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
524 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
525 BT_INT)
526 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
527 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
528 BT_INT)
529 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
530 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
531 BT_INT)
532 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
533 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
534 BT_INT)
535 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
536 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
537 BT_INT)
538 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
539 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
541 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
542 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
543 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
544 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
545 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
546 BT_ULONGLONG, BT_ULONGLONG,
547 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
548 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
549 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT,
550 BT_PTR)
552 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
553 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
554 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
556 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
557 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
558 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
559 BT_BOOL, BT_UINT, BT_PTR, BT_INT)
560 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
561 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
562 BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
564 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
565 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
566 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
567 BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG)
568 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
569 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
570 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
571 BT_UINT, BT_LONG, BT_INT,
572 BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
574 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
575 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
576 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
577 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
579 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
580 BT_VOID, BT_VALIST_REF)
581 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
582 BT_VOID, BT_CONST_PTR)
583 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
584 BT_INT, BT_CONST_STRING)
585 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
586 BT_UINT32, BT_UINT32)
587 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR,
588 BT_VOID, BT_LONG)
589 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
590 BT_VOID, BT_ULONGLONG)
592 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
593 BT_INT, BT_FILEPTR, BT_CONST_STRING)
594 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
595 BT_INT, BT_STRING, BT_CONST_STRING)
596 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
597 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
598 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
599 BT_INT, BT_INT, BT_CONST_STRING)
600 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
601 BT_CONST_PTR, BT_SIZE)
602 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID,
603 BT_INT, BT_INT)
605 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
606 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
607 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
608 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
609 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
610 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
612 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
613 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
615 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
616 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
617 BT_CONST_STRING)
619 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
620 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
622 DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
623 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE,
624 BT_PTR, BT_PTR, BT_PTR)
626 DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
627 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR,
628 BT_PTR, BT_INT, BT_INT)
630 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
631 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
632 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
635 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
636 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
637 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
638 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
639 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
640 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
641 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
643 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
644 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
645 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
646 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
647 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
648 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
649 BT_VOLATILE_PTR, BT_DOUBLE)
650 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
651 BT_VOLATILE_PTR, BT_LONGDOUBLE)
652 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
653 BT_VOLATILE_PTR, BT_SIZE)