builtin-types.def 31 KB

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