2014-12-19 Andrew MacLeod <amacleod@redhat.com>
[official-gcc.git] / gcc / builtin-types.def
bloba8ba0ba12e0cd75fb0db609b30f126140dcfac8d
1 /* Copyright (C) 2001-2014 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)
477 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
478 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
479 BT_VALIST_ARG)
480 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
481 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
482 BT_PTR_LONG, BT_PTR_LONG)
483 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
484 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
485 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
486 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
487 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
488 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
489 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
490 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
491 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
492 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
493 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
494 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
495 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
496 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
497 BT_UINT)
499 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
500 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
501 BT_CONST_STRING, BT_VALIST_ARG)
502 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
503 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
504 BT_PTR_LONG, BT_PTR_LONG)
505 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
506 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
507 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
508 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
509 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
510 BT_INT)
511 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
512 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
513 BT_INT)
514 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
515 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
516 BT_INT)
517 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
518 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
519 BT_INT)
520 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
521 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
522 BT_INT)
523 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
524 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
525 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
526 BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
528 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
529 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
530 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
531 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
532 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
533 BT_ULONGLONG, BT_ULONGLONG,
534 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
535 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
536 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
537 BT_PTR, BT_PTR, BT_PTR)
539 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
540 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
541 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
542 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
543 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
544 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
545 BT_BOOL, BT_UINT, BT_PTR)
547 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
548 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
549 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
550 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
552 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
553 BT_VOID, BT_VALIST_REF)
554 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
555 BT_VOID, BT_CONST_PTR)
556 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
557 BT_INT, BT_CONST_STRING)
558 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
559 BT_UINT32, BT_UINT32)
561 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
562 BT_INT, BT_FILEPTR, BT_CONST_STRING)
563 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
564 BT_INT, BT_STRING, BT_CONST_STRING)
565 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
566 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
567 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
568 BT_INT, BT_INT, BT_CONST_STRING)
569 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
570 BT_CONST_PTR, BT_SIZE)
572 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
573 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
574 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
575 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
576 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
577 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
579 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
580 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
582 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
583 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
584 BT_CONST_STRING)
586 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
587 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
589 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
590 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
591 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
594 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
595 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
596 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
597 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
598 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
599 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
600 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
602 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
603 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
604 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
605 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
606 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
607 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
608 BT_VOLATILE_PTR, BT_DOUBLE)
609 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
610 BT_VOLATILE_PTR, BT_LONGDOUBLE)
611 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
612 BT_VOLATILE_PTR, BT_SIZE)