ffi 1.11.1 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/{appveyor.yml → .appveyor.yml} +1 -1
  3. data/.gitmodules +2 -2
  4. data/CHANGELOG.md +16 -0
  5. data/Rakefile +1 -0
  6. data/ext/ffi_c/Call.c +3 -3
  7. data/ext/ffi_c/Call.h +2 -2
  8. data/ext/ffi_c/Function.c +4 -4
  9. data/ext/ffi_c/LongDouble.c +7 -7
  10. data/ext/ffi_c/libffi.darwin.mk +1 -1
  11. data/ext/ffi_c/libffi/.appveyor.yml +29 -13
  12. data/ext/ffi_c/libffi/.gitattributes +4 -0
  13. data/ext/ffi_c/libffi/.travis.yml +31 -2
  14. data/ext/ffi_c/libffi/.travis/build-in-container.sh +22 -0
  15. data/ext/ffi_c/libffi/.travis/build.sh +83 -7
  16. data/ext/ffi_c/libffi/.travis/install.sh +32 -11
  17. data/ext/ffi_c/libffi/LICENSE +1 -1
  18. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +5 -4
  19. data/ext/ffi_c/libffi/Makefile.am +30 -38
  20. data/ext/ffi_c/libffi/README.md +15 -6
  21. data/ext/ffi_c/libffi/configure.ac +1 -1
  22. data/ext/ffi_c/libffi/configure.host +21 -7
  23. data/ext/ffi_c/libffi/include/ffi.h.in +4 -0
  24. data/ext/ffi_c/libffi/include/ffi_common.h +4 -0
  25. data/ext/ffi_c/libffi/m4/asmcfi.m4 +1 -1
  26. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  27. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  28. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  29. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  30. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  31. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +511 -0
  32. data/ext/ffi_c/libffi/msvcc.sh +27 -2
  33. data/ext/ffi_c/libffi/src/aarch64/ffi.c +124 -56
  34. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +13 -2
  35. data/ext/ffi_c/libffi/src/aarch64/sysv.S +8 -6
  36. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  37. data/ext/ffi_c/libffi/src/arm/ffi.c +40 -5
  38. data/ext/ffi_c/libffi/src/arm/ffitarget.h +8 -1
  39. data/ext/ffi_c/libffi/src/arm/sysv.S +2 -0
  40. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  41. data/ext/ffi_c/libffi/src/closures.c +32 -8
  42. data/ext/ffi_c/libffi/src/pa/linux.S +23 -2
  43. data/ext/ffi_c/libffi/src/powerpc/ffi.c +3 -2
  44. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +58 -25
  45. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +1 -1
  46. data/ext/ffi_c/libffi/src/prep_cif.c +4 -2
  47. data/ext/ffi_c/libffi/src/x86/ffi.c +13 -6
  48. data/ext/ffi_c/libffi/src/x86/ffi64.c +5 -3
  49. data/ext/ffi_c/libffi/src/x86/ffiw64.c +6 -3
  50. data/ext/ffi_c/libffi/src/x86/sysv.S +2 -2
  51. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +995 -0
  52. data/ext/ffi_c/libffi/src/x86/win64.S +5 -0
  53. data/ext/ffi_c/libffi/testsuite/Makefile.am +111 -109
  54. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +26 -5
  55. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +9 -8
  56. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -1
  57. data/ffi.gemspec +1 -1
  58. data/lib/ffi/library.rb +5 -5
  59. data/lib/ffi/platform.rb +4 -1
  60. data/lib/ffi/platform/aarch64-freebsd/types.conf +89 -89
  61. data/lib/ffi/platform/aarch64-freebsd12/types.conf +89 -89
  62. data/lib/ffi/platform/aarch64-linux/types.conf +81 -81
  63. data/lib/ffi/platform/arm-freebsd/types.conf +87 -87
  64. data/lib/ffi/platform/arm-freebsd12/types.conf +87 -87
  65. data/lib/ffi/platform/arm-linux/types.conf +79 -79
  66. data/lib/ffi/platform/i386-cygwin/types.conf +1 -1
  67. data/lib/ffi/platform/i386-darwin/types.conf +63 -63
  68. data/lib/ffi/platform/i386-freebsd/types.conf +87 -87
  69. data/lib/ffi/platform/i386-freebsd12/types.conf +87 -87
  70. data/lib/ffi/platform/i386-gnu/types.conf +84 -84
  71. data/lib/ffi/platform/i386-linux/types.conf +77 -77
  72. data/lib/ffi/platform/i386-netbsd/types.conf +87 -87
  73. data/lib/ffi/platform/i386-openbsd/types.conf +89 -89
  74. data/lib/ffi/platform/i386-solaris/types.conf +96 -96
  75. data/lib/ffi/platform/i386-windows/types.conf +84 -84
  76. data/lib/ffi/platform/ia64-linux/types.conf +79 -79
  77. data/lib/ffi/platform/mips-linux/types.conf +79 -79
  78. data/lib/ffi/platform/mips64-linux/types.conf +81 -81
  79. data/lib/ffi/platform/mips64el-linux/types.conf +81 -81
  80. data/lib/ffi/platform/mipsel-linux/types.conf +79 -79
  81. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +79 -79
  82. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +79 -79
  83. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +81 -81
  84. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +81 -81
  85. data/lib/ffi/platform/powerpc-aix/types.conf +155 -155
  86. data/lib/ffi/platform/powerpc-darwin/types.conf +63 -63
  87. data/lib/ffi/platform/powerpc-linux/types.conf +77 -77
  88. data/lib/ffi/platform/powerpc64-linux/types.conf +81 -81
  89. data/lib/ffi/platform/s390-linux/types.conf +79 -79
  90. data/lib/ffi/platform/s390x-linux/types.conf +79 -79
  91. data/lib/ffi/platform/sparc-linux/types.conf +79 -79
  92. data/lib/ffi/platform/sparc-solaris/types.conf +103 -103
  93. data/lib/ffi/platform/sparc64-linux/types.conf +79 -79
  94. data/lib/ffi/platform/sparcv9-solaris/types.conf +103 -103
  95. data/lib/ffi/platform/x86_64-cygwin/types.conf +1 -1
  96. data/lib/ffi/platform/x86_64-darwin/types.conf +84 -84
  97. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +148 -0
  98. data/lib/ffi/platform/x86_64-freebsd/types.conf +89 -89
  99. data/lib/ffi/platform/x86_64-freebsd12/types.conf +139 -109
  100. data/lib/ffi/platform/x86_64-linux/types.conf +86 -77
  101. data/lib/ffi/platform/x86_64-netbsd/types.conf +89 -89
  102. data/lib/ffi/platform/x86_64-openbsd/types.conf +86 -86
  103. data/lib/ffi/platform/x86_64-solaris/types.conf +96 -96
  104. data/lib/ffi/platform/x86_64-windows/types.conf +99 -99
  105. data/lib/ffi/tools/types_generator.rb +5 -4
  106. data/lib/ffi/version.rb +1 -1
  107. metadata +19 -5
@@ -1,122 +1,122 @@
1
- rbx.platform.typedef.lock_t = uchar
2
- rbx.platform.typedef.int8_t = char
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.cnt_t = short
8
+ rbx.platform.typedef.cpu_flag_t = ushort
9
+ rbx.platform.typedef.ctid_t = int
10
+ rbx.platform.typedef.daddr_t = long
11
+ rbx.platform.typedef.datalink_id_t = uint
12
+ rbx.platform.typedef.dev_t = ulong
13
+ rbx.platform.typedef.diskaddr_t = ulong_long
14
+ rbx.platform.typedef.disp_lock_t = uchar
15
+ rbx.platform.typedef.fd_mask = long
16
+ rbx.platform.typedef.fds_mask = long
17
+ rbx.platform.typedef.fsblkcnt64_t = ulong
18
+ rbx.platform.typedef.fsblkcnt_t = ulong
19
+ rbx.platform.typedef.fsfilcnt64_t = ulong
20
+ rbx.platform.typedef.fsfilcnt_t = ulong
21
+ rbx.platform.typedef.gid_t = uint
22
+ rbx.platform.typedef.hrtime_t = long_long
23
+ rbx.platform.typedef.id_t = int
24
+ rbx.platform.typedef.in_addr_t = uint
25
+ rbx.platform.typedef.in_port_t = ushort
26
+ rbx.platform.typedef.index_t = short
27
+ rbx.platform.typedef.ino64_t = ulong
28
+ rbx.platform.typedef.ino_t = ulong
3
29
  rbx.platform.typedef.int16_t = short
4
30
  rbx.platform.typedef.int32_t = int
5
31
  rbx.platform.typedef.int64_t = long
6
- rbx.platform.typedef.uint8_t = uchar
7
- rbx.platform.typedef.uint16_t = ushort
8
- rbx.platform.typedef.uint32_t = uint
9
- rbx.platform.typedef.uint64_t = ulong
10
- rbx.platform.typedef.intmax_t = long
11
- rbx.platform.typedef.uintmax_t = ulong
12
- rbx.platform.typedef.intptr_t = long
13
- rbx.platform.typedef.uintptr_t = ulong
14
- rbx.platform.typedef.int_fast8_t = char
32
+ rbx.platform.typedef.int8_t = char
15
33
  rbx.platform.typedef.int_fast16_t = int
16
34
  rbx.platform.typedef.int_fast32_t = int
17
35
  rbx.platform.typedef.int_fast64_t = long
18
- rbx.platform.typedef.uint_fast8_t = uchar
19
- rbx.platform.typedef.uint_fast16_t = uint
20
- rbx.platform.typedef.uint_fast32_t = uint
21
- rbx.platform.typedef.uint_fast64_t = ulong
22
- rbx.platform.typedef.int_least8_t = char
36
+ rbx.platform.typedef.int_fast8_t = char
23
37
  rbx.platform.typedef.int_least16_t = short
24
38
  rbx.platform.typedef.int_least32_t = int
25
39
  rbx.platform.typedef.int_least64_t = long
26
- rbx.platform.typedef.uint_least8_t = uchar
27
- rbx.platform.typedef.uint_least16_t = ushort
28
- rbx.platform.typedef.uint_least32_t = uint
29
- rbx.platform.typedef.uint_least64_t = ulong
30
- rbx.platform.typedef.longlong_t = long_long
31
- rbx.platform.typedef.u_longlong_t = ulong_long
32
- rbx.platform.typedef.t_scalar_t = int
33
- rbx.platform.typedef.t_uscalar_t = uint
34
- rbx.platform.typedef.uchar_t = uchar
35
- rbx.platform.typedef.ushort_t = ushort
36
- rbx.platform.typedef.uint_t = uint
37
- rbx.platform.typedef.ulong_t = ulong
38
- rbx.platform.typedef.*caddr_t = char
39
- rbx.platform.typedef.daddr_t = long
40
- rbx.platform.typedef.cnt_t = short
41
- rbx.platform.typedef.ptrdiff_t = long
42
- rbx.platform.typedef.pfn_t = ulong
43
- rbx.platform.typedef.pgcnt_t = ulong
44
- rbx.platform.typedef.spgcnt_t = long
45
- rbx.platform.typedef.use_t = uchar
46
- rbx.platform.typedef.sysid_t = short
47
- rbx.platform.typedef.index_t = short
48
- rbx.platform.typedef.off_t = long
49
- rbx.platform.typedef.off64_t = long
50
- rbx.platform.typedef.ino_t = ulong
51
- rbx.platform.typedef.blkcnt_t = long
52
- rbx.platform.typedef.fsblkcnt_t = ulong
53
- rbx.platform.typedef.fsfilcnt_t = ulong
54
- rbx.platform.typedef.ino64_t = ulong
55
- rbx.platform.typedef.blkcnt64_t = long
56
- rbx.platform.typedef.fsblkcnt64_t = ulong
57
- rbx.platform.typedef.fsfilcnt64_t = ulong
58
- rbx.platform.typedef.blksize_t = int
59
- rbx.platform.typedef.pad64_t = long
60
- rbx.platform.typedef.upad64_t = ulong
61
- rbx.platform.typedef.offset_t = long_long
62
- rbx.platform.typedef.u_offset_t = ulong_long
63
- rbx.platform.typedef.len_t = ulong_long
64
- rbx.platform.typedef.diskaddr_t = ulong_long
40
+ rbx.platform.typedef.int_least8_t = char
41
+ rbx.platform.typedef.intmax_t = long
42
+ rbx.platform.typedef.intptr_t = long
43
+ rbx.platform.typedef.ipaddr_t = uint
65
44
  rbx.platform.typedef.k_fltset_t = uint
66
- rbx.platform.typedef.id_t = int
45
+ rbx.platform.typedef.key_t = int
46
+ rbx.platform.typedef.len_t = ulong_long
67
47
  rbx.platform.typedef.lgrp_id_t = int
68
- rbx.platform.typedef.useconds_t = uint
69
- rbx.platform.typedef.suseconds_t = long
48
+ rbx.platform.typedef.lock_t = uchar
49
+ rbx.platform.typedef.longlong_t = long_long
70
50
  rbx.platform.typedef.major_t = uint
71
51
  rbx.platform.typedef.minor_t = uint
72
- rbx.platform.typedef.pri_t = short
73
- rbx.platform.typedef.cpu_flag_t = ushort
74
- rbx.platform.typedef.o_mode_t = ushort
52
+ rbx.platform.typedef.mode_t = uint
53
+ rbx.platform.typedef.model_t = uint
54
+ rbx.platform.typedef.nfds_t = ulong
55
+ rbx.platform.typedef.nlink_t = uint
75
56
  rbx.platform.typedef.o_dev_t = short
76
- rbx.platform.typedef.o_uid_t = ushort
77
57
  rbx.platform.typedef.o_gid_t = ushort
58
+ rbx.platform.typedef.o_ino_t = ushort
59
+ rbx.platform.typedef.o_mode_t = ushort
78
60
  rbx.platform.typedef.o_nlink_t = short
79
61
  rbx.platform.typedef.o_pid_t = short
80
- rbx.platform.typedef.o_ino_t = ushort
81
- rbx.platform.typedef.key_t = int
82
- rbx.platform.typedef.mode_t = uint
83
- rbx.platform.typedef.uid_t = uint
84
- rbx.platform.typedef.gid_t = uint
85
- rbx.platform.typedef.datalink_id_t = uint
86
- rbx.platform.typedef.taskid_t = int
87
- rbx.platform.typedef.projid_t = int
62
+ rbx.platform.typedef.o_uid_t = ushort
63
+ rbx.platform.typedef.off64_t = long
64
+ rbx.platform.typedef.off_t = long
65
+ rbx.platform.typedef.offset_t = long_long
66
+ rbx.platform.typedef.pad64_t = long
67
+ rbx.platform.typedef.pfn_t = ulong
68
+ rbx.platform.typedef.pgcnt_t = ulong
69
+ rbx.platform.typedef.pid_t = int
88
70
  rbx.platform.typedef.poolid_t = int
89
- rbx.platform.typedef.zoneid_t = int
90
- rbx.platform.typedef.ctid_t = int
91
- rbx.platform.typedef.pthread_t = uint
71
+ rbx.platform.typedef.pri_t = short
72
+ rbx.platform.typedef.projid_t = int
92
73
  rbx.platform.typedef.pthread_key_t = uint
93
- rbx.platform.typedef.dev_t = ulong
94
- rbx.platform.typedef.nlink_t = uint
95
- rbx.platform.typedef.pid_t = int
74
+ rbx.platform.typedef.pthread_t = uint
75
+ rbx.platform.typedef.ptrdiff_t = long
76
+ rbx.platform.typedef.rlim64_t = ulong_long
77
+ rbx.platform.typedef.rlim_t = ulong
78
+ rbx.platform.typedef.sa_family_t = ushort
96
79
  rbx.platform.typedef.size_t = ulong
80
+ rbx.platform.typedef.socklen_t = uint
81
+ rbx.platform.typedef.spgcnt_t = long
97
82
  rbx.platform.typedef.ssize_t = long
83
+ rbx.platform.typedef.suseconds_t = long
84
+ rbx.platform.typedef.sysid_t = short
85
+ rbx.platform.typedef.t_scalar_t = int
86
+ rbx.platform.typedef.t_uscalar_t = uint
87
+ rbx.platform.typedef.taskid_t = int
98
88
  rbx.platform.typedef.time_t = long
99
- rbx.platform.typedef.clock_t = long
100
- rbx.platform.typedef.clockid_t = int
101
89
  rbx.platform.typedef.timer_t = int
102
- rbx.platform.typedef.unchar = uchar
103
- rbx.platform.typedef.ushort = ushort
104
- rbx.platform.typedef.uint = uint
105
- rbx.platform.typedef.ulong = ulong
106
90
  rbx.platform.typedef.u_char = uchar
107
- rbx.platform.typedef.u_short = ushort
108
91
  rbx.platform.typedef.u_int = uint
109
92
  rbx.platform.typedef.u_long = ulong
110
- rbx.platform.typedef.hrtime_t = long_long
111
- rbx.platform.typedef.fd_mask = long
112
- rbx.platform.typedef.fds_mask = long
113
- rbx.platform.typedef.sa_family_t = ushort
114
- rbx.platform.typedef.socklen_t = uint
115
- rbx.platform.typedef.nfds_t = ulong
116
- rbx.platform.typedef.disp_lock_t = uchar
117
- rbx.platform.typedef.model_t = uint
118
- rbx.platform.typedef.in_port_t = ushort
119
- rbx.platform.typedef.in_addr_t = uint
120
- rbx.platform.typedef.ipaddr_t = uint
121
- rbx.platform.typedef.rlim_t = ulong
122
- rbx.platform.typedef.rlim64_t = ulong_long
93
+ rbx.platform.typedef.u_longlong_t = ulong_long
94
+ rbx.platform.typedef.u_offset_t = ulong_long
95
+ rbx.platform.typedef.u_short = ushort
96
+ rbx.platform.typedef.uchar_t = uchar
97
+ rbx.platform.typedef.uid_t = uint
98
+ rbx.platform.typedef.uint = uint
99
+ rbx.platform.typedef.uint16_t = ushort
100
+ rbx.platform.typedef.uint32_t = uint
101
+ rbx.platform.typedef.uint64_t = ulong
102
+ rbx.platform.typedef.uint8_t = uchar
103
+ rbx.platform.typedef.uint_fast16_t = uint
104
+ rbx.platform.typedef.uint_fast32_t = uint
105
+ rbx.platform.typedef.uint_fast64_t = ulong
106
+ rbx.platform.typedef.uint_fast8_t = uchar
107
+ rbx.platform.typedef.uint_least16_t = ushort
108
+ rbx.platform.typedef.uint_least32_t = uint
109
+ rbx.platform.typedef.uint_least64_t = ulong
110
+ rbx.platform.typedef.uint_least8_t = uchar
111
+ rbx.platform.typedef.uint_t = uint
112
+ rbx.platform.typedef.uintmax_t = ulong
113
+ rbx.platform.typedef.uintptr_t = ulong
114
+ rbx.platform.typedef.ulong = ulong
115
+ rbx.platform.typedef.ulong_t = ulong
116
+ rbx.platform.typedef.unchar = uchar
117
+ rbx.platform.typedef.upad64_t = ulong
118
+ rbx.platform.typedef.use_t = uchar
119
+ rbx.platform.typedef.useconds_t = uint
120
+ rbx.platform.typedef.ushort = ushort
121
+ rbx.platform.typedef.ushort_t = ushort
122
+ rbx.platform.typedef.zoneid_t = int
@@ -1,120 +1,120 @@
1
- rbx.platform.typedef.__int8_t = char
2
- rbx.platform.typedef.__uint8_t = uchar
1
+ rbx.platform.typedef.*addr_t = char
2
+ rbx.platform.typedef.__ULong = ulong
3
+ rbx.platform.typedef.__blkcnt32_t = long
4
+ rbx.platform.typedef.__blkcnt64_t = long_long
5
+ rbx.platform.typedef.__dev16_t = short
6
+ rbx.platform.typedef.__dev32_t = ulong
7
+ rbx.platform.typedef.__dev_t = short
8
+ rbx.platform.typedef.__gid16_t = ushort
9
+ rbx.platform.typedef.__gid32_t = ulong
10
+ rbx.platform.typedef.__gid_t = ushort
11
+ rbx.platform.typedef.__ino32_t = ulong
12
+ rbx.platform.typedef.__ino64_t = ulong_long
3
13
  rbx.platform.typedef.__int16_t = short
4
- rbx.platform.typedef.__uint16_t = ushort
5
- rbx.platform.typedef.__int_least16_t = short
6
- rbx.platform.typedef.__uint_least16_t = ushort
7
14
  rbx.platform.typedef.__int32_t = int
8
- rbx.platform.typedef.__uint32_t = uint
9
- rbx.platform.typedef.__int_least32_t = int
10
- rbx.platform.typedef.__uint_least32_t = uint
11
15
  rbx.platform.typedef.__int64_t = long_long
12
- rbx.platform.typedef.__uint64_t = ulong_long
13
- rbx.platform.typedef._off_t = long
14
- rbx.platform.typedef.__dev_t = short
16
+ rbx.platform.typedef.__int8_t = char
17
+ rbx.platform.typedef.__int_least16_t = short
18
+ rbx.platform.typedef.__int_least32_t = int
19
+ rbx.platform.typedef.__loff_t = long_long
20
+ rbx.platform.typedef.__off_t = long
21
+ rbx.platform.typedef.__pid_t = int
22
+ rbx.platform.typedef.__time32_t = long
23
+ rbx.platform.typedef.__time64_t = long_long
24
+ rbx.platform.typedef.__uid16_t = ushort
25
+ rbx.platform.typedef.__uid32_t = ulong
15
26
  rbx.platform.typedef.__uid_t = ushort
16
- rbx.platform.typedef.__gid_t = ushort
17
- rbx.platform.typedef._off64_t = long_long
18
- rbx.platform.typedef.fpos_t = long_long
19
- rbx.platform.typedef._fpos_t = long_long
27
+ rbx.platform.typedef.__uint16_t = ushort
28
+ rbx.platform.typedef.__uint32_t = uint
29
+ rbx.platform.typedef.__uint64_t = ulong_long
30
+ rbx.platform.typedef.__uint8_t = uchar
31
+ rbx.platform.typedef.__uint_least16_t = ushort
32
+ rbx.platform.typedef.__uint_least32_t = uint
33
+ rbx.platform.typedef._dev_t = uint
20
34
  rbx.platform.typedef._fpos64_t = long_long
35
+ rbx.platform.typedef._fpos_t = long_long
36
+ rbx.platform.typedef._ino_t = ushort
37
+ rbx.platform.typedef._mode_t = ushort
38
+ rbx.platform.typedef._off64_t = long_long
39
+ rbx.platform.typedef._off_t = long
40
+ rbx.platform.typedef._sigset_t = ulong_long
21
41
  rbx.platform.typedef._ssize_t = long_long
22
- rbx.platform.typedef.wchar_t = ushort
23
- rbx.platform.typedef.wint_t = uint
24
- rbx.platform.typedef.wctype_t = ushort
25
- rbx.platform.typedef.ptrdiff_t = long_long
26
- rbx.platform.typedef.size_t = ulong_long
27
- rbx.platform.typedef.__off_t = long
28
- rbx.platform.typedef.__pid_t = int
29
- rbx.platform.typedef.__loff_t = long_long
30
- rbx.platform.typedef.u_char = uchar
31
- rbx.platform.typedef.u_short = ushort
32
- rbx.platform.typedef.u_int = uint
33
- rbx.platform.typedef.u_long = ulong
34
- rbx.platform.typedef.ushort = ushort
35
- rbx.platform.typedef.uint = uint
36
- rbx.platform.typedef.ulong = ulong
42
+ rbx.platform.typedef.blkcnt_t = long_long
43
+ rbx.platform.typedef.blksize_t = long
44
+ rbx.platform.typedef.caddr_t = string
37
45
  rbx.platform.typedef.clock_t = ulong
38
- rbx.platform.typedef.time_t = long_long
46
+ rbx.platform.typedef.clockid_t = ulong
39
47
  rbx.platform.typedef.daddr_t = long
40
- rbx.platform.typedef.caddr_t = string
41
- rbx.platform.typedef.pid_t = int
42
- rbx.platform.typedef.ssize_t = int
43
- rbx.platform.typedef.nlink_t = ushort
48
+ rbx.platform.typedef.dev_t = uint
49
+ rbx.platform.typedef.errno_t = int
44
50
  rbx.platform.typedef.fd_mask = long
45
- rbx.platform.typedef.clockid_t = ulong
46
- rbx.platform.typedef.timer_t = ulong
47
- rbx.platform.typedef.useconds_t = ulong
48
- rbx.platform.typedef.suseconds_t = long
49
- rbx.platform.typedef.int8_t = char
51
+ rbx.platform.typedef.fpos_t = long_long
52
+ rbx.platform.typedef.fsblkcnt_t = ulong
53
+ rbx.platform.typedef.fsfilcnt_t = ulong
54
+ rbx.platform.typedef.gid_t = ulong
55
+ rbx.platform.typedef.id_t = ulong
56
+ rbx.platform.typedef.ino_t = ushort
50
57
  rbx.platform.typedef.int16_t = short
51
58
  rbx.platform.typedef.int32_t = int
52
59
  rbx.platform.typedef.int64_t = long_long
53
- rbx.platform.typedef.uint8_t = uchar
54
- rbx.platform.typedef.uint16_t = ushort
55
- rbx.platform.typedef.uint32_t = uint
56
- rbx.platform.typedef.uint64_t = ulong_long
57
- rbx.platform.typedef.int_least8_t = char
58
- rbx.platform.typedef.int_least16_t = short
59
- rbx.platform.typedef.int_least32_t = int
60
- rbx.platform.typedef.int_least64_t = long_long
61
- rbx.platform.typedef.uint_least8_t = uchar
62
- rbx.platform.typedef.uint_least16_t = ushort
63
- rbx.platform.typedef.uint_least32_t = uint
64
- rbx.platform.typedef.uint_least64_t = ulong_long
65
- rbx.platform.typedef.int_fast8_t = char
60
+ rbx.platform.typedef.int8_t = char
66
61
  rbx.platform.typedef.int_fast16_t = int
67
62
  rbx.platform.typedef.int_fast32_t = int
68
63
  rbx.platform.typedef.int_fast64_t = long_long
69
- rbx.platform.typedef.uint_fast8_t = uchar
64
+ rbx.platform.typedef.int_fast8_t = char
65
+ rbx.platform.typedef.int_least16_t = short
66
+ rbx.platform.typedef.int_least32_t = int
67
+ rbx.platform.typedef.int_least64_t = long_long
68
+ rbx.platform.typedef.int_least8_t = char
69
+ rbx.platform.typedef.intmax_t = long_long
70
+ rbx.platform.typedef.intptr_t = long_long
71
+ rbx.platform.typedef.key_t = long_long
72
+ rbx.platform.typedef.loff_t = long_long
73
+ rbx.platform.typedef.mode_t = ushort
74
+ rbx.platform.typedef.nlink_t = ushort
75
+ rbx.platform.typedef.off_t = long_long
76
+ rbx.platform.typedef.pid_t = int
77
+ rbx.platform.typedef.ptrdiff_t = long_long
78
+ rbx.platform.typedef.register_t = int
79
+ rbx.platform.typedef.rlim_t = ulong
80
+ rbx.platform.typedef.sa_family_t = ushort
81
+ rbx.platform.typedef.sig_atomic_t = int
82
+ rbx.platform.typedef.sigset_t = ulong
83
+ rbx.platform.typedef.size_t = ulong_long
84
+ rbx.platform.typedef.socklen_t = int
85
+ rbx.platform.typedef.ssize_t = int
86
+ rbx.platform.typedef.suseconds_t = long
87
+ rbx.platform.typedef.time_t = long_long
88
+ rbx.platform.typedef.timer_t = ulong
89
+ rbx.platform.typedef.u_char = uchar
90
+ rbx.platform.typedef.u_int = uint
91
+ rbx.platform.typedef.u_int16_t = ushort
92
+ rbx.platform.typedef.u_int32_t = uint
93
+ rbx.platform.typedef.u_int64_t = ulong_long
94
+ rbx.platform.typedef.u_int8_t = uchar
95
+ rbx.platform.typedef.u_long = ulong
96
+ rbx.platform.typedef.u_short = ushort
97
+ rbx.platform.typedef.uid_t = ulong
98
+ rbx.platform.typedef.uint = uint
99
+ rbx.platform.typedef.uint16_t = ushort
100
+ rbx.platform.typedef.uint32_t = uint
101
+ rbx.platform.typedef.uint64_t = ulong_long
102
+ rbx.platform.typedef.uint8_t = uchar
70
103
  rbx.platform.typedef.uint_fast16_t = uint
71
104
  rbx.platform.typedef.uint_fast32_t = uint
72
105
  rbx.platform.typedef.uint_fast64_t = ulong_long
73
- rbx.platform.typedef.intptr_t = long_long
74
- rbx.platform.typedef.uintptr_t = ulong_long
75
- rbx.platform.typedef.intmax_t = long_long
106
+ rbx.platform.typedef.uint_fast8_t = uchar
107
+ rbx.platform.typedef.uint_least16_t = ushort
108
+ rbx.platform.typedef.uint_least32_t = uint
109
+ rbx.platform.typedef.uint_least64_t = ulong_long
110
+ rbx.platform.typedef.uint_least8_t = uchar
76
111
  rbx.platform.typedef.uintmax_t = ulong_long
77
- rbx.platform.typedef.off_t = long_long
78
- rbx.platform.typedef.loff_t = long_long
79
- rbx.platform.typedef.__dev16_t = short
80
- rbx.platform.typedef.__dev32_t = ulong
81
- rbx.platform.typedef._dev_t = uint
82
- rbx.platform.typedef.dev_t = uint
83
- rbx.platform.typedef.blksize_t = long
84
- rbx.platform.typedef.__blkcnt32_t = long
85
- rbx.platform.typedef.__blkcnt64_t = long_long
86
- rbx.platform.typedef.blkcnt_t = long_long
87
- rbx.platform.typedef.fsblkcnt_t = ulong
88
- rbx.platform.typedef.fsfilcnt_t = ulong
89
- rbx.platform.typedef.__uid16_t = ushort
90
- rbx.platform.typedef.__uid32_t = ulong
91
- rbx.platform.typedef.uid_t = ulong
92
- rbx.platform.typedef.__gid16_t = ushort
93
- rbx.platform.typedef.__gid32_t = ulong
94
- rbx.platform.typedef.gid_t = ulong
95
- rbx.platform.typedef.__ino32_t = ulong
96
- rbx.platform.typedef.__ino64_t = ulong_long
97
- rbx.platform.typedef.ino_t = ushort
98
- rbx.platform.typedef._ino_t = ushort
99
- rbx.platform.typedef.id_t = ulong
100
- rbx.platform.typedef.key_t = long_long
112
+ rbx.platform.typedef.uintptr_t = ulong_long
113
+ rbx.platform.typedef.ulong = ulong
114
+ rbx.platform.typedef.useconds_t = ulong
115
+ rbx.platform.typedef.ushort = ushort
101
116
  rbx.platform.typedef.vm_offset_t = ulong
102
117
  rbx.platform.typedef.vm_size_t = ulong
103
- rbx.platform.typedef.u_int8_t = uchar
104
- rbx.platform.typedef.u_int16_t = ushort
105
- rbx.platform.typedef.u_int32_t = uint
106
- rbx.platform.typedef.u_int64_t = ulong_long
107
- rbx.platform.typedef.register_t = int
108
- rbx.platform.typedef.*addr_t = char
109
- rbx.platform.typedef.socklen_t = int
110
- rbx.platform.typedef.sa_family_t = ushort
111
- rbx.platform.typedef.__ULong = ulong
112
- rbx.platform.typedef.sigset_t = ulong
113
- rbx.platform.typedef.sig_atomic_t = int
114
- rbx.platform.typedef.rlim_t = ulong
115
- rbx.platform.typedef._sigset_t = ulong_long
116
- rbx.platform.typedef.__time32_t = long
117
- rbx.platform.typedef.__time64_t = long_long
118
- rbx.platform.typedef.errno_t = int
119
- rbx.platform.typedef._mode_t = ushort
120
- rbx.platform.typedef.mode_t = ushort
118
+ rbx.platform.typedef.wchar_t = ushort
119
+ rbx.platform.typedef.wctype_t = ushort
120
+ rbx.platform.typedef.wint_t = uint
@@ -50,6 +50,7 @@ module FFI
50
50
  #include <sys/types.h>
51
51
  #if !(defined(WIN32))
52
52
  #include <sys/socket.h>
53
+ #include <netinet/in.h>
53
54
  #include <sys/resource.h>
54
55
  #endif
55
56
  C
@@ -66,7 +67,7 @@ module FFI
66
67
  end
67
68
  end
68
69
 
69
- code = ""
70
+ code = []
70
71
 
71
72
  typedefs.each_line do |type|
72
73
  # We only care about single line typedef
@@ -116,18 +117,18 @@ module FFI
116
117
  end
117
118
 
118
119
  if type = TYPE_MAP[def_type]
119
- code << "rbx.platform.typedef.#{final_type} = #{type}\n"
120
+ code << "rbx.platform.typedef.#{final_type} = #{type}"
120
121
  TYPE_MAP[final_type] = TYPE_MAP[def_type]
121
122
  else
122
123
  # Fallback to an ordinary pointer if we don't know the type
123
124
  if def_type =~ /\*/
124
- code << "rbx.platform.typedef.#{final_type} = pointer\n"
125
+ code << "rbx.platform.typedef.#{final_type} = pointer"
125
126
  TYPE_MAP[final_type] = :pointer
126
127
  end
127
128
  end
128
129
  end
129
130
 
130
- code
131
+ code.sort.join("\n")
131
132
  end
132
133
  end
133
134
  end