ffi 1.12.2-x86-mingw32 → 1.13.0-x86-mingw32
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.
- checksums.yaml +4 -4
- data/.appveyor.yml +3 -0
- data/.github/workflows/ci.yml +64 -0
- data/.travis.yml +19 -5
- data/CHANGELOG.md +30 -0
- data/Gemfile +4 -2
- data/Rakefile +24 -43
- data/ffi.gemspec +1 -1
- data/lib/ffi.rb +10 -2
- data/lib/ffi/library.rb +5 -1
- data/lib/ffi/platform.rb +2 -2
- data/lib/ffi/platform/arm-linux/types.conf +32 -4
- data/lib/ffi/platform/i386-windows/types.conf +26 -79
- data/lib/ffi/platform/powerpc-linux/types.conf +32 -2
- data/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
- data/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
- data/lib/ffi/platform/x86_64-darwin/types.conf +4 -0
- data/lib/ffi/platform/x86_64-linux/types.conf +21 -0
- data/lib/ffi/platform/x86_64-windows/types.conf +10 -78
- data/lib/ffi/pointer.rb +19 -12
- data/lib/ffi/struct.rb +8 -2
- data/lib/ffi/tools/types_generator.rb +2 -0
- data/lib/ffi/version.rb +1 -1
- data/samples/getlogin.rb +1 -1
- data/samples/getpid.rb +1 -1
- data/samples/gettimeofday.rb +8 -8
- data/samples/hello.rb +2 -1
- data/samples/inotify.rb +1 -1
- data/samples/pty.rb +1 -2
- data/samples/qsort.rb +0 -1
- metadata +6 -5
- data/samples/sample_helper.rb +0 -6
@@ -76,12 +76,15 @@ rbx.platform.typedef.nlink_t = ushort
|
|
76
76
|
rbx.platform.typedef.off_t = long_long
|
77
77
|
rbx.platform.typedef.pid_t = int
|
78
78
|
rbx.platform.typedef.pthread_key_t = ulong
|
79
|
+
rbx.platform.typedef.ptrdiff_t = long
|
79
80
|
rbx.platform.typedef.qaddr_t = pointer
|
80
81
|
rbx.platform.typedef.quad_t = long_long
|
81
82
|
rbx.platform.typedef.register_t = long_long
|
82
83
|
rbx.platform.typedef.rlim_t = ulong_long
|
83
84
|
rbx.platform.typedef.rsize_t = ulong
|
84
85
|
rbx.platform.typedef.sa_family_t = uchar
|
86
|
+
rbx.platform.typedef.sae_associd_t = uint
|
87
|
+
rbx.platform.typedef.sae_connid_t = uint
|
85
88
|
rbx.platform.typedef.segsz_t = int
|
86
89
|
rbx.platform.typedef.size_t = ulong
|
87
90
|
rbx.platform.typedef.socklen_t = uint
|
@@ -124,3 +127,4 @@ rbx.platform.typedef.user_ssize_t = long_long
|
|
124
127
|
rbx.platform.typedef.user_time_t = long_long
|
125
128
|
rbx.platform.typedef.user_ulong_t = ulong_long
|
126
129
|
rbx.platform.typedef.ushort = ushort
|
130
|
+
rbx.platform.typedef.wchar_t = int
|
@@ -73,6 +73,15 @@ rbx.platform.typedef.int16_t = short
|
|
73
73
|
rbx.platform.typedef.int32_t = int
|
74
74
|
rbx.platform.typedef.int64_t = long
|
75
75
|
rbx.platform.typedef.int8_t = char
|
76
|
+
rbx.platform.typedef.int_fast16_t = long
|
77
|
+
rbx.platform.typedef.int_fast32_t = long
|
78
|
+
rbx.platform.typedef.int_fast64_t = 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
|
82
|
+
rbx.platform.typedef.int_least8_t = char
|
83
|
+
rbx.platform.typedef.intmax_t = long
|
84
|
+
rbx.platform.typedef.intptr_t = long
|
76
85
|
rbx.platform.typedef.key_t = int
|
77
86
|
rbx.platform.typedef.loff_t = long
|
78
87
|
rbx.platform.typedef.mode_t = uint
|
@@ -82,6 +91,7 @@ rbx.platform.typedef.pid_t = int
|
|
82
91
|
rbx.platform.typedef.pthread_key_t = uint
|
83
92
|
rbx.platform.typedef.pthread_once_t = int
|
84
93
|
rbx.platform.typedef.pthread_t = ulong
|
94
|
+
rbx.platform.typedef.ptrdiff_t = long
|
85
95
|
rbx.platform.typedef.quad_t = long
|
86
96
|
rbx.platform.typedef.register_t = long
|
87
97
|
rbx.platform.typedef.rlim_t = ulong
|
@@ -107,5 +117,16 @@ rbx.platform.typedef.uint16_t = ushort
|
|
107
117
|
rbx.platform.typedef.uint32_t = uint
|
108
118
|
rbx.platform.typedef.uint64_t = ulong
|
109
119
|
rbx.platform.typedef.uint8_t = uchar
|
120
|
+
rbx.platform.typedef.uint_fast16_t = ulong
|
121
|
+
rbx.platform.typedef.uint_fast32_t = ulong
|
122
|
+
rbx.platform.typedef.uint_fast64_t = ulong
|
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
|
127
|
+
rbx.platform.typedef.uint_least8_t = uchar
|
128
|
+
rbx.platform.typedef.uintmax_t = ulong
|
129
|
+
rbx.platform.typedef.uintptr_t = ulong
|
110
130
|
rbx.platform.typedef.ulong = ulong
|
111
131
|
rbx.platform.typedef.ushort = ushort
|
132
|
+
rbx.platform.typedef.wchar_t = int
|
@@ -1,64 +1,20 @@
|
|
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
|
13
|
-
rbx.platform.typedef.__int16_t = short
|
14
|
-
rbx.platform.typedef.__int32_t = int
|
15
|
-
rbx.platform.typedef.__int64_t = long_long
|
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
1
|
rbx.platform.typedef.__time32_t = long
|
23
2
|
rbx.platform.typedef.__time64_t = long_long
|
24
|
-
rbx.platform.typedef.__uid16_t = ushort
|
25
|
-
rbx.platform.typedef.__uid32_t = ulong
|
26
|
-
rbx.platform.typedef.__uid_t = ushort
|
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
3
|
rbx.platform.typedef._dev_t = uint
|
34
|
-
rbx.platform.typedef._fpos64_t = long_long
|
35
|
-
rbx.platform.typedef._fpos_t = long_long
|
36
4
|
rbx.platform.typedef._ino_t = ushort
|
37
5
|
rbx.platform.typedef._mode_t = ushort
|
38
6
|
rbx.platform.typedef._off64_t = long_long
|
39
7
|
rbx.platform.typedef._off_t = long
|
8
|
+
rbx.platform.typedef._pid_t = long_long
|
40
9
|
rbx.platform.typedef._sigset_t = ulong_long
|
41
|
-
rbx.platform.typedef._ssize_t = long_long
|
42
|
-
rbx.platform.typedef.blkcnt_t = long_long
|
43
|
-
rbx.platform.typedef.blksize_t = long
|
44
|
-
rbx.platform.typedef.caddr_t = string
|
45
|
-
rbx.platform.typedef.clock_t = ulong
|
46
|
-
rbx.platform.typedef.clockid_t = ulong
|
47
|
-
rbx.platform.typedef.daddr_t = long
|
48
10
|
rbx.platform.typedef.dev_t = uint
|
49
11
|
rbx.platform.typedef.errno_t = int
|
50
|
-
rbx.platform.typedef.fd_mask = long
|
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
12
|
rbx.platform.typedef.ino_t = ushort
|
57
13
|
rbx.platform.typedef.int16_t = short
|
58
14
|
rbx.platform.typedef.int32_t = int
|
59
15
|
rbx.platform.typedef.int64_t = long_long
|
60
16
|
rbx.platform.typedef.int8_t = char
|
61
|
-
rbx.platform.typedef.int_fast16_t =
|
17
|
+
rbx.platform.typedef.int_fast16_t = short
|
62
18
|
rbx.platform.typedef.int_fast32_t = int
|
63
19
|
rbx.platform.typedef.int_fast64_t = long_long
|
64
20
|
rbx.platform.typedef.int_fast8_t = char
|
@@ -68,53 +24,29 @@ rbx.platform.typedef.int_least64_t = long_long
|
|
68
24
|
rbx.platform.typedef.int_least8_t = char
|
69
25
|
rbx.platform.typedef.intmax_t = long_long
|
70
26
|
rbx.platform.typedef.intptr_t = long_long
|
71
|
-
rbx.platform.typedef.key_t = long_long
|
72
|
-
rbx.platform.typedef.loff_t = long_long
|
73
27
|
rbx.platform.typedef.mode_t = ushort
|
74
|
-
rbx.platform.typedef.
|
28
|
+
rbx.platform.typedef.off32_t = long
|
29
|
+
rbx.platform.typedef.off64_t = long_long
|
75
30
|
rbx.platform.typedef.off_t = long_long
|
76
|
-
rbx.platform.typedef.pid_t =
|
31
|
+
rbx.platform.typedef.pid_t = long_long
|
77
32
|
rbx.platform.typedef.ptrdiff_t = long_long
|
78
|
-
rbx.platform.typedef.
|
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
|
33
|
+
rbx.platform.typedef.rsize_t = ulong_long
|
83
34
|
rbx.platform.typedef.size_t = ulong_long
|
84
|
-
rbx.platform.typedef.
|
85
|
-
rbx.platform.typedef.ssize_t = int
|
86
|
-
rbx.platform.typedef.suseconds_t = long
|
35
|
+
rbx.platform.typedef.ssize_t = long_long
|
87
36
|
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
37
|
rbx.platform.typedef.uint16_t = ushort
|
100
|
-
rbx.platform.typedef.uint32_t = uint
|
101
38
|
rbx.platform.typedef.uint64_t = ulong_long
|
102
39
|
rbx.platform.typedef.uint8_t = uchar
|
103
|
-
rbx.platform.typedef.uint_fast16_t =
|
40
|
+
rbx.platform.typedef.uint_fast16_t = ushort
|
104
41
|
rbx.platform.typedef.uint_fast32_t = uint
|
105
42
|
rbx.platform.typedef.uint_fast64_t = ulong_long
|
106
43
|
rbx.platform.typedef.uint_fast8_t = uchar
|
107
44
|
rbx.platform.typedef.uint_least16_t = ushort
|
108
|
-
rbx.platform.typedef.uint_least32_t = uint
|
109
45
|
rbx.platform.typedef.uint_least64_t = ulong_long
|
110
46
|
rbx.platform.typedef.uint_least8_t = uchar
|
111
47
|
rbx.platform.typedef.uintmax_t = ulong_long
|
112
48
|
rbx.platform.typedef.uintptr_t = ulong_long
|
113
|
-
rbx.platform.typedef.
|
114
|
-
rbx.platform.typedef.useconds_t = ulong
|
115
|
-
rbx.platform.typedef.ushort = ushort
|
116
|
-
rbx.platform.typedef.vm_offset_t = ulong
|
117
|
-
rbx.platform.typedef.vm_size_t = ulong
|
49
|
+
rbx.platform.typedef.useconds_t = uint
|
118
50
|
rbx.platform.typedef.wchar_t = ushort
|
119
51
|
rbx.platform.typedef.wctype_t = ushort
|
120
|
-
rbx.platform.typedef.wint_t =
|
52
|
+
rbx.platform.typedef.wint_t = ushort
|
data/lib/ffi/pointer.rb
CHANGED
@@ -31,17 +31,24 @@
|
|
31
31
|
#
|
32
32
|
|
33
33
|
require 'ffi/platform'
|
34
|
+
|
35
|
+
# NOTE: all method definitions in this file are conditional on
|
36
|
+
# whether they are not already defined. This is needed because
|
37
|
+
# some Ruby implementations (e.g., TruffleRuby) might already
|
38
|
+
# provide these methods due to using FFI internally, and we
|
39
|
+
# should not override them to avoid warnings.
|
40
|
+
|
34
41
|
module FFI
|
35
42
|
class Pointer
|
36
43
|
|
37
44
|
# Pointer size
|
38
|
-
SIZE = Platform::ADDRESS_SIZE / 8
|
45
|
+
SIZE = Platform::ADDRESS_SIZE / 8 unless const_defined?(:SIZE)
|
39
46
|
|
40
47
|
# Return the size of a pointer on the current platform, in bytes
|
41
48
|
# @return [Numeric]
|
42
49
|
def self.size
|
43
50
|
SIZE
|
44
|
-
end
|
51
|
+
end unless respond_to?(:size)
|
45
52
|
|
46
53
|
# @param [nil,Numeric] len length of string to return
|
47
54
|
# @return [String]
|
@@ -54,7 +61,7 @@ module FFI
|
|
54
61
|
else
|
55
62
|
get_string(0)
|
56
63
|
end
|
57
|
-
end
|
64
|
+
end unless method_defined?(:read_string)
|
58
65
|
|
59
66
|
# @param [Numeric] len length of string to return
|
60
67
|
# @return [String]
|
@@ -64,7 +71,7 @@ module FFI
|
|
64
71
|
# ptr.read_string(len) # with len not nil
|
65
72
|
def read_string_length(len)
|
66
73
|
get_bytes(0, len)
|
67
|
-
end
|
74
|
+
end unless method_defined?(:read_string_length)
|
68
75
|
|
69
76
|
# @return [String]
|
70
77
|
# Read pointer's contents as a string.
|
@@ -73,7 +80,7 @@ module FFI
|
|
73
80
|
# ptr.read_string # with no len
|
74
81
|
def read_string_to_null
|
75
82
|
get_string(0)
|
76
|
-
end
|
83
|
+
end unless method_defined?(:read_string_to_null)
|
77
84
|
|
78
85
|
# @param [String] str string to write
|
79
86
|
# @param [Numeric] len length of string to return
|
@@ -84,7 +91,7 @@ module FFI
|
|
84
91
|
# ptr.write_string(str, len) # with len not nil
|
85
92
|
def write_string_length(str, len)
|
86
93
|
put_bytes(0, str, 0, len)
|
87
|
-
end
|
94
|
+
end unless method_defined?(:write_string_length)
|
88
95
|
|
89
96
|
# @param [String] str string to write
|
90
97
|
# @param [Numeric] len length of string to return
|
@@ -95,7 +102,7 @@ module FFI
|
|
95
102
|
len = str.bytesize unless len
|
96
103
|
# Write the string data without NUL termination
|
97
104
|
put_bytes(0, str, 0, len)
|
98
|
-
end
|
105
|
+
end unless method_defined?(:write_string)
|
99
106
|
|
100
107
|
# @param [Type] type type of data to read from pointer's contents
|
101
108
|
# @param [Symbol] reader method to send to +self+ to read +type+
|
@@ -113,7 +120,7 @@ module FFI
|
|
113
120
|
tmp += size unless j == length-1 # avoid OOB
|
114
121
|
}
|
115
122
|
ary
|
116
|
-
end
|
123
|
+
end unless method_defined?(:read_array_of_type)
|
117
124
|
|
118
125
|
# @param [Type] type type of data to write to pointer's contents
|
119
126
|
# @param [Symbol] writer method to send to +self+ to write +type+
|
@@ -129,12 +136,12 @@ module FFI
|
|
129
136
|
self.send(writer, i * size, val)
|
130
137
|
}
|
131
138
|
self
|
132
|
-
end
|
139
|
+
end unless method_defined?(:write_array_of_type)
|
133
140
|
|
134
141
|
# @return [self]
|
135
142
|
def to_ptr
|
136
143
|
self
|
137
|
-
end
|
144
|
+
end unless method_defined?(:to_ptr)
|
138
145
|
|
139
146
|
# @param [Symbol,Type] type of data to read
|
140
147
|
# @return [Object]
|
@@ -144,7 +151,7 @@ module FFI
|
|
144
151
|
# ptr.get(type, 0)
|
145
152
|
def read(type)
|
146
153
|
get(type, 0)
|
147
|
-
end
|
154
|
+
end unless method_defined?(:read)
|
148
155
|
|
149
156
|
# @param [Symbol,Type] type of data to read
|
150
157
|
# @param [Object] value to write
|
@@ -155,6 +162,6 @@ module FFI
|
|
155
162
|
# ptr.put(type, 0)
|
156
163
|
def write(type, value)
|
157
164
|
put(type, 0, value)
|
158
|
-
end
|
165
|
+
end unless method_defined?(:write)
|
159
166
|
end
|
160
167
|
end
|
data/lib/ffi/struct.rb
CHANGED
@@ -228,7 +228,11 @@ module FFI
|
|
228
228
|
|
229
229
|
def callback(params, ret)
|
230
230
|
mod = enclosing_module
|
231
|
-
|
231
|
+
ret_type = find_type(ret, mod)
|
232
|
+
if ret_type == Type::STRING
|
233
|
+
raise TypeError, ":string is not allowed as return type of callbacks"
|
234
|
+
end
|
235
|
+
FFI::CallbackInfo.new(ret_type, params.map { |e| find_type(e, mod) })
|
232
236
|
end
|
233
237
|
|
234
238
|
def packed(packed = 1)
|
@@ -244,7 +248,9 @@ module FFI
|
|
244
248
|
def enclosing_module
|
245
249
|
begin
|
246
250
|
mod = self.name.split("::")[0..-2].inject(Object) { |obj, c| obj.const_get(c) }
|
247
|
-
(
|
251
|
+
if mod.respond_to?(:find_type) && (mod.is_a?(FFI::Library) || mod < FFI::Struct)
|
252
|
+
mod
|
253
|
+
end
|
248
254
|
rescue Exception
|
249
255
|
nil
|
250
256
|
end
|
data/lib/ffi/version.rb
CHANGED
data/samples/getlogin.rb
CHANGED
data/samples/getpid.rb
CHANGED
data/samples/gettimeofday.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'ffi'
|
2
|
+
require 'rbconfig'
|
3
|
+
|
3
4
|
class Timeval < FFI::Struct
|
4
|
-
|
5
|
-
if rb_maj.to_i >= 1 && rb_min.to_i >= 9 || RUBY_PLATFORM =~ /java/
|
6
|
-
layout :tv_sec => :ulong, :tv_usec => :ulong
|
7
|
-
else
|
8
|
-
layout :tv_sec, :ulong, 0, :tv_usec, :ulong, 4
|
9
|
-
end
|
5
|
+
layout tv_sec: :ulong, tv_usec: :ulong
|
10
6
|
end
|
11
7
|
module LibC
|
12
8
|
extend FFI::Library
|
13
|
-
|
9
|
+
if FFI::Platform.windows?
|
10
|
+
ffi_lib RbConfig::CONFIG["LIBRUBY_SO"]
|
11
|
+
else
|
12
|
+
ffi_lib FFI::Library::LIBC
|
13
|
+
end
|
14
14
|
attach_function :gettimeofday, [ :pointer, :pointer ], :int
|
15
15
|
end
|
16
16
|
t = Timeval.new
|
data/samples/hello.rb
CHANGED
data/samples/inotify.rb
CHANGED
data/samples/pty.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'ffi'
|
2
2
|
|
3
|
-
|
4
3
|
module PTY
|
5
4
|
private
|
6
5
|
module LibC
|
@@ -41,7 +40,7 @@ module PTY
|
|
41
40
|
#
|
42
41
|
exec_cmd, exec_args = build_args(args)
|
43
42
|
pid = LibC.forkpty(mfdp, name, nil, nil)
|
44
|
-
raise "forkpty failed: #{LibC.strerror(FFI.errno)}" if pid < 0
|
43
|
+
raise "forkpty failed: #{LibC.strerror(FFI.errno)}" if pid < 0
|
45
44
|
if pid == 0
|
46
45
|
LibC.execvp(exec_cmd, exec_args)
|
47
46
|
exit 1
|
data/samples/qsort.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Wayne Meissner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -87,6 +87,7 @@ extensions: []
|
|
87
87
|
extra_rdoc_files: []
|
88
88
|
files:
|
89
89
|
- ".appveyor.yml"
|
90
|
+
- ".github/workflows/ci.yml"
|
90
91
|
- ".gitignore"
|
91
92
|
- ".gitmodules"
|
92
93
|
- ".travis.yml"
|
@@ -99,7 +100,6 @@ files:
|
|
99
100
|
- README.md
|
100
101
|
- Rakefile
|
101
102
|
- ffi.gemspec
|
102
|
-
- lib/2.2/ffi_c.so
|
103
103
|
- lib/2.3/ffi_c.so
|
104
104
|
- lib/2.4/ffi_c.so
|
105
105
|
- lib/2.5/ffi_c.so
|
@@ -146,12 +146,14 @@ files:
|
|
146
146
|
- lib/ffi/platform/powerpc-aix/types.conf
|
147
147
|
- lib/ffi/platform/powerpc-darwin/types.conf
|
148
148
|
- lib/ffi/platform/powerpc-linux/types.conf
|
149
|
+
- lib/ffi/platform/powerpc-openbsd/types.conf
|
149
150
|
- lib/ffi/platform/powerpc64-linux/types.conf
|
150
151
|
- lib/ffi/platform/s390-linux/types.conf
|
151
152
|
- lib/ffi/platform/s390x-linux/types.conf
|
152
153
|
- lib/ffi/platform/sparc-linux/types.conf
|
153
154
|
- lib/ffi/platform/sparc-solaris/types.conf
|
154
155
|
- lib/ffi/platform/sparc64-linux/types.conf
|
156
|
+
- lib/ffi/platform/sparcv9-openbsd/types.conf
|
155
157
|
- lib/ffi/platform/sparcv9-solaris/types.conf
|
156
158
|
- lib/ffi/platform/x86_64-cygwin/types.conf
|
157
159
|
- lib/ffi/platform/x86_64-darwin/types.conf
|
@@ -184,7 +186,6 @@ files:
|
|
184
186
|
- samples/inotify.rb
|
185
187
|
- samples/pty.rb
|
186
188
|
- samples/qsort.rb
|
187
|
-
- samples/sample_helper.rb
|
188
189
|
homepage: https://github.com/ffi/ffi/wiki
|
189
190
|
licenses:
|
190
191
|
- BSD-3-Clause
|
@@ -205,7 +206,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
206
|
requirements:
|
206
207
|
- - ">="
|
207
208
|
- !ruby/object:Gem::Version
|
208
|
-
version: '2.
|
209
|
+
version: '2.3'
|
209
210
|
- - "<"
|
210
211
|
- !ruby/object:Gem::Version
|
211
212
|
version: 2.8.dev
|