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)
38 These macros describe function types. ENUM is as above. The
39 RETURN type is one of the enumerals already defined. ARG1, ARG2,
40 etc, give the types of the arguments, similarly.
42 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
43 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
44 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
45 DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
46 DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
47 DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
49 Similar, but for function types that take variable arguments.
52 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
54 describes the type `int ()(double)', using the enumeral
55 BT_INT_DOUBLE
, whereas
:
57 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR
, BT_INT
, BT_DOUBLE
)
59 describes the type `
int ()(double
, ...
)'.
61 DEF_POINTER_TYPE (ENUM, TYPE)
63 This macro describes a pointer type. ENUM is as above; TYPE is
64 the type pointed to. */
66 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
67 DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
68 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
69 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
70 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
71 DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
72 DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
73 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
74 DEF_PRIMITIVE_TYPE (BT_INT128, int128_integer_type_node)
75 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
76 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
77 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
78 DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
79 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
80 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
81 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
82 DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
83 (targetm.unwind_word_mode (), 1))
84 DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
85 DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
86 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
87 DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
88 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
89 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
91 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
92 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
93 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
94 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
96 (build_qualified_type (void_type_node,
98 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
100 (build_qualified_type (void_type_node,
101 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
102 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
103 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
104 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
105 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
106 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
108 (build_qualified_type (double_type_node,
110 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
111 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
112 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
113 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
114 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
115 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
116 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
118 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
119 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
120 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
121 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
122 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
123 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
125 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
126 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
128 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
129 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
130 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
131 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
132 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
134 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
135 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
136 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
137 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
139 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
140 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
141 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
142 DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
143 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
144 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
145 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
146 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
147 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
148 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
149 distinguish it from two types in sequence, "long" followed by
151 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
152 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
153 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
154 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
156 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
157 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
158 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
159 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
160 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
161 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
162 BT_LONGDOUBLE, BT_LONGDOUBLE)
163 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
164 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
165 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
166 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
167 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
168 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
169 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
170 BT_FLOAT, BT_COMPLEX_FLOAT)
171 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
172 BT_DOUBLE, BT_COMPLEX_DOUBLE)
173 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
174 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
175 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
176 BT_COMPLEX_FLOAT, BT_FLOAT)
177 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
178 BT_COMPLEX_DOUBLE, BT_DOUBLE)
179 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
180 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
181 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
182 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
183 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
184 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
185 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
186 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
187 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
188 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
189 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
190 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
191 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
192 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
193 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
194 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
195 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
196 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
197 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
198 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
199 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
200 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
201 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
202 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
203 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
204 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
205 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
206 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
207 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
208 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
209 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
210 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
211 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
212 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
213 BT_LONGDOUBLE, BT_CONST_STRING)
214 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
215 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
216 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
217 BT_DFLOAT128, BT_CONST_STRING)
218 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
219 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
220 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
221 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
222 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
223 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
224 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
225 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
226 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
227 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
228 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
229 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
230 DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
231 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
232 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
234 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
236 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
237 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
238 BT_STRING, BT_STRING, BT_CONST_STRING)
239 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
240 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
241 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
242 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
243 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
244 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
245 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
246 BT_STRING, BT_CONST_STRING, BT_INT)
247 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
248 BT_STRING, BT_CONST_STRING, BT_SIZE)
249 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
250 BT_INT, BT_CONST_STRING, BT_FILEPTR)
251 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
252 BT_INT, BT_INT, BT_FILEPTR)
253 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
254 BT_VOID, BT_PTRMODE, BT_PTR)
255 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
256 BT_VOID, BT_PTR, BT_PTRMODE)
257 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
258 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
259 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
260 BT_LONG, BT_LONG, BT_LONG)
261 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
262 BT_INT, BT_PTR, BT_CONST_STRING)
263 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
264 BT_VOID, BT_PTR, BT_SIZE)
265 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
266 BT_FLOAT, BT_FLOAT, BT_FLOAT)
267 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
268 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
269 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
270 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
271 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
272 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
273 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
274 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
275 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
276 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
277 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
278 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
279 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
280 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
281 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
282 BT_FLOAT, BT_FLOAT, BT_INT)
283 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
284 BT_DOUBLE, BT_DOUBLE, BT_INT)
285 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
286 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
287 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
288 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
289 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
290 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
291 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
292 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
293 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
294 BT_FLOAT, BT_INT, BT_FLOAT)
295 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
296 BT_DOUBLE, BT_INT, BT_DOUBLE)
297 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
298 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
299 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
300 BT_FLOAT, BT_FLOAT, BT_LONG)
301 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
302 BT_DOUBLE, BT_DOUBLE, BT_LONG)
303 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
304 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
305 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
306 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
307 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
308 BT_PTR, BT_SIZE, BT_SIZE)
309 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
310 BT_PTR, BT_PTR, BT_SIZE)
311 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
312 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
313 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
314 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
315 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
316 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
317 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
318 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
319 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
320 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
321 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
322 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
323 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
324 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
325 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
326 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
327 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
328 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
329 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
330 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
332 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
334 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
336 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
338 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
340 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
341 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
342 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
343 BT_CONST_VOLATILE_PTR)
345 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
347 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
348 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
349 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
350 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
351 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
352 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
353 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
354 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
355 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
356 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
357 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
358 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
359 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
360 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
361 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
362 BT_VOID, BT_PTR, BT_INT, BT_INT)
363 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
364 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
365 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
366 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
367 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
368 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
369 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
370 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
371 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
372 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
373 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
374 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
375 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
376 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
377 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
378 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
379 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
380 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
381 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
382 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
383 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
384 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
385 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
386 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
387 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
388 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
389 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
390 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
391 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
392 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
393 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
394 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
395 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
396 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
398 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
400 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
402 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
404 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
406 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
407 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
408 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
409 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
410 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
412 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
414 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
415 BT_CONST_PTR, BT_INT, BT_SIZE)
416 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
417 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
418 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
419 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
420 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
421 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
422 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
423 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
424 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
425 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
427 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
428 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
429 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
430 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
431 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
432 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
433 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
434 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
435 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
436 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
437 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
438 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
439 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
440 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
441 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
442 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
443 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
444 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
445 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
446 BT_VOLATILE_PTR, BT_PTR, BT_INT)
447 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
448 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
450 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
451 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
453 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
454 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
455 BT_PTR_LONG, BT_PTR_LONG)
456 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
457 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
458 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
459 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
460 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
461 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
462 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
463 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
464 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
465 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
466 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
467 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
469 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
470 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
471 BT_CONST_STRING, BT_VALIST_ARG)
472 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
473 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
474 BT_PTR_LONG, BT_PTR_LONG)
475 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
476 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
477 BT_LONG, BT_LONG, BT_LONG)
478 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
479 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
480 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
481 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
482 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
484 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
485 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
487 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
488 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
490 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
491 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
493 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
494 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
496 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
497 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
500 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
501 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
502 BT_LONG, BT_LONG, BT_LONG, BT_LONG)
503 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT,
504 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
505 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
507 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
508 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
509 BT_ULONGLONG, BT_ULONGLONG,
510 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
512 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
513 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
514 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
516 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
517 BT_VOID, BT_VALIST_REF)
518 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
519 BT_VOID, BT_CONST_PTR)
520 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
521 BT_INT, BT_CONST_STRING)
522 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
523 BT_UINT32, BT_UINT32)
525 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
526 BT_INT, BT_FILEPTR, BT_CONST_STRING)
527 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
528 BT_INT, BT_STRING, BT_CONST_STRING)
529 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
530 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
531 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
532 BT_INT, BT_INT, BT_CONST_STRING)
533 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
534 BT_CONST_PTR, BT_SIZE)
536 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
537 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
538 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
539 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
540 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
541 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
543 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
544 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
546 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
547 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
550 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
551 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
553 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
554 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
555 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
558 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
559 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
560 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
561 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
562 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
563 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
564 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
566 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
567 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
568 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
569 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
570 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
571 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
572 BT_VOLATILE_PTR, BT_DOUBLE)
573 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
574 BT_VOLATILE_PTR, BT_LONGDOUBLE)
575 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
576 BT_VOLATILE_PTR, BT_SIZE)