ffi 1.12.2-x86-mingw32 → 1.14.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +82 -0
  3. data/Gemfile +4 -2
  4. data/README.md +10 -2
  5. data/Rakefile +31 -43
  6. data/ffi.gemspec +2 -2
  7. data/lib/2.3/ffi_c.so +0 -0
  8. data/lib/2.4/ffi_c.so +0 -0
  9. data/lib/2.5/ffi_c.so +0 -0
  10. data/lib/2.6/ffi_c.so +0 -0
  11. data/lib/2.7/ffi_c.so +0 -0
  12. data/lib/3.0/ffi_c.so +0 -0
  13. data/lib/ffi.rb +10 -2
  14. data/lib/ffi/abstract_memory.rb +44 -0
  15. data/lib/ffi/autopointer.rb +1 -1
  16. data/lib/ffi/ffi.rb +1 -0
  17. data/lib/ffi/io.rb +3 -3
  18. data/lib/ffi/library.rb +6 -2
  19. data/lib/ffi/managedstruct.rb +2 -2
  20. data/lib/ffi/platform.rb +21 -8
  21. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  22. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  23. data/lib/ffi/platform/arm-linux/types.conf +32 -4
  24. data/lib/ffi/platform/i386-windows/types.conf +26 -79
  25. data/lib/ffi/platform/powerpc-linux/types.conf +32 -2
  26. data/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  27. data/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  28. data/lib/ffi/platform/x86_64-darwin/types.conf +4 -0
  29. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +4 -22
  30. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  31. data/lib/ffi/platform/x86_64-linux/types.conf +21 -0
  32. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  33. data/lib/ffi/platform/x86_64-windows/types.conf +10 -78
  34. data/lib/ffi/pointer.rb +21 -14
  35. data/lib/ffi/struct.rb +8 -2
  36. data/lib/ffi/tools/types_generator.rb +2 -0
  37. data/lib/ffi/variadic.rb +1 -1
  38. data/lib/ffi/version.rb +1 -1
  39. data/samples/getlogin.rb +1 -1
  40. data/samples/getpid.rb +1 -1
  41. data/samples/gettimeofday.rb +8 -8
  42. data/samples/hello.rb +2 -1
  43. data/samples/inotify.rb +1 -1
  44. data/samples/pty.rb +1 -2
  45. data/samples/qsort.rb +0 -1
  46. metadata +13 -12
  47. data/.appveyor.yml +0 -27
  48. data/.gitignore +0 -25
  49. data/.gitmodules +0 -4
  50. data/.travis.yml +0 -44
  51. data/.yardopts +0 -5
  52. data/samples/sample_helper.rb +0 -6
@@ -44,7 +44,7 @@ module FFI
44
44
  # attach_function :new_dlist, [], :pointer
45
45
  # attach_function :destroy_dlist, [:pointer], :void
46
46
  # end
47
- #
47
+ #
48
48
  # class DoublyLinkedList < FFI::ManagedStruct
49
49
  # @@@
50
50
  # struct do |s|
@@ -71,7 +71,7 @@ module FFI
71
71
 
72
72
  # @overload initialize(pointer)
73
73
  # @param [Pointer] pointer
74
- # Create a new ManagedStruct which will invoke the class method #release on
74
+ # Create a new ManagedStruct which will invoke the class method #release on
75
75
  # @overload initialize
76
76
  # A new instance of FFI::ManagedStruct.
77
77
  def initialize(pointer=nil)
@@ -61,9 +61,9 @@ module FFI
61
61
  CPU = RbConfig::CONFIG['host_cpu']
62
62
 
63
63
  ARCH = case CPU.downcase
64
- when /amd64|x86_64/
64
+ when /amd64|x86_64|x64/
65
65
  "x86_64"
66
- when /i?86|x86|i86pc/
66
+ when /i\d86|x86|i86pc/
67
67
  "i386"
68
68
  when /ppc64|powerpc64/
69
69
  "powerpc64"
@@ -71,13 +71,16 @@ module FFI
71
71
  "powerpc"
72
72
  when /sparcv9|sparc64/
73
73
  "sparcv9"
74
- else
75
- case RbConfig::CONFIG['host_cpu']
76
- when /^arm/
77
- "arm"
74
+ when /arm64|aarch64/ # MacOS calls it "arm64", other operating systems "aarch64"
75
+ "aarch64"
76
+ when /^arm/
77
+ if OS == "darwin" # Ruby before 3.0 reports "arm" instead of "arm64" as host_cpu on darwin
78
+ "aarch64"
78
79
  else
79
- RbConfig::CONFIG['host_cpu']
80
+ "arm"
80
81
  end
82
+ else
83
+ RbConfig::CONFIG['host_cpu']
81
84
  end
82
85
 
83
86
  private
@@ -129,7 +132,11 @@ module FFI
129
132
  end
130
133
 
131
134
  LIBC = if IS_WINDOWS
132
- RbConfig::CONFIG['RUBY_SO_NAME'].split('-')[-2] + '.dll'
135
+ if RbConfig::CONFIG['host_os'] =~ /mingw/i
136
+ RbConfig::CONFIG['RUBY_SO_NAME'].split('-')[-2] + '.dll'
137
+ else
138
+ "ucrtbase.dll"
139
+ end
133
140
  elsif IS_GNU
134
141
  GNU_LIBC
135
142
  elsif OS == 'cygwin'
@@ -141,6 +148,12 @@ module FFI
141
148
  "#{LIBPREFIX}c.#{LIBSUFFIX}"
142
149
  end
143
150
 
151
+ LITTLE_ENDIAN = 1234 unless defined?(LITTLE_ENDIAN)
152
+ BIG_ENDIAN = 4321 unless defined?(BIG_ENDIAN)
153
+ unless defined?(BYTE_ORDER)
154
+ BYTE_ORDER = [0x12345678].pack("I") == [0x12345678].pack("N") ? BIG_ENDIAN : LITTLE_ENDIAN
155
+ end
156
+
144
157
  # Test if current OS is a *BSD (include MAC)
145
158
  # @return [Boolean]
146
159
  def self.bsd?
@@ -0,0 +1,130 @@
1
+ rbx.platform.typedef.__darwin_blkcnt_t = long_long
2
+ rbx.platform.typedef.__darwin_blksize_t = int
3
+ rbx.platform.typedef.__darwin_clock_t = ulong
4
+ rbx.platform.typedef.__darwin_ct_rune_t = int
5
+ rbx.platform.typedef.__darwin_dev_t = int
6
+ rbx.platform.typedef.__darwin_fsblkcnt_t = uint
7
+ rbx.platform.typedef.__darwin_fsfilcnt_t = uint
8
+ rbx.platform.typedef.__darwin_gid_t = uint
9
+ rbx.platform.typedef.__darwin_id_t = uint
10
+ rbx.platform.typedef.__darwin_ino64_t = ulong_long
11
+ rbx.platform.typedef.__darwin_ino_t = ulong_long
12
+ rbx.platform.typedef.__darwin_intptr_t = long
13
+ rbx.platform.typedef.__darwin_mach_port_name_t = uint
14
+ rbx.platform.typedef.__darwin_mach_port_t = uint
15
+ rbx.platform.typedef.__darwin_mode_t = ushort
16
+ rbx.platform.typedef.__darwin_natural_t = uint
17
+ rbx.platform.typedef.__darwin_off_t = long_long
18
+ rbx.platform.typedef.__darwin_pid_t = int
19
+ rbx.platform.typedef.__darwin_pthread_key_t = ulong
20
+ rbx.platform.typedef.__darwin_ptrdiff_t = long
21
+ rbx.platform.typedef.__darwin_rune_t = int
22
+ rbx.platform.typedef.__darwin_sigset_t = uint
23
+ rbx.platform.typedef.__darwin_size_t = ulong
24
+ rbx.platform.typedef.__darwin_socklen_t = uint
25
+ rbx.platform.typedef.__darwin_ssize_t = long
26
+ rbx.platform.typedef.__darwin_suseconds_t = int
27
+ rbx.platform.typedef.__darwin_time_t = long
28
+ rbx.platform.typedef.__darwin_uid_t = uint
29
+ rbx.platform.typedef.__darwin_useconds_t = uint
30
+ rbx.platform.typedef.__darwin_uuid_string_t[37] = char
31
+ rbx.platform.typedef.__darwin_uuid_t[16] = uchar
32
+ rbx.platform.typedef.__darwin_wchar_t = int
33
+ rbx.platform.typedef.__darwin_wint_t = int
34
+ rbx.platform.typedef.__int16_t = short
35
+ rbx.platform.typedef.__int32_t = int
36
+ rbx.platform.typedef.__int64_t = long_long
37
+ rbx.platform.typedef.__int8_t = char
38
+ rbx.platform.typedef.__uint16_t = ushort
39
+ rbx.platform.typedef.__uint32_t = uint
40
+ rbx.platform.typedef.__uint64_t = ulong_long
41
+ rbx.platform.typedef.__uint8_t = uchar
42
+ rbx.platform.typedef.blkcnt_t = long_long
43
+ rbx.platform.typedef.blksize_t = int
44
+ rbx.platform.typedef.caddr_t = string
45
+ rbx.platform.typedef.clock_t = ulong
46
+ rbx.platform.typedef.daddr_t = int
47
+ rbx.platform.typedef.dev_t = int
48
+ rbx.platform.typedef.errno_t = int
49
+ rbx.platform.typedef.fd_mask = int
50
+ rbx.platform.typedef.fixpt_t = uint
51
+ rbx.platform.typedef.fsblkcnt_t = uint
52
+ rbx.platform.typedef.fsfilcnt_t = uint
53
+ rbx.platform.typedef.gid_t = uint
54
+ rbx.platform.typedef.id_t = uint
55
+ rbx.platform.typedef.in_addr_t = uint
56
+ rbx.platform.typedef.in_port_t = ushort
57
+ rbx.platform.typedef.ino64_t = ulong_long
58
+ rbx.platform.typedef.ino_t = ulong_long
59
+ rbx.platform.typedef.int16_t = short
60
+ rbx.platform.typedef.int32_t = int
61
+ rbx.platform.typedef.int64_t = long_long
62
+ rbx.platform.typedef.int8_t = char
63
+ rbx.platform.typedef.int_fast16_t = short
64
+ rbx.platform.typedef.int_fast32_t = int
65
+ rbx.platform.typedef.int_fast64_t = long_long
66
+ rbx.platform.typedef.int_fast8_t = char
67
+ rbx.platform.typedef.int_least16_t = short
68
+ rbx.platform.typedef.int_least32_t = int
69
+ rbx.platform.typedef.int_least64_t = long_long
70
+ rbx.platform.typedef.int_least8_t = char
71
+ rbx.platform.typedef.intmax_t = long
72
+ rbx.platform.typedef.intptr_t = long
73
+ rbx.platform.typedef.key_t = int
74
+ rbx.platform.typedef.mode_t = ushort
75
+ rbx.platform.typedef.nlink_t = ushort
76
+ rbx.platform.typedef.off_t = long_long
77
+ rbx.platform.typedef.pid_t = int
78
+ rbx.platform.typedef.pthread_key_t = ulong
79
+ rbx.platform.typedef.ptrdiff_t = long
80
+ rbx.platform.typedef.qaddr_t = pointer
81
+ rbx.platform.typedef.quad_t = long_long
82
+ rbx.platform.typedef.register_t = long_long
83
+ rbx.platform.typedef.rlim_t = ulong_long
84
+ rbx.platform.typedef.rsize_t = ulong
85
+ rbx.platform.typedef.sa_family_t = uchar
86
+ rbx.platform.typedef.sae_associd_t = uint
87
+ rbx.platform.typedef.sae_connid_t = uint
88
+ rbx.platform.typedef.segsz_t = int
89
+ rbx.platform.typedef.size_t = ulong
90
+ rbx.platform.typedef.socklen_t = uint
91
+ rbx.platform.typedef.ssize_t = long
92
+ rbx.platform.typedef.suseconds_t = int
93
+ rbx.platform.typedef.swblk_t = int
94
+ rbx.platform.typedef.syscall_arg_t = ulong_long
95
+ rbx.platform.typedef.time_t = long
96
+ rbx.platform.typedef.u_char = uchar
97
+ rbx.platform.typedef.u_int = uint
98
+ rbx.platform.typedef.u_int16_t = ushort
99
+ rbx.platform.typedef.u_int32_t = uint
100
+ rbx.platform.typedef.u_int64_t = ulong_long
101
+ rbx.platform.typedef.u_int8_t = uchar
102
+ rbx.platform.typedef.u_long = ulong
103
+ rbx.platform.typedef.u_quad_t = ulong_long
104
+ rbx.platform.typedef.u_short = ushort
105
+ rbx.platform.typedef.uid_t = uint
106
+ rbx.platform.typedef.uint = uint
107
+ rbx.platform.typedef.uint16_t = ushort
108
+ rbx.platform.typedef.uint32_t = uint
109
+ rbx.platform.typedef.uint64_t = ulong_long
110
+ rbx.platform.typedef.uint8_t = uchar
111
+ rbx.platform.typedef.uint_fast16_t = ushort
112
+ rbx.platform.typedef.uint_fast32_t = uint
113
+ rbx.platform.typedef.uint_fast64_t = ulong_long
114
+ rbx.platform.typedef.uint_fast8_t = uchar
115
+ rbx.platform.typedef.uint_least16_t = ushort
116
+ rbx.platform.typedef.uint_least32_t = uint
117
+ rbx.platform.typedef.uint_least64_t = ulong_long
118
+ rbx.platform.typedef.uint_least8_t = uchar
119
+ rbx.platform.typedef.uintmax_t = ulong
120
+ rbx.platform.typedef.uintptr_t = ulong
121
+ rbx.platform.typedef.useconds_t = uint
122
+ rbx.platform.typedef.user_addr_t = ulong_long
123
+ rbx.platform.typedef.user_long_t = long_long
124
+ rbx.platform.typedef.user_off_t = long_long
125
+ rbx.platform.typedef.user_size_t = ulong_long
126
+ rbx.platform.typedef.user_ssize_t = long_long
127
+ rbx.platform.typedef.user_time_t = long_long
128
+ rbx.platform.typedef.user_ulong_t = ulong_long
129
+ rbx.platform.typedef.ushort = ushort
130
+ rbx.platform.typedef.wchar_t = int
@@ -0,0 +1,134 @@
1
+ rbx.platform.typedef.__blkcnt_t = long_long
2
+ rbx.platform.typedef.__blksize_t = int
3
+ rbx.platform.typedef.__clock_t = long_long
4
+ rbx.platform.typedef.__clockid_t = int
5
+ rbx.platform.typedef.__cpuid_t = ulong
6
+ rbx.platform.typedef.__dev_t = int
7
+ rbx.platform.typedef.__fd_mask = uint
8
+ rbx.platform.typedef.__fixpt_t = uint
9
+ rbx.platform.typedef.__fsblkcnt_t = ulong_long
10
+ rbx.platform.typedef.__fsfilcnt_t = ulong_long
11
+ rbx.platform.typedef.__gid_t = uint
12
+ rbx.platform.typedef.__id_t = uint
13
+ rbx.platform.typedef.__in_addr_t = uint
14
+ rbx.platform.typedef.__in_port_t = ushort
15
+ rbx.platform.typedef.__ino_t = ulong_long
16
+ rbx.platform.typedef.__int16_t = short
17
+ rbx.platform.typedef.__int32_t = int
18
+ rbx.platform.typedef.__int64_t = long_long
19
+ rbx.platform.typedef.__int8_t = char
20
+ rbx.platform.typedef.__int_fast16_t = int
21
+ rbx.platform.typedef.__int_fast32_t = int
22
+ rbx.platform.typedef.__int_fast64_t = long_long
23
+ rbx.platform.typedef.__int_fast8_t = int
24
+ rbx.platform.typedef.__int_least16_t = short
25
+ rbx.platform.typedef.__int_least32_t = int
26
+ rbx.platform.typedef.__int_least64_t = long_long
27
+ rbx.platform.typedef.__int_least8_t = char
28
+ rbx.platform.typedef.__intmax_t = long_long
29
+ rbx.platform.typedef.__intptr_t = long
30
+ rbx.platform.typedef.__key_t = long
31
+ rbx.platform.typedef.__mode_t = uint
32
+ rbx.platform.typedef.__nlink_t = uint
33
+ rbx.platform.typedef.__off_t = long_long
34
+ rbx.platform.typedef.__paddr_t = ulong
35
+ rbx.platform.typedef.__pid_t = int
36
+ rbx.platform.typedef.__psize_t = ulong
37
+ rbx.platform.typedef.__ptrdiff_t = long
38
+ rbx.platform.typedef.__register_t = long
39
+ rbx.platform.typedef.__rlim_t = ulong_long
40
+ rbx.platform.typedef.__rune_t = int
41
+ rbx.platform.typedef.__sa_family_t = uchar
42
+ rbx.platform.typedef.__segsz_t = int
43
+ rbx.platform.typedef.__size_t = ulong
44
+ rbx.platform.typedef.__socklen_t = uint
45
+ rbx.platform.typedef.__ssize_t = long
46
+ rbx.platform.typedef.__suseconds_t = long
47
+ rbx.platform.typedef.__swblk_t = int
48
+ rbx.platform.typedef.__time_t = long_long
49
+ rbx.platform.typedef.__timer_t = int
50
+ rbx.platform.typedef.__uid_t = uint
51
+ rbx.platform.typedef.__uint16_t = ushort
52
+ rbx.platform.typedef.__uint32_t = uint
53
+ rbx.platform.typedef.__uint64_t = ulong_long
54
+ rbx.platform.typedef.__uint8_t = uchar
55
+ rbx.platform.typedef.__uint_fast16_t = uint
56
+ rbx.platform.typedef.__uint_fast32_t = uint
57
+ rbx.platform.typedef.__uint_fast64_t = ulong_long
58
+ rbx.platform.typedef.__uint_fast8_t = uint
59
+ rbx.platform.typedef.__uint_least16_t = ushort
60
+ rbx.platform.typedef.__uint_least32_t = uint
61
+ rbx.platform.typedef.__uint_least64_t = ulong_long
62
+ rbx.platform.typedef.__uint_least8_t = uchar
63
+ rbx.platform.typedef.__uintmax_t = ulong_long
64
+ rbx.platform.typedef.__uintptr_t = ulong
65
+ rbx.platform.typedef.__useconds_t = uint
66
+ rbx.platform.typedef.__vaddr_t = ulong
67
+ rbx.platform.typedef.__vsize_t = ulong
68
+ rbx.platform.typedef.__wchar_t = int
69
+ rbx.platform.typedef.__wctrans_t = pointer
70
+ rbx.platform.typedef.__wctype_t = pointer
71
+ rbx.platform.typedef.__wint_t = int
72
+ rbx.platform.typedef.blkcnt_t = long_long
73
+ rbx.platform.typedef.blksize_t = int
74
+ rbx.platform.typedef.caddr_t = string
75
+ rbx.platform.typedef.clock_t = long_long
76
+ rbx.platform.typedef.clockid_t = int
77
+ rbx.platform.typedef.cpuid_t = ulong
78
+ rbx.platform.typedef.daddr32_t = int
79
+ rbx.platform.typedef.daddr_t = long_long
80
+ rbx.platform.typedef.dev_t = int
81
+ rbx.platform.typedef.fixpt_t = uint
82
+ rbx.platform.typedef.fsblkcnt_t = ulong_long
83
+ rbx.platform.typedef.fsfilcnt_t = ulong_long
84
+ rbx.platform.typedef.gid_t = uint
85
+ rbx.platform.typedef.id_t = uint
86
+ rbx.platform.typedef.in_addr_t = uint
87
+ rbx.platform.typedef.in_port_t = ushort
88
+ rbx.platform.typedef.ino_t = ulong_long
89
+ rbx.platform.typedef.int16_t = short
90
+ rbx.platform.typedef.int32_t = int
91
+ rbx.platform.typedef.int64_t = long_long
92
+ rbx.platform.typedef.int8_t = char
93
+ rbx.platform.typedef.key_t = long
94
+ rbx.platform.typedef.mode_t = uint
95
+ rbx.platform.typedef.nlink_t = uint
96
+ rbx.platform.typedef.off_t = long_long
97
+ rbx.platform.typedef.paddr_t = ulong
98
+ rbx.platform.typedef.pid_t = int
99
+ rbx.platform.typedef.psize_t = ulong
100
+ rbx.platform.typedef.qaddr_t = pointer
101
+ rbx.platform.typedef.quad_t = long_long
102
+ rbx.platform.typedef.register_t = long
103
+ rbx.platform.typedef.rlim_t = ulong_long
104
+ rbx.platform.typedef.sa_family_t = uchar
105
+ rbx.platform.typedef.segsz_t = int
106
+ rbx.platform.typedef.sigset_t = uint
107
+ rbx.platform.typedef.size_t = ulong
108
+ rbx.platform.typedef.socklen_t = uint
109
+ rbx.platform.typedef.ssize_t = long
110
+ rbx.platform.typedef.suseconds_t = long
111
+ rbx.platform.typedef.swblk_t = int
112
+ rbx.platform.typedef.time_t = long_long
113
+ rbx.platform.typedef.timer_t = int
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_long
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_long
128
+ rbx.platform.typedef.uint8_t = uchar
129
+ rbx.platform.typedef.ulong = ulong
130
+ rbx.platform.typedef.unchar = uchar
131
+ rbx.platform.typedef.useconds_t = uint
132
+ rbx.platform.typedef.ushort = ushort
133
+ rbx.platform.typedef.vaddr_t = ulong
134
+ rbx.platform.typedef.vsize_t = ulong
@@ -1,5 +1,4 @@
1
1
  rbx.platform.typedef.*__caddr_t = char
2
- rbx.platform.typedef.*__qaddr_t = long_long
3
2
  rbx.platform.typedef.__blkcnt64_t = long_long
4
3
  rbx.platform.typedef.__blkcnt_t = long
5
4
  rbx.platform.typedef.__blksize_t = long
@@ -12,16 +11,16 @@ rbx.platform.typedef.__fsblkcnt64_t = ulong_long
12
11
  rbx.platform.typedef.__fsblkcnt_t = ulong
13
12
  rbx.platform.typedef.__fsfilcnt64_t = ulong_long
14
13
  rbx.platform.typedef.__fsfilcnt_t = ulong
14
+ rbx.platform.typedef.__fsword_t = int
15
15
  rbx.platform.typedef.__gid_t = uint
16
16
  rbx.platform.typedef.__id_t = uint
17
- rbx.platform.typedef.__in_addr_t = uint
18
- rbx.platform.typedef.__in_port_t = ushort
19
17
  rbx.platform.typedef.__ino64_t = ulong_long
20
18
  rbx.platform.typedef.__ino_t = ulong
21
19
  rbx.platform.typedef.__int16_t = short
22
20
  rbx.platform.typedef.__int32_t = int
23
21
  rbx.platform.typedef.__int64_t = long_long
24
22
  rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__intmax_t = long_long
25
24
  rbx.platform.typedef.__intptr_t = int
26
25
  rbx.platform.typedef.__key_t = int
27
26
  rbx.platform.typedef.__loff_t = long_long
@@ -40,7 +39,8 @@ rbx.platform.typedef.__sig_atomic_t = int
40
39
  rbx.platform.typedef.__socklen_t = uint
41
40
  rbx.platform.typedef.__ssize_t = int
42
41
  rbx.platform.typedef.__suseconds_t = long
43
- rbx.platform.typedef.__swblk_t = long
42
+ rbx.platform.typedef.__syscall_slong_t = long
43
+ rbx.platform.typedef.__syscall_ulong_t = ulong
44
44
  rbx.platform.typedef.__time_t = long
45
45
  rbx.platform.typedef.__timer_t = pointer
46
46
  rbx.platform.typedef.__u_char = uchar
@@ -53,6 +53,7 @@ rbx.platform.typedef.__uint16_t = ushort
53
53
  rbx.platform.typedef.__uint32_t = uint
54
54
  rbx.platform.typedef.__uint64_t = ulong_long
55
55
  rbx.platform.typedef.__uint8_t = uchar
56
+ rbx.platform.typedef.__uintmax_t = ulong_long
56
57
  rbx.platform.typedef.__useconds_t = uint
57
58
  rbx.platform.typedef.blkcnt_t = long_long
58
59
  rbx.platform.typedef.blksize_t = long
@@ -65,11 +66,22 @@ rbx.platform.typedef.fsblkcnt_t = ulong_long
65
66
  rbx.platform.typedef.fsfilcnt_t = ulong_long
66
67
  rbx.platform.typedef.gid_t = uint
67
68
  rbx.platform.typedef.id_t = uint
69
+ rbx.platform.typedef.in_addr_t = uint
70
+ rbx.platform.typedef.in_port_t = ushort
68
71
  rbx.platform.typedef.ino_t = ulong_long
69
72
  rbx.platform.typedef.int16_t = short
70
73
  rbx.platform.typedef.int32_t = int
71
74
  rbx.platform.typedef.int64_t = long_long
72
75
  rbx.platform.typedef.int8_t = char
76
+ rbx.platform.typedef.int_fast16_t = int
77
+ rbx.platform.typedef.int_fast32_t = int
78
+ rbx.platform.typedef.int_fast64_t = long_long
79
+ rbx.platform.typedef.int_fast8_t = char
80
+ rbx.platform.typedef.int_least32_t = int
81
+ rbx.platform.typedef.int_least64_t = long_long
82
+ rbx.platform.typedef.int_least8_t = char
83
+ rbx.platform.typedef.intmax_t = long_long
84
+ rbx.platform.typedef.intptr_t = int
73
85
  rbx.platform.typedef.key_t = int
74
86
  rbx.platform.typedef.loff_t = long_long
75
87
  rbx.platform.typedef.mode_t = uint
@@ -79,6 +91,7 @@ rbx.platform.typedef.pid_t = int
79
91
  rbx.platform.typedef.pthread_key_t = uint
80
92
  rbx.platform.typedef.pthread_once_t = int
81
93
  rbx.platform.typedef.pthread_t = ulong
94
+ rbx.platform.typedef.ptrdiff_t = int
82
95
  rbx.platform.typedef.quad_t = long_long
83
96
  rbx.platform.typedef.register_t = long
84
97
  rbx.platform.typedef.rlim_t = ulong_long
@@ -100,5 +113,20 @@ rbx.platform.typedef.u_quad_t = ulong_long
100
113
  rbx.platform.typedef.u_short = ushort
101
114
  rbx.platform.typedef.uid_t = uint
102
115
  rbx.platform.typedef.uint = uint
116
+ rbx.platform.typedef.uint16_t = ushort
117
+ rbx.platform.typedef.uint32_t = uint
118
+ rbx.platform.typedef.uint64_t = ulong_long
119
+ rbx.platform.typedef.uint8_t = uchar
120
+ rbx.platform.typedef.uint_fast16_t = uint
121
+ rbx.platform.typedef.uint_fast32_t = uint
122
+ rbx.platform.typedef.uint_fast64_t = ulong_long
123
+ rbx.platform.typedef.uint_fast8_t = uchar
124
+ rbx.platform.typedef.uint_least16_t = ushort
125
+ rbx.platform.typedef.uint_least32_t = uint
126
+ rbx.platform.typedef.uint_least64_t = ulong_long
127
+ rbx.platform.typedef.uint_least8_t = uchar
128
+ rbx.platform.typedef.uintmax_t = ulong_long
129
+ rbx.platform.typedef.uintptr_t = uint
103
130
  rbx.platform.typedef.ulong = ulong
104
131
  rbx.platform.typedef.ushort = ushort
132
+ rbx.platform.typedef.wchar_t = uint
@@ -1,105 +1,52 @@
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.__gid16_t = ushort
8
- rbx.platform.typedef.__gid32_t = ulong
9
- rbx.platform.typedef.__ino32_t = ulong
10
- rbx.platform.typedef.__ino64_t = ulong_long
11
- rbx.platform.typedef.__int16_t = short
12
- rbx.platform.typedef.__int32_t = int
13
- rbx.platform.typedef.__int64_t = long_long
14
- rbx.platform.typedef.__int8_t = char
15
- rbx.platform.typedef.__int_least16_t = short
16
- rbx.platform.typedef.__int_least32_t = int
17
- rbx.platform.typedef.__loff_t = long_long
18
- rbx.platform.typedef.__off_t = long
19
- rbx.platform.typedef.__pid_t = int
20
- rbx.platform.typedef.__uid16_t = ushort
21
- rbx.platform.typedef.__uid32_t = ulong
22
- rbx.platform.typedef.__uint16_t = ushort
23
- rbx.platform.typedef.__uint32_t = uint
24
- rbx.platform.typedef.__uint64_t = ulong_long
25
- rbx.platform.typedef.__uint8_t = uchar
26
- rbx.platform.typedef.__uint_least16_t = ushort
27
- rbx.platform.typedef.__uint_least32_t = uint
28
- rbx.platform.typedef._fpos64_t = long_long
29
- rbx.platform.typedef._fpos_t = long
1
+ rbx.platform.typedef.__time32_t = long
2
+ rbx.platform.typedef.__time64_t = long_long
3
+ rbx.platform.typedef._dev_t = uint
4
+ rbx.platform.typedef._ino_t = ushort
5
+ rbx.platform.typedef._mode_t = ushort
30
6
  rbx.platform.typedef._off64_t = long_long
31
7
  rbx.platform.typedef._off_t = long
32
- rbx.platform.typedef._ssize_t = int
33
- rbx.platform.typedef.blkcnt_t = long_long
34
- rbx.platform.typedef.blksize_t = long
35
- rbx.platform.typedef.caddr_t = string
36
- rbx.platform.typedef.clock_t = ulong
37
- rbx.platform.typedef.clockid_t = ulong
38
- rbx.platform.typedef.daddr_t = long
39
- rbx.platform.typedef.dev_t = ulong
40
- rbx.platform.typedef.fd_mask = long
41
- rbx.platform.typedef.fsblkcnt_t = ulong
42
- rbx.platform.typedef.fsfilcnt_t = ulong
43
- rbx.platform.typedef.gid_t = ulong
44
- rbx.platform.typedef.id_t = ulong
45
- rbx.platform.typedef.ino_t = ulong_long
8
+ rbx.platform.typedef._pid_t = int
9
+ rbx.platform.typedef._sigset_t = ulong
10
+ rbx.platform.typedef.dev_t = uint
11
+ rbx.platform.typedef.errno_t = int
12
+ rbx.platform.typedef.ino_t = ushort
46
13
  rbx.platform.typedef.int16_t = short
47
- rbx.platform.typedef.int32_t = long
14
+ rbx.platform.typedef.int32_t = int
48
15
  rbx.platform.typedef.int64_t = long_long
49
16
  rbx.platform.typedef.int8_t = char
50
- rbx.platform.typedef.int_fast16_t = long
51
- rbx.platform.typedef.int_fast32_t = long
17
+ rbx.platform.typedef.int_fast16_t = short
18
+ rbx.platform.typedef.int_fast32_t = int
52
19
  rbx.platform.typedef.int_fast64_t = long_long
53
20
  rbx.platform.typedef.int_fast8_t = char
54
21
  rbx.platform.typedef.int_least16_t = short
55
- rbx.platform.typedef.int_least32_t = long
22
+ rbx.platform.typedef.int_least32_t = int
56
23
  rbx.platform.typedef.int_least64_t = long_long
57
24
  rbx.platform.typedef.int_least8_t = char
58
25
  rbx.platform.typedef.intmax_t = long_long
59
- rbx.platform.typedef.intptr_t = long
60
- rbx.platform.typedef.key_t = long_long
61
- rbx.platform.typedef.loff_t = long_long
62
- rbx.platform.typedef.nlink_t = ushort
26
+ rbx.platform.typedef.intptr_t = int
27
+ rbx.platform.typedef.mode_t = ushort
28
+ rbx.platform.typedef.off32_t = long
29
+ rbx.platform.typedef.off64_t = long_long
63
30
  rbx.platform.typedef.off_t = long_long
64
31
  rbx.platform.typedef.pid_t = int
65
32
  rbx.platform.typedef.ptrdiff_t = int
66
- rbx.platform.typedef.register_t = int
67
- rbx.platform.typedef.rlim_t = ulong
68
- rbx.platform.typedef.sa_family_t = ushort
69
- rbx.platform.typedef.sig_atomic_t = int
70
- rbx.platform.typedef.sigset_t = ulong
33
+ rbx.platform.typedef.rsize_t = uint
71
34
  rbx.platform.typedef.size_t = uint
72
- rbx.platform.typedef.socklen_t = int
73
35
  rbx.platform.typedef.ssize_t = int
74
- rbx.platform.typedef.suseconds_t = long
75
36
  rbx.platform.typedef.time_t = long
76
- rbx.platform.typedef.timer_t = ulong
77
- rbx.platform.typedef.u_char = uchar
78
- rbx.platform.typedef.u_int = uint
79
- rbx.platform.typedef.u_int16_t = ushort
80
- rbx.platform.typedef.u_int32_t = uint
81
- rbx.platform.typedef.u_int64_t = ulong_long
82
- rbx.platform.typedef.u_int8_t = uchar
83
- rbx.platform.typedef.u_long = ulong
84
- rbx.platform.typedef.u_short = ushort
85
- rbx.platform.typedef.uid_t = ulong
86
- rbx.platform.typedef.uint = uint
87
37
  rbx.platform.typedef.uint16_t = ushort
88
- rbx.platform.typedef.uint32_t = ulong
89
38
  rbx.platform.typedef.uint64_t = ulong_long
90
39
  rbx.platform.typedef.uint8_t = uchar
91
- rbx.platform.typedef.uint_fast16_t = ulong
92
- rbx.platform.typedef.uint_fast32_t = ulong
40
+ rbx.platform.typedef.uint_fast16_t = ushort
41
+ rbx.platform.typedef.uint_fast32_t = uint
93
42
  rbx.platform.typedef.uint_fast64_t = ulong_long
94
43
  rbx.platform.typedef.uint_fast8_t = uchar
95
44
  rbx.platform.typedef.uint_least16_t = ushort
96
- rbx.platform.typedef.uint_least32_t = ulong
97
45
  rbx.platform.typedef.uint_least64_t = ulong_long
98
46
  rbx.platform.typedef.uint_least8_t = uchar
99
47
  rbx.platform.typedef.uintmax_t = ulong_long
100
- rbx.platform.typedef.uintptr_t = ulong
101
- rbx.platform.typedef.useconds_t = ulong
102
- rbx.platform.typedef.ushort = ushort
103
- rbx.platform.typedef.vm_offset_t = ulong
104
- rbx.platform.typedef.vm_size_t = ulong
105
- rbx.platform.typedef.wint_t = uint
48
+ rbx.platform.typedef.uintptr_t = uint
49
+ rbx.platform.typedef.useconds_t = uint
50
+ rbx.platform.typedef.wchar_t = ushort
51
+ rbx.platform.typedef.wctype_t = ushort
52
+ rbx.platform.typedef.wint_t = ushort