xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/builtin-types.def (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1/* Copyright (C) 2001-2020 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_CONST_SIZE,
135		    build_qualified_type (size_type_node, TYPE_QUAL_CONST))
136DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
137DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
138DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
139DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
140
141DEF_PRIMITIVE_TYPE (BT_DFLOAT32, (dfloat32_type_node
142				  ? dfloat32_type_node
143				  : error_mark_node))
144DEF_PRIMITIVE_TYPE (BT_DFLOAT64, (dfloat64_type_node
145				  ? dfloat64_type_node
146				  : error_mark_node))
147DEF_PRIMITIVE_TYPE (BT_DFLOAT128, (dfloat128_type_node
148				   ? dfloat128_type_node
149				   : error_mark_node))
150
151DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
152DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
153
154DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
155DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
156DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
157DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
158DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
159
160/* The C type `char * const *'.  */
161DEF_PRIMITIVE_TYPE (BT_PTR_CONST_STRING,
162		    build_pointer_type
163		     (build_qualified_type (string_type_node,
164					    TYPE_QUAL_CONST)))
165
166DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT)
167DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
168DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG)
169DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG)
170DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
171DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
172
173DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
174DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
175DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
176DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
177DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
178DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
179DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
180DEF_FUNCTION_TYPE_0 (BT_FN_ULONG, BT_ULONG)
181DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
182DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
183/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
184   distinguish it from two types in sequence, "long" followed by
185   "double".  */
186DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
187DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT16, BT_FLOAT16)
188DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32, BT_FLOAT32)
189DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64, BT_FLOAT64)
190DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128, BT_FLOAT128)
191DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32X, BT_FLOAT32X)
192DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64X, BT_FLOAT64X)
193DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128X, BT_FLOAT128X)
194DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
195DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
196DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
197
198DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
199DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
200DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
201DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
202DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
203DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
204		     BT_LONGDOUBLE, BT_LONGDOUBLE)
205DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_FLOAT16, BT_FLOAT16, BT_FLOAT16)
206DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_FLOAT32, BT_FLOAT32, BT_FLOAT32)
207DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_FLOAT64, BT_FLOAT64, BT_FLOAT64)
208DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_FLOAT128, BT_FLOAT128, BT_FLOAT128)
209DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
210DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
211DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
212DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
213		     BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
214DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
215		     BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
216DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
217		     BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
218DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
219		     BT_FLOAT, BT_COMPLEX_FLOAT)
220DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
221		     BT_DOUBLE, BT_COMPLEX_DOUBLE)
222DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
223		     BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
224DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
225		     BT_COMPLEX_FLOAT, BT_FLOAT)
226DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
227		     BT_COMPLEX_DOUBLE, BT_DOUBLE)
228DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
229		     BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
230DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
231DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
232DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
233DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
234DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
235DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
236DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
237DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
238DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
239DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
240DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
241DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
242DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
243DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
244DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
245DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
246DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
247DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
248DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
249DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
250DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
251DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
252DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
253DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
254DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
255DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
256DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
257DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
258DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
259DEF_FUNCTION_TYPE_1 (BT_FN_VOID_BOOL, BT_VOID, BT_BOOL)
260DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
261DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
262DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
263		     BT_LONGDOUBLE, BT_CONST_STRING)
264DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_CONST_STRING, BT_FLOAT16, BT_CONST_STRING)
265DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_CONST_STRING, BT_FLOAT32, BT_CONST_STRING)
266DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_CONST_STRING, BT_FLOAT64, BT_CONST_STRING)
267DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_CONST_STRING, BT_FLOAT128, BT_CONST_STRING)
268DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_CONST_STRING, BT_FLOAT32X, BT_CONST_STRING)
269DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_CONST_STRING, BT_FLOAT64X, BT_CONST_STRING)
270DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_CONST_STRING, BT_FLOAT128X, BT_CONST_STRING)
271DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
272DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
273DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
274		     BT_DFLOAT128, BT_CONST_STRING)
275DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
276DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
277DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
278DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
279DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
280DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
281DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
282DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
283DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
284DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
285DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
286DEF_FUNCTION_TYPE_1 (BT_FN_UINT_INT, BT_UINT, BT_INT)
287DEF_FUNCTION_TYPE_1 (BT_FN_UINT_ULONG, BT_UINT, BT_ULONG)
288DEF_FUNCTION_TYPE_1 (BT_FN_UINT_LONG, BT_UINT, BT_LONG)
289DEF_FUNCTION_TYPE_1 (BT_FN_UINT_PTR, BT_UINT, BT_PTR)
290DEF_FUNCTION_TYPE_1 (BT_FN_UINT_CONST_PTR, BT_UINT, BT_CONST_PTR)
291DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_PTR, BT_ULONG, BT_PTR)
292DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_CONST_PTR, BT_ULONG, BT_CONST_PTR)
293DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
294DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
295DEF_FUNCTION_TYPE_1 (BT_FN_INT8_FLOAT, BT_INT8, BT_FLOAT)
296DEF_FUNCTION_TYPE_1 (BT_FN_INT16_FLOAT, BT_INT16, BT_FLOAT)
297DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_FLOAT, BT_UINT32, BT_FLOAT)
298DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_FLOAT, BT_UINT16, BT_FLOAT)
299DEF_FUNCTION_TYPE_1 (BT_FN_UINT8_FLOAT, BT_UINT8, BT_FLOAT)
300DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
301DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
302DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
303DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_FLOAT, BT_UINT64, BT_FLOAT)
304DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
305DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_PTR, BT_BOOL, BT_PTR)
306DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
307DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
308DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT32, BT_UINT16, BT_UINT32)
309DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT16, BT_UINT32, BT_UINT16)
310DEF_FUNCTION_TYPE_1 (BT_FN_INT_FENV_T_PTR, BT_INT, BT_FENV_T_PTR)
311DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_FENV_T_PTR, BT_INT, BT_CONST_FENV_T_PTR)
312
313DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
314
315DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
316DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
317		     BT_STRING, BT_STRING, BT_CONST_STRING)
318DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
319		     BT_INT, BT_CONST_STRING, BT_CONST_STRING)
320DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
321		     BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
322DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
323		     BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
324DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
325		     BT_STRING, BT_CONST_STRING, BT_INT)
326DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
327		     BT_STRING, BT_CONST_STRING, BT_SIZE)
328DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_SIZE,
329		     BT_SIZE, BT_CONST_STRING, BT_SIZE)
330DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
331		     BT_INT, BT_CONST_STRING, BT_FILEPTR)
332DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
333		     BT_INT, BT_INT, BT_FILEPTR)
334DEF_FUNCTION_TYPE_2 (BT_FN_UINT16_UINT16_UINT16,
335		     BT_UINT16, BT_UINT16, BT_UINT16)
336DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_INT,
337     		     BT_INT, BT_PTR, BT_INT)
338DEF_FUNCTION_TYPE_2 (BT_FN_UINT_PTR_UINT,
339     		     BT_UINT, BT_PTR, BT_UINT)
340DEF_FUNCTION_TYPE_2 (BT_FN_LONG_PTR_LONG,
341		     BT_LONG, BT_PTR, BT_LONG)
342DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_PTR_ULONG,
343		     BT_ULONG, BT_PTR, BT_ULONG)
344DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
345		     BT_VOID, BT_PTRMODE, BT_PTR)
346DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
347		     BT_VOID, BT_PTR, BT_PTRMODE)
348DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT8_UINT8,
349     		     BT_VOID, BT_UINT8, BT_UINT8)
350DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT16_UINT16,
351     		     BT_VOID, BT_UINT16, BT_UINT16)
352DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT32_UINT32,
353     		     BT_VOID, BT_UINT32, BT_UINT32)
354DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_UINT64,
355     		     BT_VOID, BT_UINT64, BT_UINT64)
356DEF_FUNCTION_TYPE_2 (BT_FN_VOID_FLOAT_FLOAT,
357     		     BT_VOID, BT_FLOAT, BT_FLOAT)
358DEF_FUNCTION_TYPE_2 (BT_FN_VOID_DOUBLE_DOUBLE,
359     		     BT_VOID, BT_DOUBLE, BT_DOUBLE)
360DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_PTR,
361     		     BT_VOID, BT_UINT64, BT_PTR)
362DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
363		     BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
364DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
365		     BT_LONG, BT_LONG, BT_LONG)
366DEF_FUNCTION_TYPE_2 (BT_FN_UINT8_UINT8_UINT8,
367		     BT_UINT8, BT_UINT8, BT_UINT8)
368DEF_FUNCTION_TYPE_2 (BT_FN_INT8_INT8_INT8,
369		     BT_INT8, BT_INT8, BT_INT8)
370DEF_FUNCTION_TYPE_2 (BT_FN_INT16_INT16_INT16,
371		     BT_INT16, BT_INT16, BT_INT16)
372DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_INT,
373		     BT_INT, BT_INT, BT_INT)
374DEF_FUNCTION_TYPE_2 (BT_FN_UINT_FLOAT_UINT,
375		     BT_UINT, BT_FLOAT, BT_UINT)
376DEF_FUNCTION_TYPE_2 (BT_FN_UINT_DOUBLE_UINT,
377		     BT_UINT, BT_DOUBLE, BT_UINT)
378DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_UINT_UINT,
379		     BT_FLOAT, BT_UINT, BT_UINT)
380DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_UINT,
381		     BT_ULONG, BT_UINT, BT_UINT)
382DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_PTR,
383		     BT_ULONG, BT_UINT, BT_PTR)
384DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_ULONG_ULONG,
385		     BT_ULONG, BT_ULONG, BT_ULONG)
386DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_UINT,
387		     BT_UINT, BT_UINT, BT_UINT)
388DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
389		     BT_INT, BT_PTR, BT_CONST_STRING)
390DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
391		     BT_VOID, BT_PTR, BT_SIZE)
392DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_PTR,
393		     BT_VOID, BT_UINT, BT_PTR)
394DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
395		     BT_FLOAT, BT_FLOAT, BT_FLOAT)
396DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
397		     BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
398DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
399		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
400DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_FLOAT16,
401		     BT_FLOAT16, BT_FLOAT16, BT_FLOAT16)
402DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_FLOAT32,
403		     BT_FLOAT32, BT_FLOAT32, BT_FLOAT32)
404DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_FLOAT64,
405		     BT_FLOAT64, BT_FLOAT64, BT_FLOAT64)
406DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_FLOAT128,
407		     BT_FLOAT128, BT_FLOAT128, BT_FLOAT128)
408DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X,
409		     BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
410DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X,
411		     BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
412DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X,
413		     BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
414DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
415		     BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
416DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
417		     BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
418DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
419		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
420DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
421		     BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
422DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
423		     BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
424DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
425		     BT_FLOAT, BT_FLOAT, BT_INT)
426DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
427		     BT_DOUBLE, BT_DOUBLE, BT_INT)
428DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
429		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
430DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
431		     BT_FLOAT, BT_FLOAT, BT_INT_PTR)
432DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
433		     BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
434DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
435		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
436DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
437		     BT_FLOAT, BT_INT, BT_FLOAT)
438DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
439		     BT_DOUBLE, BT_INT, BT_DOUBLE)
440DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
441		     BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
442DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
443		     BT_FLOAT, BT_FLOAT, BT_LONG)
444DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
445		     BT_DOUBLE, BT_DOUBLE, BT_LONG)
446DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
447		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
448DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
449		     BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
450DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
451		     BT_PTR, BT_SIZE, BT_SIZE)
452DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
453		     BT_PTR, BT_PTR, BT_SIZE)
454DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
455		     BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
456DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
457		     BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
458DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
459		     BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
460DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
461DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
462		     BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
463DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
464DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
465DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
466DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
467DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
468DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
469DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
470		     BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
471DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
472		     BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
473DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
474		     BT_INT)
475DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
476		     BT_INT)
477DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
478		     BT_INT)
479DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
480		     BT_INT)
481DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
482		     BT_INT)
483DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
484DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
485DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
486		     BT_CONST_VOLATILE_PTR)
487DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
488DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
489DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_PTR, BT_UINT, BT_UINT, BT_PTR)
490DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_CONST_PTR, BT_UINT, BT_UINT, BT_CONST_PTR)
491DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
492DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
493DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
494DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
495DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
496DEF_FUNCTION_TYPE_2 (BT_FN_UINT32_UINT64_PTR,
497		     BT_UINT32, BT_UINT64, BT_PTR)
498DEF_FUNCTION_TYPE_2 (BT_FN_INT_FEXCEPT_T_PTR_INT, BT_INT, BT_FEXCEPT_T_PTR,
499		     BT_INT)
500DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_FEXCEPT_T_PTR_INT, BT_INT,
501		     BT_CONST_FEXCEPT_T_PTR, BT_INT)
502
503DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
504
505DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
506		     BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
507DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
508		     BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
509DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
510		     BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
511DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
512		     BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
513DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
514		     BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
515DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
516		     BT_PTR, BT_PTR, BT_INT, BT_SIZE)
517DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
518		     BT_VOID, BT_PTR, BT_INT, BT_SIZE)
519DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
520		     BT_VOID, BT_PTR, BT_INT, BT_INT)
521DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
522		     BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
523DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
524		     BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
525DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
526		     BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
527DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
528		     BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
529DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_UINT_UINT,
530		     BT_INT, BT_INT, BT_UINT, BT_UINT)
531DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_UINT,
532		     BT_UINT, BT_UINT, BT_UINT, BT_UINT)
533DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_PTR,
534		     BT_UINT, BT_UINT, BT_UINT, BT_PTR)
535DEF_FUNCTION_TYPE_3 (BT_FN_UINT_ULONG_ULONG_UINT,
536		     BT_UINT, BT_ULONG, BT_ULONG, BT_UINT)
537DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_ULONG_ULONG,
538		     BT_ULONG, BT_ULONG, BT_ULONG, BT_ULONG)
539DEF_FUNCTION_TYPE_3 (BT_FN_LONG_LONG_UINT_UINT,
540		     BT_LONG, BT_LONG, BT_UINT, BT_UINT)
541DEF_FUNCTION_TYPE_3 (BT_FN_LONG_LONG_LONG_DOUBLE,
542		     BT_LONG, BT_LONG, BT_LONG, BT_DOUBLE)
543DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_UINT_UINT,
544		     BT_ULONG, BT_ULONG, BT_UINT, BT_UINT)
545DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
546		     BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
547DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
548		     BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
549DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
550		     BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
551DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
552		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
553DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT16_FLOAT16_FLOAT16_FLOAT16,
554		     BT_FLOAT16, BT_FLOAT16, BT_FLOAT16, BT_FLOAT16)
555DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32_FLOAT32_FLOAT32_FLOAT32,
556		     BT_FLOAT32, BT_FLOAT32, BT_FLOAT32, BT_FLOAT32)
557DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64_FLOAT64_FLOAT64_FLOAT64,
558		     BT_FLOAT64, BT_FLOAT64, BT_FLOAT64, BT_FLOAT64)
559DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128_FLOAT128_FLOAT128_FLOAT128,
560		     BT_FLOAT128, BT_FLOAT128, BT_FLOAT128, BT_FLOAT128)
561DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_FLOAT32X,
562		     BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X)
563DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_FLOAT64X,
564		     BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X)
565DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_FLOAT128X,
566		     BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X)
567DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
568		     BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
569DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
570		     BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
571DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
572		     BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
573DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
574		     BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
575DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
576		     BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
577DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
578		     BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
579DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
580DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_UINT32, BT_VOID, BT_PTR, BT_PTR, BT_UINT32)
581DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
582		     BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
583DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
584		     BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
585DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
586		     BT_I1, BT_I1)
587DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
588		     BT_I2, BT_I2)
589DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
590		     BT_I4, BT_I4)
591DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
592		     BT_I8, BT_I8)
593DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
594		     BT_I16, BT_I16)
595DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
596DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
597DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
598DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
599DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
600		     BT_I16, BT_I16)
601DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
602		     BT_CONST_PTR, BT_INT, BT_SIZE)
603DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
604DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
605DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
606DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
607DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
608DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
609DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
610DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
611DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
612DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
613DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
614DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
615DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT,
616		     BT_INT_PTR)
617DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG,
618		     BT_PTR_LONG)
619DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL,
620		     BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG)
621DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT,
622		     BT_PTR_UINT)
623DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG,
624		     BT_ULONG, BT_PTR_ULONG)
625DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL,
626		     BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG)
627DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT64_PTR,
628		     BT_VOID, BT_UINT32, BT_UINT64, BT_PTR)
629DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT32_PTR,
630		     BT_VOID, BT_UINT32, BT_UINT32, BT_PTR)
631DEF_FUNCTION_TYPE_3 (BT_FN_VOID_SIZE_SIZE_PTR, BT_VOID, BT_SIZE, BT_SIZE,
632		     BT_PTR)
633DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_PTR_PTR, BT_UINT, BT_UINT, BT_PTR, BT_PTR)
634DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_SIZE_BOOL,
635		     BT_PTR, BT_PTR, BT_CONST_SIZE, BT_BOOL)
636
637DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
638		     BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
639DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
640		BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
641DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR,
642		BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_TM_PTR)
643DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
644		     BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
645DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
646		     BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
647DEF_FUNCTION_TYPE_4 (BT_FN_UINT_UINT_UINT_UINT_UINT,
648		     BT_UINT, BT_UINT, BT_UINT, BT_UINT, BT_UINT)
649DEF_FUNCTION_TYPE_4 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT,
650		     BT_UINT, BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
651DEF_FUNCTION_TYPE_4 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT,
652		     BT_ULONG, BT_ULONG, BT_ULONG, BT_UINT, BT_UINT)
653DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
654		     BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
655DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
656		     BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
657DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
658		     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
659DEF_FUNCTION_TYPE_4 (BT_FN_UINT_OMPFN_PTR_UINT_UINT,
660		     BT_UINT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
661DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
662		     BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
663DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
664		     BT_VOLATILE_PTR, BT_PTR, BT_INT)
665DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
666		     BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
667DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
668		     BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG)
669DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
670		     BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
671		     BT_PTR_ULONGLONG)
672DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
673		     BT_INT, BT_PTR)
674
675DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
676		     BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
677		     BT_VALIST_ARG)
678DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
679		     BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
680		     BT_PTR_LONG, BT_PTR_LONG)
681DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
682		     BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
683DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
684		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
685DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
686		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
687DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
688		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
689DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
690		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
691DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
692		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
693DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
694		     BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
695DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
696		     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
697		     BT_UINT)
698DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
699		     BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG,
700		     BT_PTR_LONG)
701DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
702		     BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG,
703		     BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
704
705DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
706		     BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
707		     BT_CONST_STRING, BT_VALIST_ARG)
708DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
709		     BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
710		     BT_PTR_LONG, BT_PTR_LONG)
711DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
712		     BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
713		     BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
714DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
715		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
716		     BT_INT)
717DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
718		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
719		     BT_INT)
720DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
721		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
722		     BT_INT)
723DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
724		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
725		     BT_INT)
726DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
727		     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
728		     BT_INT)
729DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
730		     BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
731
732DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
733		     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
734		     BT_LONG, BT_LONG, BT_LONG, BT_UINT)
735DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
736		     BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
737		     BT_ULONGLONG, BT_ULONGLONG,
738		     BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
739DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
740		     BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT,
741		     BT_PTR)
742
743DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
744		     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
745		     BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
746DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
747		     BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_LONG,
748		     BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR)
749DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
750		     BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_LONG, BT_ULONGLONG,
751		     BT_PTR_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR, BT_PTR)
752
753DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
754		     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
755		     BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
756		     BT_BOOL, BT_UINT, BT_PTR, BT_INT)
757DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
758		     BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
759		     BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
760DEF_FUNCTION_TYPE_9 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
761		     BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
762		     BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR)
763
764DEF_FUNCTION_TYPE_10 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
765		      BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
766		      BT_ULONGLONG, BT_LONG, BT_ULONGLONG, BT_PTR_ULONGLONG,
767		      BT_PTR_ULONGLONG, BT_PTR, BT_PTR)
768
769DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
770		      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
771		      BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
772		      BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG)
773DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
774		      BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
775		      BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
776		      BT_UINT, BT_LONG, BT_INT,
777		      BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
778
779DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
780DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
781DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
782DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
783
784DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
785			 BT_VOID, BT_VALIST_REF)
786DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
787			 BT_VOID, BT_CONST_PTR)
788DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
789			 BT_INT, BT_CONST_STRING)
790DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
791			 BT_UINT32, BT_UINT32)
792DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR,
793			 BT_VOID, BT_LONG)
794DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
795			 BT_VOID, BT_ULONGLONG)
796DEF_FUNCTION_TYPE_VAR_1 (BT_FN_PTR_PTR_VAR, BT_PTR, BT_PTR)
797DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I1_I1_VAR, BT_I1, BT_I1)
798DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I2_I2_VAR, BT_I2, BT_I2)
799DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I4_I4_VAR, BT_I4, BT_I4)
800DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I8_I8_VAR, BT_I8, BT_I8)
801DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I16_I16_VAR, BT_I16, BT_I16)
802
803DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
804			 BT_INT, BT_FILEPTR, BT_CONST_STRING)
805DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
806			 BT_INT, BT_STRING, BT_CONST_STRING)
807DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
808			 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
809DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
810			 BT_INT, BT_INT, BT_CONST_STRING)
811DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
812			 BT_CONST_PTR, BT_SIZE)
813DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID,
814			 BT_INT, BT_INT)
815
816DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
817			 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
818DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
819			 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
820DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
821			 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
822
823DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
824			 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
825
826DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
827			 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
828			 BT_CONST_STRING)
829
830DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
831			 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
832
833DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
834			 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE,
835			 BT_PTR, BT_PTR, BT_PTR)
836
837DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
838			 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR,
839			 BT_PTR, BT_INT, BT_INT)
840
841DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
842DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
843		     BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
844
845
846DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
847DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
848DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
849DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
850DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
851DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
852DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
853
854DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
855DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
856DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
857DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
858DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
859DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
860		     BT_VOLATILE_PTR, BT_DOUBLE)
861DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
862		     BT_VOLATILE_PTR, BT_LONGDOUBLE)
863DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
864		     BT_VOLATILE_PTR, BT_SIZE)
865