OSDN Git Service

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