]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/builtin-types.def
PR sanitizer/55439
[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_PTR_PTRMODE,
257 BT_VOID, BT_PTR, BT_PTRMODE)
258 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
259 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
260 DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
261 BT_LONG, BT_LONG, BT_LONG)
262 DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
263 BT_INT, BT_PTR, BT_CONST_STRING)
264 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
265 BT_VOID, BT_PTR, BT_SIZE)
266 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
267 BT_FLOAT, BT_FLOAT, BT_FLOAT)
268 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
269 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
270 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
271 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
272 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
273 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
274 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
275 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
276 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
277 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
278 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
279 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
280 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
281 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
282 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
283 BT_FLOAT, BT_FLOAT, BT_INT)
284 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
285 BT_DOUBLE, BT_DOUBLE, BT_INT)
286 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
287 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
288 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
289 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
290 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
291 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
292 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
293 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
294 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
295 BT_FLOAT, BT_INT, BT_FLOAT)
296 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
297 BT_DOUBLE, BT_INT, BT_DOUBLE)
298 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
299 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
300 DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
301 BT_FLOAT, BT_FLOAT, BT_LONG)
302 DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
303 BT_DOUBLE, BT_DOUBLE, BT_LONG)
304 DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
305 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
306 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
307 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
308 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
309 BT_PTR, BT_SIZE, BT_SIZE)
310 DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
311 BT_PTR, BT_PTR, BT_SIZE)
312 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
313 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
314 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
315 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
316 DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
317 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
318 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
319 DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
320 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
321 DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
322 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
323 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
324 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
325 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
326 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
327 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
328 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
329 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
330 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
331 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
332 BT_INT)
333 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
334 BT_INT)
335 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
336 BT_INT)
337 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
338 BT_INT)
339 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
340 BT_INT)
341 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
342 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
343 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
344 BT_CONST_VOLATILE_PTR)
345
346 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
347
348 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
349 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
350 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
351 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
352 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
353 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
354 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
355 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
356 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
357 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
358 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
359 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
360 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
361 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
362 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
363 BT_VOID, BT_PTR, BT_INT, BT_INT)
364 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
365 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
366 DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
367 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
368 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
369 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
370 DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
371 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
372 DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
373 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
374 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
375 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
376 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
377 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
378 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
379 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
380 DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
381 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
382 DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
383 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
384 DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
385 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
386 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
387 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
388 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
389 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
390 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
391 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
392 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
393 DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
394 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
395 DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
396 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
397 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
398 BT_I1, BT_I1)
399 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
400 BT_I2, BT_I2)
401 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
402 BT_I4, BT_I4)
403 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
404 BT_I8, BT_I8)
405 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
406 BT_I16, BT_I16)
407 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
408 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
409 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
410 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
411 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
412 BT_I16, BT_I16)
413 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
414 BT_PTR, BT_UINT)
415 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
416 BT_CONST_PTR, BT_INT, BT_SIZE)
417 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
418 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
419 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
420 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
421 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
422 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
423 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
424 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
425 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
426 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
427
428 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
429 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
430 DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
431 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
432 DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
433 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
434 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
435 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
436 DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
437 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
438 DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
439 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
440 DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
441 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
442 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
443 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
444 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
445 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
446 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
447 BT_VOLATILE_PTR, BT_PTR, BT_INT)
448 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
449 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
450
451 DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
452 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
453 BT_VALIST_ARG)
454 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
455 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
456 BT_PTR_LONG, BT_PTR_LONG)
457 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
458 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
459 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
460 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
461 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
462 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
463 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
464 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
465 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
466 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
467 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
468 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
469
470 DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
471 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
472 BT_CONST_STRING, BT_VALIST_ARG)
473 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
474 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
475 BT_PTR_LONG, BT_PTR_LONG)
476 DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
477 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
478 BT_LONG, BT_LONG, BT_LONG)
479 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
480 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
481 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
482 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
483 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
484 BT_INT)
485 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
486 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
487 BT_INT)
488 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
489 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
490 BT_INT)
491 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
492 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
493 BT_INT)
494 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
495 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
496 BT_INT)
497 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
498 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
499
500
501 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
502 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
503 BT_LONG, BT_LONG, BT_LONG, BT_LONG)
504 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT,
505 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
506 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
507 BT_BOOL, BT_UINT)
508 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
509 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
510 BT_ULONGLONG, BT_ULONGLONG,
511 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
512
513 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
514 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
515 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
516
517 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
518 BT_VOID, BT_VALIST_REF)
519 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
520 BT_VOID, BT_CONST_PTR)
521 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
522 BT_INT, BT_CONST_STRING)
523 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
524 BT_UINT32, BT_UINT32)
525
526 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
527 BT_INT, BT_FILEPTR, BT_CONST_STRING)
528 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
529 BT_INT, BT_STRING, BT_CONST_STRING)
530 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
531 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
532 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
533 BT_INT, BT_INT, BT_CONST_STRING)
534 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
535 BT_CONST_PTR, BT_SIZE)
536
537 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
538 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
539 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
540 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
541 DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
542 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
543
544 DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
545 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
546
547 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
548 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
549 BT_CONST_STRING)
550
551 DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
552 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
553
554 DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
555 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
556 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
557
558
559 DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
560 DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
561 DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
562 DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
563 DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
564 DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
565 DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
566
567 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
568 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
569 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
570 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
571 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
572 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
573 BT_VOLATILE_PTR, BT_DOUBLE)
574 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
575 BT_VOLATILE_PTR, BT_LONGDOUBLE)
576 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
577 BT_VOLATILE_PTR, BT_SIZE)