1/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13for more details.
14
15You should have received a copy of the GNU General Public License
16along with GCC; see the file COPYING3. If not see
17<http://www.gnu.org/licenses/>. */
18
19/* This header provides a declarative way of describing the types that
20 are used when declaring builtin functions.
21
22 Before including this header, you must define the following macros:
23
24 DEF_PRIMITIVE_TYPE (ENUM, TYPE)
25
26 The ENUM is an identifier indicating which type is being defined.
27 TYPE is an expression for a `tree' that represents the type.
28
29 DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
30 DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
31 DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
32 [...]
33
34 These macros describe function types. ENUM is as above. The
35 RETURN type is one of the enumerals already defined. ARG1, ARG2,
36 etc, give the types of the arguments, similarly.
37
38 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
39 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
40 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
41 [...]
42
43 Similar, but for function types that take variable arguments.
44 For example:
45
46 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
47
48 describes the type `int ()(double)', using the enumeral
49 BT_INT_DOUBLE, whereas:
50
51 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
52
53 describes the type `int ()(double, ...)'.
54
55 DEF_POINTER_TYPE (ENUM, TYPE)
56
57 This macro describes a pointer type. ENUM is as above; TYPE is
58 the type pointed to. */
59
60DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
61DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
62DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
63DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
64DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
65DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
66DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
67DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
68DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
69DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
70DEF_PRIMITIVE_TYPE (BT_INT8, signed_char_type_node)
71DEF_PRIMITIVE_TYPE (BT_INT16, short_integer_type_node)
72DEF_PRIMITIVE_TYPE (BT_UINT8, unsigned_char_type_node)
73DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
74DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
75DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
76DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
77DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
78 (targetm.unwind_word_mode (), 1))
79DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
80DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
81DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
82DEF_PRIMITIVE_TYPE (BT_FLOAT16, (float16_type_node
83 ? float16_type_node
84 : error_mark_node))
85DEF_PRIMITIVE_TYPE (BT_FLOAT32, (float32_type_node
86 ? float32_type_node
87 : error_mark_node))
88DEF_PRIMITIVE_TYPE (BT_FLOAT64, (float64_type_node
89 ? float64_type_node
90 : error_mark_node))
91DEF_PRIMITIVE_TYPE (BT_FLOAT128, (float128_type_node
92 ? float128_type_node
93 : error_mark_node))
94DEF_PRIMITIVE_TYPE (BT_FLOAT32X, (float32x_type_node
95 ? float32x_type_node
96 : error_mark_node))
97DEF_PRIMITIVE_TYPE (BT_FLOAT64X, (float64x_type_node
98 ? float64x_type_node
99 : error_mark_node))
100DEF_PRIMITIVE_TYPE (BT_FLOAT128X, (float128x_type_node
101 ? float128x_type_node
102 : error_mark_node))
103DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
104DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
105DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
106
107DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
108DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
109DEF_PRIMITIVE_TYPE (BT_CONST_TM_PTR, const_tm_ptr_type_node)
110DEF_PRIMITIVE_TYPE (BT_FENV_T_PTR, fenv_t_ptr_type_node)
111DEF_PRIMITIVE_TYPE (BT_CONST_FENV_T_PTR, const_fenv_t_ptr_type_node)
112DEF_PRIMITIVE_TYPE (BT_FEXCEPT_T_PTR, fexcept_t_ptr_type_node)
113DEF_PRIMITIVE_TYPE (BT_CONST_FEXCEPT_T_PTR, const_fexcept_t_ptr_type_node)
114DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
115DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
116 build_pointer_type
117 (build_qualified_type (void_type_node,
118 TYPE_QUAL_VOLATILE)))
119DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
120 build_pointer_type
121 (build_qualified_type (void_type_node,
122 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
123DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
124DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
125DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
126DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
127DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
128 build_pointer_type
129 (build_qualified_type (double_type_node,
130 TYPE_QUAL_CONST)))
131DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
132DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
133DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
134DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
135DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
136DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
137DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
138
139DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
140DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
141DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
142DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
143DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
144DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
145
146DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
147DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
148
149DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
150DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
151DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
152DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
153DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
154
155DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
156
157/* The C type `char * const *'. */
158DEF_PRIMITIVE_TYPE (BT_PTR_CONST_STRING,
159 build_pointer_type
160 (build_qualified_type (string_type_node,
161 TYPE_QUAL_CONST)))
162
163DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT)
164DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
165DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG)
166DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG)
167DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
168DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
169
170DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
171DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
172DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
173DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
174DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
175DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
176DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
177DEF_FUNCTION_TYPE_0 (BT_FN_ULONG, BT_ULONG)
178DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
179DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
180/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
181 distinguish it from two types in sequence, "long" followed by
182 "double". */
183DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
184DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT16, BT_FLOAT16)
185DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32, BT_FLOAT32)
186DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64, BT_FLOAT64)
187DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128, BT_FLOAT128)
188DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32X, BT_FLOAT32X)
189DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64X, BT_FLOAT64X)
190DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128X, BT_FLOAT128X)
191DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
192DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
193DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
194
195DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
196DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
197DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
198DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
199DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
200DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
201 BT_LONGDOUBLE, BT_LONGDOUBLE)
202DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_FLOAT16, BT_FLOAT16, BT_FLOAT16)
203DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_FLOAT32, BT_FLOAT32, BT_FLOAT32)
204DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_FLOAT64, BT_FLOAT64, BT_FLOAT64)
205DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_FLOAT128, BT_FLOAT128, BT_FLOAT128)
206DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
207DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
208DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
209DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
210 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
211DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
212 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
213DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
214 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
215DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
216 BT_FLOAT, BT_COMPLEX_FLOAT)
217DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
218 BT_DOUBLE, BT_COMPLEX_DOUBLE)
219DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
220 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
221DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
222 BT_COMPLEX_FLOAT, BT_FLOAT)
223DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
224 BT_COMPLEX_DOUBLE, BT_DOUBLE)
225DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
226 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
227DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
228DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
229DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
230DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
231DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
232DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
233DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
234DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
235DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
236DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
237DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
238DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
239DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
240DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
241DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
242DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
243DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
244DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
245DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
246DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
247DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
248DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
249DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
250DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
251DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
252DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
253DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
254DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
255DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
256DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
257DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
258DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
259 BT_LONGDOUBLE, BT_CONST_STRING)
260DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_CONST_STRING, BT_FLOAT16, BT_CONST_STRING)
261DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_CONST_STRING, BT_FLOAT32, BT_CONST_STRING)
262DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_CONST_STRING, BT_FLOAT64, BT_CONST_STRING)
263DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_CONST_STRING, BT_FLOAT128, BT_CONST_STRING)
264DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_CONST_STRING, BT_FLOAT32X, BT_CONST_STRING)
265DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_CONST_STRING, BT_FLOAT64X, BT_CONST_STRING)
266DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_CONST_STRING, BT_FLOAT128X, BT_CONST_STRING)
267DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
268DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
269DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
270 BT_DFLOAT128, BT_CONST_STRING)
271DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
272DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
273DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
274DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
275DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
276DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
277DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
278DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
279DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
280DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
281DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
282DEF_FUNCTION_TYPE_1 (BT_FN_UINT_INT, BT_UINT, BT_INT)
283DEF_FUNCTION_TYPE_1 (BT_FN_UINT_ULONG, BT_UINT, BT_ULONG)
284DEF_FUNCTION_TYPE_1 (BT_FN_UINT_LONG, BT_UINT, BT_LONG)
285DEF_FUNCTION_TYPE_1 (BT_FN_UINT_PTR, BT_UINT, BT_PTR)
286DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_PTR, BT_ULONG, BT_PTR)
287DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
288DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
289DEF_FUNCTION_TYPE_1 (BT_FN_INT8_FLOAT, BT_INT8, BT_FLOAT)
290DEF_FUNCTION_TYPE_1 (BT_FN_INT16_FLOAT, BT_INT16, BT_FLOAT)
291DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_FLOAT, BT_UINT32, BT_FLOAT)
292DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_FLOAT, BT_UINT16, BT_FLOAT)
293DEF_FUNCTION_TYPE_1 (BT_FN_UINT8_FLOAT, BT_UINT8, BT_FLOAT)
294DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
295DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
296DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
297DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_FLOAT, BT_UINT64, BT_FLOAT)
298DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
299DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
300DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
301DEF_FUNCTION_TYPE_1 (BT_FN_BND_CONST_PTR, BT_BND, BT_CONST_PTR)
302DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_BND, BT_CONST_PTR, BT_BND)
303DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT32, BT_UINT16, BT_UINT32)
304DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT16, BT_UINT32, BT_UINT16)
305DEF_FUNCTION_TYPE_1 (BT_FN_INT_FENV_T_PTR, BT_INT, BT_FENV_T_PTR)
306DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_FENV_T_PTR, BT_INT, BT_CONST_FENV_T_PTR)
307
308DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
309
310DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
311DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
312 BT_STRING, BT_STRING, BT_CONST_STRING)
313DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
314 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
315DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
316 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
317DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
318 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
319DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
320 BT_STRING, BT_CONST_STRING, BT_INT)
321DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
322 BT_STRING, BT_CONST_STRING, BT_SIZE)
323DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
324 BT_INT, BT_CONST_STRING, BT_FILEPTR)
325DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
326 BT_INT, BT_INT, BT_FILEPTR)
327DEF_FUNCTION_TYPE_2 (BT_FN_UINT16_UINT16_UINT16,
328 BT_UINT16, BT_UINT16, BT_UINT16)
329DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_INT,
330 BT_INT, BT_PTR, BT_INT)
331DEF_FUNCTION_TYPE_2 (BT_FN_UINT_PTR_UINT,
332 BT_UINT, BT_PTR, BT_UINT)
333DEF_FUNCTION_TYPE_2 (BT_FN_LONG_PTR_LONG,
334 BT_LONG, BT_PTR, BT_LONG)
335DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_PTR_ULONG,
336 BT_ULONG, BT_PTR, BT_ULONG)
337DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
338 BT_VOID, BT_PTRMODE, BT_PTR)
339DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
340 BT_VOID, BT_PTR, BT_PTRMODE)
341DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT8_UINT8,
342 BT_VOID, BT_UINT8, BT_UINT8)
343DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT16_UINT16,
344 BT_VOID, BT_UINT16, BT_UINT16)
345DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT32_UINT32,
346 BT_VOID, BT_UINT32, BT_UINT32)
347DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_UINT64,
348 BT_VOID, BT_UINT64, BT_UINT64)
349DEF_FUNCTION_TYPE_2 (BT_FN_VOID_FLOAT_FLOAT,
350 BT_VOID, BT_FLOAT, BT_FLOAT)
351DEF_FUNCTION_TYPE_2 (BT_FN_VOID_DOUBLE_DOUBLE,
352 BT_VOID, BT_DOUBLE, BT_DOUBLE)
353DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_PTR,
354 BT_VOID, BT_UINT64, BT_PTR)
355DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
356 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
357DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
358 BT_LONG, BT_LONG, BT_LONG)
359DEF_FUNCTION_TYPE_2 (BT_FN_UINT8_UINT8_UINT8,
360 BT_UINT8, BT_UINT8, BT_UINT8)
361DEF_FUNCTION_TYPE_2 (BT_FN_INT8_INT8_INT8,
362 BT_INT8, BT_INT8, BT_INT8)
363DEF_FUNCTION_TYPE_2 (BT_FN_INT16_INT16_INT16,
364 BT_INT16, BT_INT16, BT_INT16)
365DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_INT,
366 BT_INT, BT_INT, BT_INT)
367DEF_FUNCTION_TYPE_2 (BT_FN_UINT_FLOAT_UINT,
368 BT_UINT, BT_FLOAT, BT_UINT)
369DEF_FUNCTION_TYPE_2 (BT_FN_UINT_DOUBLE_UINT,
370 BT_UINT, BT_DOUBLE, BT_UINT)
371DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_UINT_UINT,
372 BT_FLOAT, BT_UINT, BT_UINT)
373DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_UINT,
374 BT_ULONG, BT_UINT, BT_UINT)
375DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_PTR,
376 BT_ULONG, BT_UINT, BT_PTR)
377DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_ULONG_ULONG,
378 BT_ULONG, BT_ULONG, BT_ULONG)
379DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_UINT,
380 BT_UINT, BT_UINT, BT_UINT)
381DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
382 BT_INT, BT_PTR, BT_CONST_STRING)
383DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
384 BT_VOID, BT_PTR, BT_SIZE)
385DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_PTR,
386 BT_VOID, BT_UINT, BT_PTR)
387DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
388 BT_FLOAT, BT_FLOAT, BT_FLOAT)
389DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
390 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
391DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
392 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
393DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_FLOAT16,
394 BT_FLOAT16, BT_FLOAT16, BT_FLOAT16)
395DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_FLOAT32,
396 BT_FLOAT32, BT_FLOAT32, BT_FLOAT32)
397DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_FLOAT64,
398 BT_FLOAT64, BT_FLOAT64, BT_FLOAT64)
399DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_FLOAT128,
400 BT_FLOAT128, BT_FLOAT128, BT_FLOAT128)
401DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X,
402 BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
403DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X,
404 BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
405DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X,
406 BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
407DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
408 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
409DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
410 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
411DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
412 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
413DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
414 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
415DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
416 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
417DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
418 BT_FLOAT, BT_FLOAT, BT_INT)
419DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
420 BT_DOUBLE, BT_DOUBLE, BT_INT)
421DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
422 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
423DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
424 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
425DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
426 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
427DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
428 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
429DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
430 BT_FLOAT, BT_INT, BT_FLOAT)
431DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
432 BT_DOUBLE, BT_INT, BT_DOUBLE)
433DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
434 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
435DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
436 BT_FLOAT, BT_FLOAT, BT_LONG)
437DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
438 BT_DOUBLE, BT_DOUBLE, BT_LONG)
439DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
440 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
441DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
442 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
443DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
444 BT_PTR, BT_SIZE, BT_SIZE)
445DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
446 BT_PTR, BT_PTR, BT_SIZE)
447DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
448 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
449DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
450 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
451DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
452 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
453DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
454DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
455 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
456DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
457DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
458DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
459DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
460DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
461DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
462DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
463 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
464DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
465 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
466DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
467 BT_INT)
468DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
469 BT_INT)
470DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
471 BT_INT)
472DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
473 BT_INT)
474DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
475 BT_INT)
476DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
477DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
478DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
479 BT_CONST_VOLATILE_PTR)
480DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
481DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
482DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_PTR, BT_UINT, BT_UINT, BT_PTR)
483DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
484DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
485DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
486DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
487DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_BND, BT_VOID, BT_PTR, BT_BND)
488DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
489DEF_FUNCTION_TYPE_2 (BT_FN_BND_CONST_PTR_SIZE, BT_BND, BT_CONST_PTR, BT_SIZE)
490DEF_FUNCTION_TYPE_2 (BT_FN_UINT32_UINT64_PTR,
491 BT_UINT32, BT_UINT64, BT_PTR)
492DEF_FUNCTION_TYPE_2 (BT_FN_INT_FEXCEPT_T_PTR_INT, BT_INT, BT_FEXCEPT_T_PTR,
493 BT_INT)
494DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_FEXCEPT_T_PTR_INT, BT_INT,
495 BT_CONST_FEXCEPT_T_PTR, BT_INT)
496
497DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
498
499DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
500 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
501DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
502 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
503DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
504 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
505DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
506 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
507DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
508 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
509DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
510 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
511DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
512 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
513DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
514 BT_VOID, BT_PTR, BT_INT, BT_INT)
515DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
516 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
517DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
518 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
519DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
520 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
521DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
522 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
523DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_UINT_UINT,
524 BT_INT, BT_INT, BT_UINT, BT_UINT)
525DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_UINT,
526 BT_UINT, BT_UINT, BT_UINT, BT_UINT)
527DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_PTR,
528 BT_UINT, BT_UINT, BT_UINT, BT_PTR)
529DEF_FUNCTION_TYPE_3 (BT_FN_UINT_ULONG_ULONG_UINT,
530 BT_UINT, BT_ULONG, BT_ULONG, BT_UINT)
531DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_ULONG_ULONG,
532 BT_ULONG, BT_ULONG, BT_ULONG, BT_ULONG)
533DEF_FUNCTION_TYPE_3 (BT_FN_LONG_LONG_UINT_UINT,
534 BT_LONG, BT_LONG, BT_UINT, BT_UINT)
535DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_UINT_UINT,
536 BT_ULONG, BT_ULONG, BT_UINT, BT_UINT)
537DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
538 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
539DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
540 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
541DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
542 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
543DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
544 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
545DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT16_FLOAT16_FLOAT16_FLOAT16,
546 BT_FLOAT16, BT_FLOAT16, BT_FLOAT16, BT_FLOAT16)
547DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32_FLOAT32_FLOAT32_FLOAT32,
548 BT_FLOAT32, BT_FLOAT32, BT_FLOAT32, BT_FLOAT32)
549DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64_FLOAT64_FLOAT64_FLOAT64,
550 BT_FLOAT64, BT_FLOAT64, BT_FLOAT64, BT_FLOAT64)
551DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128_FLOAT128_FLOAT128_FLOAT128,
552 BT_FLOAT128, BT_FLOAT128, BT_FLOAT128, BT_FLOAT128)
553DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_FLOAT32X,
554 BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
555DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_FLOAT64X,
556 BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
557DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_FLOAT128X,
558 BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
559DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
560 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
561DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
562 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
563DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
564 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
565DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
566 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
567DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
568 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
569DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
570 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
571DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
572DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
573 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
574DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
575 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
576DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
577 BT_I1, BT_I1)
578DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
579 BT_I2, BT_I2)
580DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
581 BT_I4, BT_I4)
582DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
583 BT_I8, BT_I8)
584DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
585 BT_I16, BT_I16)
586DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
587DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
588DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
589DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
590DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
591 BT_I16, BT_I16)
592DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
593 BT_CONST_PTR, BT_INT, BT_SIZE)
594DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
595DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
596DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
597DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
598DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
599DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
600DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
601DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
602DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
603DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
604DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
605DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
606DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_BND_CONST_PTR, BT_VOID, BT_CONST_PTR, BT_BND, BT_CONST_PTR)
607DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT,
608 BT_INT_PTR)
609DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG,
610 BT_PTR_LONG)
611DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL,
612 BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG)
613DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT,
614 BT_PTR_UINT)
615DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG,
616 BT_ULONG, BT_PTR_ULONG)
617DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL,
618 BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG)
619DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT64_PTR,
620 BT_VOID, BT_UINT32, BT_UINT64, BT_PTR)
621DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT32_PTR,
622 BT_VOID, BT_UINT32, BT_UINT32, BT_PTR)
623
624DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
625 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
626DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
627 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
628DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR,
629 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_TM_PTR)
630DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
631 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
632DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
633 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
634DEF_FUNCTION_TYPE_4 (BT_FN_UINT_UINT_UINT_UINT_UINT,
635 BT_UINT, BT_UINT, BT_UINT, BT_UINT, BT_UINT)
636DEF_FUNCTION_TYPE_4 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT,
637 BT_UINT, BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
638DEF_FUNCTION_TYPE_4 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT,
639 BT_ULONG, BT_ULONG, BT_ULONG, BT_UINT, BT_UINT)
640DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
641 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
642DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
643 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
644DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
645 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
646DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
647 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
648DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
649 BT_VOLATILE_PTR, BT_PTR, BT_INT)
650DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
651 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
652DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
653 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG)
654DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
655 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
656 BT_PTR_ULONGLONG)
657DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
658 BT_INT, BT_PTR)
659
660DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
661 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
662 BT_VALIST_ARG)
663DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
664 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
665 BT_PTR_LONG, BT_PTR_LONG)
666DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
667 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
668DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
669 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
670DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
671 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
672DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
673 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
674DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
675 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
676DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
677 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
678DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
679 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
680DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
681 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
682 BT_UINT)
683DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
684 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG,
685 BT_PTR_LONG)
686DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
687 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG,
688 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
689
690DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
691 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
692 BT_CONST_STRING, BT_VALIST_ARG)
693DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
694 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
695 BT_PTR_LONG, BT_PTR_LONG)
696DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
697 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
698 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
699DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
700 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
701 BT_INT)
702DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
703 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
704 BT_INT)
705DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
706 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
707 BT_INT)
708DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
709 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
710 BT_INT)
711DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
712 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
713 BT_INT)
714DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
715 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
716
717DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
718 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
719 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
720DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
721 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
722 BT_ULONGLONG, BT_ULONGLONG,
723 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
724DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
725 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT,
726 BT_PTR)
727
728DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
729 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
730 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
731
732DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
733 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
734 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
735 BT_BOOL, BT_UINT, BT_PTR, BT_INT)
736DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
737 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
738 BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
739
740DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
741 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
742 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
743 BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG)
744DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
745 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
746 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
747 BT_UINT, BT_LONG, BT_INT,
748 BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
749
750DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
751DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
752DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
753DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
754
755DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
756 BT_VOID, BT_VALIST_REF)
757DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
758 BT_VOID, BT_CONST_PTR)
759DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
760 BT_INT, BT_CONST_STRING)
761DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
762 BT_UINT32, BT_UINT32)
763DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR,
764 BT_VOID, BT_LONG)
765DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
766 BT_VOID, BT_ULONGLONG)
767
768DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
769 BT_INT, BT_FILEPTR, BT_CONST_STRING)
770DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
771 BT_INT, BT_STRING, BT_CONST_STRING)
772DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
773 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
774DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
775 BT_INT, BT_INT, BT_CONST_STRING)
776DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
777 BT_CONST_PTR, BT_SIZE)
778DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID,
779 BT_INT, BT_INT)
780
781DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
782 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
783DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
784 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
785DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
786 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
787
788DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
789 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
790
791DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
792 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
793 BT_CONST_STRING)
794
795DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
796 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
797
798DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
799 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE,
800 BT_PTR, BT_PTR, BT_PTR)
801
802DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
803 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR,
804 BT_PTR, BT_INT, BT_INT)
805
806DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
807DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
808 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
809
810
811DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
812DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
813DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
814DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
815DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
816DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
817DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
818
819DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
820DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
821DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
822DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
823DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
824DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
825 BT_VOLATILE_PTR, BT_DOUBLE)
826DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
827 BT_VOLATILE_PTR, BT_LONGDOUBLE)
828DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
829 BT_VOLATILE_PTR, BT_SIZE)
830