ffi 1.15.5-java → 1.16.1-java
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +61 -0
- data/Gemfile +1 -1
- data/README.md +3 -2
- data/Rakefile +10 -7
- data/ffi.gemspec +3 -3
- data/lib/ffi/autopointer.rb +7 -22
- data/lib/ffi/compat.rb +43 -0
- data/lib/ffi/data_converter.rb +2 -2
- data/lib/ffi/dynamic_library.rb +89 -0
- data/lib/ffi/enum.rb +18 -11
- data/lib/ffi/ffi.rb +3 -0
- data/lib/ffi/function.rb +71 -0
- data/lib/ffi/library.rb +55 -71
- data/lib/ffi/library_path.rb +109 -0
- data/lib/ffi/managedstruct.rb +1 -1
- data/lib/ffi/platform/aarch64-windows/types.conf +52 -0
- data/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
- data/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
- data/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
- data/lib/ffi/platform/sw_64-linux/types.conf +141 -0
- data/lib/ffi/platform.rb +15 -13
- data/lib/ffi/struct.rb +2 -1
- data/lib/ffi/struct_layout.rb +1 -1
- data/lib/ffi/struct_layout_builder.rb +1 -1
- data/lib/ffi/types.rb +30 -5
- data/lib/ffi/variadic.rb +19 -8
- data/lib/ffi/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +41 -28
- metadata.gz.sig +0 -0
- /data/lib/ffi/platform/{sparc64-linux → sparcv9-linux}/types.conf +0 -0
data/lib/ffi/variadic.rb
CHANGED
|
@@ -54,16 +54,27 @@ module FFI
|
|
|
54
54
|
invoker = self
|
|
55
55
|
params = "*args"
|
|
56
56
|
call = "call"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
mname = mname.to_sym
|
|
58
|
+
mod.module_eval <<-code, __FILE__, __LINE__
|
|
59
|
+
@ffi_functions = {} unless defined?(@ffi_functions)
|
|
60
|
+
@ffi_functions[#{mname.inspect}] = invoker
|
|
61
|
+
|
|
62
|
+
def self.#{mname}(#{params})
|
|
63
|
+
@ffi_functions[#{mname.inspect}].#{call}(#{params})
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
define_method(#{mname.inspect}, &method(#{mname.inspect}))
|
|
65
67
|
code
|
|
66
68
|
invoker
|
|
67
69
|
end
|
|
70
|
+
|
|
71
|
+
# Retrieve Array of parameter types
|
|
72
|
+
#
|
|
73
|
+
# This method returns an Array of FFI types accepted as function parameters.
|
|
74
|
+
#
|
|
75
|
+
# @return [Array<FFI::Type>]
|
|
76
|
+
def param_types
|
|
77
|
+
[*@fixed, Type::Builtin::VARARGS]
|
|
78
|
+
end
|
|
68
79
|
end
|
|
69
80
|
end
|
data/lib/ffi/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,35 +1,39 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ffi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.16.1
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Wayne Meissner
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
MIIEBDCCAmygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz
|
|
14
|
+
L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMzAyMTUxNzQxMTVaFw0yNDAy
|
|
15
|
+
MTUxNzQxMTVaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
|
|
16
|
+
PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/
|
|
17
|
+
mZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN
|
|
18
|
+
eSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/
|
|
19
|
+
8nBMvR0mHo77kIkapHc26UzVq/G0nKLfDsIHXVylto3PjzOumjG6GhmFN4r3cP6e
|
|
20
|
+
SDfl1FSeRYVpt4kmQULz/zdSaOH3AjAq7PM2Z91iGwQvoUXMANH2v89OWjQO/NHe
|
|
21
|
+
JMNDFsmHK/6Ji4Kk48Z3TyscHQnipAID5GhS1oD21/WePdj7GhmbF5gBzkV5uepd
|
|
22
|
+
eJQPgWGwrQW/Z2oPjRuJrRofzWfrMWqbOahj9uth6WSxhNexUtbjk6P8emmXOJi5
|
|
23
|
+
chQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg
|
|
24
|
+
9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjOTA3MAkG
|
|
25
|
+
A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ4h1tIyvdUWtMI739xMzTR
|
|
26
|
+
7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEAQAcuTARfiiVUVx5KURICfdTM2Kd7LhOn
|
|
27
|
+
qt3Vs4ANGvT226LEp3RnQ+kWGQYMRb3cw3LY2TNQRPlnZxE994mgjBscN4fbjXqO
|
|
28
|
+
T0JbVpeszRZa5k1goggbnWT7CO7yU7WcHh13DaSubY7HUpAJn2xz9w2stxQfN/EE
|
|
29
|
+
VMlnDJ1P7mUHAvpK8X9j9h7Xlc1niViT18MYwux8mboVTryrLr+clATUkkM3yBF0
|
|
30
|
+
RV+c34ReW5eXO9Tr6aKTxh/pFC9ggDT6jOxuJgSvG8HWJzVf4NDvMavIas4KYjiI
|
|
31
|
+
BU6CpWaG5NxicqL3BERi52U43HV08br+LNVpb7Rekgve/PJuSFnAR015bhSRXe5U
|
|
32
|
+
vBioD1qW2ZW9tXg8Ww2IfDaO5a1So5Xby51rhNlyo6ATj2NkuLWZUKPKHhAz0TKm
|
|
33
|
+
Dzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd
|
|
34
|
+
NUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx
|
|
31
35
|
-----END CERTIFICATE-----
|
|
32
|
-
date:
|
|
36
|
+
date: 2023-09-24 00:00:00.000000000 Z
|
|
33
37
|
dependencies:
|
|
34
38
|
- !ruby/object:Gem::Dependency
|
|
35
39
|
name: rake
|
|
@@ -51,14 +55,14 @@ dependencies:
|
|
|
51
55
|
requirements:
|
|
52
56
|
- - "~>"
|
|
53
57
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '1.
|
|
58
|
+
version: '1.1'
|
|
55
59
|
type: :development
|
|
56
60
|
prerelease: false
|
|
57
61
|
version_requirements: !ruby/object:Gem::Requirement
|
|
58
62
|
requirements:
|
|
59
63
|
- - "~>"
|
|
60
64
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.
|
|
65
|
+
version: '1.1'
|
|
62
66
|
- !ruby/object:Gem::Dependency
|
|
63
67
|
name: rake-compiler-dock
|
|
64
68
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,12 +110,16 @@ files:
|
|
|
106
110
|
- lib/ffi/autopointer.rb
|
|
107
111
|
- lib/ffi/buffer.rb
|
|
108
112
|
- lib/ffi/callback.rb
|
|
113
|
+
- lib/ffi/compat.rb
|
|
109
114
|
- lib/ffi/data_converter.rb
|
|
115
|
+
- lib/ffi/dynamic_library.rb
|
|
110
116
|
- lib/ffi/enum.rb
|
|
111
117
|
- lib/ffi/errno.rb
|
|
112
118
|
- lib/ffi/ffi.rb
|
|
119
|
+
- lib/ffi/function.rb
|
|
113
120
|
- lib/ffi/io.rb
|
|
114
121
|
- lib/ffi/library.rb
|
|
122
|
+
- lib/ffi/library_path.rb
|
|
115
123
|
- lib/ffi/managedstruct.rb
|
|
116
124
|
- lib/ffi/memorypointer.rb
|
|
117
125
|
- lib/ffi/platform.rb
|
|
@@ -120,9 +128,12 @@ files:
|
|
|
120
128
|
- lib/ffi/platform/aarch64-freebsd12/types.conf
|
|
121
129
|
- lib/ffi/platform/aarch64-linux/types.conf
|
|
122
130
|
- lib/ffi/platform/aarch64-openbsd/types.conf
|
|
131
|
+
- lib/ffi/platform/aarch64-windows/types.conf
|
|
123
132
|
- lib/ffi/platform/arm-freebsd/types.conf
|
|
124
133
|
- lib/ffi/platform/arm-freebsd12/types.conf
|
|
125
134
|
- lib/ffi/platform/arm-linux/types.conf
|
|
135
|
+
- lib/ffi/platform/hppa1.1-linux/types.conf
|
|
136
|
+
- lib/ffi/platform/hppa2.0-linux/types.conf
|
|
126
137
|
- lib/ffi/platform/i386-cygwin/types.conf
|
|
127
138
|
- lib/ffi/platform/i386-darwin/types.conf
|
|
128
139
|
- lib/ffi/platform/i386-freebsd/types.conf
|
|
@@ -134,6 +145,7 @@ files:
|
|
|
134
145
|
- lib/ffi/platform/i386-solaris/types.conf
|
|
135
146
|
- lib/ffi/platform/i386-windows/types.conf
|
|
136
147
|
- lib/ffi/platform/ia64-linux/types.conf
|
|
148
|
+
- lib/ffi/platform/loongarch64-linux/types.conf
|
|
137
149
|
- lib/ffi/platform/mips-linux/types.conf
|
|
138
150
|
- lib/ffi/platform/mips64-linux/types.conf
|
|
139
151
|
- lib/ffi/platform/mips64el-linux/types.conf
|
|
@@ -153,9 +165,10 @@ files:
|
|
|
153
165
|
- lib/ffi/platform/s390x-linux/types.conf
|
|
154
166
|
- lib/ffi/platform/sparc-linux/types.conf
|
|
155
167
|
- lib/ffi/platform/sparc-solaris/types.conf
|
|
156
|
-
- lib/ffi/platform/
|
|
168
|
+
- lib/ffi/platform/sparcv9-linux/types.conf
|
|
157
169
|
- lib/ffi/platform/sparcv9-openbsd/types.conf
|
|
158
170
|
- lib/ffi/platform/sparcv9-solaris/types.conf
|
|
171
|
+
- lib/ffi/platform/sw_64-linux/types.conf
|
|
159
172
|
- lib/ffi/platform/x86_64-cygwin/types.conf
|
|
160
173
|
- lib/ffi/platform/x86_64-darwin/types.conf
|
|
161
174
|
- lib/ffi/platform/x86_64-dragonflybsd/types.conf
|
|
@@ -200,7 +213,7 @@ metadata:
|
|
|
200
213
|
wiki_uri: https://github.com/ffi/ffi/wiki
|
|
201
214
|
source_code_uri: https://github.com/ffi/ffi/
|
|
202
215
|
mailing_list_uri: http://groups.google.com/group/ruby-ffi
|
|
203
|
-
post_install_message:
|
|
216
|
+
post_install_message:
|
|
204
217
|
rdoc_options:
|
|
205
218
|
- "--exclude=ext/ffi_c/.*\\.o$"
|
|
206
219
|
- "--exclude=ffi_c\\.(bundle|so)$"
|
|
@@ -210,15 +223,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
210
223
|
requirements:
|
|
211
224
|
- - ">="
|
|
212
225
|
- !ruby/object:Gem::Version
|
|
213
|
-
version: '2.
|
|
226
|
+
version: '2.5'
|
|
214
227
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
228
|
requirements:
|
|
216
229
|
- - ">="
|
|
217
230
|
- !ruby/object:Gem::Version
|
|
218
231
|
version: '0'
|
|
219
232
|
requirements: []
|
|
220
|
-
rubygems_version: 3.
|
|
221
|
-
signing_key:
|
|
233
|
+
rubygems_version: 3.4.19
|
|
234
|
+
signing_key:
|
|
222
235
|
specification_version: 4
|
|
223
236
|
summary: Ruby FFI
|
|
224
237
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
|
File without changes
|