]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/builtin-types.def
2012-09-14 Richard Guenther <rguenther@suse.de>
[thirdparty/gcc.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)