1/* Copyright (C) 2001-2018 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