ffi 1.17.0.rc1-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +442 -0
  3. data/COPYING +49 -0
  4. data/Gemfile +21 -0
  5. data/LICENSE +24 -0
  6. data/LICENSE.SPECS +22 -0
  7. data/README.md +137 -0
  8. data/Rakefile +206 -0
  9. data/ffi.gemspec +42 -0
  10. data/lib/2.5/ffi_c.bundle +0 -0
  11. data/lib/2.6/ffi_c.bundle +0 -0
  12. data/lib/2.7/ffi_c.bundle +0 -0
  13. data/lib/3.0/ffi_c.bundle +0 -0
  14. data/lib/3.1/ffi_c.bundle +0 -0
  15. data/lib/3.2/ffi_c.bundle +0 -0
  16. data/lib/3.3/ffi_c.bundle +0 -0
  17. data/lib/ffi/abstract_memory.rb +44 -0
  18. data/lib/ffi/autopointer.rb +188 -0
  19. data/lib/ffi/buffer.rb +4 -0
  20. data/lib/ffi/callback.rb +4 -0
  21. data/lib/ffi/compat.rb +43 -0
  22. data/lib/ffi/data_converter.rb +67 -0
  23. data/lib/ffi/dynamic_library.rb +118 -0
  24. data/lib/ffi/enum.rb +302 -0
  25. data/lib/ffi/errno.rb +43 -0
  26. data/lib/ffi/ffi.rb +50 -0
  27. data/lib/ffi/function.rb +71 -0
  28. data/lib/ffi/io.rb +62 -0
  29. data/lib/ffi/library.rb +576 -0
  30. data/lib/ffi/library_path.rb +109 -0
  31. data/lib/ffi/managedstruct.rb +84 -0
  32. data/lib/ffi/memorypointer.rb +1 -0
  33. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  34. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  35. data/lib/ffi/platform/aarch64-freebsd12/types.conf +181 -0
  36. data/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  37. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  38. data/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  39. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  40. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  41. data/lib/ffi/platform/arm-linux/types.conf +132 -0
  42. data/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  43. data/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  44. data/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  45. data/lib/ffi/platform/i386-darwin/types.conf +100 -0
  46. data/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  47. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  48. data/lib/ffi/platform/i386-gnu/types.conf +107 -0
  49. data/lib/ffi/platform/i386-linux/types.conf +103 -0
  50. data/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  51. data/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  52. data/lib/ffi/platform/i386-solaris/types.conf +122 -0
  53. data/lib/ffi/platform/i386-windows/types.conf +52 -0
  54. data/lib/ffi/platform/ia64-linux/types.conf +104 -0
  55. data/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  56. data/lib/ffi/platform/mips-linux/types.conf +102 -0
  57. data/lib/ffi/platform/mips64-linux/types.conf +104 -0
  58. data/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  59. data/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  60. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  61. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  62. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  63. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  64. data/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  65. data/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  66. data/lib/ffi/platform/powerpc-linux/types.conf +130 -0
  67. data/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  68. data/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  69. data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  70. data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  71. data/lib/ffi/platform/s390-linux/types.conf +102 -0
  72. data/lib/ffi/platform/s390x-linux/types.conf +102 -0
  73. data/lib/ffi/platform/sparc-linux/types.conf +102 -0
  74. data/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  75. data/lib/ffi/platform/sparcv9-linux/types.conf +102 -0
  76. data/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  77. data/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  78. data/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  79. data/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  80. data/lib/ffi/platform/x86_64-darwin/types.conf +130 -0
  81. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  82. data/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  83. data/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  84. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  85. data/lib/ffi/platform/x86_64-linux/types.conf +132 -0
  86. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  87. data/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  88. data/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  89. data/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  90. data/lib/ffi/platform/x86_64-windows/types.conf +52 -0
  91. data/lib/ffi/platform.rb +187 -0
  92. data/lib/ffi/pointer.rb +167 -0
  93. data/lib/ffi/struct.rb +317 -0
  94. data/lib/ffi/struct_by_reference.rb +72 -0
  95. data/lib/ffi/struct_layout.rb +96 -0
  96. data/lib/ffi/struct_layout_builder.rb +227 -0
  97. data/lib/ffi/tools/const_generator.rb +232 -0
  98. data/lib/ffi/tools/generator.rb +105 -0
  99. data/lib/ffi/tools/generator_task.rb +32 -0
  100. data/lib/ffi/tools/struct_generator.rb +195 -0
  101. data/lib/ffi/tools/types_generator.rb +137 -0
  102. data/lib/ffi/types.rb +222 -0
  103. data/lib/ffi/union.rb +43 -0
  104. data/lib/ffi/variadic.rb +80 -0
  105. data/lib/ffi/version.rb +3 -0
  106. data/lib/ffi.rb +27 -0
  107. data/rakelib/ffi_gem_helper.rb +65 -0
  108. data/samples/getlogin.rb +8 -0
  109. data/samples/getpid.rb +8 -0
  110. data/samples/gettimeofday.rb +18 -0
  111. data/samples/hello.rb +8 -0
  112. data/samples/hello_ractor.rb +11 -0
  113. data/samples/inotify.rb +60 -0
  114. data/samples/pty.rb +75 -0
  115. data/samples/qsort.rb +20 -0
  116. data/samples/qsort_ractor.rb +28 -0
  117. data/sig/ffi/abstract_memory.rbs +164 -0
  118. data/sig/ffi/auto_pointer.rbs +27 -0
  119. data/sig/ffi/buffer.rbs +18 -0
  120. data/sig/ffi/data_converter.rbs +10 -0
  121. data/sig/ffi/dynamic_library.rbs +9 -0
  122. data/sig/ffi/enum.rbs +38 -0
  123. data/sig/ffi/function.rbs +39 -0
  124. data/sig/ffi/library.rbs +42 -0
  125. data/sig/ffi/native_type.rbs +86 -0
  126. data/sig/ffi/pointer.rbs +42 -0
  127. data/sig/ffi/struct.rbs +76 -0
  128. data/sig/ffi/struct_by_reference.rbs +11 -0
  129. data/sig/ffi/struct_by_value.rbs +7 -0
  130. data/sig/ffi/struct_layout.rbs +9 -0
  131. data/sig/ffi/struct_layout_builder.rbs +5 -0
  132. data/sig/ffi/type.rbs +39 -0
  133. data/sig/ffi.rbs +26 -0
  134. metadata +241 -0
metadata ADDED
@@ -0,0 +1,241 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ffi
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.17.0.rc1
5
+ platform: arm64-darwin
6
+ authors:
7
+ - Wayne Meissner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-04-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake-compiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler-dock
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.14.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.14.1
69
+ description: Ruby FFI library
70
+ email: wmeissner@gmail.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - CHANGELOG.md
76
+ - COPYING
77
+ - Gemfile
78
+ - LICENSE
79
+ - LICENSE.SPECS
80
+ - README.md
81
+ - Rakefile
82
+ - ffi.gemspec
83
+ - lib/2.5/ffi_c.bundle
84
+ - lib/2.6/ffi_c.bundle
85
+ - lib/2.7/ffi_c.bundle
86
+ - lib/3.0/ffi_c.bundle
87
+ - lib/3.1/ffi_c.bundle
88
+ - lib/3.2/ffi_c.bundle
89
+ - lib/3.3/ffi_c.bundle
90
+ - lib/ffi.rb
91
+ - lib/ffi/abstract_memory.rb
92
+ - lib/ffi/autopointer.rb
93
+ - lib/ffi/buffer.rb
94
+ - lib/ffi/callback.rb
95
+ - lib/ffi/compat.rb
96
+ - lib/ffi/data_converter.rb
97
+ - lib/ffi/dynamic_library.rb
98
+ - lib/ffi/enum.rb
99
+ - lib/ffi/errno.rb
100
+ - lib/ffi/ffi.rb
101
+ - lib/ffi/function.rb
102
+ - lib/ffi/io.rb
103
+ - lib/ffi/library.rb
104
+ - lib/ffi/library_path.rb
105
+ - lib/ffi/managedstruct.rb
106
+ - lib/ffi/memorypointer.rb
107
+ - lib/ffi/platform.rb
108
+ - lib/ffi/platform/aarch64-darwin/types.conf
109
+ - lib/ffi/platform/aarch64-freebsd/types.conf
110
+ - lib/ffi/platform/aarch64-freebsd12/types.conf
111
+ - lib/ffi/platform/aarch64-linux/types.conf
112
+ - lib/ffi/platform/aarch64-openbsd/types.conf
113
+ - lib/ffi/platform/aarch64-windows/types.conf
114
+ - lib/ffi/platform/arm-freebsd/types.conf
115
+ - lib/ffi/platform/arm-freebsd12/types.conf
116
+ - lib/ffi/platform/arm-linux/types.conf
117
+ - lib/ffi/platform/hppa1.1-linux/types.conf
118
+ - lib/ffi/platform/hppa2.0-linux/types.conf
119
+ - lib/ffi/platform/i386-cygwin/types.conf
120
+ - lib/ffi/platform/i386-darwin/types.conf
121
+ - lib/ffi/platform/i386-freebsd/types.conf
122
+ - lib/ffi/platform/i386-freebsd12/types.conf
123
+ - lib/ffi/platform/i386-gnu/types.conf
124
+ - lib/ffi/platform/i386-linux/types.conf
125
+ - lib/ffi/platform/i386-netbsd/types.conf
126
+ - lib/ffi/platform/i386-openbsd/types.conf
127
+ - lib/ffi/platform/i386-solaris/types.conf
128
+ - lib/ffi/platform/i386-windows/types.conf
129
+ - lib/ffi/platform/ia64-linux/types.conf
130
+ - lib/ffi/platform/loongarch64-linux/types.conf
131
+ - lib/ffi/platform/mips-linux/types.conf
132
+ - lib/ffi/platform/mips64-linux/types.conf
133
+ - lib/ffi/platform/mips64el-linux/types.conf
134
+ - lib/ffi/platform/mipsel-linux/types.conf
135
+ - lib/ffi/platform/mipsisa32r6-linux/types.conf
136
+ - lib/ffi/platform/mipsisa32r6el-linux/types.conf
137
+ - lib/ffi/platform/mipsisa64r6-linux/types.conf
138
+ - lib/ffi/platform/mipsisa64r6el-linux/types.conf
139
+ - lib/ffi/platform/powerpc-aix/types.conf
140
+ - lib/ffi/platform/powerpc-darwin/types.conf
141
+ - lib/ffi/platform/powerpc-linux/types.conf
142
+ - lib/ffi/platform/powerpc-openbsd/types.conf
143
+ - lib/ffi/platform/powerpc64-linux/types.conf
144
+ - lib/ffi/platform/powerpc64le-linux/types.conf
145
+ - lib/ffi/platform/riscv64-linux/types.conf
146
+ - lib/ffi/platform/s390-linux/types.conf
147
+ - lib/ffi/platform/s390x-linux/types.conf
148
+ - lib/ffi/platform/sparc-linux/types.conf
149
+ - lib/ffi/platform/sparc-solaris/types.conf
150
+ - lib/ffi/platform/sparcv9-linux/types.conf
151
+ - lib/ffi/platform/sparcv9-openbsd/types.conf
152
+ - lib/ffi/platform/sparcv9-solaris/types.conf
153
+ - lib/ffi/platform/sw_64-linux/types.conf
154
+ - lib/ffi/platform/x86_64-cygwin/types.conf
155
+ - lib/ffi/platform/x86_64-darwin/types.conf
156
+ - lib/ffi/platform/x86_64-dragonflybsd/types.conf
157
+ - lib/ffi/platform/x86_64-freebsd/types.conf
158
+ - lib/ffi/platform/x86_64-freebsd12/types.conf
159
+ - lib/ffi/platform/x86_64-haiku/types.conf
160
+ - lib/ffi/platform/x86_64-linux/types.conf
161
+ - lib/ffi/platform/x86_64-msys/types.conf
162
+ - lib/ffi/platform/x86_64-netbsd/types.conf
163
+ - lib/ffi/platform/x86_64-openbsd/types.conf
164
+ - lib/ffi/platform/x86_64-solaris/types.conf
165
+ - lib/ffi/platform/x86_64-windows/types.conf
166
+ - lib/ffi/pointer.rb
167
+ - lib/ffi/struct.rb
168
+ - lib/ffi/struct_by_reference.rb
169
+ - lib/ffi/struct_layout.rb
170
+ - lib/ffi/struct_layout_builder.rb
171
+ - lib/ffi/tools/const_generator.rb
172
+ - lib/ffi/tools/generator.rb
173
+ - lib/ffi/tools/generator_task.rb
174
+ - lib/ffi/tools/struct_generator.rb
175
+ - lib/ffi/tools/types_generator.rb
176
+ - lib/ffi/types.rb
177
+ - lib/ffi/union.rb
178
+ - lib/ffi/variadic.rb
179
+ - lib/ffi/version.rb
180
+ - rakelib/ffi_gem_helper.rb
181
+ - samples/getlogin.rb
182
+ - samples/getpid.rb
183
+ - samples/gettimeofday.rb
184
+ - samples/hello.rb
185
+ - samples/hello_ractor.rb
186
+ - samples/inotify.rb
187
+ - samples/pty.rb
188
+ - samples/qsort.rb
189
+ - samples/qsort_ractor.rb
190
+ - sig/ffi.rbs
191
+ - sig/ffi/abstract_memory.rbs
192
+ - sig/ffi/auto_pointer.rbs
193
+ - sig/ffi/buffer.rbs
194
+ - sig/ffi/data_converter.rbs
195
+ - sig/ffi/dynamic_library.rbs
196
+ - sig/ffi/enum.rbs
197
+ - sig/ffi/function.rbs
198
+ - sig/ffi/library.rbs
199
+ - sig/ffi/native_type.rbs
200
+ - sig/ffi/pointer.rbs
201
+ - sig/ffi/struct.rbs
202
+ - sig/ffi/struct_by_reference.rbs
203
+ - sig/ffi/struct_by_value.rbs
204
+ - sig/ffi/struct_layout.rbs
205
+ - sig/ffi/struct_layout_builder.rbs
206
+ - sig/ffi/type.rbs
207
+ homepage: https://github.com/ffi/ffi/wiki
208
+ licenses:
209
+ - BSD-3-Clause
210
+ metadata:
211
+ bug_tracker_uri: https://github.com/ffi/ffi/issues
212
+ changelog_uri: https://github.com/ffi/ffi/blob/master/CHANGELOG.md
213
+ documentation_uri: https://github.com/ffi/ffi/wiki
214
+ wiki_uri: https://github.com/ffi/ffi/wiki
215
+ source_code_uri: https://github.com/ffi/ffi/
216
+ mailing_list_uri: http://groups.google.com/group/ruby-ffi
217
+ post_install_message:
218
+ rdoc_options:
219
+ - "--exclude=ext/ffi_c/.*\\.o$"
220
+ - "--exclude=ffi_c\\.(bundle|so)$"
221
+ require_paths:
222
+ - lib
223
+ required_ruby_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '2.5'
228
+ - - "<"
229
+ - !ruby/object:Gem::Version
230
+ version: 3.4.dev
231
+ required_rubygems_version: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">"
234
+ - !ruby/object:Gem::Version
235
+ version: 1.3.1
236
+ requirements: []
237
+ rubygems_version: 3.3.26
238
+ signing_key:
239
+ specification_version: 4
240
+ summary: Ruby FFI
241
+ test_files: []