OSDN Git Service

Fix a bug in tilegx_fixup_pcrel_references, to properly match and
[pf3gnuchains/gcc-fork.git] / gcc / builtin-types.def
1 /* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
2    Free Software Foundation, Inc.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 3, or (at your option) any later
9 version.
10
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3.  If not see
18 <http://www.gnu.org/licenses/>.  */
19
20 /* This header provides a declarative way of describing the types that
21    are used when declaring builtin functions.
22
23    Before including this header, you must define the following macros:
24
25    DEF_PRIMITIVE_TYPE (ENUM, TYPE)
26
27      The ENUM is an identifier indicating which type is being defined.
28      TYPE is an expression for a `tree' that represents the type.
29
30    DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
31    DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
32    DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
33    DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
34    DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
35    DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
36    DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
37    DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
38
39      These macros describe function types.  ENUM is as above.  The
40      RETURN type is one of the enumerals already defined.  ARG1, ARG2,
41      etc, give the types of the arguments, similarly.
42
43    DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
44    DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
45    DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
46    DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
47    DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
48    DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
49
50      Similar, but for function types that take variable arguments.
51      For example:
52
53        DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
54
55      describes the type `int ()(double)', using the enumeral
56      BT_INT_DOUBLE, whereas:
57
58        DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
59
60      describes the type `int ()(double, ...)'.
61
62   DEF_POINTER_TYPE (ENUM, TYPE)
63
64     This macro describes a pointer type.  ENUM is as above; TYPE is
65     the type pointed to.  */
66
67 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
68 DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
69 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
70 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
71 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
72 DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
73 DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
74 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
75 DEF_PRIMITIVE_TYPE (BT_INT128, int128_integer_type_node)
76 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
77 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
78 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
79 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
80 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
81 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
82 DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
83                                     (targetm.unwind_word_mode (), 1))
84 DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
85 DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
86 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
87 DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
88 DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
89 DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
90
91 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
92 DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
93 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
94 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
95                     build_pointer_type
96                      (build_qualified_type (void_type_node,
97                                             TYPE_QUAL_VOLATILE)))
98 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
99                     build_pointer_type
100                      (build_qualified_type (void_type_node,
101                                           TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
102 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
103 DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
104 DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
105 DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
106 DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
107                     build_pointer_type
108                      (build_qualified_type (double_type_node,
109                                             TYPE_QUAL_CONST)))
110 DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
111 DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
112 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
113 DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
114 DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
115 DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
116 DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
117
118 DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
119 DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
120 DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
121 DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
122 DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
123 DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
124
125 DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
126 DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
127
128 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
129 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
130 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
131 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
132 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
133
134 DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
135 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
136 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
137 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
138
139 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
140 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
141 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
142 DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
143 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
144 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
145 DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
146 DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
147 /* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
148    distinguish it from two types in sequence, "long" followed by
149    "double".  */
150 DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
151 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
152 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
153 DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
154
155 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
156 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
157 DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
158 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
159 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
160 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
161                      BT_LONGDOUBLE, BT_LONGDOUBLE)
162 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
163                      BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
164 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
165                      BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
166 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
167                      BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
168 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
169                      BT_FLOAT, BT_COMPLEX_FLOAT)
170 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
171                      BT_DOUBLE, BT_COMPLEX_DOUBLE)
172 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
173                      BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
174 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
175                      BT_COMPLEX_FLOAT, BT_FLOAT)
176 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
177                      BT_COMPLEX_DOUBLE, BT_DOUBLE)
178 DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
179                      BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
180 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
181 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
182 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
183 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
184 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
185 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
186 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
187 DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
188 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
189 DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
190 DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
191 DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
192 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
193 DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
194 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
195 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
196 DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
197 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
198 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
199 DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
200 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
201 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
202 DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
203 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
204 DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
205 DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
206 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
207 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
208 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
209 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
210 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
211 DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
212                      BT_LONGDOUBLE, BT_CONST_STRING)
213 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
214 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
215 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
216                      BT_DFLOAT128, BT_CONST_STRING)
217 DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
218 DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
219 DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
220 DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
221 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
222 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
223 DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
224 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
225 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
226 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
227 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
228 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
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
232 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
233
234 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
235 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
236                      BT_STRING, BT_STRING, BT_CONST_STRING)
237 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
238                      BT_INT, BT_CONST_STRING, BT_CONST_STRING)
239 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
240                      BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
241 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
242                      BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
243 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
244                      BT_STRING, BT_CONST_STRING, BT_INT)
245 DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
246                      BT_STRING, BT_CONST_STRING, BT_SIZE)
247 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
248                      BT_INT, BT_CONST_STRING, BT_FILEPTR)
249 DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
250                      BT_INT, BT_INT, BT_FILEPTR)
251 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
252                      BT_VOID, BT_PTRMODE, BT_PTR)
253 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
254                      BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
255 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
256                      BT_LONG, BT_LONG, BT_LONG)
257 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
258                      BT_INT, BT_PTR, BT_CONST_STRING)
259 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
260                      BT_VOID, BT_PTR, BT_SIZE)
261 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
262                      BT_FLOAT, BT_FLOAT, BT_FLOAT)
263 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
264                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
265 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
266                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
267 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
268                      BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
269 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
270                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
271 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
272                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
273 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
274                      BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
275 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
276                      BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
277 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
278                      BT_FLOAT, BT_FLOAT, BT_INT)
279 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
280                      BT_DOUBLE, BT_DOUBLE, BT_INT)
281 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
282                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
283 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
284                      BT_FLOAT, BT_FLOAT, BT_INT_PTR)
285 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
286                      BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
287 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
288                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
289 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
290                      BT_FLOAT, BT_INT, BT_FLOAT)
291 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
292                      BT_DOUBLE, BT_INT, BT_DOUBLE)
293 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
294                      BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
295 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
296                      BT_FLOAT, BT_FLOAT, BT_LONG)
297 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
298                      BT_DOUBLE, BT_DOUBLE, BT_LONG)
299 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
300                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
301 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
302                      BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
303 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
304                      BT_PTR, BT_SIZE, BT_SIZE)
305 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
306                      BT_PTR, BT_PTR, BT_SIZE)
307 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
308                      BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
309 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
310                      BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
311 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
312                      BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
313 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
314 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
315                      BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
316 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
317 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
318 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
319 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
320 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
321 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
322 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
323                      BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
324 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
325                      BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
326 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
327                      BT_INT)
328 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
329                      BT_INT)
330 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
331                      BT_INT)
332 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
333                      BT_INT)
334 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
335                      BT_INT)
336 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
337 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
338 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
339                      BT_CONST_VOLATILE_PTR)
340
341 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
342
343 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
344                      BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
345 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
346                      BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
347 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
348                      BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
349 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
350                      BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
351 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
352                      BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
353 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
354                      BT_PTR, BT_PTR, BT_INT, BT_SIZE)
355 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
356                      BT_VOID, BT_PTR, BT_INT, BT_SIZE)
357 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
358                      BT_VOID, BT_PTR, BT_INT, BT_INT)
359 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
360                      BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
361 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
362                      BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
363 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
364                      BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
365 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
366                      BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
367 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
368                      BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
369 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
370                      BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
371 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
372                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
373 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
374                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
375 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
376                      BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
377 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
378                      BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
379 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
380                      BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
381 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
382                      BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
383 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
384                      BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
385 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
386                      BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
387 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
388 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
389                      BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
390 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
391                      BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
392 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
393                      BT_I1, BT_I1)
394 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
395                      BT_I2, BT_I2)
396 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
397                      BT_I4, BT_I4)
398 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
399                      BT_I8, BT_I8)
400 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
401                      BT_I16, BT_I16)
402 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
403 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
404 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
405 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
406 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
407                      BT_I16, BT_I16)
408 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
409                      BT_PTR, BT_UINT)
410 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
411                      BT_CONST_PTR, BT_INT, BT_SIZE)
412 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
413 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
414 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
415 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
416 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
417 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
418 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
419 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
420 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
421 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
422
423 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
424                      BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
425 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
426                 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
427 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
428                 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
429 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
430                      BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
431 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
432                      BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
433 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
434                      BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
435 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
436                      BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
437 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
438                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
439 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
440                      BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
441 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
442                      BT_VOLATILE_PTR, BT_PTR, BT_INT)
443 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
444                      BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
445
446 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
447                      BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
448                      BT_VALIST_ARG)
449 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
450                      BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
451                      BT_PTR_LONG, BT_PTR_LONG)
452 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
453                      BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
454
455
456 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
457                      BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
458                      BT_CONST_STRING, BT_VALIST_ARG)
459 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
460                      BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
461                      BT_PTR_LONG, BT_PTR_LONG)
462 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
463                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
464                      BT_LONG, BT_LONG, BT_LONG)
465 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
466                      BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
467                      BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
468 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT, 
469                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
470                      BT_INT)
471 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT, 
472                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
473                      BT_INT)
474 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT, 
475                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
476                      BT_INT)
477 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT, 
478                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
479                      BT_INT)
480 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT, 
481                      BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
482                      BT_INT)
483 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
484                      BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
485
486
487 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
488                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
489                      BT_LONG, BT_LONG, BT_LONG, BT_LONG)
490 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT,
491                      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
492                      BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
493                      BT_BOOL, BT_UINT)
494 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
495                      BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
496                      BT_ULONGLONG, BT_ULONGLONG,
497                      BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
498
499 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
500 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
501 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
502
503 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
504                          BT_VOID, BT_VALIST_REF)
505 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
506                          BT_VOID, BT_CONST_PTR)
507 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
508                          BT_INT, BT_CONST_STRING)
509 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
510                          BT_UINT32, BT_UINT32)
511
512 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
513                          BT_INT, BT_FILEPTR, BT_CONST_STRING)
514 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
515                          BT_INT, BT_STRING, BT_CONST_STRING)
516 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
517                          BT_INT, BT_CONST_STRING, BT_CONST_STRING)
518 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
519                          BT_INT, BT_INT, BT_CONST_STRING)
520 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
521                          BT_CONST_PTR, BT_SIZE)
522
523 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
524                          BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
525 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
526                          BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
527 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
528                          BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
529
530 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
531                          BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
532
533 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
534                          BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
535                          BT_CONST_STRING)
536
537 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
538                          BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
539
540 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
541 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
542                      BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
543
544
545 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
546 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
547 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
548 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
549 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
550 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
551 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
552
553 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
554 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
555 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
556 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
557 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
558 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
559                      BT_VOLATILE_PTR, BT_DOUBLE)
560 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
561                      BT_VOLATILE_PTR, BT_LONGDOUBLE)
562 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
563                      BT_VOLATILE_PTR, BT_SIZE)