]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/builtin-types.def
genmatch.c (capture_info::capture_info): Add missing COND_EXPR handling.
[thirdparty/gcc.git] / gcc / builtin-types.def
CommitLineData
23a5b65a 1/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
10841285 2
1322177d 3This file is part of GCC.
10841285 4
1322177d
LB
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
9dcd6f09 7Software Foundation; either version 3, or (at your option) any later
1322177d 8version.
10841285 9
1322177d
LB
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.
10841285
MM
14
15You should have received a copy of the GNU General Public License
9dcd6f09
NC
16along with GCC; see the file COPYING3. If not see
17<http://www.gnu.org/licenses/>. */
10841285 18
a457ee07 19/* This header provides a declarative way of describing the types that
10841285
MM
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)
f6a7cffc 32 [...]
10841285
MM
33
34 These macros describe function types. ENUM is as above. The
35 RETURN type is one of the enumerals already defined. ARG1, ARG2,
8225879c 36 etc, give the types of the arguments, similarly.
10841285
MM
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)
f6a7cffc 41 [...]
10841285
MM
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, ...)'.
c22cacf3 54
10841285
MM
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)
48ae6c13 61DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
10841285 62DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
2319a1d1 63DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
10841285 64DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
2319a1d1 65DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
10841285 66DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
2319a1d1
JB
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)
ac868f29 70DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
167fa32c
EC
71DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
72DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
8893239d 73DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
7b0518e3
UW
74DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
75 (targetm.unwind_word_mode (), 1))
10841285 76DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
10841285 77DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
3c260e1d 78DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
10841285
MM
79DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
80DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
3c260e1d 81DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
10841285
MM
82
83DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
498c0f27 84DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
10841285 85DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
48ae6c13
RH
86DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
87 build_pointer_type
88 (build_qualified_type (void_type_node,
89 TYPE_QUAL_VOLATILE)))
86951993
AM
90DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
91 build_pointer_type
92 (build_qualified_type (void_type_node,
93 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
b0c48229 94DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
a2a919aa
KG
95DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
96DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
97DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
dda6ecae
AH
98DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
99 build_pointer_type
100 (build_qualified_type (double_type_node,
101 TYPE_QUAL_CONST)))
a2a919aa 102DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
d1c38823 103DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
c9f8536c 104DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
178b2b9f 105DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
ca4944e1 106DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
10841285
MM
107DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
108DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
10841285 109
9a8ce21f
JG
110DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
111DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
112DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
113DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
114DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
115DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
116
10841285
MM
117DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
118DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
119
48ae6c13
RH
120DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
121DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
122DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
123DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
a0274e3e 124DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
48ae6c13 125
d5e254e1
IE
126DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
127
d1c38823 128DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
953ff289 129DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
a68ab351 130DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
953ff289 131DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
d1c38823 132
10841285 133DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
953ff289 134DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
10841285 135DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
3537a0cd 136DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
d1c38823 137DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
953ff289 138DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
2319a1d1 139DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
ab5e2615
RH
140DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
141DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
3c260e1d
KG
142/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
143 distinguish it from two types in sequence, "long" followed by
144 "double". */
145DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
9a8ce21f
JG
146DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
147DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
148DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
10841285
MM
149
150DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
151DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
152DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
153DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
154DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
c22cacf3
MS
155DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
156 BT_LONGDOUBLE, BT_LONGDOUBLE)
157DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
10841285 158 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 159DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
10841285 160 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
161DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
162 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
163DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
164 BT_FLOAT, BT_COMPLEX_FLOAT)
10841285 165DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
c22cacf3 166 BT_DOUBLE, BT_COMPLEX_DOUBLE)
3c260e1d 167DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
c22cacf3 168 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
75c7c595
RG
169DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
170 BT_COMPLEX_FLOAT, BT_FLOAT)
171DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
172 BT_COMPLEX_DOUBLE, BT_DOUBLE)
173DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
174 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
2319a1d1 175DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
10841285
MM
176DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
177DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
2319a1d1 178DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
2928cd7a 179DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
2319a1d1 180DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
2928cd7a 181DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
2319a1d1
JB
182DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
183DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
184DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
10841285 185DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
98ff7c4d
KG
186DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
187DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
188DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
9a8ce21f
JG
189DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
190DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
191DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
98ff7c4d
KG
192DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
193DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
194DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
195DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
196DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
197DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
10841285 198DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
f458d1d5 199DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
10841285
MM
200DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
201DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
202DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
203DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
1472e41c
RH
204DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
205DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
3c260e1d
KG
206DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
207 BT_LONGDOUBLE, BT_CONST_STRING)
9a8ce21f
JG
208DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
209DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
210DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
211 BT_DFLOAT128, BT_CONST_STRING)
1331d16f 212DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
7b0518e3 213DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
ca4944e1
KG
214DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
215DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
9a8ce21f
JG
216DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
217DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
218DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
48ae6c13 219DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
953ff289 220DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
109719eb 221DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
953ff289 222DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
167fa32c
EC
223DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
224DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
ac868f29 225DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
167fa32c
EC
226DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
227DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
acf0174b 228DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
d5e254e1
IE
229DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
230DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
231DEF_FUNCTION_TYPE_1 (BT_FN_BND_CONST_PTR, BT_BND, BT_CONST_PTR)
232DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_BND, BT_CONST_PTR, BT_BND)
953ff289
DN
233
234DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
10841285
MM
235
236DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
c22cacf3
MS
237DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
238 BT_STRING, BT_STRING, BT_CONST_STRING)
10841285 239DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
c22cacf3 240 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10841285
MM
241DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
242 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
243DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
c22cacf3 244 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
10841285 245DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
c22cacf3 246 BT_STRING, BT_CONST_STRING, BT_INT)
1ad81c8e 247DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
c22cacf3 248 BT_STRING, BT_CONST_STRING, BT_SIZE)
498c0f27
JJ
249DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
250 BT_INT, BT_CONST_STRING, BT_FILEPTR)
251DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
252 BT_INT, BT_INT, BT_FILEPTR)
10841285
MM
253DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
254 BT_VOID, BT_PTRMODE, BT_PTR)
0e668eaf
JJ
255DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
256 BT_VOID, BT_PTR, BT_PTRMODE)
c22cacf3 257DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
10841285
MM
258 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
259DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
260 BT_LONG, BT_LONG, BT_LONG)
261DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
262 BT_INT, BT_PTR, BT_CONST_STRING)
f458d1d5
ZW
263DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
264 BT_VOID, BT_PTR, BT_SIZE)
46847aa6
RS
265DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
266 BT_FLOAT, BT_FLOAT, BT_FLOAT)
267DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
268 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
3c260e1d
KG
269DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
270 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
271DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
272 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
273DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
274 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
275DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
276 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
98ff7c4d
KG
277DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
278 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
279DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
280 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
281DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
282 BT_FLOAT, BT_FLOAT, BT_INT)
283DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
284 BT_DOUBLE, BT_DOUBLE, BT_INT)
285DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
286 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
a2a919aa
KG
287DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
288 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
289DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
290 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
291DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
292 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
488f17e1
KG
293DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
294 BT_FLOAT, BT_INT, BT_FLOAT)
295DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
296 BT_DOUBLE, BT_INT, BT_DOUBLE)
297DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
298 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
98ff7c4d
KG
299DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
300 BT_FLOAT, BT_FLOAT, BT_LONG)
301DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
302 BT_DOUBLE, BT_DOUBLE, BT_LONG)
303DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
304 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
08291658
RS
305DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
306 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
1331d16f
RS
307DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
308 BT_PTR, BT_SIZE, BT_SIZE)
4376b7cf
FXC
309DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
310 BT_PTR, BT_PTR, BT_SIZE)
c22cacf3 311DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
11bf0eb0 312 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 313DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
11bf0eb0 314 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
315DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
316 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
6de9cd9a 317DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
d1c38823
ZD
318DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
319 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495 320DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
48ae6c13
RH
321DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
322DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
323DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
324DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
a0274e3e 325DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
953ff289
DN
326DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
327 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
a68ab351
JJ
328DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
329 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
86951993
AM
330DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
331 BT_INT)
332DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
333 BT_INT)
334DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
335 BT_INT)
336DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
337 BT_INT)
338DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
339 BT_INT)
340DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
341DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
342DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
343 BT_CONST_VOLATILE_PTR)
acf0174b
JJ
344DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
345DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
d5e254e1
IE
346DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
347DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
348DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
349DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
350DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_BND, BT_VOID, BT_PTR, BT_BND)
351DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
352DEF_FUNCTION_TYPE_2 (BT_FN_BND_CONST_PTR_SIZE, BT_BND, BT_CONST_PTR, BT_SIZE)
a68ab351
JJ
353
354DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
10841285
MM
355
356DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
357 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
358DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
359 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
f458d1d5
ZW
360DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
361 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
dda6ecae
AH
362DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
363 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
10841285 364DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
c22cacf3 365 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
f458d1d5 366DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
c22cacf3 367 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
dda6ecae
AH
368DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
369 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
08291658
RS
370DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
371 BT_VOID, BT_PTR, BT_INT, BT_INT)
e31603c4
JJ
372DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
373 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
08291658
RS
374DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
375 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
376DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
377 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
498c0f27
JJ
378DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
379 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
36536d79
BI
380DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
381 BT_INT, BT_PTR, BT_PTR, BT_PTR)
178b2b9f
RS
382DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
383 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
98ff7c4d
KG
384DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
385 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
386DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
387 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
388DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
389 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
390DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
391 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
392DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
393 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
394DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
395 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
396DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
397 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
398DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
399 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
400DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
401 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
6de9cd9a 402DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
d1c38823
ZD
403DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
404 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495
JJ
405DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
406 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
48ae6c13
RH
407DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
408 BT_I1, BT_I1)
409DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
410 BT_I2, BT_I2)
411DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
412 BT_I4, BT_I4)
413DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
414 BT_I8, BT_I8)
a0274e3e
JJ
415DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
416 BT_I16, BT_I16)
48ae6c13
RH
417DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
418DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
419DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
420DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
a0274e3e
JJ
421DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
422 BT_I16, BT_I16)
2a5fce6d
PC
423DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
424 BT_CONST_PTR, BT_INT, BT_SIZE)
86951993
AM
425DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
426DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
427DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
428DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
429DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
430DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
431DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
432DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
433DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
434DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
32cab212 435DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
d5e254e1
IE
436DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
437DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_BND_CONST_PTR, BT_VOID, BT_CONST_PTR, BT_BND, BT_CONST_PTR)
10841285 438
498c0f27
JJ
439DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
440 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
08291658
RS
441DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
442 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
178b2b9f
RS
443DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
444 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
10a0d495
JJ
445DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
446 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
447DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
448 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
449DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
450 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
451DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
452 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
453DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
454 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
8893239d
RH
455DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
456 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
86951993
AM
457DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
458 BT_VOLATILE_PTR, BT_PTR, BT_INT)
459DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
460 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
10a0d495
JJ
461
462DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
463 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
464 BT_VALIST_ARG)
953ff289
DN
465DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
466 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
467 BT_PTR_LONG, BT_PTR_LONG)
86951993
AM
468DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
469 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
c954bddd
JJ
470DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
471 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
472DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
473 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
474DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
475 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
476DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
477 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
478DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
479 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
acf0174b
JJ
480DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
481 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
482 BT_UINT)
10a0d495
JJ
483
484DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
485 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
486 BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
487DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
488 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
489 BT_PTR_LONG, BT_PTR_LONG)
a68ab351
JJ
490DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
491 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
492 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
86951993
AM
493DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
494 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
495 BT_INT)
496DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
497 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
498 BT_INT)
499DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
500 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
501 BT_INT)
502DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
503 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
504 BT_INT)
505DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
506 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
507 BT_INT)
508DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
509 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
acf0174b
JJ
510DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
511 BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
86951993 512
acf0174b 513DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
953ff289 514 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
acf0174b 515 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
a68ab351
JJ
516DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
517 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
518 BT_ULONGLONG, BT_ULONGLONG,
519 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
acf0174b
JJ
520DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
521 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
522 BT_PTR, BT_PTR, BT_PTR)
523
524DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
525 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
526 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
527DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
528 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
529 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
530 BT_BOOL, BT_UINT, BT_PTR)
10841285
MM
531
532DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
533DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
534DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
535
c22cacf3 536DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
10841285 537 BT_VOID, BT_VALIST_REF)
3bca17dd
PK
538DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
539 BT_VOID, BT_CONST_PTR)
10841285 540DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
c22cacf3 541 BT_INT, BT_CONST_STRING)
dda6ecae
AH
542DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
543 BT_UINT32, BT_UINT32)
10841285 544
498c0f27 545DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
c22cacf3 546 BT_INT, BT_FILEPTR, BT_CONST_STRING)
08291658
RS
547DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
548 BT_INT, BT_STRING, BT_CONST_STRING)
549DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
550 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10a0d495
JJ
551DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
552 BT_INT, BT_INT, BT_CONST_STRING)
45d439ac
JJ
553DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
554 BT_CONST_PTR, BT_SIZE)
08291658
RS
555
556DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
557 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
178b2b9f
RS
558DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
559 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
10a0d495
JJ
560DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
561 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
562
563DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
564 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
565
566DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
567 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
568 BT_CONST_STRING)
10841285 569
3bf5906b
KG
570DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
571 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
572
10841285
MM
573DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
574DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
575 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
0a35513e
AH
576
577
578DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
579DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
580DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
581DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
582DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
dda6ecae 583DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
0a35513e
AH
584DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
585
586DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
587DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
588DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
589DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
590DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
591DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
592 BT_VOLATILE_PTR, BT_DOUBLE)
593DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
594 BT_VOLATILE_PTR, BT_LONGDOUBLE)
595DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
596 BT_VOLATILE_PTR, BT_SIZE)