ffi 0.6.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

Files changed (92) hide show
  1. data/History.txt +7 -0
  2. data/LICENSE +10 -21
  3. data/README.rdoc +70 -0
  4. data/Rakefile +56 -84
  5. data/ext/ffi_c/AbstractMemory.c +56 -38
  6. data/ext/ffi_c/AbstractMemory.h +15 -22
  7. data/ext/ffi_c/Buffer.c +61 -22
  8. data/ext/ffi_c/Call.c +52 -540
  9. data/ext/ffi_c/Call.h +1 -1
  10. data/ext/ffi_c/DataConverter.c +62 -0
  11. data/ext/ffi_c/DynamicLibrary.c +21 -1
  12. data/ext/ffi_c/Function.c +252 -30
  13. data/ext/ffi_c/MappedType.c +146 -0
  14. data/{libtest/FunctionTest.c → ext/ffi_c/MappedType.h} +32 -25
  15. data/ext/ffi_c/MemoryPointer.c +12 -33
  16. data/ext/ffi_c/Platform.c +2 -0
  17. data/ext/ffi_c/Pointer.c +66 -28
  18. data/ext/ffi_c/Struct.c +19 -306
  19. data/ext/ffi_c/Struct.h +6 -0
  20. data/ext/ffi_c/StructByReference.c +150 -0
  21. data/{libtest/LastErrorTest.c → ext/ffi_c/StructByReference.h} +30 -21
  22. data/ext/ffi_c/StructLayout.c +26 -16
  23. data/ext/ffi_c/Type.c +39 -68
  24. data/ext/ffi_c/Type.h +12 -22
  25. data/ext/ffi_c/Types.c +20 -5
  26. data/ext/ffi_c/Types.h +7 -7
  27. data/ext/ffi_c/Variadic.c +21 -17
  28. data/ext/ffi_c/extconf.rb +4 -0
  29. data/ext/ffi_c/ffi.c +8 -2
  30. data/ext/ffi_c/rbffi.h +1 -0
  31. data/lib/ffi/autopointer.rb +23 -22
  32. data/lib/ffi/enum.rb +36 -21
  33. data/lib/ffi/errno.rb +20 -0
  34. data/lib/ffi/ffi.rb +13 -80
  35. data/lib/ffi/io.rb +12 -20
  36. data/lib/ffi/library.rb +109 -92
  37. data/lib/ffi/managedstruct.rb +1 -1
  38. data/lib/ffi/memorypointer.rb +15 -21
  39. data/lib/ffi/platform.rb +27 -33
  40. data/lib/ffi/pointer.rb +14 -21
  41. data/lib/ffi/struct.rb +98 -49
  42. data/lib/ffi/struct_layout_builder.rb +158 -0
  43. data/lib/ffi/types.rb +99 -128
  44. data/lib/ffi/union.rb +20 -0
  45. data/lib/ffi/variadic.rb +33 -22
  46. data/spec/ffi/async_callback_spec.rb +23 -0
  47. data/spec/ffi/callback_spec.rb +62 -0
  48. data/spec/ffi/custom_param_type.rb +31 -0
  49. data/spec/ffi/custom_type_spec.rb +73 -0
  50. data/spec/ffi/enum_spec.rb +19 -0
  51. data/spec/ffi/ffi_spec.rb +24 -0
  52. data/spec/ffi/pointer_spec.rb +15 -0
  53. data/spec/ffi/rbx/memory_pointer_spec.rb +7 -1
  54. data/spec/ffi/strptr_spec.rb +36 -0
  55. data/spec/ffi/struct_packed_spec.rb +46 -0
  56. data/spec/ffi/struct_spec.rb +19 -5
  57. data/spec/ffi/typedef_spec.rb +14 -0
  58. data/tasks/ann.rake +80 -0
  59. data/tasks/extension.rake +25 -0
  60. data/tasks/gem.rake +200 -0
  61. data/tasks/git.rake +41 -0
  62. data/tasks/notes.rake +27 -0
  63. data/tasks/post_load.rake +34 -0
  64. data/tasks/rdoc.rake +50 -0
  65. data/tasks/rubyforge.rake +55 -0
  66. data/tasks/setup.rb +301 -0
  67. data/tasks/spec.rake +54 -0
  68. data/tasks/svn.rake +47 -0
  69. data/tasks/test.rake +40 -0
  70. metadata +139 -131
  71. data/README.md +0 -109
  72. data/ext/ffi_c/AutoPointer.c +0 -60
  73. data/ext/ffi_c/AutoPointer.h +0 -18
  74. data/ext/ffi_c/Ffi_c.iml +0 -12
  75. data/ffi.gemspec +0 -18
  76. data/gen/log +0 -1
  77. data/lib/Lib.iml +0 -21
  78. data/libtest/Benchmark.c +0 -73
  79. data/libtest/BoolTest.c +0 -52
  80. data/libtest/BufferTest.c +0 -52
  81. data/libtest/ClosureTest.c +0 -173
  82. data/libtest/EnumTest.c +0 -55
  83. data/libtest/GNUmakefile +0 -141
  84. data/libtest/GlobalVariable.c +0 -56
  85. data/libtest/NumberTest.c +0 -145
  86. data/libtest/PointerTest.c +0 -84
  87. data/libtest/ReferenceTest.c +0 -44
  88. data/libtest/StringTest.c +0 -55
  89. data/libtest/StructTest.c +0 -247
  90. data/libtest/UnionTest.c +0 -64
  91. data/libtest/VariadicTest.c +0 -57
  92. data/spec/ffi/Ffi.iml +0 -12
data/tasks/spec.rake ADDED
@@ -0,0 +1,54 @@
1
+
2
+ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
3
+ require 'spec/rake/verify_rcov'
4
+
5
+ namespace :spec do
6
+
7
+ desc 'Run all specs with basic output'
8
+ Spec::Rake::SpecTask.new(:run) do |t|
9
+ t.ruby_opts = PROJ.ruby_opts
10
+ t.spec_opts = PROJ.spec.opts
11
+ t.spec_files = PROJ.spec.files
12
+ t.libs += PROJ.libs
13
+ end
14
+
15
+ desc 'Run all specs with text output'
16
+ Spec::Rake::SpecTask.new(:specdoc) do |t|
17
+ t.ruby_opts = PROJ.ruby_opts
18
+ t.spec_opts = PROJ.spec.opts + ['--format', 'specdoc']
19
+ t.spec_files = PROJ.spec.files
20
+ t.libs += PROJ.libs
21
+ end
22
+
23
+ if HAVE_RCOV
24
+ desc 'Run all specs with RCov'
25
+ Spec::Rake::SpecTask.new(:rcov) do |t|
26
+ t.ruby_opts = PROJ.ruby_opts
27
+ t.spec_opts = PROJ.spec.opts
28
+ t.spec_files = PROJ.spec.files
29
+ t.libs += PROJ.libs
30
+ t.rcov = true
31
+ t.rcov_dir = PROJ.rcov.dir
32
+ t.rcov_opts = PROJ.rcov.opts + ['--exclude', 'spec']
33
+ end
34
+
35
+ RCov::VerifyTask.new(:verify) do |t|
36
+ t.threshold = PROJ.rcov.threshold
37
+ t.index_html = File.join(PROJ.rcov.dir, 'index.html')
38
+ t.require_exact_threshold = PROJ.rcov.threshold_exact
39
+ end
40
+
41
+ task :verify => :rcov
42
+ remove_desc_for_task %w(spec:clobber_rcov)
43
+ end
44
+
45
+ end # namespace :spec
46
+
47
+ desc 'Alias to spec:run'
48
+ task :spec => 'spec:run'
49
+
50
+ task :clobber => 'spec:clobber_rcov' if HAVE_RCOV
51
+
52
+ end # if HAVE_SPEC_RAKE_SPECTASK
53
+
54
+ # EOF
data/tasks/svn.rake ADDED
@@ -0,0 +1,47 @@
1
+
2
+ if HAVE_SVN
3
+
4
+ unless PROJ.svn.root
5
+ info = %x/svn info ./
6
+ m = %r/^Repository Root:\s+(.*)$/.match(info)
7
+ PROJ.svn.root = (m.nil? ? '' : m[1])
8
+ end
9
+ PROJ.svn.root = File.join(PROJ.svn.root, PROJ.svn.path) unless PROJ.svn.path.empty?
10
+
11
+ namespace :svn do
12
+
13
+ # A prerequisites task that all other tasks depend upon
14
+ task :prereqs
15
+
16
+ desc 'Show tags from the SVN repository'
17
+ task :show_tags => 'svn:prereqs' do |t|
18
+ tags = %x/svn list #{File.join(PROJ.svn.root, PROJ.svn.tags)}/
19
+ tags.gsub!(%r/\/$/, '')
20
+ tags = tags.split("\n").sort {|a,b| b <=> a}
21
+ puts tags
22
+ end
23
+
24
+ desc 'Create a new tag in the SVN repository'
25
+ task :create_tag => 'svn:prereqs' do |t|
26
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
27
+ abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
28
+
29
+ svn = PROJ.svn
30
+ trunk = File.join(svn.root, svn.trunk)
31
+ tag = "%s-%s" % [PROJ.name, PROJ.version]
32
+ tag = File.join(svn.root, svn.tags, tag)
33
+ msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
34
+
35
+ puts "Creating SVN tag '#{tag}'"
36
+ unless system "svn cp -m '#{msg}' #{trunk} #{tag}"
37
+ abort "Tag creation failed"
38
+ end
39
+ end
40
+
41
+ end # namespace :svn
42
+
43
+ task 'gem:release' => 'svn:create_tag'
44
+
45
+ end # if PROJ.svn.path
46
+
47
+ # EOF
data/tasks/test.rake ADDED
@@ -0,0 +1,40 @@
1
+
2
+ if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
3
+ require 'rake/testtask'
4
+
5
+ namespace :test do
6
+
7
+ Rake::TestTask.new(:run) do |t|
8
+ t.libs = PROJ.libs
9
+ t.test_files = if test(?f, PROJ.test.file) then [PROJ.test.file]
10
+ else PROJ.test.files end
11
+ t.ruby_opts += PROJ.ruby_opts
12
+ t.ruby_opts += PROJ.test.opts
13
+ end
14
+
15
+ if HAVE_RCOV
16
+ desc 'Run rcov on the unit tests'
17
+ task :rcov => :clobber_rcov do
18
+ opts = PROJ.rcov.opts.dup << '-o' << PROJ.rcov.dir
19
+ opts = opts.join(' ')
20
+ files = if test(?f, PROJ.test.file) then [PROJ.test.file]
21
+ else PROJ.test.files end
22
+ files = files.join(' ')
23
+ sh "#{RCOV} #{files} #{opts}"
24
+ end
25
+
26
+ task :clobber_rcov do
27
+ rm_r 'coverage' rescue nil
28
+ end
29
+ end
30
+
31
+ end # namespace :test
32
+
33
+ desc 'Alias to test:run'
34
+ task :test => 'test:run'
35
+
36
+ task :clobber => 'test:clobber_rcov' if HAVE_RCOV
37
+
38
+ end
39
+
40
+ # EOF
metadata CHANGED
@@ -1,105 +1,129 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.4
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 0
8
+ - 0
9
+ version: 1.0.0
6
10
  platform: ruby
7
- authors:
11
+ authors:
8
12
  - Wayne Meissner
9
13
  autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
- date: 2013-02-11 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2010-11-30 00:00:00 +10:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: rake
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: rake-compiler
32
- requirement: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
33
24
  none: false
34
- requirements:
25
+ requirements:
35
26
  - - ">="
36
- - !ruby/object:Gem::Version
37
- version: 0.6.0
38
- type: :development
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 8
31
+ - 7
32
+ version: 0.8.7
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: bones
39
37
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: 0.6.0
46
- - !ruby/object:Gem::Dependency
47
- name: rspec
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
49
39
  none: false
50
- requirements:
40
+ requirements:
51
41
  - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 3
45
+ - 4
46
+ - 7
47
+ version: 3.4.7
54
48
  type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- description: Ruby FFI library
49
+ version_requirements: *id002
50
+ description: |-
51
+ Ruby-FFI is a ruby extension for programmatically loading dynamic
52
+ libraries, binding functions within them, and calling those functions
53
+ from Ruby code. Moreover, a Ruby-FFI extension works without changes
54
+ on Ruby and JRuby. Discover why should you write your next extension
55
+ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].
63
56
  email: wmeissner@gmail.com
64
57
  executables: []
65
- extensions:
58
+
59
+ extensions:
66
60
  - ext/ffi_c/extconf.rb
67
- extra_rdoc_files: []
68
- files:
69
- - ffi.gemspec
61
+ - gen/Rakefile
62
+ extra_rdoc_files:
63
+ - History.txt
64
+ - README.rdoc
65
+ files:
70
66
  - History.txt
71
67
  - LICENSE
72
- - README.md
68
+ - README.rdoc
73
69
  - Rakefile
74
70
  - ext/ffi_c/AbstractMemory.c
75
71
  - ext/ffi_c/AbstractMemory.h
76
72
  - ext/ffi_c/ArrayType.c
77
73
  - ext/ffi_c/ArrayType.h
78
- - ext/ffi_c/AutoPointer.c
79
- - ext/ffi_c/AutoPointer.h
80
74
  - ext/ffi_c/Buffer.c
81
75
  - ext/ffi_c/Call.c
82
76
  - ext/ffi_c/Call.h
83
77
  - ext/ffi_c/ClosurePool.c
84
78
  - ext/ffi_c/ClosurePool.h
85
- - ext/ffi_c/compat.h
79
+ - ext/ffi_c/DataConverter.c
86
80
  - ext/ffi_c/DynamicLibrary.c
87
81
  - ext/ffi_c/DynamicLibrary.h
88
- - ext/ffi_c/endian.h
89
- - ext/ffi_c/extconf.rb
90
- - ext/ffi_c/ffi.c
91
- - ext/ffi_c/Ffi_c.iml
92
82
  - ext/ffi_c/Function.c
93
83
  - ext/ffi_c/Function.h
94
84
  - ext/ffi_c/FunctionInfo.c
95
85
  - ext/ffi_c/LastError.c
96
86
  - ext/ffi_c/LastError.h
97
- - ext/ffi_c/libffi/acinclude.m4
98
- - ext/ffi_c/libffi/aclocal.m4
87
+ - ext/ffi_c/MappedType.c
88
+ - ext/ffi_c/MappedType.h
89
+ - ext/ffi_c/MemoryPointer.c
90
+ - ext/ffi_c/MemoryPointer.h
91
+ - ext/ffi_c/MethodHandle.c
92
+ - ext/ffi_c/MethodHandle.h
93
+ - ext/ffi_c/Platform.c
94
+ - ext/ffi_c/Platform.h
95
+ - ext/ffi_c/Pointer.c
96
+ - ext/ffi_c/Pointer.h
97
+ - ext/ffi_c/Struct.c
98
+ - ext/ffi_c/Struct.h
99
+ - ext/ffi_c/StructByReference.c
100
+ - ext/ffi_c/StructByReference.h
101
+ - ext/ffi_c/StructByValue.c
102
+ - ext/ffi_c/StructByValue.h
103
+ - ext/ffi_c/StructLayout.c
104
+ - ext/ffi_c/Type.c
105
+ - ext/ffi_c/Type.h
106
+ - ext/ffi_c/Types.c
107
+ - ext/ffi_c/Types.h
108
+ - ext/ffi_c/Variadic.c
109
+ - ext/ffi_c/compat.h
110
+ - ext/ffi_c/endian.h
111
+ - ext/ffi_c/extconf.rb
112
+ - ext/ffi_c/ffi.c
113
+ - ext/ffi_c/libffi.bsd.mk
114
+ - ext/ffi_c/libffi.darwin.mk
115
+ - ext/ffi_c/libffi.gnu.mk
116
+ - ext/ffi_c/libffi.mk
99
117
  - ext/ffi_c/libffi/ChangeLog
100
118
  - ext/ffi_c/libffi/ChangeLog.libffi
101
119
  - ext/ffi_c/libffi/ChangeLog.libgcj
102
120
  - ext/ffi_c/libffi/ChangeLog.v1
121
+ - ext/ffi_c/libffi/LICENSE
122
+ - ext/ffi_c/libffi/Makefile.am
123
+ - ext/ffi_c/libffi/Makefile.in
124
+ - ext/ffi_c/libffi/README
125
+ - ext/ffi_c/libffi/acinclude.m4
126
+ - ext/ffi_c/libffi/aclocal.m4
103
127
  - ext/ffi_c/libffi/compile
104
128
  - ext/ffi_c/libffi/config.guess
105
129
  - ext/ffi_c/libffi/config.sub
@@ -112,30 +136,26 @@ files:
112
136
  - ext/ffi_c/libffi/doc/stamp-vti
113
137
  - ext/ffi_c/libffi/doc/version.texi
114
138
  - ext/ffi_c/libffi/fficonfig.h.in
115
- - ext/ffi_c/libffi/include/ffi.h.in
116
- - ext/ffi_c/libffi/include/ffi_common.h
117
139
  - ext/ffi_c/libffi/include/Makefile.am
118
140
  - ext/ffi_c/libffi/include/Makefile.in
141
+ - ext/ffi_c/libffi/include/ffi.h.in
142
+ - ext/ffi_c/libffi/include/ffi_common.h
119
143
  - ext/ffi_c/libffi/install-sh
120
144
  - ext/ffi_c/libffi/libffi.pc.in
121
145
  - ext/ffi_c/libffi/libtool-version
122
- - ext/ffi_c/libffi/LICENSE
123
146
  - ext/ffi_c/libffi/ltmain.sh
124
147
  - ext/ffi_c/libffi/m4/libtool.m4
125
148
  - ext/ffi_c/libffi/m4/ltoptions.m4
126
149
  - ext/ffi_c/libffi/m4/ltsugar.m4
127
150
  - ext/ffi_c/libffi/m4/ltversion.m4
128
151
  - ext/ffi_c/libffi/m4/lt~obsolete.m4
129
- - ext/ffi_c/libffi/Makefile.am
130
- - ext/ffi_c/libffi/Makefile.in
152
+ - ext/ffi_c/libffi/man/Makefile.am
153
+ - ext/ffi_c/libffi/man/Makefile.in
131
154
  - ext/ffi_c/libffi/man/ffi.3
132
155
  - ext/ffi_c/libffi/man/ffi_call.3
133
156
  - ext/ffi_c/libffi/man/ffi_prep_cif.3
134
- - ext/ffi_c/libffi/man/Makefile.am
135
- - ext/ffi_c/libffi/man/Makefile.in
136
157
  - ext/ffi_c/libffi/mdate-sh
137
158
  - ext/ffi_c/libffi/missing
138
- - ext/ffi_c/libffi/README
139
159
  - ext/ffi_c/libffi/src/alpha/ffi.c
140
160
  - ext/ffi_c/libffi/src/alpha/ffitarget.h
141
161
  - ext/ffi_c/libffi/src/alpha/osf.S
@@ -211,6 +231,8 @@ files:
211
231
  - ext/ffi_c/libffi/src/x86/unix64.S
212
232
  - ext/ffi_c/libffi/src/x86/win32.S
213
233
  - ext/ffi_c/libffi/src/x86/win64.S
234
+ - ext/ffi_c/libffi/testsuite/Makefile.am
235
+ - ext/ffi_c/libffi/testsuite/Makefile.in
214
236
  - ext/ffi_c/libffi/testsuite/config/default.exp
215
237
  - ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp
216
238
  - ext/ffi_c/libffi/testsuite/lib/target-libpath.exp
@@ -342,34 +364,10 @@ files:
342
364
  - ext/ffi_c/libffi/testsuite/libffi.special/special.exp
343
365
  - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc
344
366
  - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
345
- - ext/ffi_c/libffi/testsuite/Makefile.am
346
- - ext/ffi_c/libffi/testsuite/Makefile.in
347
367
  - ext/ffi_c/libffi/texinfo.tex
348
- - ext/ffi_c/libffi.bsd.mk
349
- - ext/ffi_c/libffi.darwin.mk
350
- - ext/ffi_c/libffi.gnu.mk
351
- - ext/ffi_c/libffi.mk
352
- - ext/ffi_c/MemoryPointer.c
353
- - ext/ffi_c/MemoryPointer.h
354
- - ext/ffi_c/MethodHandle.c
355
- - ext/ffi_c/MethodHandle.h
356
- - ext/ffi_c/Platform.c
357
- - ext/ffi_c/Platform.h
358
- - ext/ffi_c/Pointer.c
359
- - ext/ffi_c/Pointer.h
360
368
  - ext/ffi_c/rbffi.h
361
- - ext/ffi_c/Struct.c
362
- - ext/ffi_c/Struct.h
363
- - ext/ffi_c/StructByValue.c
364
- - ext/ffi_c/StructByValue.h
365
- - ext/ffi_c/StructLayout.c
366
- - ext/ffi_c/Type.c
367
- - ext/ffi_c/Type.h
368
- - ext/ffi_c/Types.c
369
- - ext/ffi_c/Types.h
370
- - ext/ffi_c/Variadic.c
371
- - gen/log
372
369
  - gen/Rakefile
370
+ - lib/ffi.rb
373
371
  - lib/ffi/autopointer.rb
374
372
  - lib/ffi/buffer.rb
375
373
  - lib/ffi/callback.rb
@@ -383,6 +381,7 @@ files:
383
381
  - lib/ffi/platform.rb
384
382
  - lib/ffi/pointer.rb
385
383
  - lib/ffi/struct.rb
384
+ - lib/ffi/struct_layout_builder.rb
386
385
  - lib/ffi/tools/const_generator.rb
387
386
  - lib/ffi/tools/generator.rb
388
387
  - lib/ffi/tools/generator_task.rb
@@ -391,14 +390,15 @@ files:
391
390
  - lib/ffi/types.rb
392
391
  - lib/ffi/union.rb
393
392
  - lib/ffi/variadic.rb
394
- - lib/ffi.rb
395
- - lib/Lib.iml
393
+ - spec/ffi/async_callback_spec.rb
396
394
  - spec/ffi/bool_spec.rb
397
395
  - spec/ffi/buffer_spec.rb
398
396
  - spec/ffi/callback_spec.rb
397
+ - spec/ffi/custom_param_type.rb
398
+ - spec/ffi/custom_type_spec.rb
399
399
  - spec/ffi/enum_spec.rb
400
400
  - spec/ffi/errno_spec.rb
401
- - spec/ffi/Ffi.iml
401
+ - spec/ffi/ffi_spec.rb
402
402
  - spec/ffi/function_spec.rb
403
403
  - spec/ffi/library_spec.rb
404
404
  - spec/ffi/managed_struct_spec.rb
@@ -410,54 +410,62 @@ files:
410
410
  - spec/ffi/rbx/struct_spec.rb
411
411
  - spec/ffi/spec_helper.rb
412
412
  - spec/ffi/string_spec.rb
413
+ - spec/ffi/strptr_spec.rb
413
414
  - spec/ffi/struct_callback_spec.rb
414
415
  - spec/ffi/struct_initialize_spec.rb
416
+ - spec/ffi/struct_packed_spec.rb
415
417
  - spec/ffi/struct_spec.rb
416
418
  - spec/ffi/typedef_spec.rb
417
419
  - spec/ffi/union_spec.rb
418
420
  - spec/ffi/variadic_spec.rb
419
421
  - spec/spec.opts
420
- - libtest/Benchmark.c
421
- - libtest/BoolTest.c
422
- - libtest/BufferTest.c
423
- - libtest/ClosureTest.c
424
- - libtest/EnumTest.c
425
- - libtest/FunctionTest.c
426
- - libtest/GlobalVariable.c
427
- - libtest/GNUmakefile
428
- - libtest/LastErrorTest.c
429
- - libtest/NumberTest.c
430
- - libtest/PointerTest.c
431
- - libtest/ReferenceTest.c
432
- - libtest/StringTest.c
433
- - libtest/StructTest.c
434
- - libtest/UnionTest.c
435
- - libtest/VariadicTest.c
422
+ - tasks/ann.rake
423
+ - tasks/extension.rake
424
+ - tasks/gem.rake
425
+ - tasks/git.rake
426
+ - tasks/notes.rake
427
+ - tasks/post_load.rake
428
+ - tasks/rdoc.rake
429
+ - tasks/rubyforge.rake
430
+ - tasks/setup.rb
431
+ - tasks/spec.rake
432
+ - tasks/svn.rake
433
+ - tasks/test.rake
434
+ has_rdoc: true
436
435
  homepage: http://wiki.github.com/ffi/ffi
437
- licenses:
438
- - LGPL-3
436
+ licenses: []
437
+
439
438
  post_install_message:
440
- rdoc_options: []
441
- require_paths:
439
+ rdoc_options:
440
+ - -x
441
+ - ext
442
+ - --main
443
+ - README.rdoc
444
+ require_paths:
442
445
  - lib
443
- - ext/ffi_c
444
- - lib/ffi
445
- required_ruby_version: !ruby/object:Gem::Requirement
446
+ - ext
447
+ required_ruby_version: !ruby/object:Gem::Requirement
446
448
  none: false
447
- requirements:
449
+ requirements:
448
450
  - - ">="
449
- - !ruby/object:Gem::Version
450
- version: 1.8.7
451
- required_rubygems_version: !ruby/object:Gem::Requirement
451
+ - !ruby/object:Gem::Version
452
+ segments:
453
+ - 0
454
+ version: "0"
455
+ required_rubygems_version: !ruby/object:Gem::Requirement
452
456
  none: false
453
- requirements:
457
+ requirements:
454
458
  - - ">="
455
- - !ruby/object:Gem::Version
456
- version: '0'
459
+ - !ruby/object:Gem::Version
460
+ segments:
461
+ - 0
462
+ version: "0"
457
463
  requirements: []
458
- rubyforge_project:
459
- rubygems_version: 1.8.24
464
+
465
+ rubyforge_project: ffi
466
+ rubygems_version: 1.3.7
460
467
  signing_key:
461
468
  specification_version: 3
462
- summary: Ruby FFI
469
+ summary: Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code
463
470
  test_files: []
471
+