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