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