]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/builtin-types.def
PR sanitizer/55439
[thirdparty/gcc.git] / gcc / builtin-types.def
CommitLineData
fca0886c 1/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
2551f8e0 2 Free Software Foundation, Inc.
d2d4bdde 3
f12b58b3 4This file is part of GCC.
d2d4bdde 5
f12b58b3 6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8c4c00c1 8Software Foundation; either version 3, or (at your option) any later
f12b58b3 9version.
d2d4bdde 10
f12b58b3 11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
d2d4bdde 15
16You should have received a copy of the GNU General Public License
8c4c00c1 17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
d2d4bdde 19
3f7df443 20/* This header provides a declarative way of describing the types that
d2d4bdde 21 are used when declaring builtin functions.
22
23 Before including this header, you must define the following macros:
24
25 DEF_PRIMITIVE_TYPE (ENUM, TYPE)
26
27 The ENUM is an identifier indicating which type is being defined.
28 TYPE is an expression for a `tree' that represents the type.
29
30 DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
31 DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
32 DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
33 DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
34 DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
0a39fd54 35 DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
1e8e9920 36 DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
37 DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
d2d4bdde 38
39 These macros describe function types. ENUM is as above. The
40 RETURN type is one of the enumerals already defined. ARG1, ARG2,
24ede95f 41 etc, give the types of the arguments, similarly.
d2d4bdde 42
43 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
44 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
45 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
03901330 46 DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
0a39fd54 47 DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
24ede95f 48 DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
d2d4bdde 49
50 Similar, but for function types that take variable arguments.
51 For example:
52
53 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
54
55 describes the type `int ()(double)', using the enumeral
56 BT_INT_DOUBLE, whereas:
57
58 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
59
60 describes the type `int ()(double, ...)'.
a0c938f0 61
d2d4bdde 62 DEF_POINTER_TYPE (ENUM, TYPE)
63
64 This macro describes a pointer type. ENUM is as above; TYPE is
65 the type pointed to. */
66
67DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
b6a5fc45 68DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
d2d4bdde 69DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
5053259b 70DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
d2d4bdde 71DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
5053259b 72DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
d2d4bdde 73DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
5053259b 74DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
6388cfe2 75DEF_PRIMITIVE_TYPE (BT_INT128, int128_integer_type_node)
76DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
5053259b 77DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
78DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
74bdbe96 79DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
42791117 80DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
81DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
9dda1f80 82DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
1bd43494 83DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
84 (targetm.unwind_word_mode (), 1))
d2d4bdde 85DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
d2d4bdde 86DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
00eb5190 87DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
d2d4bdde 88DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
89DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
00eb5190 90DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
d2d4bdde 91
92DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
e256d445 93DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
d2d4bdde 94DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
b6a5fc45 95DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
96 build_pointer_type
97 (build_qualified_type (void_type_node,
98 TYPE_QUAL_VOLATILE)))
1cd6e20d 99DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
100 build_pointer_type
101 (build_qualified_type (void_type_node,
102 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
771d21fa 103DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
4070bd43 104DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
105DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
106DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
9eb529b8 107DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
108 build_pointer_type
109 (build_qualified_type (double_type_node,
110 TYPE_QUAL_CONST)))
4070bd43 111DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
73673831 112DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
654ef926 113DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
b9b15671 114DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
4617d9b5 115DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
d2d4bdde 116DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
117DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
d2d4bdde 118
c4503c0a 119DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
120DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
121DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
122DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
123DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
124DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
125
d2d4bdde 126DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
127DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
128
b6a5fc45 129DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
130DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
131DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
132DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
27213ba3 133DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
b6a5fc45 134
73673831 135DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
1e8e9920 136DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
fd6481cf 137DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
1e8e9920 138DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
73673831 139
d2d4bdde 140DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
1e8e9920 141DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
d2d4bdde 142DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
8b76fbe9 143DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
73673831 144DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
1e8e9920 145DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
5053259b 146DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
92c43e3c 147DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
148DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
00eb5190 149/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
150 distinguish it from two types in sequence, "long" followed by
151 "double". */
152DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
c4503c0a 153DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
154DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
155DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
d2d4bdde 156
157DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
158DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
159DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
160DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
161DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
a0c938f0 162DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
163 BT_LONGDOUBLE, BT_LONGDOUBLE)
164DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
d2d4bdde 165 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
a0c938f0 166DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
d2d4bdde 167 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
a0c938f0 168DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
169 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
170DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
171 BT_FLOAT, BT_COMPLEX_FLOAT)
d2d4bdde 172DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
a0c938f0 173 BT_DOUBLE, BT_COMPLEX_DOUBLE)
00eb5190 174DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
a0c938f0 175 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
d735c391 176DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
177 BT_COMPLEX_FLOAT, BT_FLOAT)
178DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
179 BT_COMPLEX_DOUBLE, BT_DOUBLE)
180DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
181 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
5053259b 182DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
d2d4bdde 183DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
184DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
5053259b 185DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
6a08d0ab 186DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
5053259b 187DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
6a08d0ab 188DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
5053259b 189DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
190DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
191DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
d2d4bdde 192DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
e88e2794 193DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
194DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
195DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
c4503c0a 196DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
197DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
198DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
e88e2794 199DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
200DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
201DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
202DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
203DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
204DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
d2d4bdde 205DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
455730ef 206DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
d2d4bdde 207DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
208DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
209DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
210DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
b0db7939 211DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
212DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
00eb5190 213DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
214 BT_LONGDOUBLE, BT_CONST_STRING)
c4503c0a 215DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
216DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
217DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
218 BT_DFLOAT128, BT_CONST_STRING)
32ef1cd2 219DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
1bd43494 220DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
4617d9b5 221DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
222DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
c4503c0a 223DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
224DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
225DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
b6a5fc45 226DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
1e8e9920 227DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
228DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
42791117 229DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
230DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
74bdbe96 231DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
42791117 232DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
233DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
1e8e9920 234
235DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
d2d4bdde 236
237DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
a0c938f0 238DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
239 BT_STRING, BT_STRING, BT_CONST_STRING)
d2d4bdde 240DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
a0c938f0 241 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
d2d4bdde 242DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
243 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
244DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
a0c938f0 245 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
d2d4bdde 246DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
a0c938f0 247 BT_STRING, BT_CONST_STRING, BT_INT)
7e50d406 248DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
a0c938f0 249 BT_STRING, BT_CONST_STRING, BT_SIZE)
e256d445 250DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
251 BT_INT, BT_CONST_STRING, BT_FILEPTR)
252DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
253 BT_INT, BT_INT, BT_FILEPTR)
d2d4bdde 254DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
255 BT_VOID, BT_PTRMODE, BT_PTR)
b45e34ed 256DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
257 BT_VOID, BT_PTR, BT_PTRMODE)
a0c938f0 258DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
d2d4bdde 259 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
260DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
261 BT_LONG, BT_LONG, BT_LONG)
262DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
263 BT_INT, BT_PTR, BT_CONST_STRING)
455730ef 264DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
265 BT_VOID, BT_PTR, BT_SIZE)
fa426235 266DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
267 BT_FLOAT, BT_FLOAT, BT_FLOAT)
268DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
269 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
00eb5190 270DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
271 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
4070bd43 272DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
273 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
274DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
275 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
276DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
277 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
e88e2794 278DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
279 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
280DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
281 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
282DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
283 BT_FLOAT, BT_FLOAT, BT_INT)
284DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
285 BT_DOUBLE, BT_DOUBLE, BT_INT)
286DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
287 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
4070bd43 288DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
289 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
290DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
291 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
292DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
293 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
847749e5 294DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
295 BT_FLOAT, BT_INT, BT_FLOAT)
296DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
297 BT_DOUBLE, BT_INT, BT_DOUBLE)
298DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
299 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
e88e2794 300DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
301 BT_FLOAT, BT_FLOAT, BT_LONG)
302DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
303 BT_DOUBLE, BT_DOUBLE, BT_LONG)
304DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
305 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
03901330 306DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
307 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
32ef1cd2 308DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
309 BT_PTR, BT_SIZE, BT_SIZE)
a5014d25 310DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
311 BT_PTR, BT_PTR, BT_SIZE)
a0c938f0 312DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
61b922e7 313 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
a0c938f0 314DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
61b922e7 315 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
a0c938f0 316DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
317 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
4ee9c684 318DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
73673831 319DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
320 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
0a39fd54 321DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
b6a5fc45 322DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
323DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
324DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
325DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
27213ba3 326DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
1e8e9920 327DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
328 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
fd6481cf 329DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
330 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
1cd6e20d 331DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
332 BT_INT)
333DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
334 BT_INT)
335DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
336 BT_INT)
337DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
338 BT_INT)
339DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
340 BT_INT)
341DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
342DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
343DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
344 BT_CONST_VOLATILE_PTR)
fd6481cf 345
346DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
d2d4bdde 347
348DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
349 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
350DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
351 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
455730ef 352DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
353 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
9eb529b8 354DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
355 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
d2d4bdde 356DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
a0c938f0 357 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
455730ef 358DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
a0c938f0 359 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
9eb529b8 360DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
361 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
03901330 362DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
363 BT_VOID, BT_PTR, BT_INT, BT_INT)
c4950093 364DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
365 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
03901330 366DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
367 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
368DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
369 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
e256d445 370DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
371 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
b9b15671 372DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
373 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
e88e2794 374DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
375 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
376DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
377 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
378DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
379 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
4070bd43 380DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
381 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
382DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
383 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
384DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
385 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
386DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
387 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
388DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
389 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
390DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
391 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
4ee9c684 392DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
73673831 393DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
394 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
0a39fd54 395DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
396 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
b6a5fc45 397DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
398 BT_I1, BT_I1)
399DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
400 BT_I2, BT_I2)
401DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
402 BT_I4, BT_I4)
403DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
404 BT_I8, BT_I8)
27213ba3 405DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
406 BT_I16, BT_I16)
b6a5fc45 407DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
408DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
409DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
410DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
27213ba3 411DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
412 BT_I16, BT_I16)
1e8e9920 413DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
414 BT_PTR, BT_UINT)
7959b13b 415DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
416 BT_CONST_PTR, BT_INT, BT_SIZE)
1cd6e20d 417DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
418DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
419DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
420DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
421DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
422DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
423DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
424DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
425DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
426DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
d2d4bdde 427
e256d445 428DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
429 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
03901330 430DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
431 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
b9b15671 432DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
433 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
0a39fd54 434DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
435 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
436DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
437 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
438DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
439 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
440DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
441 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
1e8e9920 442DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
443 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
9dda1f80 444DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
445 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
1cd6e20d 446DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
447 BT_VOLATILE_PTR, BT_PTR, BT_INT)
448DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
449 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
0a39fd54 450
451DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
452 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
453 BT_VALIST_ARG)
1e8e9920 454DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
455 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
456 BT_PTR_LONG, BT_PTR_LONG)
1cd6e20d 457DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
458 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
83392e87 459DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
460 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
461DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
462 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
463DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
464 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
465DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
466 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
467DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
468 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
0a39fd54 469
470DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
471 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
472 BT_CONST_STRING, BT_VALIST_ARG)
1e8e9920 473DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
474 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
475 BT_PTR_LONG, BT_PTR_LONG)
476DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
477 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
478 BT_LONG, BT_LONG, BT_LONG)
fd6481cf 479DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
480 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
481 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
1cd6e20d 482DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
483 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
484 BT_INT)
485DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
486 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
487 BT_INT)
488DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
489 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
490 BT_INT)
491DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
492 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
493 BT_INT)
494DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
495 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
496 BT_INT)
497DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
498 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
499
1e8e9920 500
501DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
502 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
503 BT_LONG, BT_LONG, BT_LONG, BT_LONG)
fd6481cf 504DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT,
505 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
506 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
507 BT_BOOL, BT_UINT)
508DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
509 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
510 BT_ULONGLONG, BT_ULONGLONG,
511 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
d2d4bdde 512
513DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
514DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
515DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
516
a0c938f0 517DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
d2d4bdde 518 BT_VOID, BT_VALIST_REF)
82086392 519DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
520 BT_VOID, BT_CONST_PTR)
d2d4bdde 521DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
a0c938f0 522 BT_INT, BT_CONST_STRING)
9eb529b8 523DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
524 BT_UINT32, BT_UINT32)
d2d4bdde 525
e256d445 526DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
a0c938f0 527 BT_INT, BT_FILEPTR, BT_CONST_STRING)
03901330 528DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
529 BT_INT, BT_STRING, BT_CONST_STRING)
530DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
531 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
0a39fd54 532DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
533 BT_INT, BT_INT, BT_CONST_STRING)
fca0886c 534DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
535 BT_CONST_PTR, BT_SIZE)
03901330 536
537DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
538 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
b9b15671 539DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
540 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
0a39fd54 541DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
542 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
543
544DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
545 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
546
547DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
548 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
549 BT_CONST_STRING)
d2d4bdde 550
19fbe3a4 551DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
552 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
553
d2d4bdde 554DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
555DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
556 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
4c0315d0 557
558
559DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
560DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
561DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
562DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
563DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
9eb529b8 564DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
4c0315d0 565DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
566
567DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
568DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
569DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
570DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
571DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
572DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
573 BT_VOLATILE_PTR, BT_DOUBLE)
574DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
575 BT_VOLATILE_PTR, BT_LONGDOUBLE)
576DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
577 BT_VOLATILE_PTR, BT_SIZE)