ffi 1.15.5 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +118 -0
  4. data/Gemfile +10 -3
  5. data/README.md +4 -3
  6. data/Rakefile +25 -10
  7. data/ext/ffi_c/AbstractMemory.c +99 -74
  8. data/ext/ffi_c/AbstractMemory.h +3 -2
  9. data/ext/ffi_c/ArrayType.c +51 -15
  10. data/ext/ffi_c/ArrayType.h +1 -0
  11. data/ext/ffi_c/Buffer.c +90 -33
  12. data/ext/ffi_c/Call.c +29 -12
  13. data/ext/ffi_c/Call.h +3 -2
  14. data/ext/ffi_c/DynamicLibrary.c +90 -27
  15. data/ext/ffi_c/Function.c +244 -98
  16. data/ext/ffi_c/Function.h +1 -0
  17. data/ext/ffi_c/FunctionInfo.c +81 -25
  18. data/ext/ffi_c/LastError.c +29 -11
  19. data/ext/ffi_c/MappedType.c +66 -23
  20. data/ext/ffi_c/MappedType.h +0 -2
  21. data/ext/ffi_c/MemoryPointer.c +36 -9
  22. data/ext/ffi_c/MethodHandle.c +3 -1
  23. data/ext/ffi_c/Pointer.c +82 -40
  24. data/ext/ffi_c/Pointer.h +1 -0
  25. data/ext/ffi_c/Struct.c +166 -84
  26. data/ext/ffi_c/Struct.h +7 -4
  27. data/ext/ffi_c/StructByValue.c +48 -16
  28. data/ext/ffi_c/StructLayout.c +130 -61
  29. data/ext/ffi_c/Type.c +120 -51
  30. data/ext/ffi_c/Type.h +3 -1
  31. data/ext/ffi_c/Types.c +8 -2
  32. data/ext/ffi_c/Types.h +0 -1
  33. data/ext/ffi_c/Variadic.c +71 -26
  34. data/ext/ffi_c/compat.h +22 -22
  35. data/ext/ffi_c/extconf.rb +19 -2
  36. data/ext/ffi_c/ffi.c +4 -0
  37. data/ext/ffi_c/libffi/.allow-ai-service +0 -0
  38. data/ext/ffi_c/libffi/.appveyor/site.exp +16 -0
  39. data/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +7 -0
  40. data/ext/ffi_c/libffi/.appveyor.yml +27 -9
  41. data/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +18 -0
  42. data/ext/ffi_c/libffi/{.travis → .ci}/build-in-container.sh +4 -6
  43. data/ext/ffi_c/libffi/.ci/build.sh +124 -0
  44. data/ext/ffi_c/libffi/{.travis → .ci}/install.sh +14 -7
  45. data/ext/ffi_c/libffi/.ci/msvs-detect +1103 -0
  46. data/ext/ffi_c/libffi/{.travis → .ci}/site.exp +5 -3
  47. data/ext/ffi_c/libffi/.circleci/config.yml +156 -0
  48. data/ext/ffi_c/libffi/.github/workflows/build.yml +479 -0
  49. data/ext/ffi_c/libffi/.github/workflows/emscripten.yml +172 -0
  50. data/ext/ffi_c/libffi/.gitignore +10 -2
  51. data/ext/ffi_c/libffi/LICENSE +1 -1
  52. data/ext/ffi_c/libffi/Makefile.am +12 -5
  53. data/ext/ffi_c/libffi/Makefile.in +118 -51
  54. data/ext/ffi_c/libffi/README.md +150 -105
  55. data/ext/ffi_c/libffi/acinclude.m4 +10 -112
  56. data/ext/ffi_c/libffi/compile +348 -0
  57. data/ext/ffi_c/libffi/config.guess +623 -556
  58. data/ext/ffi_c/libffi/config.sub +75 -34
  59. data/ext/ffi_c/libffi/configure +4571 -3830
  60. data/ext/ffi_c/libffi/configure.ac +64 -28
  61. data/ext/ffi_c/libffi/configure.host +26 -7
  62. data/ext/ffi_c/libffi/doc/Makefile.in +9 -6
  63. data/ext/ffi_c/libffi/doc/libffi.texi +82 -33
  64. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  65. data/ext/ffi_c/libffi/fficonfig.h.in +12 -47
  66. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +163 -52
  67. data/ext/ffi_c/libffi/include/Makefile.am +1 -1
  68. data/ext/ffi_c/libffi/include/Makefile.in +10 -9
  69. data/ext/ffi_c/libffi/include/ffi.h.in +55 -60
  70. data/ext/ffi_c/libffi/include/ffi_cfi.h +21 -0
  71. data/ext/ffi_c/libffi/include/ffi_common.h +33 -2
  72. data/ext/ffi_c/libffi/include/tramp.h +45 -0
  73. data/ext/ffi_c/libffi/install-sh +92 -69
  74. data/ext/ffi_c/libffi/libffi.map.in +5 -0
  75. data/ext/ffi_c/libffi/libtool-version +2 -2
  76. data/ext/ffi_c/libffi/ltmain.sh +518 -333
  77. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +18 -14
  78. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +108 -72
  79. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +76 -45
  80. data/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +51 -0
  81. data/ext/ffi_c/libffi/man/Makefile.in +9 -6
  82. data/ext/ffi_c/libffi/missing +1 -1
  83. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +2 -2
  84. data/ext/ffi_c/libffi/msvcc.sh +1 -1
  85. data/ext/ffi_c/libffi/src/aarch64/ffi.c +172 -55
  86. data/ext/ffi_c/libffi/src/aarch64/internal.h +32 -0
  87. data/ext/ffi_c/libffi/src/aarch64/sysv.S +331 -87
  88. data/ext/ffi_c/libffi/src/arc/arcompact.S +169 -94
  89. data/ext/ffi_c/libffi/src/arc/ffi.c +325 -148
  90. data/ext/ffi_c/libffi/src/arc/ffitarget.h +14 -0
  91. data/ext/ffi_c/libffi/src/arm/ffi.c +62 -17
  92. data/ext/ffi_c/libffi/src/arm/ffitarget.h +3 -3
  93. data/ext/ffi_c/libffi/src/arm/internal.h +10 -0
  94. data/ext/ffi_c/libffi/src/arm/sysv.S +113 -42
  95. data/ext/ffi_c/libffi/src/closures.c +136 -50
  96. data/ext/ffi_c/libffi/src/debug.c +2 -2
  97. data/ext/ffi_c/libffi/src/dlmalloc.c +6 -1
  98. data/ext/ffi_c/libffi/src/ia64/ffi.c +12 -0
  99. data/ext/ffi_c/libffi/src/ia64/unix.S +20 -2
  100. data/ext/ffi_c/libffi/src/loongarch64/ffi.c +624 -0
  101. data/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +82 -0
  102. data/ext/ffi_c/libffi/src/loongarch64/sysv.S +327 -0
  103. data/ext/ffi_c/libffi/src/m32r/ffi.c +31 -14
  104. data/ext/ffi_c/libffi/src/mips/ffi.c +250 -67
  105. data/ext/ffi_c/libffi/src/mips/ffitarget.h +7 -0
  106. data/ext/ffi_c/libffi/src/mips/n32.S +193 -33
  107. data/ext/ffi_c/libffi/src/mips/o32.S +61 -4
  108. data/ext/ffi_c/libffi/src/moxie/ffi.c +47 -22
  109. data/ext/ffi_c/libffi/src/or1k/ffi.c +25 -12
  110. data/ext/ffi_c/libffi/src/pa/ffi.c +32 -33
  111. data/ext/ffi_c/libffi/src/pa/ffi64.c +614 -0
  112. data/ext/ffi_c/libffi/src/pa/ffitarget.h +22 -8
  113. data/ext/ffi_c/libffi/src/pa/hpux32.S +83 -36
  114. data/ext/ffi_c/libffi/src/pa/hpux64.S +681 -0
  115. data/ext/ffi_c/libffi/src/pa/linux.S +82 -35
  116. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +36 -24
  117. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +1 -1
  118. data/ext/ffi_c/libffi/src/powerpc/linux64.S +2 -0
  119. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +2 -0
  120. data/ext/ffi_c/libffi/src/powerpc/t-aix +5 -0
  121. data/ext/ffi_c/libffi/src/prep_cif.c +22 -2
  122. data/ext/ffi_c/libffi/src/riscv/ffi.c +37 -4
  123. data/ext/ffi_c/libffi/src/sparc/ffi64.c +23 -1
  124. data/ext/ffi_c/libffi/src/tramp.c +716 -0
  125. data/ext/ffi_c/libffi/src/types.c +4 -6
  126. data/ext/ffi_c/libffi/src/wasm32/ffi.c +947 -0
  127. data/ext/ffi_c/libffi/src/wasm32/ffitarget.h +62 -0
  128. data/ext/ffi_c/libffi/src/x86/ffi.c +99 -37
  129. data/ext/ffi_c/libffi/src/x86/ffi64.c +67 -12
  130. data/ext/ffi_c/libffi/src/x86/ffitarget.h +9 -5
  131. data/ext/ffi_c/libffi/src/x86/ffiw64.c +44 -1
  132. data/ext/ffi_c/libffi/src/x86/internal.h +14 -0
  133. data/ext/ffi_c/libffi/src/x86/internal64.h +14 -0
  134. data/ext/ffi_c/libffi/src/x86/sysv.S +172 -38
  135. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +91 -88
  136. data/ext/ffi_c/libffi/src/x86/unix64.S +96 -6
  137. data/ext/ffi_c/libffi/src/x86/win64.S +20 -7
  138. data/ext/ffi_c/libffi/src/xtensa/ffi.c +16 -8
  139. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +4 -0
  140. data/ext/ffi_c/libffi/src/xtensa/sysv.S +26 -16
  141. data/ext/ffi_c/libffi/testsuite/Makefile.am +79 -114
  142. data/ext/ffi_c/libffi/testsuite/Makefile.in +89 -121
  143. data/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +54 -0
  144. data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +63 -0
  145. data/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +86 -0
  146. data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +48 -0
  147. data/ext/ffi_c/libffi/testsuite/emscripten/test.html +7 -0
  148. data/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +51 -0
  149. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +43 -21
  150. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +2 -2
  151. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1 -0
  152. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +5 -1
  153. data/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +41 -0
  154. data/ext/ffi_c/libffi/testsuite/libffi.call/callback.c +99 -0
  155. data/ext/ffi_c/libffi/testsuite/libffi.call/callback2.c +108 -0
  156. data/ext/ffi_c/libffi/testsuite/libffi.call/callback3.c +114 -0
  157. data/ext/ffi_c/libffi/testsuite/libffi.call/callback4.c +119 -0
  158. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +28 -3
  159. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +3 -0
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +5 -0
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +4 -0
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +4 -0
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +60 -0
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +8 -9
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +2 -2
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +2 -2
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +2 -2
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +1 -1
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +63 -0
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +65 -0
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +65 -0
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +67 -0
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +67 -0
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +93 -0
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +61 -0
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +63 -0
  177. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +90 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -119
  179. data/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +220 -0
  180. data/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +154 -0
  181. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +13 -0
  182. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +11 -0
  183. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +15 -0
  184. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +3 -2
  185. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +2 -0
  186. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +2 -0
  187. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +21 -1
  188. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +2 -0
  189. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +2 -0
  190. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +2 -0
  191. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c +7 -6
  192. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +6 -0
  193. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +18 -0
  194. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +22 -0
  195. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +24 -0
  196. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +29 -0
  197. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c +4 -0
  198. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +19 -1
  199. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +21 -1
  200. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +35 -3
  201. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +13 -0
  202. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c +19 -0
  203. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +13 -0
  204. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +13 -0
  205. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +18 -0
  206. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c +22 -0
  207. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +13 -0
  208. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c +29 -1
  209. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +19 -1
  210. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +24 -0
  211. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c +28 -1
  212. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +24 -2
  213. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c +39 -1
  214. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +25 -1
  215. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +14 -0
  216. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +14 -1
  217. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +14 -2
  218. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c +19 -1
  219. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c +19 -1
  220. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c +20 -1
  221. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c +40 -25
  222. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c +40 -3
  223. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c +19 -1
  224. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c +18 -1
  225. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c +18 -3
  226. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c +18 -1
  227. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c +18 -1
  228. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c +19 -1
  229. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c +19 -1
  230. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +3 -1
  231. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c +9 -1
  232. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +4 -0
  233. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +11 -1
  234. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c +22 -3
  235. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c +5 -1
  236. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c +6 -1
  237. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +9 -1
  238. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c +9 -1
  239. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c +6 -2
  240. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +9 -1
  241. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +5 -0
  242. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c +10 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +3 -0
  244. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +2 -0
  245. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +3 -0
  246. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +11 -0
  247. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +3 -0
  248. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +4 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +4 -0
  250. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +4 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +2 -0
  252. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +3 -0
  253. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +1 -138
  254. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +21 -21
  255. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +32 -9
  256. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +1 -1
  257. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +12 -0
  258. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +21 -5
  259. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +86 -0
  260. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +115 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +10 -1
  262. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +10 -1
  263. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +9 -0
  264. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +9 -0
  265. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +11 -0
  266. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +9 -0
  267. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +11 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +11 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +86 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +102 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +101 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +1 -1
  273. data/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +1 -1
  274. data/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +6 -1
  275. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +2 -1
  276. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +1 -0
  277. data/ext/ffi_c/libffi.bsd.mk +2 -2
  278. data/ext/ffi_c/libffi.darwin.mk +2 -2
  279. data/ext/ffi_c/libffi.gnu.mk +2 -2
  280. data/ext/ffi_c/rbffi.h +1 -1
  281. data/ffi.gemspec +3 -3
  282. data/lib/ffi/autopointer.rb +8 -31
  283. data/lib/ffi/compat.rb +43 -0
  284. data/lib/ffi/data_converter.rb +2 -2
  285. data/lib/ffi/dynamic_library.rb +118 -0
  286. data/lib/ffi/enum.rb +18 -12
  287. data/lib/ffi/ffi.rb +3 -0
  288. data/lib/ffi/function.rb +71 -0
  289. data/lib/ffi/io.rb +2 -2
  290. data/lib/ffi/library.rb +72 -88
  291. data/lib/ffi/library_path.rb +109 -0
  292. data/lib/ffi/managedstruct.rb +1 -1
  293. data/lib/ffi/platform/aarch64-linux/types.conf +74 -3
  294. data/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  295. data/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  296. data/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  297. data/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  298. data/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  299. data/lib/ffi/platform.rb +15 -13
  300. data/lib/ffi/pointer.rb +6 -6
  301. data/lib/ffi/struct.rb +6 -5
  302. data/lib/ffi/struct_layout.rb +3 -3
  303. data/lib/ffi/struct_layout_builder.rb +9 -9
  304. data/lib/ffi/types.rb +65 -37
  305. data/lib/ffi/variadic.rb +19 -8
  306. data/lib/ffi/version.rb +1 -1
  307. data/samples/hello_ractor.rb +11 -0
  308. data/samples/qsort_ractor.rb +28 -0
  309. data/sig/ffi/abstract_memory.rbs +165 -0
  310. data/sig/ffi/auto_pointer.rbs +27 -0
  311. data/sig/ffi/buffer.rbs +18 -0
  312. data/sig/ffi/data_converter.rbs +10 -0
  313. data/sig/ffi/dynamic_library.rbs +9 -0
  314. data/sig/ffi/enum.rbs +38 -0
  315. data/sig/ffi/function.rbs +39 -0
  316. data/sig/ffi/library.rbs +42 -0
  317. data/sig/ffi/native_type.rbs +86 -0
  318. data/sig/ffi/pointer.rbs +42 -0
  319. data/sig/ffi/struct.rbs +76 -0
  320. data/sig/ffi/struct_by_reference.rbs +11 -0
  321. data/sig/ffi/struct_by_value.rbs +7 -0
  322. data/sig/ffi/struct_layout.rbs +9 -0
  323. data/sig/ffi/struct_layout_builder.rbs +5 -0
  324. data/sig/ffi/type.rbs +39 -0
  325. data/sig/ffi.rbs +26 -0
  326. data.tar.gz.sig +0 -0
  327. metadata +122 -28
  328. metadata.gz.sig +1 -0
  329. data/ext/ffi_c/libffi/.travis/build-cross-in-container.sh +0 -14
  330. data/ext/ffi_c/libffi/.travis/build.sh +0 -142
  331. data/ext/ffi_c/libffi/.travis.yml +0 -83
  332. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar_va.c +0 -44
  333. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort_va.c +0 -44
  334. /data/ext/ffi_c/libffi/{.travis → .ci}/ar-lib +0 -0
  335. /data/ext/ffi_c/libffi/{.travis → .ci}/bfin-sim.exp +0 -0
  336. /data/ext/ffi_c/libffi/{.travis → .ci}/compile +0 -0
  337. /data/ext/ffi_c/libffi/{.travis → .ci}/m32r-sim.exp +0 -0
  338. /data/ext/ffi_c/libffi/{.travis → .ci}/moxie-sim.exp +0 -0
  339. /data/ext/ffi_c/libffi/{.travis → .ci}/or1k-sim.exp +0 -0
  340. /data/ext/ffi_c/libffi/{.travis → .ci}/powerpc-eabisim.exp +0 -0
  341. /data/ext/ffi_c/libffi/{.travis → .ci}/wine-sim.exp +0 -0
  342. /data/ext/ffi_c/libffi/testsuite/libffi.call/{pyobjc-tc.c → pyobjc_tc.c} +0 -0
  343. /data/lib/ffi/platform/{sparc64-linux → sparcv9-linux}/types.conf +0 -0
@@ -0,0 +1,178 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.__blkcnt64_t = long_long
3
+ rbx.platform.typedef.__blkcnt_t = long
4
+ rbx.platform.typedef.__blksize_t = long
5
+ rbx.platform.typedef.__clock_t = long
6
+ rbx.platform.typedef.__clockid_t = int
7
+ rbx.platform.typedef.__daddr_t = int
8
+ rbx.platform.typedef.__dev_t = ulong_long
9
+ rbx.platform.typedef.__fd_mask = long
10
+ rbx.platform.typedef.__fsblkcnt64_t = ulong_long
11
+ rbx.platform.typedef.__fsblkcnt_t = ulong
12
+ rbx.platform.typedef.__fsfilcnt64_t = ulong_long
13
+ rbx.platform.typedef.__fsfilcnt_t = ulong
14
+ rbx.platform.typedef.__fsword_t = int
15
+ rbx.platform.typedef.__gid_t = uint
16
+ rbx.platform.typedef.__id_t = uint
17
+ rbx.platform.typedef.__ino64_t = ulong_long
18
+ rbx.platform.typedef.__ino_t = ulong
19
+ rbx.platform.typedef.__int16_t = short
20
+ rbx.platform.typedef.__int32_t = int
21
+ rbx.platform.typedef.__int64_t = long_long
22
+ rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__int_least16_t = short
24
+ rbx.platform.typedef.__int_least32_t = int
25
+ rbx.platform.typedef.__int_least64_t = long_long
26
+ rbx.platform.typedef.__int_least8_t = char
27
+ rbx.platform.typedef.__intmax_t = long_long
28
+ rbx.platform.typedef.__intptr_t = int
29
+ rbx.platform.typedef.__kernel_caddr_t = string
30
+ rbx.platform.typedef.__kernel_clock_t = long
31
+ rbx.platform.typedef.__kernel_clockid_t = int
32
+ rbx.platform.typedef.__kernel_daddr_t = int
33
+ rbx.platform.typedef.__kernel_gid16_t = ushort
34
+ rbx.platform.typedef.__kernel_gid32_t = uint
35
+ rbx.platform.typedef.__kernel_gid_t = uint
36
+ rbx.platform.typedef.__kernel_ino64_t = ulong_long
37
+ rbx.platform.typedef.__kernel_ino_t = ulong
38
+ rbx.platform.typedef.__kernel_ipc_pid_t = ushort
39
+ rbx.platform.typedef.__kernel_key_t = int
40
+ rbx.platform.typedef.__kernel_loff_t = long_long
41
+ rbx.platform.typedef.__kernel_long_t = long
42
+ rbx.platform.typedef.__kernel_mode_t = ushort
43
+ rbx.platform.typedef.__kernel_mqd_t = int
44
+ rbx.platform.typedef.__kernel_off64_t = long_long
45
+ rbx.platform.typedef.__kernel_off_t = long
46
+ rbx.platform.typedef.__kernel_old_dev_t = uint
47
+ rbx.platform.typedef.__kernel_old_gid_t = uint
48
+ rbx.platform.typedef.__kernel_old_time_t = long
49
+ rbx.platform.typedef.__kernel_old_uid_t = uint
50
+ rbx.platform.typedef.__kernel_pid_t = int
51
+ rbx.platform.typedef.__kernel_ptrdiff_t = int
52
+ rbx.platform.typedef.__kernel_size_t = uint
53
+ rbx.platform.typedef.__kernel_ssize_t = int
54
+ rbx.platform.typedef.__kernel_suseconds_t = long
55
+ rbx.platform.typedef.__kernel_time64_t = long_long
56
+ rbx.platform.typedef.__kernel_time_t = long
57
+ rbx.platform.typedef.__kernel_timer_t = int
58
+ rbx.platform.typedef.__kernel_uid16_t = ushort
59
+ rbx.platform.typedef.__kernel_uid32_t = uint
60
+ rbx.platform.typedef.__kernel_uid_t = uint
61
+ rbx.platform.typedef.__kernel_ulong_t = ulong
62
+ rbx.platform.typedef.__key_t = int
63
+ rbx.platform.typedef.__loff_t = long_long
64
+ rbx.platform.typedef.__mode_t = uint
65
+ rbx.platform.typedef.__nlink_t = uint
66
+ rbx.platform.typedef.__off64_t = long_long
67
+ rbx.platform.typedef.__off_t = long
68
+ rbx.platform.typedef.__pid_t = int
69
+ rbx.platform.typedef.__priority_which_t = int
70
+ rbx.platform.typedef.__quad_t = long_long
71
+ rbx.platform.typedef.__rlim64_t = ulong_long
72
+ rbx.platform.typedef.__rlim_t = ulong
73
+ rbx.platform.typedef.__rlimit_resource_t = int
74
+ rbx.platform.typedef.__rusage_who_t = int
75
+ rbx.platform.typedef.__sig_atomic_t = int
76
+ rbx.platform.typedef.__socklen_t = uint
77
+ rbx.platform.typedef.__ssize_t = int
78
+ rbx.platform.typedef.__suseconds64_t = long_long
79
+ rbx.platform.typedef.__suseconds_t = long
80
+ rbx.platform.typedef.__syscall_slong_t = long
81
+ rbx.platform.typedef.__syscall_ulong_t = ulong
82
+ rbx.platform.typedef.__thrd_t = ulong
83
+ rbx.platform.typedef.__time64_t = long_long
84
+ rbx.platform.typedef.__time_t = long
85
+ rbx.platform.typedef.__timer_t = pointer
86
+ rbx.platform.typedef.__tss_t = uint
87
+ rbx.platform.typedef.__u_char = uchar
88
+ rbx.platform.typedef.__u_int = uint
89
+ rbx.platform.typedef.__u_long = ulong
90
+ rbx.platform.typedef.__u_quad_t = ulong_long
91
+ rbx.platform.typedef.__u_short = ushort
92
+ rbx.platform.typedef.__uid_t = uint
93
+ rbx.platform.typedef.__uint16_t = ushort
94
+ rbx.platform.typedef.__uint32_t = uint
95
+ rbx.platform.typedef.__uint64_t = ulong_long
96
+ rbx.platform.typedef.__uint8_t = uchar
97
+ rbx.platform.typedef.__uint_least16_t = ushort
98
+ rbx.platform.typedef.__uint_least32_t = uint
99
+ rbx.platform.typedef.__uint_least64_t = ulong_long
100
+ rbx.platform.typedef.__uint_least8_t = uchar
101
+ rbx.platform.typedef.__uintmax_t = ulong_long
102
+ rbx.platform.typedef.__useconds_t = uint
103
+ rbx.platform.typedef.blkcnt_t = long_long
104
+ rbx.platform.typedef.blksize_t = long
105
+ rbx.platform.typedef.clock_t = long
106
+ rbx.platform.typedef.clockid_t = int
107
+ rbx.platform.typedef.daddr_t = int
108
+ rbx.platform.typedef.dev_t = ulong_long
109
+ rbx.platform.typedef.fd_mask = long
110
+ rbx.platform.typedef.fsblkcnt_t = ulong_long
111
+ rbx.platform.typedef.fsfilcnt_t = ulong_long
112
+ rbx.platform.typedef.gid_t = uint
113
+ rbx.platform.typedef.id_t = uint
114
+ rbx.platform.typedef.in_addr_t = uint
115
+ rbx.platform.typedef.in_port_t = ushort
116
+ rbx.platform.typedef.ino_t = ulong_long
117
+ rbx.platform.typedef.int16_t = short
118
+ rbx.platform.typedef.int32_t = int
119
+ rbx.platform.typedef.int64_t = long_long
120
+ rbx.platform.typedef.int8_t = char
121
+ rbx.platform.typedef.int_fast16_t = int
122
+ rbx.platform.typedef.int_fast32_t = int
123
+ rbx.platform.typedef.int_fast64_t = long_long
124
+ rbx.platform.typedef.int_fast8_t = char
125
+ rbx.platform.typedef.int_least16_t = short
126
+ rbx.platform.typedef.int_least32_t = int
127
+ rbx.platform.typedef.int_least64_t = long_long
128
+ rbx.platform.typedef.int_least8_t = char
129
+ rbx.platform.typedef.intmax_t = long_long
130
+ rbx.platform.typedef.intptr_t = int
131
+ rbx.platform.typedef.key_t = int
132
+ rbx.platform.typedef.loff_t = long_long
133
+ rbx.platform.typedef.mode_t = uint
134
+ rbx.platform.typedef.nlink_t = uint
135
+ rbx.platform.typedef.off_t = long_long
136
+ rbx.platform.typedef.pid_t = int
137
+ rbx.platform.typedef.pthread_key_t = uint
138
+ rbx.platform.typedef.pthread_once_t = int
139
+ rbx.platform.typedef.pthread_t = ulong
140
+ rbx.platform.typedef.ptrdiff_t = int
141
+ rbx.platform.typedef.quad_t = long_long
142
+ rbx.platform.typedef.register_t = long
143
+ rbx.platform.typedef.rlim_t = ulong_long
144
+ rbx.platform.typedef.sa_family_t = ushort
145
+ rbx.platform.typedef.size_t = uint
146
+ rbx.platform.typedef.socklen_t = uint
147
+ rbx.platform.typedef.ssize_t = int
148
+ rbx.platform.typedef.suseconds_t = long
149
+ rbx.platform.typedef.time_t = long
150
+ rbx.platform.typedef.timer_t = pointer
151
+ rbx.platform.typedef.u_char = uchar
152
+ rbx.platform.typedef.u_int = uint
153
+ rbx.platform.typedef.u_int16_t = ushort
154
+ rbx.platform.typedef.u_int32_t = uint
155
+ rbx.platform.typedef.u_int64_t = ulong_long
156
+ rbx.platform.typedef.u_int8_t = uchar
157
+ rbx.platform.typedef.u_long = ulong
158
+ rbx.platform.typedef.u_quad_t = ulong_long
159
+ rbx.platform.typedef.u_short = ushort
160
+ rbx.platform.typedef.uid_t = uint
161
+ rbx.platform.typedef.uint = uint
162
+ rbx.platform.typedef.uint16_t = ushort
163
+ rbx.platform.typedef.uint32_t = uint
164
+ rbx.platform.typedef.uint64_t = ulong_long
165
+ rbx.platform.typedef.uint8_t = uchar
166
+ rbx.platform.typedef.uint_fast16_t = uint
167
+ rbx.platform.typedef.uint_fast32_t = uint
168
+ rbx.platform.typedef.uint_fast64_t = ulong_long
169
+ rbx.platform.typedef.uint_fast8_t = uchar
170
+ rbx.platform.typedef.uint_least16_t = ushort
171
+ rbx.platform.typedef.uint_least32_t = uint
172
+ rbx.platform.typedef.uint_least64_t = ulong_long
173
+ rbx.platform.typedef.uint_least8_t = uchar
174
+ rbx.platform.typedef.uintmax_t = ulong_long
175
+ rbx.platform.typedef.uintptr_t = uint
176
+ rbx.platform.typedef.ulong = ulong
177
+ rbx.platform.typedef.ushort = ushort
178
+ rbx.platform.typedef.wchar_t = long
@@ -0,0 +1,178 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.__blkcnt64_t = long_long
3
+ rbx.platform.typedef.__blkcnt_t = long
4
+ rbx.platform.typedef.__blksize_t = long
5
+ rbx.platform.typedef.__clock_t = long
6
+ rbx.platform.typedef.__clockid_t = int
7
+ rbx.platform.typedef.__daddr_t = int
8
+ rbx.platform.typedef.__dev_t = ulong_long
9
+ rbx.platform.typedef.__fd_mask = long
10
+ rbx.platform.typedef.__fsblkcnt64_t = ulong_long
11
+ rbx.platform.typedef.__fsblkcnt_t = ulong
12
+ rbx.platform.typedef.__fsfilcnt64_t = ulong_long
13
+ rbx.platform.typedef.__fsfilcnt_t = ulong
14
+ rbx.platform.typedef.__fsword_t = int
15
+ rbx.platform.typedef.__gid_t = uint
16
+ rbx.platform.typedef.__id_t = uint
17
+ rbx.platform.typedef.__ino64_t = ulong_long
18
+ rbx.platform.typedef.__ino_t = ulong
19
+ rbx.platform.typedef.__int16_t = short
20
+ rbx.platform.typedef.__int32_t = int
21
+ rbx.platform.typedef.__int64_t = long_long
22
+ rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__int_least16_t = short
24
+ rbx.platform.typedef.__int_least32_t = int
25
+ rbx.platform.typedef.__int_least64_t = long_long
26
+ rbx.platform.typedef.__int_least8_t = char
27
+ rbx.platform.typedef.__intmax_t = long_long
28
+ rbx.platform.typedef.__intptr_t = int
29
+ rbx.platform.typedef.__kernel_caddr_t = string
30
+ rbx.platform.typedef.__kernel_clock_t = long
31
+ rbx.platform.typedef.__kernel_clockid_t = int
32
+ rbx.platform.typedef.__kernel_daddr_t = int
33
+ rbx.platform.typedef.__kernel_gid16_t = ushort
34
+ rbx.platform.typedef.__kernel_gid32_t = uint
35
+ rbx.platform.typedef.__kernel_gid_t = uint
36
+ rbx.platform.typedef.__kernel_ino64_t = ulong_long
37
+ rbx.platform.typedef.__kernel_ino_t = ulong
38
+ rbx.platform.typedef.__kernel_ipc_pid_t = ushort
39
+ rbx.platform.typedef.__kernel_key_t = int
40
+ rbx.platform.typedef.__kernel_loff_t = long_long
41
+ rbx.platform.typedef.__kernel_long_t = long
42
+ rbx.platform.typedef.__kernel_mode_t = ushort
43
+ rbx.platform.typedef.__kernel_mqd_t = int
44
+ rbx.platform.typedef.__kernel_off64_t = long_long
45
+ rbx.platform.typedef.__kernel_off_t = long
46
+ rbx.platform.typedef.__kernel_old_dev_t = uint
47
+ rbx.platform.typedef.__kernel_old_gid_t = uint
48
+ rbx.platform.typedef.__kernel_old_time_t = long
49
+ rbx.platform.typedef.__kernel_old_uid_t = uint
50
+ rbx.platform.typedef.__kernel_pid_t = int
51
+ rbx.platform.typedef.__kernel_ptrdiff_t = int
52
+ rbx.platform.typedef.__kernel_size_t = uint
53
+ rbx.platform.typedef.__kernel_ssize_t = int
54
+ rbx.platform.typedef.__kernel_suseconds_t = long
55
+ rbx.platform.typedef.__kernel_time64_t = long_long
56
+ rbx.platform.typedef.__kernel_time_t = long
57
+ rbx.platform.typedef.__kernel_timer_t = int
58
+ rbx.platform.typedef.__kernel_uid16_t = ushort
59
+ rbx.platform.typedef.__kernel_uid32_t = uint
60
+ rbx.platform.typedef.__kernel_uid_t = uint
61
+ rbx.platform.typedef.__kernel_ulong_t = ulong
62
+ rbx.platform.typedef.__key_t = int
63
+ rbx.platform.typedef.__loff_t = long_long
64
+ rbx.platform.typedef.__mode_t = uint
65
+ rbx.platform.typedef.__nlink_t = uint
66
+ rbx.platform.typedef.__off64_t = long_long
67
+ rbx.platform.typedef.__off_t = long
68
+ rbx.platform.typedef.__pid_t = int
69
+ rbx.platform.typedef.__priority_which_t = int
70
+ rbx.platform.typedef.__quad_t = long_long
71
+ rbx.platform.typedef.__rlim64_t = ulong_long
72
+ rbx.platform.typedef.__rlim_t = ulong
73
+ rbx.platform.typedef.__rlimit_resource_t = int
74
+ rbx.platform.typedef.__rusage_who_t = int
75
+ rbx.platform.typedef.__sig_atomic_t = int
76
+ rbx.platform.typedef.__socklen_t = uint
77
+ rbx.platform.typedef.__ssize_t = int
78
+ rbx.platform.typedef.__suseconds64_t = long_long
79
+ rbx.platform.typedef.__suseconds_t = long
80
+ rbx.platform.typedef.__syscall_slong_t = long
81
+ rbx.platform.typedef.__syscall_ulong_t = ulong
82
+ rbx.platform.typedef.__thrd_t = ulong
83
+ rbx.platform.typedef.__time64_t = long_long
84
+ rbx.platform.typedef.__time_t = long
85
+ rbx.platform.typedef.__timer_t = pointer
86
+ rbx.platform.typedef.__tss_t = uint
87
+ rbx.platform.typedef.__u_char = uchar
88
+ rbx.platform.typedef.__u_int = uint
89
+ rbx.platform.typedef.__u_long = ulong
90
+ rbx.platform.typedef.__u_quad_t = ulong_long
91
+ rbx.platform.typedef.__u_short = ushort
92
+ rbx.platform.typedef.__uid_t = uint
93
+ rbx.platform.typedef.__uint16_t = ushort
94
+ rbx.platform.typedef.__uint32_t = uint
95
+ rbx.platform.typedef.__uint64_t = ulong_long
96
+ rbx.platform.typedef.__uint8_t = uchar
97
+ rbx.platform.typedef.__uint_least16_t = ushort
98
+ rbx.platform.typedef.__uint_least32_t = uint
99
+ rbx.platform.typedef.__uint_least64_t = ulong_long
100
+ rbx.platform.typedef.__uint_least8_t = uchar
101
+ rbx.platform.typedef.__uintmax_t = ulong_long
102
+ rbx.platform.typedef.__useconds_t = uint
103
+ rbx.platform.typedef.blkcnt_t = long_long
104
+ rbx.platform.typedef.blksize_t = long
105
+ rbx.platform.typedef.clock_t = long
106
+ rbx.platform.typedef.clockid_t = int
107
+ rbx.platform.typedef.daddr_t = int
108
+ rbx.platform.typedef.dev_t = ulong_long
109
+ rbx.platform.typedef.fd_mask = long
110
+ rbx.platform.typedef.fsblkcnt_t = ulong_long
111
+ rbx.platform.typedef.fsfilcnt_t = ulong_long
112
+ rbx.platform.typedef.gid_t = uint
113
+ rbx.platform.typedef.id_t = uint
114
+ rbx.platform.typedef.in_addr_t = uint
115
+ rbx.platform.typedef.in_port_t = ushort
116
+ rbx.platform.typedef.ino_t = ulong_long
117
+ rbx.platform.typedef.int16_t = short
118
+ rbx.platform.typedef.int32_t = int
119
+ rbx.platform.typedef.int64_t = long_long
120
+ rbx.platform.typedef.int8_t = char
121
+ rbx.platform.typedef.int_fast16_t = int
122
+ rbx.platform.typedef.int_fast32_t = int
123
+ rbx.platform.typedef.int_fast64_t = long_long
124
+ rbx.platform.typedef.int_fast8_t = char
125
+ rbx.platform.typedef.int_least16_t = short
126
+ rbx.platform.typedef.int_least32_t = int
127
+ rbx.platform.typedef.int_least64_t = long_long
128
+ rbx.platform.typedef.int_least8_t = char
129
+ rbx.platform.typedef.intmax_t = long_long
130
+ rbx.platform.typedef.intptr_t = int
131
+ rbx.platform.typedef.key_t = int
132
+ rbx.platform.typedef.loff_t = long_long
133
+ rbx.platform.typedef.mode_t = uint
134
+ rbx.platform.typedef.nlink_t = uint
135
+ rbx.platform.typedef.off_t = long_long
136
+ rbx.platform.typedef.pid_t = int
137
+ rbx.platform.typedef.pthread_key_t = uint
138
+ rbx.platform.typedef.pthread_once_t = int
139
+ rbx.platform.typedef.pthread_t = ulong
140
+ rbx.platform.typedef.ptrdiff_t = int
141
+ rbx.platform.typedef.quad_t = long_long
142
+ rbx.platform.typedef.register_t = long
143
+ rbx.platform.typedef.rlim_t = ulong_long
144
+ rbx.platform.typedef.sa_family_t = ushort
145
+ rbx.platform.typedef.size_t = uint
146
+ rbx.platform.typedef.socklen_t = uint
147
+ rbx.platform.typedef.ssize_t = int
148
+ rbx.platform.typedef.suseconds_t = long
149
+ rbx.platform.typedef.time_t = long
150
+ rbx.platform.typedef.timer_t = pointer
151
+ rbx.platform.typedef.u_char = uchar
152
+ rbx.platform.typedef.u_int = uint
153
+ rbx.platform.typedef.u_int16_t = ushort
154
+ rbx.platform.typedef.u_int32_t = uint
155
+ rbx.platform.typedef.u_int64_t = ulong_long
156
+ rbx.platform.typedef.u_int8_t = uchar
157
+ rbx.platform.typedef.u_long = ulong
158
+ rbx.platform.typedef.u_quad_t = ulong_long
159
+ rbx.platform.typedef.u_short = ushort
160
+ rbx.platform.typedef.uid_t = uint
161
+ rbx.platform.typedef.uint = uint
162
+ rbx.platform.typedef.uint16_t = ushort
163
+ rbx.platform.typedef.uint32_t = uint
164
+ rbx.platform.typedef.uint64_t = ulong_long
165
+ rbx.platform.typedef.uint8_t = uchar
166
+ rbx.platform.typedef.uint_fast16_t = uint
167
+ rbx.platform.typedef.uint_fast32_t = uint
168
+ rbx.platform.typedef.uint_fast64_t = ulong_long
169
+ rbx.platform.typedef.uint_fast8_t = uchar
170
+ rbx.platform.typedef.uint_least16_t = ushort
171
+ rbx.platform.typedef.uint_least32_t = uint
172
+ rbx.platform.typedef.uint_least64_t = ulong_long
173
+ rbx.platform.typedef.uint_least8_t = uchar
174
+ rbx.platform.typedef.uintmax_t = ulong_long
175
+ rbx.platform.typedef.uintptr_t = uint
176
+ rbx.platform.typedef.ulong = ulong
177
+ rbx.platform.typedef.ushort = ushort
178
+ rbx.platform.typedef.wchar_t = long
@@ -0,0 +1,141 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.__blkcnt64_t = long
3
+ rbx.platform.typedef.__blkcnt_t = long
4
+ rbx.platform.typedef.__blksize_t = int
5
+ rbx.platform.typedef.__clock_t = long
6
+ rbx.platform.typedef.__clockid_t = int
7
+ rbx.platform.typedef.__daddr_t = int
8
+ rbx.platform.typedef.__dev_t = ulong
9
+ rbx.platform.typedef.__fd_mask = long
10
+ rbx.platform.typedef.__fsblkcnt64_t = ulong
11
+ rbx.platform.typedef.__fsblkcnt_t = ulong
12
+ rbx.platform.typedef.__fsfilcnt64_t = ulong
13
+ rbx.platform.typedef.__fsfilcnt_t = ulong
14
+ rbx.platform.typedef.__fsword_t = long
15
+ rbx.platform.typedef.__gid_t = uint
16
+ rbx.platform.typedef.__id_t = uint
17
+ rbx.platform.typedef.__ino64_t = ulong
18
+ rbx.platform.typedef.__ino_t = ulong
19
+ rbx.platform.typedef.__int16_t = short
20
+ rbx.platform.typedef.__int32_t = int
21
+ rbx.platform.typedef.__int64_t = long
22
+ rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__int_least16_t = short
24
+ rbx.platform.typedef.__int_least32_t = int
25
+ rbx.platform.typedef.__int_least64_t = long
26
+ rbx.platform.typedef.__int_least8_t = char
27
+ rbx.platform.typedef.__intmax_t = long
28
+ rbx.platform.typedef.__intptr_t = long
29
+ rbx.platform.typedef.__key_t = int
30
+ rbx.platform.typedef.__loff_t = long
31
+ rbx.platform.typedef.__mode_t = uint
32
+ rbx.platform.typedef.__nlink_t = uint
33
+ rbx.platform.typedef.__off64_t = long
34
+ rbx.platform.typedef.__off_t = long
35
+ rbx.platform.typedef.__pid_t = int
36
+ rbx.platform.typedef.__priority_which_t = int
37
+ rbx.platform.typedef.__quad_t = long
38
+ rbx.platform.typedef.__rlim64_t = ulong
39
+ rbx.platform.typedef.__rlim_t = ulong
40
+ rbx.platform.typedef.__rlimit_resource_t = int
41
+ rbx.platform.typedef.__rusage_who_t = int
42
+ rbx.platform.typedef.__sig_atomic_t = int
43
+ rbx.platform.typedef.__socklen_t = uint
44
+ rbx.platform.typedef.__ssize_t = long
45
+ rbx.platform.typedef.__suseconds_t = long
46
+ rbx.platform.typedef.__syscall_slong_t = long
47
+ rbx.platform.typedef.__syscall_ulong_t = ulong
48
+ rbx.platform.typedef.__time_t = long
49
+ rbx.platform.typedef.__timer_t = pointer
50
+ rbx.platform.typedef.__u_char = uchar
51
+ rbx.platform.typedef.__u_int = uint
52
+ rbx.platform.typedef.__u_long = ulong
53
+ rbx.platform.typedef.__u_quad_t = ulong
54
+ rbx.platform.typedef.__u_short = ushort
55
+ rbx.platform.typedef.__uid_t = uint
56
+ rbx.platform.typedef.__uint16_t = ushort
57
+ rbx.platform.typedef.__uint32_t = uint
58
+ rbx.platform.typedef.__uint64_t = ulong
59
+ rbx.platform.typedef.__uint8_t = uchar
60
+ rbx.platform.typedef.__uint_least16_t = ushort
61
+ rbx.platform.typedef.__uint_least32_t = uint
62
+ rbx.platform.typedef.__uint_least64_t = ulong
63
+ rbx.platform.typedef.__uint_least8_t = uchar
64
+ rbx.platform.typedef.__uintmax_t = ulong
65
+ rbx.platform.typedef.__useconds_t = uint
66
+ rbx.platform.typedef.blkcnt_t = long
67
+ rbx.platform.typedef.blksize_t = int
68
+ rbx.platform.typedef.clock_t = long
69
+ rbx.platform.typedef.clockid_t = int
70
+ rbx.platform.typedef.daddr_t = int
71
+ rbx.platform.typedef.dev_t = ulong
72
+ rbx.platform.typedef.fd_mask = long
73
+ rbx.platform.typedef.fsblkcnt_t = ulong
74
+ rbx.platform.typedef.fsfilcnt_t = ulong
75
+ rbx.platform.typedef.gid_t = uint
76
+ rbx.platform.typedef.id_t = uint
77
+ rbx.platform.typedef.in_addr_t = uint
78
+ rbx.platform.typedef.in_port_t = ushort
79
+ rbx.platform.typedef.ino_t = ulong
80
+ rbx.platform.typedef.int16_t = short
81
+ rbx.platform.typedef.int32_t = int
82
+ rbx.platform.typedef.int64_t = long
83
+ rbx.platform.typedef.int8_t = char
84
+ rbx.platform.typedef.int_fast16_t = long
85
+ rbx.platform.typedef.int_fast32_t = long
86
+ rbx.platform.typedef.int_fast64_t = long
87
+ rbx.platform.typedef.int_fast8_t = char
88
+ rbx.platform.typedef.int_least16_t = short
89
+ rbx.platform.typedef.int_least32_t = int
90
+ rbx.platform.typedef.int_least64_t = long
91
+ rbx.platform.typedef.int_least8_t = char
92
+ rbx.platform.typedef.intmax_t = long
93
+ rbx.platform.typedef.intptr_t = long
94
+ rbx.platform.typedef.key_t = int
95
+ rbx.platform.typedef.loff_t = long
96
+ rbx.platform.typedef.mode_t = uint
97
+ rbx.platform.typedef.nlink_t = uint
98
+ rbx.platform.typedef.off_t = long
99
+ rbx.platform.typedef.pid_t = int
100
+ rbx.platform.typedef.pthread_key_t = uint
101
+ rbx.platform.typedef.pthread_once_t = int
102
+ rbx.platform.typedef.pthread_t = ulong
103
+ rbx.platform.typedef.ptrdiff_t = long
104
+ rbx.platform.typedef.quad_t = long
105
+ rbx.platform.typedef.register_t = long
106
+ rbx.platform.typedef.rlim_t = ulong
107
+ rbx.platform.typedef.sa_family_t = ushort
108
+ rbx.platform.typedef.size_t = ulong
109
+ rbx.platform.typedef.socklen_t = uint
110
+ rbx.platform.typedef.ssize_t = long
111
+ rbx.platform.typedef.suseconds_t = long
112
+ rbx.platform.typedef.time_t = long
113
+ rbx.platform.typedef.timer_t = pointer
114
+ rbx.platform.typedef.u_char = uchar
115
+ rbx.platform.typedef.u_int = uint
116
+ rbx.platform.typedef.u_int16_t = ushort
117
+ rbx.platform.typedef.u_int32_t = uint
118
+ rbx.platform.typedef.u_int64_t = ulong_long
119
+ rbx.platform.typedef.u_int8_t = uchar
120
+ rbx.platform.typedef.u_long = ulong
121
+ rbx.platform.typedef.u_quad_t = ulong
122
+ rbx.platform.typedef.u_short = ushort
123
+ rbx.platform.typedef.uid_t = uint
124
+ rbx.platform.typedef.uint = uint
125
+ rbx.platform.typedef.uint16_t = ushort
126
+ rbx.platform.typedef.uint32_t = uint
127
+ rbx.platform.typedef.uint64_t = ulong
128
+ rbx.platform.typedef.uint8_t = uchar
129
+ rbx.platform.typedef.uint_fast16_t = ulong
130
+ rbx.platform.typedef.uint_fast32_t = ulong
131
+ rbx.platform.typedef.uint_fast64_t = ulong
132
+ rbx.platform.typedef.uint_fast8_t = uchar
133
+ rbx.platform.typedef.uint_least16_t = ushort
134
+ rbx.platform.typedef.uint_least32_t = uint
135
+ rbx.platform.typedef.uint_least64_t = ulong
136
+ rbx.platform.typedef.uint_least8_t = uchar
137
+ rbx.platform.typedef.uintmax_t = ulong
138
+ rbx.platform.typedef.uintptr_t = ulong
139
+ rbx.platform.typedef.ulong = ulong
140
+ rbx.platform.typedef.ushort = ushort
141
+ rbx.platform.typedef.wchar_t = int
@@ -0,0 +1,141 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.__blkcnt64_t = long
3
+ rbx.platform.typedef.__blkcnt_t = long
4
+ rbx.platform.typedef.__blksize_t = int
5
+ rbx.platform.typedef.__clock_t = long
6
+ rbx.platform.typedef.__clockid_t = int
7
+ rbx.platform.typedef.__daddr_t = int
8
+ rbx.platform.typedef.__dev_t = ulong
9
+ rbx.platform.typedef.__fd_mask = long
10
+ rbx.platform.typedef.__fsblkcnt64_t = ulong
11
+ rbx.platform.typedef.__fsblkcnt_t = ulong
12
+ rbx.platform.typedef.__fsfilcnt64_t = ulong
13
+ rbx.platform.typedef.__fsfilcnt_t = ulong
14
+ rbx.platform.typedef.__fsword_t = long
15
+ rbx.platform.typedef.__gid_t = uint
16
+ rbx.platform.typedef.__id_t = uint
17
+ rbx.platform.typedef.__ino64_t = ulong
18
+ rbx.platform.typedef.__ino_t = ulong
19
+ rbx.platform.typedef.__int16_t = short
20
+ rbx.platform.typedef.__int32_t = int
21
+ rbx.platform.typedef.__int64_t = long
22
+ rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__int_least16_t = short
24
+ rbx.platform.typedef.__int_least32_t = int
25
+ rbx.platform.typedef.__int_least64_t = long
26
+ rbx.platform.typedef.__int_least8_t = char
27
+ rbx.platform.typedef.__intmax_t = long
28
+ rbx.platform.typedef.__intptr_t = long
29
+ rbx.platform.typedef.__key_t = int
30
+ rbx.platform.typedef.__loff_t = long
31
+ rbx.platform.typedef.__mode_t = uint
32
+ rbx.platform.typedef.__nlink_t = uint
33
+ rbx.platform.typedef.__off64_t = long
34
+ rbx.platform.typedef.__off_t = long
35
+ rbx.platform.typedef.__pid_t = int
36
+ rbx.platform.typedef.__priority_which_t = int
37
+ rbx.platform.typedef.__quad_t = long
38
+ rbx.platform.typedef.__rlim64_t = ulong
39
+ rbx.platform.typedef.__rlim_t = ulong
40
+ rbx.platform.typedef.__rlimit_resource_t = int
41
+ rbx.platform.typedef.__rusage_who_t = int
42
+ rbx.platform.typedef.__sig_atomic_t = int
43
+ rbx.platform.typedef.__socklen_t = uint
44
+ rbx.platform.typedef.__ssize_t = long
45
+ rbx.platform.typedef.__suseconds_t = long
46
+ rbx.platform.typedef.__syscall_slong_t = long
47
+ rbx.platform.typedef.__syscall_ulong_t = ulong
48
+ rbx.platform.typedef.__time_t = long
49
+ rbx.platform.typedef.__timer_t = pointer
50
+ rbx.platform.typedef.__u_char = uchar
51
+ rbx.platform.typedef.__u_int = uint
52
+ rbx.platform.typedef.__u_long = ulong
53
+ rbx.platform.typedef.__u_quad_t = ulong
54
+ rbx.platform.typedef.__u_short = ushort
55
+ rbx.platform.typedef.__uid_t = uint
56
+ rbx.platform.typedef.__uint16_t = ushort
57
+ rbx.platform.typedef.__uint32_t = uint
58
+ rbx.platform.typedef.__uint64_t = ulong
59
+ rbx.platform.typedef.__uint8_t = uchar
60
+ rbx.platform.typedef.__uint_least16_t = ushort
61
+ rbx.platform.typedef.__uint_least32_t = uint
62
+ rbx.platform.typedef.__uint_least64_t = ulong
63
+ rbx.platform.typedef.__uint_least8_t = uchar
64
+ rbx.platform.typedef.__uintmax_t = ulong
65
+ rbx.platform.typedef.__useconds_t = uint
66
+ rbx.platform.typedef.blkcnt_t = long
67
+ rbx.platform.typedef.blksize_t = int
68
+ rbx.platform.typedef.clock_t = long
69
+ rbx.platform.typedef.clockid_t = int
70
+ rbx.platform.typedef.daddr_t = int
71
+ rbx.platform.typedef.dev_t = ulong
72
+ rbx.platform.typedef.fd_mask = long
73
+ rbx.platform.typedef.fsblkcnt_t = ulong
74
+ rbx.platform.typedef.fsfilcnt_t = ulong
75
+ rbx.platform.typedef.gid_t = uint
76
+ rbx.platform.typedef.id_t = uint
77
+ rbx.platform.typedef.in_addr_t = uint
78
+ rbx.platform.typedef.in_port_t = ushort
79
+ rbx.platform.typedef.ino_t = ulong
80
+ rbx.platform.typedef.int16_t = short
81
+ rbx.platform.typedef.int32_t = int
82
+ rbx.platform.typedef.int64_t = long
83
+ rbx.platform.typedef.int8_t = char
84
+ rbx.platform.typedef.int_fast16_t = long
85
+ rbx.platform.typedef.int_fast32_t = long
86
+ rbx.platform.typedef.int_fast64_t = long
87
+ rbx.platform.typedef.int_fast8_t = char
88
+ rbx.platform.typedef.int_least16_t = short
89
+ rbx.platform.typedef.int_least32_t = int
90
+ rbx.platform.typedef.int_least64_t = long
91
+ rbx.platform.typedef.int_least8_t = char
92
+ rbx.platform.typedef.intmax_t = long
93
+ rbx.platform.typedef.intptr_t = long
94
+ rbx.platform.typedef.key_t = int
95
+ rbx.platform.typedef.loff_t = long
96
+ rbx.platform.typedef.mode_t = uint
97
+ rbx.platform.typedef.nlink_t = uint
98
+ rbx.platform.typedef.off_t = long
99
+ rbx.platform.typedef.pid_t = int
100
+ rbx.platform.typedef.pthread_key_t = uint
101
+ rbx.platform.typedef.pthread_once_t = int
102
+ rbx.platform.typedef.pthread_t = ulong
103
+ rbx.platform.typedef.ptrdiff_t = long
104
+ rbx.platform.typedef.quad_t = long
105
+ rbx.platform.typedef.register_t = long
106
+ rbx.platform.typedef.rlim_t = ulong
107
+ rbx.platform.typedef.sa_family_t = ushort
108
+ rbx.platform.typedef.size_t = ulong
109
+ rbx.platform.typedef.socklen_t = uint
110
+ rbx.platform.typedef.ssize_t = long
111
+ rbx.platform.typedef.suseconds_t = long
112
+ rbx.platform.typedef.time_t = long
113
+ rbx.platform.typedef.timer_t = pointer
114
+ rbx.platform.typedef.u_char = uchar
115
+ rbx.platform.typedef.u_int = uint
116
+ rbx.platform.typedef.u_int16_t = ushort
117
+ rbx.platform.typedef.u_int32_t = uint
118
+ rbx.platform.typedef.u_int64_t = ulong_long
119
+ rbx.platform.typedef.u_int8_t = uchar
120
+ rbx.platform.typedef.u_long = ulong
121
+ rbx.platform.typedef.u_quad_t = ulong
122
+ rbx.platform.typedef.u_short = ushort
123
+ rbx.platform.typedef.uid_t = uint
124
+ rbx.platform.typedef.uint = uint
125
+ rbx.platform.typedef.uint16_t = ushort
126
+ rbx.platform.typedef.uint32_t = uint
127
+ rbx.platform.typedef.uint64_t = ulong
128
+ rbx.platform.typedef.uint8_t = uchar
129
+ rbx.platform.typedef.uint_fast16_t = ulong
130
+ rbx.platform.typedef.uint_fast32_t = ulong
131
+ rbx.platform.typedef.uint_fast64_t = ulong
132
+ rbx.platform.typedef.uint_fast8_t = uchar
133
+ rbx.platform.typedef.uint_least16_t = ushort
134
+ rbx.platform.typedef.uint_least32_t = uint
135
+ rbx.platform.typedef.uint_least64_t = ulong
136
+ rbx.platform.typedef.uint_least8_t = uchar
137
+ rbx.platform.typedef.uintmax_t = ulong
138
+ rbx.platform.typedef.uintptr_t = ulong
139
+ rbx.platform.typedef.ulong = ulong
140
+ rbx.platform.typedef.ushort = ushort
141
+ rbx.platform.typedef.wchar_t = int