OSDN Git Service

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