Import pre-release gcc-5.0 to new vendor branch
[dragonfly.git] / contrib / gcc-5.0 / gcc / builtin-types.def
1 /* Copyright (C) 2001-2015 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
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.
9
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.
14
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/>.  */
18
19 /* This header provides a declarative way of describing the types that
20    are used when declaring builtin functions.
21
22    Before including this header, you must define the following macros:
23
24    DEF_PRIMITIVE_TYPE (ENUM, TYPE)
25
26      The ENUM is an identifier indicating which type is being defined.
27      TYPE is an expression for a `tree' that represents the type.
28
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    [...]
33
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.
37
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    [...]
42
43      Similar, but for function types that take variable arguments.
44      For example:
45
46        DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
47
48      describes the type `int ()(double)', using the enumeral
49      BT_INT_DOUBLE, whereas:
50
51        DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
52
53      describes the type `int ()(double, ...)'.
54
55   DEF_POINTER_TYPE (ENUM, TYPE)
56
57     This macro describes a pointer type.  ENUM is as above; TYPE is
58     the type pointed to.  */
59
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)
82
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)
109
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)
116
117 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
118 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
119
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))
125
126 DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
127
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)
135
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)
152
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)
236
237 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
238
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)
356
357 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
358
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)
453
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
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)
498
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)
527
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)
538
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)
546
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)
551
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)
560
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)
571 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID,
572                          BT_INT, BT_INT)
573
574 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
575                          BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
576 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
577                          BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
578 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
579                          BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
580
581 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
582                          BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
583
584 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
585                          BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
586                          BT_CONST_STRING)
587
588 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
589                          BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
590
591 DEF_FUNCTION_TYPE_VAR_8 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR,
592                          BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR,
593                          BT_PTR, BT_INT, BT_INT)
594
595 DEF_FUNCTION_TYPE_VAR_12 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR,
596                           BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
597                           BT_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT, BT_INT,
598                           BT_INT, BT_INT)
599
600 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
601 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
602                      BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
603
604
605 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
606 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
607 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
608 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
609 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
610 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
611 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
612
613 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
614 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
615 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
616 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
617 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
618 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
619                      BT_VOLATILE_PTR, BT_DOUBLE)
620 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
621                      BT_VOLATILE_PTR, BT_LONGDOUBLE)
622 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
623                      BT_VOLATILE_PTR, BT_SIZE)