2013-10-11 Marc Glisse <marc.glisse@inria.fr>
[official-gcc.git] / gcc / builtin-types.def
blob3deedba5b784ef916b42803c5758e0308fa91274
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
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 DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
33 DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
34 DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
35 DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
36 DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
37 DEF_FUNCTION_TYPE_8 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7,
38 ARG8)
40 These macros describe function types. ENUM is as above. The
41 RETURN type is one of the enumerals already defined. ARG1, ARG2,
42 etc, give the types of the arguments, similarly.
44 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
45 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
46 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
47 DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
48 DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
49 DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
51 Similar, but for function types that take variable arguments.
52 For example:
54 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
56 describes the type `int ()(double)', using the enumeral
57 BT_INT_DOUBLE, whereas:
59 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
61 describes the type `int ()(double, ...)'.
63 DEF_POINTER_TYPE (ENUM, TYPE)
65 This macro describes a pointer type. ENUM is as above; TYPE is
66 the type pointed to. */
68 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
69 DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
70 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
71 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
72 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
73 DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
74 DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
75 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
76 DEF_PRIMITIVE_TYPE (BT_INT128, int128_integer_type_node)
77 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
78 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
79 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
80 DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
81 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
82 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
83 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
84 DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
85 (targetm.unwind_word_mode (), 1))
86 DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
87 DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
88 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
89 DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
90 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
91 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
93 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
94 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
95 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
96 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
97 build_pointer_type
98 (build_qualified_type (void_type_node,
99 TYPE_QUAL_VOLATILE)))
100 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
101 build_pointer_type
102 (build_qualified_type (void_type_node,
103 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
104 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
105 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
106 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
107 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
108 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
109 build_pointer_type
110 (build_qualified_type (double_type_node,
111 TYPE_QUAL_CONST)))
112 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
113 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
114 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
115 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
116 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
117 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
118 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
120 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
121 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
122 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
123 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
124 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
125 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
127 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
128 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
130 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
131 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
132 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
133 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
134 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
136 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
137 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
138 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
139 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
141 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
142 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
143 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
144 DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
145 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
146 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
147 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
148 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
149 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
150 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
151 distinguish it from two types in sequence, "long" followed by
152 "double". */
153 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
154 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
155 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
156 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
158 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
159 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
160 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
161 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
162 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
163 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
164 BT_LONGDOUBLE, BT_LONGDOUBLE)
165 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
166 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
167 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
168 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
169 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
170 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
171 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
172 BT_FLOAT, BT_COMPLEX_FLOAT)
173 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
174 BT_DOUBLE, BT_COMPLEX_DOUBLE)
175 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
176 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
177 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
178 BT_COMPLEX_FLOAT, BT_FLOAT)
179 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
180 BT_COMPLEX_DOUBLE, BT_DOUBLE)
181 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
182 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
183 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
184 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
185 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
186 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
187 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
188 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
189 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
190 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
191 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
192 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
193 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
194 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
195 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
196 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
197 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
198 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
199 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
200 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
201 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
202 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
203 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
204 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
205 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
206 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
207 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
208 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
209 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
210 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
211 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
212 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
213 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
214 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
215 BT_LONGDOUBLE, BT_CONST_STRING)
216 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
217 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
218 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
219 BT_DFLOAT128, BT_CONST_STRING)
220 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
221 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
222 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
223 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
224 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
225 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
226 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
227 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
228 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
229 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
230 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
231 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
232 DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
233 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
234 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
235 DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
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)
350 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
352 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
353 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
354 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
355 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
356 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
357 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
358 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
359 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
360 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
361 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
362 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
363 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
364 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
365 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
366 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
367 BT_VOID, BT_PTR, BT_INT, BT_INT)
368 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
369 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
370 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
371 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
372 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
373 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
374 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
375 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
376 DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
377 BT_INT, BT_PTR, BT_PTR, BT_PTR)
378 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
379 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
380 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
381 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
382 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
383 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
384 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
385 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
386 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
387 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
388 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
389 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
390 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
391 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
392 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
393 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
394 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
395 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
396 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
397 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
398 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
399 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
400 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
401 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
402 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
403 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
404 BT_I1, BT_I1)
405 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
406 BT_I2, BT_I2)
407 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
408 BT_I4, BT_I4)
409 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
410 BT_I8, BT_I8)
411 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
412 BT_I16, BT_I16)
413 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
414 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
415 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
416 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
417 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
418 BT_I16, BT_I16)
419 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
420 BT_CONST_PTR, BT_INT, BT_SIZE)
421 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
422 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
423 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
424 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
425 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
426 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
427 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
428 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
429 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
430 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
432 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
433 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
434 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
435 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
436 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
437 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
438 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
439 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
440 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
441 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
442 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
443 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
444 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
445 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
446 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
447 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
448 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
449 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
450 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
451 BT_VOLATILE_PTR, BT_PTR, BT_INT)
452 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
453 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
455 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
456 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
457 BT_VALIST_ARG)
458 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
459 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
460 BT_PTR_LONG, BT_PTR_LONG)
461 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
462 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
463 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
464 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
465 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
466 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
467 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
468 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
469 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
470 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
471 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
472 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
473 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
474 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
475 BT_UINT)
477 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
478 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
479 BT_CONST_STRING, BT_VALIST_ARG)
480 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
481 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
482 BT_PTR_LONG, BT_PTR_LONG)
483 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
484 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
485 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
486 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
487 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
488 BT_INT)
489 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
490 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
491 BT_INT)
492 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
493 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
494 BT_INT)
495 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
496 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
497 BT_INT)
498 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
499 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
500 BT_INT)
501 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
502 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
503 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
504 BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
506 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
507 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
508 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
509 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
510 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
511 BT_ULONGLONG, BT_ULONGLONG,
512 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
513 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
514 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
515 BT_PTR, BT_PTR, BT_PTR)
517 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
518 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
519 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
520 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
521 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
522 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
523 BT_BOOL, BT_UINT, BT_PTR)
525 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
526 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
527 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
529 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
530 BT_VOID, BT_VALIST_REF)
531 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
532 BT_VOID, BT_CONST_PTR)
533 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
534 BT_INT, BT_CONST_STRING)
535 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
536 BT_UINT32, BT_UINT32)
538 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
539 BT_INT, BT_FILEPTR, BT_CONST_STRING)
540 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
541 BT_INT, BT_STRING, BT_CONST_STRING)
542 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
543 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
544 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
545 BT_INT, BT_INT, BT_CONST_STRING)
546 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
547 BT_CONST_PTR, BT_SIZE)
549 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
550 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
551 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
552 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
553 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
554 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
556 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
557 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
559 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
560 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
561 BT_CONST_STRING)
563 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
564 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
566 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
567 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
568 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
571 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
572 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
573 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
574 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
575 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
576 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
577 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
579 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
580 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
581 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
582 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
583 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
584 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
585 BT_VOLATILE_PTR, BT_DOUBLE)
586 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
587 BT_VOLATILE_PTR, BT_LONGDOUBLE)
588 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
589 BT_VOLATILE_PTR, BT_SIZE)