ffi 1.9.3-x86-mingw32 → 1.9.5-x86-mingw32

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +13 -16
  3. data/ext/ffi_c/DynamicLibrary.c +9 -5
  4. data/ext/ffi_c/DynamicLibrary.h +49 -0
  5. data/ext/ffi_c/Function.c +4 -3
  6. data/ext/ffi_c/FunctionInfo.c +2 -2
  7. data/ext/ffi_c/Platform.c +2 -2
  8. data/ext/ffi_c/Struct.c +1 -0
  9. data/ext/ffi_c/Variadic.c +2 -2
  10. data/ffi.gemspec +5 -5
  11. data/lib/1.8/ffi_c.so +0 -0
  12. data/lib/1.9/ffi_c.so +0 -0
  13. data/lib/2.0/ffi_c.so +0 -0
  14. data/lib/ffi/library.rb +7 -7
  15. data/lib/ffi/platform.rb +4 -1
  16. data/lib/ffi/platform/x86_64-netbsd/types.conf +2 -0
  17. data/lib/ffi/struct.rb +2 -2
  18. data/lib/ffi/version.rb +1 -1
  19. data/libtest/ClosureTest.c +15 -0
  20. data/libtest/FunctionTest.c +12 -0
  21. data/spec/ffi/LICENSE.SPECS +22 -0
  22. data/spec/ffi/async_callback_spec.rb +1 -0
  23. data/spec/ffi/bool_spec.rb +2 -0
  24. data/spec/ffi/buffer_spec.rb +1 -0
  25. data/spec/ffi/callback_spec.rb +31 -4
  26. data/spec/ffi/custom_param_type.rb +1 -0
  27. data/spec/ffi/custom_type_spec.rb +1 -0
  28. data/spec/ffi/dup_spec.rb +1 -1
  29. data/spec/ffi/enum_spec.rb +1 -0
  30. data/spec/ffi/errno_spec.rb +2 -0
  31. data/spec/ffi/ffi_spec.rb +1 -0
  32. data/spec/ffi/fixtures/Benchmark.c +52 -0
  33. data/spec/ffi/fixtures/BoolTest.c +34 -0
  34. data/spec/ffi/fixtures/BufferTest.c +31 -0
  35. data/spec/ffi/fixtures/ClosureTest.c +190 -0
  36. data/spec/ffi/fixtures/EnumTest.c +34 -0
  37. data/spec/ffi/fixtures/FunctionTest.c +58 -0
  38. data/spec/ffi/fixtures/GNUmakefile +149 -0
  39. data/spec/ffi/fixtures/GlobalVariable.c +62 -0
  40. data/spec/ffi/fixtures/LastErrorTest.c +21 -0
  41. data/spec/ffi/fixtures/NumberTest.c +132 -0
  42. data/spec/ffi/fixtures/PointerTest.c +63 -0
  43. data/spec/ffi/fixtures/ReferenceTest.c +23 -0
  44. data/spec/ffi/fixtures/StringTest.c +34 -0
  45. data/spec/ffi/fixtures/StructTest.c +243 -0
  46. data/spec/ffi/fixtures/UnionTest.c +43 -0
  47. data/spec/ffi/fixtures/VariadicTest.c +99 -0
  48. data/spec/ffi/fixtures/classes.rb +438 -0
  49. data/spec/ffi/function_spec.rb +4 -2
  50. data/spec/ffi/io_spec.rb +17 -0
  51. data/spec/ffi/library_spec.rb +25 -0
  52. data/spec/ffi/long_double.rb +1 -0
  53. data/spec/ffi/managed_struct_spec.rb +1 -1
  54. data/spec/ffi/memorypointer_spec.rb +72 -0
  55. data/spec/ffi/number_spec.rb +2 -0
  56. data/spec/ffi/platform_spec.rb +97 -0
  57. data/spec/ffi/pointer_spec.rb +8 -2
  58. data/spec/ffi/rbx/attach_function_spec.rb +6 -0
  59. data/spec/ffi/rbx/memory_pointer_spec.rb +7 -2
  60. data/spec/ffi/rbx/spec_helper.rb +7 -1
  61. data/spec/ffi/rbx/struct_spec.rb +7 -1
  62. data/spec/ffi/spec_helper.rb +68 -9
  63. data/spec/ffi/string_spec.rb +3 -1
  64. data/spec/ffi/strptr_spec.rb +1 -0
  65. data/spec/ffi/struct_by_ref_spec.rb +4 -3
  66. data/spec/ffi/struct_callback_spec.rb +2 -1
  67. data/spec/ffi/struct_initialize_spec.rb +1 -0
  68. data/spec/ffi/struct_packed_spec.rb +1 -0
  69. data/spec/ffi/struct_spec.rb +99 -39
  70. data/spec/ffi/typedef_spec.rb +15 -3
  71. data/spec/ffi/union_spec.rb +1 -0
  72. data/spec/ffi/variadic_spec.rb +18 -0
  73. data/spec/spec.opts +1 -2
  74. metadata +418 -392
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  describe "functions returning :strptr" do
9
10
 
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  describe FFI::Struct, ' by_ref' do
9
10
  before :all do
@@ -11,10 +12,10 @@ describe FFI::Struct, ' by_ref' do
11
12
  layout :a, :pointer
12
13
  end
13
14
 
14
- @api = Module.new do
15
+ @api = Module.new do
15
16
  extend FFI::Library
16
17
  ffi_lib TestLibrary::PATH
17
- fn = FFI::Type::POINTER.size == FFI::Type::LONG.size ? :ret_ulong : ret_uint64_t
18
+ fn = FFI::Type::POINTER.size == FFI::Type::LONG.size ? :ret_ulong : :ret_u64
18
19
  attach_function :struct_test, fn, [ struct_class.by_ref ], :pointer
19
20
  end
20
21
  end
@@ -23,7 +24,7 @@ describe FFI::Struct, ' by_ref' do
23
24
  s = @struct_class.new
24
25
  @api.struct_test(s).should == s.pointer
25
26
  end
26
-
27
+
27
28
  it "should accept nil" do
28
29
  @api.struct_test(nil).should == nil
29
30
  end
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  describe FFI::Struct, ' with inline callback functions' do
9
10
  it 'should be able to define inline callback field' do
@@ -19,7 +20,7 @@ describe FFI::Struct, ' with inline callback functions' do
19
20
  end
20
21
  attach_function :struct_call_add_cb, [TestStruct, :int, :int], :int
21
22
  attach_function :struct_call_sub_cb, [TestStruct, :int, :int], :int
22
- end
23
+ end.should be_an_instance_of FFI::Function
23
24
  end
24
25
  it 'should take methods as callbacks' do
25
26
  module CallbackMember2
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  describe FFI::Struct, ' with an initialize function' do
9
10
  it "should call the initialize function" do
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  describe FFI::Struct do
9
10
  it "packed :char followed by :int should have size of 5" do
@@ -4,6 +4,8 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
8
+
7
9
  describe "Struct tests" do
8
10
  StructTypes = {
9
11
  's8' => :char,
@@ -18,7 +20,12 @@ describe "Struct tests" do
18
20
  extend FFI::Library
19
21
  ffi_lib TestLibrary::PATH
20
22
  attach_function :ptr_ret_pointer, [ :pointer, :int], :string
21
- attach_function :ptr_ret_int32_t, [ :pointer, :int ], :int
23
+ begin
24
+ attach_function :ptr_ret_int32_t, [ :pointer, :int ], :int
25
+ rescue FFI::NotFoundError
26
+ # NetBSD uses #define instead of typedef for these
27
+ attach_function :ptr_ret_int32_t, :ptr_ret___int32_t, [ :pointer, :int ], :int
28
+ end
22
29
  attach_function :ptr_from_address, [ :ulong ], :pointer
23
30
  attach_function :string_equals, [ :string, :string ], :int
24
31
  [ 's8', 's16', 's32', 's64', 'f32', 'f64', 'long' ].each do |t|
@@ -61,7 +68,7 @@ describe "Struct tests" do
61
68
  it "Struct#[:pointer]=struct" do
62
69
  smp = FFI::MemoryPointer.new :pointer
63
70
  s = PointerMember.new smp
64
- lambda { s[:pointer] = s }.should_not raise_error
71
+ lambda { s[:pointer] = s }.should_not raise_error Exception
65
72
  end
66
73
  it "Struct#[:pointer]=nil" do
67
74
  smp = FFI::MemoryPointer.new :pointer
@@ -121,21 +128,19 @@ describe "Struct tests" do
121
128
  s[:b] = 0xfee1deadbeef
122
129
  mp.get_int64(4).should == 0xfee1deadbeef
123
130
  end
124
- rb_maj, rb_min = RUBY_VERSION.split('.')
125
- if rb_maj.to_i >= 1 && rb_min.to_i >= 9 || RUBY_PLATFORM =~ /java/
126
- it "Struct#layout withs with a hash of :name => type" do
127
- class HashLayout < FFI::Struct
128
- layout :a => :int, :b => :long_long
129
- end
130
- ll_off = (FFI::TYPE_UINT64.alignment == 4? 4 : 8)
131
- HashLayout.size.should == (ll_off + 8)
132
- mp = FFI::MemoryPointer.new(HashLayout.size)
133
- s = HashLayout.new mp
134
- s[:a] = 0x12345678
135
- mp.get_int(0).should == 0x12345678
136
- s[:b] = 0xfee1deadbeef
137
- mp.get_int64(ll_off).should == 0xfee1deadbeef
138
- end
131
+
132
+ it "Struct#layout withs with a hash of :name => type" do
133
+ class HashLayout < FFI::Struct
134
+ layout :a => :int, :b => :long_long
135
+ end
136
+ ll_off = (FFI::TYPE_UINT64.alignment == 4? 4 : 8)
137
+ HashLayout.size.should == (ll_off + 8)
138
+ mp = FFI::MemoryPointer.new(HashLayout.size)
139
+ s = HashLayout.new mp
140
+ s[:a] = 0x12345678
141
+ mp.get_int(0).should == 0x12345678
142
+ s[:b] = 0xfee1deadbeef
143
+ mp.get_int64(ll_off).should == 0xfee1deadbeef
139
144
  end
140
145
 
141
146
  it "subclass overrides initialize without calling super" do
@@ -163,7 +168,7 @@ describe "Struct tests" do
163
168
  layout :c, :char
164
169
  end
165
170
  attach_function :struct_field_s8, [ TestStruct.in ], :char
166
- end
171
+ end.should be_an_instance_of FFI::Function
167
172
  end
168
173
  it "Can use Struct subclass as IN parameter type" do
169
174
  module StructParam2
@@ -173,7 +178,7 @@ describe "Struct tests" do
173
178
  layout :c, :char
174
179
  end
175
180
  attach_function :struct_field_s8, [ TestStruct.in ], :char
176
- end
181
+ end.should be_an_instance_of FFI::Function
177
182
  end
178
183
  it "Can use Struct subclass as OUT parameter type" do
179
184
  module StructParam3
@@ -183,7 +188,7 @@ describe "Struct tests" do
183
188
  layout :c, :char
184
189
  end
185
190
  attach_function :struct_field_s8, [ TestStruct.out ], :char
186
- end
191
+ end.should be_an_instance_of FFI::Function
187
192
  end
188
193
  it "can be passed directly as a :pointer parameter" do
189
194
  class TestStruct < FFI::Struct
@@ -261,7 +266,7 @@ describe "Struct tests" do
261
266
  def test_num_field(type, v)
262
267
  klass = Class.new(FFI::Struct)
263
268
  klass.layout :v, type, :dummy, :long
264
-
269
+
265
270
  s = klass.new
266
271
  s[:v] = v
267
272
  s.pointer.send("get_#{type.to_s}", 0).should == v
@@ -312,11 +317,11 @@ describe "Struct tests" do
312
317
  extend FFI::Library
313
318
  TestEnum = enum :test_enum, [:c1, 10, :c2, 20, :c3, 30, :c4, 40]
314
319
  class TestStruct < FFI::Struct
315
- layout :a, :int, :c, :test_enum,
320
+ layout :a, :int, :c, :test_enum,
316
321
  :d, [ TestEnum, TestEnum.symbols.length ]
317
322
  end
318
323
  end
319
-
324
+
320
325
  it ":enum field r/w" do
321
326
  s = EnumFields::TestStruct.new
322
327
  s[:c] = :c3
@@ -324,22 +329,22 @@ describe "Struct tests" do
324
329
  s.pointer.get_uint(FFI::Type::INT32.size).should == 30
325
330
  s[:c].should == :c3
326
331
  end
327
-
332
+
328
333
  it "array of :enum field" do
329
334
  s = EnumFields::TestStruct.new
330
335
  EnumFields::TestEnum.symbols.each_with_index do |val, i|
331
336
  s[:d][i] = val
332
337
  end
333
-
338
+
334
339
  EnumFields::TestEnum.symbols.each_with_index do |val, i|
335
340
  s.pointer.get_uint(FFI::Type::INT32.size * (2 + i)).should == EnumFields::TestEnum[val]
336
341
  end
337
-
342
+
338
343
  s[:d].each_with_index do |val, i|
339
344
  val.should == EnumFields::TestEnum.symbols[i]
340
345
  end
341
346
  end
342
-
347
+
343
348
  module CallbackMember
344
349
  extend FFI::Library
345
350
  ffi_lib TestLibrary::PATH
@@ -396,6 +401,58 @@ describe "Struct tests" do
396
401
  end
397
402
  end
398
403
 
404
+ describe FFI::Struct, ".layout" do
405
+ module FFISpecs
406
+ module LibTest
407
+ extend FFI::Library
408
+ ffi_lib TestLibrary::PATH
409
+ begin
410
+ attach_function :ptr_ret_int32_t, [ :pointer, :int ], :int
411
+ rescue FFI::NotFoundError
412
+ # NetBSD uses #define instead of typedef for these
413
+ attach_function :ptr_ret_int32_t, :ptr_ret___int32_t, [ :pointer, :int ], :int
414
+ end
415
+ end
416
+ end
417
+
418
+ describe "when derived class is not assigned to any constant" do
419
+ it "resolves a built-in type" do
420
+ klass = Class.new FFI::Struct
421
+ klass.layout :number, :int
422
+
423
+ instance = klass.new
424
+ instance[:number] = 0xA1
425
+ FFISpecs::LibTest.ptr_ret_int32_t(instance, 0).should == 0xA1
426
+ end
427
+ end
428
+
429
+ describe "when derived class is assigned to a constant" do
430
+ it "resolves a built-in type" do
431
+ class FFISpecs::TestStruct < FFI::Struct
432
+ layout :number, :int
433
+ end
434
+
435
+ instance = FFISpecs::TestStruct.new
436
+ instance[:number] = 0xA1
437
+ FFISpecs::LibTest.ptr_ret_int32_t(instance, 0).should == 0xA1
438
+ end
439
+
440
+ it "resolves a type from the enclosing module" do
441
+ module FFISpecs::LibTest
442
+ typedef :uint, :custom_int
443
+
444
+ class TestStruct < FFI::Struct
445
+ layout :number, :custom_int
446
+ end
447
+ end
448
+
449
+ instance = FFISpecs::LibTest::TestStruct.new
450
+ instance[:number] = 0xA1
451
+ FFISpecs::LibTest.ptr_ret_int32_t(instance, 0).should == 0xA1
452
+ end
453
+ end
454
+ end
455
+
399
456
  describe FFI::Struct, ' with a nested struct field' do
400
457
  module LibTest
401
458
  extend FFI::Library
@@ -420,7 +477,7 @@ describe FFI::Struct, ' with a nested struct field' do
420
477
  LibTest::ContainerStruct.size.should == 8
421
478
  end
422
479
  it 'should return a Struct object when the field is accessed' do
423
- @cs[:ns].is_a?(FFI::Struct).should be_true
480
+ @cs[:ns].is_a?(FFI::Struct).should be_true
424
481
  end
425
482
  it 'should read a value from memory' do
426
483
  @cs = LibTest::ContainerStruct.new(LibTest.struct_make_container_struct(123))
@@ -432,7 +489,7 @@ describe FFI::Struct, ' with a nested struct field' do
432
489
  LibTest.struct_align_nested_struct(@cs.to_ptr).should == 456
433
490
  end
434
491
 
435
- it 'should be able to assign struct instance to nested field' do
492
+ it 'should be able to assign struct instance to nested field' do
436
493
  cs = LibTest::ContainerStruct.new(LibTest.struct_make_container_struct(123))
437
494
  ns = LibTest::NestedStruct.new
438
495
  ns[:i] = 567
@@ -540,15 +597,18 @@ describe FFI::Struct, ' by value' do
540
597
  s = LibTest::S8S32.new
541
598
  s[:s8] = 0x12
542
599
  s[:s32] = 0x34567890
543
-
600
+
544
601
  LibTest.struct_s8s32_s32_ret_s32(s, 0x1eefdead).should == 0x1eefdead
545
602
  end
546
603
 
547
- it 'parameter with following s64' do
548
- s = LibTest::S8S32.new
549
- s[:s8] = 0x12
550
- s[:s32] = 0x34567890
551
- end
604
+ # it 'parameter with following s64' do
605
+ # s = LibTest::S8S64.new
606
+ # s[:s8] = 0x12
607
+ # s[:s64] = 0x34567890
608
+ #
609
+ #
610
+ # LibTest.struct_s8s64_s64_ret_s64(s, 0x1eefdead1eefdead).should == 0x1eefdead1eefdead
611
+ # end
552
612
 
553
613
  it 'parameter with preceding s32,ptr,s32' do
554
614
  s = LibTest::S8S32.new
@@ -615,7 +675,7 @@ describe FFI::Struct, ' with an array field' do
615
675
  end
616
676
  it 'should allow iteration through the array elements' do
617
677
  @s = LibTest::StructWithArray.new(LibTest.struct_make_struct_with_array(0, 1, 2, 3, 4))
618
- @s[:a].each_with_index { |elem, i| elem.should == i }
678
+ @s[:a].each_with_index { |elem, i| elem.should == i }
619
679
  end
620
680
  it 'should return the pointer to the array' do
621
681
  @s = LibTest::StructWithArray.new(LibTest.struct_make_struct_with_array(0, 1, 2, 3, 4))
@@ -652,7 +712,7 @@ describe 'BuggedStruct' do
652
712
  end
653
713
  it 'should return correct field/offset pairs' do
654
714
  LibTest::BuggedStruct.offsets.sort do |a, b|
655
- a[1] <=> b[1]
715
+ a[1] <=> b[1]
656
716
  end.should == [[:visible, 0], [:x, 4], [:y, 8], [:rx, 12], [:ry, 14], [:order, 16], [:size, 17]]
657
717
  end
658
718
  end
@@ -702,7 +762,7 @@ describe "Struct allocation" do
702
762
  end
703
763
  struct = c.new
704
764
  struct[:b] = ! struct[:b]
705
- end.should_not raise_error
765
+ end.should_not raise_error Exception
706
766
  end
707
767
 
708
768
  end
@@ -713,7 +773,7 @@ describe "variable-length arrays" do
713
773
  Class.new(FFI::Struct) do
714
774
  layout :count, :int, :data, [ :char, 0 ]
715
775
  end
716
- }.should_not raise_error
776
+ }.should_not raise_error Exception
717
777
  end
718
778
 
719
779
  it "zero length array before last element should raise error" do
@@ -4,6 +4,8 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
8
+
7
9
  describe "Custom type definitions" do
8
10
  it "attach_function with custom typedef" do
9
11
  module CustomTypedef
@@ -60,7 +62,12 @@ describe "Custom type definitions" do
60
62
  typedef :int, :bar
61
63
 
62
64
  ffi_lib TestLibrary::PATH
63
- attach_function :ptr_ret_int32_t, [ :string, :foo ], :bar
65
+ begin
66
+ attach_function :ptr_ret_int32_t, [ :string, :foo ], :bar
67
+ rescue FFI::NotFoundError
68
+ # NetBSD uses #define instead of typedef for these
69
+ attach_function :ptr_ret_int32_t, :ptr_ret___int32_t, [ :string, :foo ], :bar
70
+ end
64
71
  end
65
72
  end.should_not raise_error
66
73
  end
@@ -70,8 +77,13 @@ describe "Custom type definitions" do
70
77
  Module.new do
71
78
  extend FFI::Library
72
79
  ffi_lib "c"
73
- # read(2) is a standard UNIX function
74
- attach_function :read, [:int, :pointer, :size_t], :ssize_t
80
+ if FFI::Platform.windows?
81
+ # _read() is a function of msvcrt.dll
82
+ attach_function :_read, [:int, :pointer, :uint], :int
83
+ else
84
+ # read(2) is a standard UNIX function
85
+ attach_function :read, [:int, :pointer, :size_t], :ssize_t
86
+ end
75
87
  end
76
88
  end.should_not raise_error
77
89
  end
@@ -4,6 +4,7 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
7
8
 
8
9
  module LibTest
9
10
  Types = {
@@ -4,12 +4,30 @@
4
4
  #
5
5
 
6
6
  require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
+ require 'ffi'
8
+
7
9
  describe "Function with variadic arguments" do
8
10
  module LibTest
9
11
  extend FFI::Library
10
12
  ffi_lib TestLibrary::PATH
13
+ enum :enum_type1, [:c1, :c2]
14
+ enum :enum_type2, [:c3, 42, :c4]
11
15
  attach_function :pack_varargs, [ :buffer_out, :string, :varargs ], :void
16
+ attach_function :pack_varargs2, [ :buffer_out, :enum_type1, :string, :varargs ], :enum_type1
17
+ end
18
+
19
+ it "takes enum arguments" do
20
+ buf = FFI::Buffer.new :long_long, 2
21
+ LibTest.pack_varargs(buf, "ii", :int, :c3, :int, :c4)
22
+ buf.get_int64(0).should == 42
23
+ buf.get_int64(8).should == 43
12
24
  end
25
+
26
+ it "returns symbols for enums" do
27
+ buf = FFI::Buffer.new :long_long, 2
28
+ LibTest.pack_varargs2(buf, :c1, "ii", :int, :c3, :int, :c4).should eql(:c2)
29
+ end
30
+
13
31
  [ 0, 127, -128, -1 ].each do |i|
14
32
  it "call variadic with (:char (#{i})) argument" do
15
33
  buf = FFI::Buffer.new :long_long
@@ -1,4 +1,3 @@
1
1
  --color
2
2
  --format
3
- specdoc
4
-
3
+ documentation
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.3
4
+ version: 1.9.5
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
@@ -9,45 +9,48 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2013-11-01 00:00:00 Z
12
+ date: 2014-09-25 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
+ name: rake
15
16
  version_requirements: &id001 !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - &id003
18
- - ">="
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: "0"
21
- type: :development
22
- name: rake
20
+ version: "10.1"
23
21
  prerelease: false
24
22
  requirement: *id001
23
+ type: :development
25
24
  - !ruby/object:Gem::Dependency
25
+ name: rake-compiler
26
26
  version_requirements: &id002 !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - ">="
28
+ - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 0.6.0
31
- type: :development
32
- name: rake-compiler
30
+ version: "0.9"
33
31
  prerelease: false
34
32
  requirement: *id002
35
- - !ruby/object:Gem::Dependency
36
- version_requirements: &id004 !ruby/object:Gem::Requirement
37
- requirements:
38
- - *id003
39
33
  type: :development
40
- name: rspec
41
- prerelease: false
42
- requirement: *id004
43
34
  - !ruby/object:Gem::Dependency
44
- version_requirements: &id005 !ruby/object:Gem::Requirement
35
+ name: rspec
36
+ version_requirements: &id003 !ruby/object:Gem::Requirement
45
37
  requirements:
46
- - *id003
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 2.14.1
41
+ prerelease: false
42
+ requirement: *id003
47
43
  type: :development
44
+ - !ruby/object:Gem::Dependency
48
45
  name: rubygems-tasks
46
+ version_requirements: &id004 !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ~>
49
+ - !ruby/object:Gem::Version
50
+ version: 0.2.4
49
51
  prerelease: false
50
- requirement: *id005
52
+ requirement: *id004
53
+ type: :development
51
54
  description: Ruby FFI library
52
55
  email: wmeissner@gmail.com
53
56
  executables: []
@@ -62,435 +65,456 @@ files:
62
65
  - COPYING
63
66
  - README.md
64
67
  - Rakefile
65
- - ext/ffi_c/Platform.h
66
- - ext/ffi_c/MappedType.h
67
- - ext/ffi_c/LastError.h
68
- - ext/ffi_c/Types.h
69
- - ext/ffi_c/Pointer.h
70
- - ext/ffi_c/Call.h
71
- - ext/ffi_c/Function.c
72
- - ext/ffi_c/ClosurePool.h
73
- - ext/ffi_c/Types.c
74
- - ext/ffi_c/rbffi_endian.h
75
- - ext/ffi_c/Thread.h
76
- - ext/ffi_c/Function.h
68
+ - ext/ffi_c/AbstractMemory.c
69
+ - ext/ffi_c/AbstractMemory.h
70
+ - ext/ffi_c/ArrayType.c
71
+ - ext/ffi_c/ArrayType.h
77
72
  - ext/ffi_c/Buffer.c
78
- - ext/ffi_c/LongDouble.c
79
- - ext/ffi_c/Type.c
73
+ - ext/ffi_c/Call.c
74
+ - ext/ffi_c/Call.h
80
75
  - ext/ffi_c/ClosurePool.c
76
+ - ext/ffi_c/ClosurePool.h
77
+ - ext/ffi_c/compat.h
81
78
  - ext/ffi_c/DataConverter.c
82
- - ext/ffi_c/MappedType.c
83
- - ext/ffi_c/LongDouble.h
84
- - ext/ffi_c/Variadic.c
85
- - ext/ffi_c/StructByValue.h
86
- - ext/ffi_c/StructByValue.c
87
- - ext/ffi_c/win32/stdint.h
88
- - ext/ffi_c/win32/stdbool.h
89
- - ext/ffi_c/Struct.c
90
- - ext/ffi_c/libffi.bsd.mk
91
- - ext/ffi_c/ArrayType.c
92
- - ext/ffi_c/extconf.rb
93
- - ext/ffi_c/DynamicLibrary.h
94
- - ext/ffi_c/Thread.c
95
79
  - ext/ffi_c/DynamicLibrary.c
96
- - ext/ffi_c/MethodHandle.c
97
- - ext/ffi_c/rbffi.h
98
- - ext/ffi_c/Struct.h
99
- - ext/ffi_c/MethodHandle.h
100
- - ext/ffi_c/libffi.vc64.mk
101
- - ext/ffi_c/AbstractMemory.c
102
- - ext/ffi_c/StructByReference.h
103
- - ext/ffi_c/libffi.gnu.mk
104
- - ext/ffi_c/LastError.c
80
+ - ext/ffi_c/DynamicLibrary.h
81
+ - ext/ffi_c/extconf.rb
105
82
  - ext/ffi_c/ffi.c
106
- - ext/ffi_c/Type.h
107
- - ext/ffi_c/AbstractMemory.h
108
- - ext/ffi_c/libffi.vc.mk
109
- - ext/ffi_c/Call.c
110
- - ext/ffi_c/ArrayType.h
83
+ - ext/ffi_c/Function.c
84
+ - ext/ffi_c/Function.h
111
85
  - ext/ffi_c/FunctionInfo.c
112
- - ext/ffi_c/Pointer.c
113
- - ext/ffi_c/Platform.c
114
- - ext/ffi_c/libffi.mk
115
- - ext/ffi_c/libffi.darwin.mk
116
- - ext/ffi_c/compat.h
117
- - ext/ffi_c/StructByReference.c
118
- - ext/ffi_c/MemoryPointer.c
119
- - ext/ffi_c/MemoryPointer.h
120
- - ext/ffi_c/libffi/missing
121
- - ext/ffi_c/libffi/Makefile.in
86
+ - ext/ffi_c/LastError.c
87
+ - ext/ffi_c/LastError.h
88
+ - ext/ffi_c/libffi/acinclude.m4
89
+ - ext/ffi_c/libffi/aclocal.m4
90
+ - ext/ffi_c/libffi/build-ios.sh
91
+ - ext/ffi_c/libffi/ChangeLog
92
+ - ext/ffi_c/libffi/ChangeLog.libffi
93
+ - ext/ffi_c/libffi/ChangeLog.libgcj
94
+ - ext/ffi_c/libffi/ChangeLog.v1
95
+ - ext/ffi_c/libffi/compile
96
+ - ext/ffi_c/libffi/config.guess
97
+ - ext/ffi_c/libffi/config.sub
98
+ - ext/ffi_c/libffi/configure
99
+ - ext/ffi_c/libffi/configure.ac
100
+ - ext/ffi_c/libffi/configure.host
101
+ - ext/ffi_c/libffi/depcomp
102
+ - ext/ffi_c/libffi/doc/libffi.info
103
+ - ext/ffi_c/libffi/doc/libffi.texi
104
+ - ext/ffi_c/libffi/doc/stamp-vti
105
+ - ext/ffi_c/libffi/doc/version.texi
106
+ - ext/ffi_c/libffi/fficonfig.h.in
122
107
  - ext/ffi_c/libffi/fficonfig.hw
123
- - ext/ffi_c/libffi/testsuite/config/default.exp
124
- - ext/ffi_c/libffi/testsuite/Makefile.in
125
- - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c
126
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c
127
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c
128
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c
129
- - ext/ffi_c/libffi/testsuite/libffi.call/struct3.c
130
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c
131
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c
132
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c
133
- - ext/ffi_c/libffi/testsuite/libffi.call/promotion.c
134
- - ext/ffi_c/libffi/testsuite/libffi.call/struct6.c
135
- - ext/ffi_c/libffi/testsuite/libffi.call/negint.c
136
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c
137
- - ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c
138
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c
139
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c
140
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c
141
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c
142
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c
143
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c
144
- - ext/ffi_c/libffi/testsuite/libffi.call/struct7.c
145
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c
146
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
147
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c
148
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c
149
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c
150
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c
151
- - ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c
152
- - ext/ffi_c/libffi/testsuite/libffi.call/struct1.c
153
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c
154
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c
155
- - ext/ffi_c/libffi/testsuite/libffi.call/problem1.c
156
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c
157
- - ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c
158
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c
159
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c
160
- - ext/ffi_c/libffi/testsuite/libffi.call/struct2.c
161
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c
162
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c
163
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c
164
- - ext/ffi_c/libffi/testsuite/libffi.call/struct5.c
165
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c
166
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
167
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c
168
- - ext/ffi_c/libffi/testsuite/libffi.call/float.c
169
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c
170
- - ext/ffi_c/libffi/testsuite/libffi.call/float2.c
171
- - ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c
172
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c
173
- - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c
174
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c
175
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c
176
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c
177
- - ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c
178
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c
179
- - ext/ffi_c/libffi/testsuite/libffi.call/float3.c
180
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c
181
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c
182
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c
183
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c
184
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c
185
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c
186
- - ext/ffi_c/libffi/testsuite/libffi.call/float4.c
187
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c
188
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c
189
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c
190
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c
191
- - ext/ffi_c/libffi/testsuite/libffi.call/struct8.c
192
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c
193
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c
194
- - ext/ffi_c/libffi/testsuite/libffi.call/struct4.c
195
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c
196
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c
197
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c
198
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c
199
- - ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c
200
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c
201
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c
202
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c
203
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c
204
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c
205
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c
206
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c
207
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c
208
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c
209
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c
210
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c
211
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c
212
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c
213
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c
214
- - ext/ffi_c/libffi/testsuite/libffi.call/strlen.c
215
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c
216
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c
217
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c
218
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c
219
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c
220
- - ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c
221
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c
222
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c
223
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c
224
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c
225
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c
226
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c
227
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c
228
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c
229
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c
230
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c
231
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c
232
- - ext/ffi_c/libffi/testsuite/libffi.call/float1.c
233
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c
234
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c
235
- - ext/ffi_c/libffi/testsuite/libffi.call/struct9.c
236
- - ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c
237
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c
238
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c
239
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c
240
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c
241
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c
242
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c
243
- - ext/ffi_c/libffi/testsuite/libffi.call/many.c
244
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c
245
- - ext/ffi_c/libffi/testsuite/libffi.call/call.exp
246
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c
247
- - ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h
248
- - ext/ffi_c/libffi/testsuite/Makefile.am
249
- - ext/ffi_c/libffi/testsuite/lib/wrapper.exp
250
- - ext/ffi_c/libffi/testsuite/lib/libffi.exp
251
- - ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp
252
- - ext/ffi_c/libffi/testsuite/lib/target-libpath.exp
253
- - ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h
254
- - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
255
- - ext/ffi_c/libffi/testsuite/libffi.special/special.exp
256
- - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc
108
+ - ext/ffi_c/libffi/include/ffi.h.in
109
+ - ext/ffi_c/libffi/include/ffi.h.vc
110
+ - ext/ffi_c/libffi/include/ffi.h.vc64
111
+ - ext/ffi_c/libffi/include/ffi_common.h
112
+ - ext/ffi_c/libffi/include/Makefile.am
113
+ - ext/ffi_c/libffi/include/Makefile.in
114
+ - ext/ffi_c/libffi/install-sh
115
+ - ext/ffi_c/libffi/libffi.pc.in
116
+ - ext/ffi_c/libffi/libtool-version
117
+ - ext/ffi_c/libffi/LICENSE
118
+ - ext/ffi_c/libffi/ltmain.sh
119
+ - ext/ffi_c/libffi/m4/ax_cc_maxopt.m4
257
120
  - ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4
258
121
  - ext/ffi_c/libffi/m4/ax_check_compiler_flags.m4
259
- - ext/ffi_c/libffi/m4/ltversion.m4
260
- - ext/ffi_c/libffi/m4/ax_cc_maxopt.m4
261
- - ext/ffi_c/libffi/m4/lt~obsolete.m4
122
+ - ext/ffi_c/libffi/m4/ax_compiler_vendor.m4
123
+ - ext/ffi_c/libffi/m4/ax_configure_args.m4
262
124
  - ext/ffi_c/libffi/m4/ax_enable_builddir.m4
263
125
  - ext/ffi_c/libffi/m4/ax_gcc_archflag.m4
264
- - ext/ffi_c/libffi/m4/ax_configure_args.m4
265
- - ext/ffi_c/libffi/m4/ax_compiler_vendor.m4
126
+ - ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4
127
+ - ext/ffi_c/libffi/m4/libtool.m4
266
128
  - ext/ffi_c/libffi/m4/ltoptions.m4
267
129
  - ext/ffi_c/libffi/m4/ltsugar.m4
268
- - ext/ffi_c/libffi/m4/libtool.m4
269
- - ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4
270
- - ext/ffi_c/libffi/LICENSE
271
- - ext/ffi_c/libffi/install-sh
272
- - ext/ffi_c/libffi/src/x86/win64.S
273
- - ext/ffi_c/libffi/src/x86/darwin.S
274
- - ext/ffi_c/libffi/src/x86/sysv.S
275
- - ext/ffi_c/libffi/src/x86/ffitarget.h
276
- - ext/ffi_c/libffi/src/x86/darwin64.S
277
- - ext/ffi_c/libffi/src/x86/ffi64.c
278
- - ext/ffi_c/libffi/src/x86/freebsd.S
279
- - ext/ffi_c/libffi/src/x86/ffi.c
280
- - ext/ffi_c/libffi/src/x86/unix64.S
281
- - ext/ffi_c/libffi/src/x86/win32.S
282
- - ext/ffi_c/libffi/src/arm/sysv.S
130
+ - ext/ffi_c/libffi/m4/ltversion.m4
131
+ - ext/ffi_c/libffi/m4/lt~obsolete.m4
132
+ - ext/ffi_c/libffi/Makefile.am
133
+ - ext/ffi_c/libffi/Makefile.in
134
+ - ext/ffi_c/libffi/Makefile.vc
135
+ - ext/ffi_c/libffi/Makefile.vc64
136
+ - ext/ffi_c/libffi/man/ffi.3
137
+ - ext/ffi_c/libffi/man/ffi_call.3
138
+ - ext/ffi_c/libffi/man/ffi_prep_cif.3
139
+ - ext/ffi_c/libffi/man/Makefile.am
140
+ - ext/ffi_c/libffi/man/Makefile.in
141
+ - ext/ffi_c/libffi/mdate-sh
142
+ - ext/ffi_c/libffi/missing
143
+ - ext/ffi_c/libffi/msvcc.sh
144
+ - ext/ffi_c/libffi/README
145
+ - ext/ffi_c/libffi/src/alpha/ffi.c
146
+ - ext/ffi_c/libffi/src/alpha/ffitarget.h
147
+ - ext/ffi_c/libffi/src/alpha/osf.S
148
+ - ext/ffi_c/libffi/src/arm/ffi.c
283
149
  - ext/ffi_c/libffi/src/arm/ffitarget.h
284
- - ext/ffi_c/libffi/src/arm/trampoline.S
285
150
  - ext/ffi_c/libffi/src/arm/gentramp.sh
286
- - ext/ffi_c/libffi/src/arm/ffi.c
287
- - ext/ffi_c/libffi/src/m32r/sysv.S
288
- - ext/ffi_c/libffi/src/m32r/ffitarget.h
289
- - ext/ffi_c/libffi/src/m32r/ffi.c
290
- - ext/ffi_c/libffi/src/m68k/sysv.S
291
- - ext/ffi_c/libffi/src/m68k/ffitarget.h
292
- - ext/ffi_c/libffi/src/m68k/ffi.c
293
- - ext/ffi_c/libffi/src/cris/sysv.S
294
- - ext/ffi_c/libffi/src/cris/ffitarget.h
295
- - ext/ffi_c/libffi/src/cris/ffi.c
296
- - ext/ffi_c/libffi/src/s390/sysv.S
297
- - ext/ffi_c/libffi/src/s390/ffitarget.h
298
- - ext/ffi_c/libffi/src/s390/ffi.c
299
- - ext/ffi_c/libffi/src/avr32/sysv.S
300
- - ext/ffi_c/libffi/src/avr32/ffitarget.h
151
+ - ext/ffi_c/libffi/src/arm/sysv.S
152
+ - ext/ffi_c/libffi/src/arm/trampoline.S
301
153
  - ext/ffi_c/libffi/src/avr32/ffi.c
302
- - ext/ffi_c/libffi/src/types.c
303
- - ext/ffi_c/libffi/src/frv/ffitarget.h
154
+ - ext/ffi_c/libffi/src/avr32/ffitarget.h
155
+ - ext/ffi_c/libffi/src/avr32/sysv.S
156
+ - ext/ffi_c/libffi/src/closures.c
157
+ - ext/ffi_c/libffi/src/cris/ffi.c
158
+ - ext/ffi_c/libffi/src/cris/ffitarget.h
159
+ - ext/ffi_c/libffi/src/cris/sysv.S
160
+ - ext/ffi_c/libffi/src/debug.c
161
+ - ext/ffi_c/libffi/src/dlmalloc.c
304
162
  - ext/ffi_c/libffi/src/frv/eabi.S
305
163
  - ext/ffi_c/libffi/src/frv/ffi.c
306
- - ext/ffi_c/libffi/src/prep_cif.c
307
- - ext/ffi_c/libffi/src/ia64/unix.S
308
- - ext/ffi_c/libffi/src/ia64/ia64_flags.h
309
- - ext/ffi_c/libffi/src/ia64/ffitarget.h
164
+ - ext/ffi_c/libffi/src/frv/ffitarget.h
310
165
  - ext/ffi_c/libffi/src/ia64/ffi.c
311
- - ext/ffi_c/libffi/src/raw_api.c
166
+ - ext/ffi_c/libffi/src/ia64/ffitarget.h
167
+ - ext/ffi_c/libffi/src/ia64/ia64_flags.h
168
+ - ext/ffi_c/libffi/src/ia64/unix.S
312
169
  - ext/ffi_c/libffi/src/java_raw_api.c
313
- - ext/ffi_c/libffi/src/sparc/v8.S
314
- - ext/ffi_c/libffi/src/sparc/ffitarget.h
315
- - ext/ffi_c/libffi/src/sparc/v9.S
316
- - ext/ffi_c/libffi/src/sparc/ffi.c
317
- - ext/ffi_c/libffi/src/pa/ffitarget.h
318
- - ext/ffi_c/libffi/src/pa/linux.S
319
- - ext/ffi_c/libffi/src/pa/hpux32.S
320
- - ext/ffi_c/libffi/src/pa/ffi.c
321
- - ext/ffi_c/libffi/src/closures.c
322
- - ext/ffi_c/libffi/src/sh64/sysv.S
323
- - ext/ffi_c/libffi/src/sh64/ffitarget.h
324
- - ext/ffi_c/libffi/src/sh64/ffi.c
325
- - ext/ffi_c/libffi/src/debug.c
326
- - ext/ffi_c/libffi/src/moxie/eabi.S
327
- - ext/ffi_c/libffi/src/moxie/ffi.c
328
- - ext/ffi_c/libffi/src/alpha/ffitarget.h
329
- - ext/ffi_c/libffi/src/alpha/osf.S
330
- - ext/ffi_c/libffi/src/alpha/ffi.c
331
- - ext/ffi_c/libffi/src/mips/ffitarget.h
170
+ - ext/ffi_c/libffi/src/m32r/ffi.c
171
+ - ext/ffi_c/libffi/src/m32r/ffitarget.h
172
+ - ext/ffi_c/libffi/src/m32r/sysv.S
173
+ - ext/ffi_c/libffi/src/m68k/ffi.c
174
+ - ext/ffi_c/libffi/src/m68k/ffitarget.h
175
+ - ext/ffi_c/libffi/src/m68k/sysv.S
332
176
  - ext/ffi_c/libffi/src/mips/ffi.c
177
+ - ext/ffi_c/libffi/src/mips/ffitarget.h
333
178
  - ext/ffi_c/libffi/src/mips/n32.S
334
179
  - ext/ffi_c/libffi/src/mips/o32.S
335
- - ext/ffi_c/libffi/src/dlmalloc.c
336
- - ext/ffi_c/libffi/src/powerpc/darwin_closure.S
337
- - ext/ffi_c/libffi/src/powerpc/linux64.S
338
- - ext/ffi_c/libffi/src/powerpc/darwin.S
339
- - ext/ffi_c/libffi/src/powerpc/sysv.S
340
- - ext/ffi_c/libffi/src/powerpc/asm.h
180
+ - ext/ffi_c/libffi/src/moxie/eabi.S
181
+ - ext/ffi_c/libffi/src/moxie/ffi.c
182
+ - ext/ffi_c/libffi/src/pa/ffi.c
183
+ - ext/ffi_c/libffi/src/pa/ffitarget.h
184
+ - ext/ffi_c/libffi/src/pa/hpux32.S
185
+ - ext/ffi_c/libffi/src/pa/linux.S
186
+ - ext/ffi_c/libffi/src/powerpc/aix.S
341
187
  - ext/ffi_c/libffi/src/powerpc/aix_closure.S
188
+ - ext/ffi_c/libffi/src/powerpc/asm.h
189
+ - ext/ffi_c/libffi/src/powerpc/darwin.S
190
+ - ext/ffi_c/libffi/src/powerpc/darwin_closure.S
191
+ - ext/ffi_c/libffi/src/powerpc/ffi.c
192
+ - ext/ffi_c/libffi/src/powerpc/ffi_darwin.c
342
193
  - ext/ffi_c/libffi/src/powerpc/ffitarget.h
194
+ - ext/ffi_c/libffi/src/powerpc/linux64.S
343
195
  - ext/ffi_c/libffi/src/powerpc/linux64_closure.S
344
- - ext/ffi_c/libffi/src/powerpc/ffi.c
345
196
  - ext/ffi_c/libffi/src/powerpc/ppc_closure.S
346
- - ext/ffi_c/libffi/src/powerpc/ffi_darwin.c
347
- - ext/ffi_c/libffi/src/powerpc/aix.S
348
- - ext/ffi_c/libffi/src/sh/sysv.S
349
- - ext/ffi_c/libffi/src/sh/ffitarget.h
197
+ - ext/ffi_c/libffi/src/powerpc/sysv.S
198
+ - ext/ffi_c/libffi/src/prep_cif.c
199
+ - ext/ffi_c/libffi/src/raw_api.c
200
+ - ext/ffi_c/libffi/src/s390/ffi.c
201
+ - ext/ffi_c/libffi/src/s390/ffitarget.h
202
+ - ext/ffi_c/libffi/src/s390/sysv.S
350
203
  - ext/ffi_c/libffi/src/sh/ffi.c
351
- - ext/ffi_c/libffi/mdate-sh
352
- - ext/ffi_c/libffi/Makefile.vc64
353
- - ext/ffi_c/libffi/configure.ac
354
- - ext/ffi_c/libffi/config.sub
355
- - ext/ffi_c/libffi/fficonfig.h.in
356
- - ext/ffi_c/libffi/build-ios.sh
357
- - ext/ffi_c/libffi/depcomp
358
- - ext/ffi_c/libffi/libtool-version
359
- - ext/ffi_c/libffi/aclocal.m4
360
- - ext/ffi_c/libffi/include/Makefile.in
361
- - ext/ffi_c/libffi/include/ffi.h.vc64
362
- - ext/ffi_c/libffi/include/ffi_common.h
363
- - ext/ffi_c/libffi/include/ffi.h.vc
364
- - ext/ffi_c/libffi/include/ffi.h.in
365
- - ext/ffi_c/libffi/include/Makefile.am
366
- - ext/ffi_c/libffi/ChangeLog.libffi
367
- - ext/ffi_c/libffi/Makefile.vc
368
- - ext/ffi_c/libffi/ltmain.sh
369
- - ext/ffi_c/libffi/doc/stamp-vti
370
- - ext/ffi_c/libffi/doc/version.texi
371
- - ext/ffi_c/libffi/doc/libffi.texi
372
- - ext/ffi_c/libffi/doc/libffi.info
373
- - ext/ffi_c/libffi/configure
374
- - ext/ffi_c/libffi/man/ffi_prep_cif.3
375
- - ext/ffi_c/libffi/man/Makefile.in
376
- - ext/ffi_c/libffi/man/ffi.3
377
- - ext/ffi_c/libffi/man/ffi_call.3
378
- - ext/ffi_c/libffi/man/Makefile.am
379
- - ext/ffi_c/libffi/msvcc.sh
204
+ - ext/ffi_c/libffi/src/sh/ffitarget.h
205
+ - ext/ffi_c/libffi/src/sh/sysv.S
206
+ - ext/ffi_c/libffi/src/sh64/ffi.c
207
+ - ext/ffi_c/libffi/src/sh64/ffitarget.h
208
+ - ext/ffi_c/libffi/src/sh64/sysv.S
209
+ - ext/ffi_c/libffi/src/sparc/ffi.c
210
+ - ext/ffi_c/libffi/src/sparc/ffitarget.h
211
+ - ext/ffi_c/libffi/src/sparc/v8.S
212
+ - ext/ffi_c/libffi/src/sparc/v9.S
213
+ - ext/ffi_c/libffi/src/types.c
214
+ - ext/ffi_c/libffi/src/x86/darwin.S
215
+ - ext/ffi_c/libffi/src/x86/darwin64.S
216
+ - ext/ffi_c/libffi/src/x86/ffi.c
217
+ - ext/ffi_c/libffi/src/x86/ffi64.c
218
+ - ext/ffi_c/libffi/src/x86/ffitarget.h
219
+ - ext/ffi_c/libffi/src/x86/freebsd.S
220
+ - ext/ffi_c/libffi/src/x86/sysv.S
221
+ - ext/ffi_c/libffi/src/x86/unix64.S
222
+ - ext/ffi_c/libffi/src/x86/win32.S
223
+ - ext/ffi_c/libffi/src/x86/win64.S
224
+ - ext/ffi_c/libffi/testsuite/config/default.exp
225
+ - ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp
226
+ - ext/ffi_c/libffi/testsuite/lib/libffi.exp
227
+ - ext/ffi_c/libffi/testsuite/lib/target-libpath.exp
228
+ - ext/ffi_c/libffi/testsuite/lib/wrapper.exp
229
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct2.c
230
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct3.c
231
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct4.c
232
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct5.c
233
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct6.c
234
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct7.c
235
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct8.c
236
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct9.c
237
+ - ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c
238
+ - ext/ffi_c/libffi/testsuite/libffi.call/call.exp
239
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c
240
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c
241
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c
242
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c
243
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c
244
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c
245
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c
246
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c
247
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c
248
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c
249
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c
250
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c
251
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c
252
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c
253
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c
254
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c
255
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c
256
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c
257
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c
258
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c
259
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c
260
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c
261
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c
262
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c
263
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c
264
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c
265
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c
266
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c
267
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c
268
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c
269
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c
270
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c
271
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c
272
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c
273
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c
274
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c
275
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c
276
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
277
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c
278
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c
279
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c
280
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c
281
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c
282
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c
283
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c
284
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c
285
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c
286
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c
287
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c
288
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c
289
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c
290
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c
291
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c
292
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
293
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c
294
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c
295
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c
296
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c
297
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c
298
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c
299
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c
300
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c
301
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c
302
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c
303
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c
304
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c
305
+ - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c
306
+ - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c
307
+ - ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h
308
+ - ext/ffi_c/libffi/testsuite/libffi.call/float.c
309
+ - ext/ffi_c/libffi/testsuite/libffi.call/float1.c
310
+ - ext/ffi_c/libffi/testsuite/libffi.call/float2.c
311
+ - ext/ffi_c/libffi/testsuite/libffi.call/float3.c
312
+ - ext/ffi_c/libffi/testsuite/libffi.call/float4.c
313
+ - ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c
314
+ - ext/ffi_c/libffi/testsuite/libffi.call/many.c
315
+ - ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c
316
+ - ext/ffi_c/libffi/testsuite/libffi.call/negint.c
317
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c
318
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c
319
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c
320
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c
321
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c
322
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c
323
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c
324
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c
325
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c
326
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c
327
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c
328
+ - ext/ffi_c/libffi/testsuite/libffi.call/problem1.c
329
+ - ext/ffi_c/libffi/testsuite/libffi.call/promotion.c
330
+ - ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c
331
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c
332
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c
333
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c
334
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c
335
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c
336
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c
337
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c
338
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c
339
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c
340
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c
341
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c
342
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c
343
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c
344
+ - ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c
345
+ - ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c
346
+ - ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c
347
+ - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c
348
+ - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c
349
+ - ext/ffi_c/libffi/testsuite/libffi.call/strlen.c
350
+ - ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c
351
+ - ext/ffi_c/libffi/testsuite/libffi.call/struct1.c
352
+ - ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h
353
+ - ext/ffi_c/libffi/testsuite/libffi.special/special.exp
354
+ - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc
355
+ - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
356
+ - ext/ffi_c/libffi/testsuite/Makefile.am
357
+ - ext/ffi_c/libffi/testsuite/Makefile.in
380
358
  - ext/ffi_c/libffi/texinfo.tex
381
- - ext/ffi_c/libffi/acinclude.m4
382
- - ext/ffi_c/libffi/ChangeLog
383
- - ext/ffi_c/libffi/README
384
- - ext/ffi_c/libffi/config.guess
385
- - ext/ffi_c/libffi/Makefile.am
386
- - ext/ffi_c/libffi/compile
387
- - ext/ffi_c/libffi/ChangeLog.libgcj
388
- - ext/ffi_c/libffi/configure.host
389
- - ext/ffi_c/libffi/ChangeLog.v1
390
- - ext/ffi_c/libffi/libffi.pc.in
359
+ - ext/ffi_c/libffi.bsd.mk
360
+ - ext/ffi_c/libffi.darwin.mk
361
+ - ext/ffi_c/libffi.gnu.mk
362
+ - ext/ffi_c/libffi.mk
363
+ - ext/ffi_c/libffi.vc.mk
364
+ - ext/ffi_c/libffi.vc64.mk
365
+ - ext/ffi_c/LongDouble.c
366
+ - ext/ffi_c/LongDouble.h
367
+ - ext/ffi_c/MappedType.c
368
+ - ext/ffi_c/MappedType.h
369
+ - ext/ffi_c/MemoryPointer.c
370
+ - ext/ffi_c/MemoryPointer.h
371
+ - ext/ffi_c/MethodHandle.c
372
+ - ext/ffi_c/MethodHandle.h
373
+ - ext/ffi_c/Platform.c
374
+ - ext/ffi_c/Platform.h
375
+ - ext/ffi_c/Pointer.c
376
+ - ext/ffi_c/Pointer.h
377
+ - ext/ffi_c/rbffi.h
378
+ - ext/ffi_c/rbffi_endian.h
379
+ - ext/ffi_c/Struct.c
380
+ - ext/ffi_c/Struct.h
381
+ - ext/ffi_c/StructByReference.c
382
+ - ext/ffi_c/StructByReference.h
383
+ - ext/ffi_c/StructByValue.c
384
+ - ext/ffi_c/StructByValue.h
391
385
  - ext/ffi_c/StructLayout.c
386
+ - ext/ffi_c/Thread.c
387
+ - ext/ffi_c/Thread.h
388
+ - ext/ffi_c/Type.c
389
+ - ext/ffi_c/Type.h
390
+ - ext/ffi_c/Types.c
391
+ - ext/ffi_c/Types.h
392
+ - ext/ffi_c/Variadic.c
393
+ - ext/ffi_c/win32/stdbool.h
394
+ - ext/ffi_c/win32/stdint.h
392
395
  - gen/Rakefile
393
- - lib/ffi.rb
394
- - lib/ffi/io.rb
395
- - lib/ffi/struct.rb
396
+ - lib/ffi/autopointer.rb
397
+ - lib/ffi/buffer.rb
396
398
  - lib/ffi/callback.rb
397
- - lib/ffi/pointer.rb
398
- - lib/ffi/errno.rb
399
399
  - lib/ffi/enum.rb
400
- - lib/ffi/variadic.rb
401
- - lib/ffi/platform.rb
402
- - lib/ffi/tools/types_generator.rb
403
- - lib/ffi/tools/generator_task.rb
404
- - lib/ffi/tools/struct_generator.rb
405
- - lib/ffi/tools/generator.rb
406
- - lib/ffi/tools/const_generator.rb
400
+ - lib/ffi/errno.rb
407
401
  - lib/ffi/ffi.rb
408
- - lib/ffi/managedstruct.rb
402
+ - lib/ffi/io.rb
409
403
  - lib/ffi/library.rb
410
- - lib/ffi/buffer.rb
411
- - lib/ffi/types.rb
412
- - lib/ffi/version.rb
413
- - lib/ffi/union.rb
414
- - lib/ffi/platform/ia64-linux/types.conf
404
+ - lib/ffi/managedstruct.rb
405
+ - lib/ffi/memorypointer.rb
406
+ - lib/ffi/platform/arm-linux/types.conf
407
+ - lib/ffi/platform/i386-cygwin/types.conf
408
+ - lib/ffi/platform/i386-darwin/types.conf
409
+ - lib/ffi/platform/i386-freebsd/types.conf
415
410
  - lib/ffi/platform/i386-gnu/types.conf
416
- - lib/ffi/platform/sparc-linux/types.conf
417
- - lib/ffi/platform/x86_64-darwin/types.conf
418
- - lib/ffi/platform/x86_64-openbsd/types.conf
419
- - lib/ffi/platform/i386-windows/types.conf
420
- - lib/ffi/platform/i386-solaris/types.conf
421
- - lib/ffi/platform/x86_64-netbsd/types.conf
411
+ - lib/ffi/platform/i386-linux/types.conf
412
+ - lib/ffi/platform/i386-netbsd/types.conf
422
413
  - lib/ffi/platform/i386-openbsd/types.conf
414
+ - lib/ffi/platform/i386-solaris/types.conf
415
+ - lib/ffi/platform/i386-windows/types.conf
416
+ - lib/ffi/platform/ia64-linux/types.conf
417
+ - lib/ffi/platform/mips-linux/types.conf
423
418
  - lib/ffi/platform/mipsel-linux/types.conf
424
- - lib/ffi/platform/s390x-linux/types.conf
425
419
  - lib/ffi/platform/powerpc-aix/types.conf
426
- - lib/ffi/platform/i386-cygwin/types.conf
427
- - lib/ffi/platform/i386-netbsd/types.conf
428
- - lib/ffi/platform/i386-freebsd/types.conf
429
- - lib/ffi/platform/s390-linux/types.conf
420
+ - lib/ffi/platform/powerpc-darwin/types.conf
430
421
  - lib/ffi/platform/powerpc-linux/types.conf
422
+ - lib/ffi/platform/s390-linux/types.conf
423
+ - lib/ffi/platform/s390x-linux/types.conf
424
+ - lib/ffi/platform/sparc-linux/types.conf
431
425
  - lib/ffi/platform/sparc-solaris/types.conf
432
- - lib/ffi/platform/x86_64-solaris/types.conf
433
- - lib/ffi/platform/mips-linux/types.conf
434
- - lib/ffi/platform/x86_64-windows/types.conf
435
- - lib/ffi/platform/x86_64-linux/types.conf
436
- - lib/ffi/platform/powerpc-darwin/types.conf
437
- - lib/ffi/platform/i386-linux/types.conf
438
- - lib/ffi/platform/x86_64-freebsd/types.conf
439
- - lib/ffi/platform/arm-linux/types.conf
440
- - lib/ffi/platform/i386-darwin/types.conf
441
426
  - lib/ffi/platform/sparcv9-solaris/types.conf
442
427
  - lib/ffi/platform/x86_64-cygwin/types.conf
428
+ - lib/ffi/platform/x86_64-darwin/types.conf
429
+ - lib/ffi/platform/x86_64-freebsd/types.conf
430
+ - lib/ffi/platform/x86_64-linux/types.conf
431
+ - lib/ffi/platform/x86_64-netbsd/types.conf
432
+ - lib/ffi/platform/x86_64-openbsd/types.conf
433
+ - lib/ffi/platform/x86_64-solaris/types.conf
434
+ - lib/ffi/platform/x86_64-windows/types.conf
435
+ - lib/ffi/platform.rb
436
+ - lib/ffi/pointer.rb
437
+ - lib/ffi/struct.rb
443
438
  - lib/ffi/struct_layout_builder.rb
444
- - lib/ffi/memorypointer.rb
445
- - lib/ffi/autopointer.rb
446
- - spec/spec.opts
447
- - spec/ffi/union_spec.rb
448
- - spec/ffi/struct_spec.rb
449
- - spec/ffi/pointer_spec.rb
439
+ - lib/ffi/tools/const_generator.rb
440
+ - lib/ffi/tools/generator.rb
441
+ - lib/ffi/tools/generator_task.rb
442
+ - lib/ffi/tools/struct_generator.rb
443
+ - lib/ffi/tools/types_generator.rb
444
+ - lib/ffi/types.rb
445
+ - lib/ffi/union.rb
446
+ - lib/ffi/variadic.rb
447
+ - lib/ffi/version.rb
448
+ - lib/ffi.rb
449
+ - spec/ffi/async_callback_spec.rb
450
+ - spec/ffi/bool_spec.rb
451
+ - spec/ffi/buffer_spec.rb
452
+ - spec/ffi/callback_spec.rb
450
453
  - spec/ffi/custom_param_type.rb
454
+ - spec/ffi/custom_type_spec.rb
455
+ - spec/ffi/dup_spec.rb
456
+ - spec/ffi/enum_spec.rb
457
+ - spec/ffi/errno_spec.rb
458
+ - spec/ffi/ffi_spec.rb
459
+ - spec/ffi/fixtures/Benchmark.c
460
+ - spec/ffi/fixtures/BoolTest.c
461
+ - spec/ffi/fixtures/BufferTest.c
462
+ - spec/ffi/fixtures/classes.rb
463
+ - spec/ffi/fixtures/ClosureTest.c
464
+ - spec/ffi/fixtures/EnumTest.c
465
+ - spec/ffi/fixtures/FunctionTest.c
466
+ - spec/ffi/fixtures/GlobalVariable.c
467
+ - spec/ffi/fixtures/GNUmakefile
468
+ - spec/ffi/fixtures/LastErrorTest.c
469
+ - spec/ffi/fixtures/NumberTest.c
470
+ - spec/ffi/fixtures/PointerTest.c
471
+ - spec/ffi/fixtures/ReferenceTest.c
472
+ - spec/ffi/fixtures/StringTest.c
473
+ - spec/ffi/fixtures/StructTest.c
474
+ - spec/ffi/fixtures/UnionTest.c
475
+ - spec/ffi/fixtures/VariadicTest.c
451
476
  - spec/ffi/function_spec.rb
452
- - spec/ffi/number_spec.rb
453
- - spec/ffi/strptr_spec.rb
477
+ - spec/ffi/io_spec.rb
478
+ - spec/ffi/library_spec.rb
479
+ - spec/ffi/LICENSE.SPECS
480
+ - spec/ffi/long_double.rb
454
481
  - spec/ffi/managed_struct_spec.rb
455
- - spec/ffi/string_spec.rb
456
- - spec/ffi/rbx/struct_spec.rb
482
+ - spec/ffi/memorypointer_spec.rb
483
+ - spec/ffi/number_spec.rb
484
+ - spec/ffi/platform_spec.rb
485
+ - spec/ffi/pointer_spec.rb
486
+ - spec/ffi/rbx/attach_function_spec.rb
457
487
  - spec/ffi/rbx/memory_pointer_spec.rb
458
488
  - spec/ffi/rbx/spec_helper.rb
459
- - spec/ffi/rbx/attach_function_spec.rb
460
- - spec/ffi/bool_spec.rb
461
- - spec/ffi/errno_spec.rb
462
- - spec/ffi/struct_by_ref_spec.rb
489
+ - spec/ffi/rbx/struct_spec.rb
463
490
  - spec/ffi/spec_helper.rb
464
- - spec/ffi/struct_packed_spec.rb
491
+ - spec/ffi/string_spec.rb
492
+ - spec/ffi/strptr_spec.rb
493
+ - spec/ffi/struct_by_ref_spec.rb
494
+ - spec/ffi/struct_callback_spec.rb
465
495
  - spec/ffi/struct_initialize_spec.rb
496
+ - spec/ffi/struct_packed_spec.rb
497
+ - spec/ffi/struct_spec.rb
466
498
  - spec/ffi/typedef_spec.rb
467
- - spec/ffi/buffer_spec.rb
468
- - spec/ffi/async_callback_spec.rb
469
- - spec/ffi/long_double.rb
470
- - spec/ffi/library_spec.rb
471
- - spec/ffi/dup_spec.rb
472
- - spec/ffi/custom_type_spec.rb
473
- - spec/ffi/struct_callback_spec.rb
474
- - spec/ffi/ffi_spec.rb
475
- - spec/ffi/enum_spec.rb
499
+ - spec/ffi/union_spec.rb
476
500
  - spec/ffi/variadic_spec.rb
477
- - spec/ffi/callback_spec.rb
478
- - libtest/UnionTest.c
479
- - libtest/StructTest.c
480
- - libtest/VariadicTest.c
481
- - libtest/StringTest.c
482
- - libtest/GNUmakefile
501
+ - spec/spec.opts
502
+ - libtest/Benchmark.c
483
503
  - libtest/BoolTest.c
484
504
  - libtest/BufferTest.c
485
- - libtest/NumberTest.c
486
- - libtest/GlobalVariable.c
487
- - libtest/LastErrorTest.c
488
505
  - libtest/ClosureTest.c
489
506
  - libtest/EnumTest.c
490
507
  - libtest/FunctionTest.c
508
+ - libtest/GlobalVariable.c
509
+ - libtest/GNUmakefile
510
+ - libtest/LastErrorTest.c
511
+ - libtest/NumberTest.c
491
512
  - libtest/PointerTest.c
492
- - libtest/Benchmark.c
493
513
  - libtest/ReferenceTest.c
514
+ - libtest/StringTest.c
515
+ - libtest/StructTest.c
516
+ - libtest/UnionTest.c
517
+ - libtest/VariadicTest.c
494
518
  - lib/1.8/ffi_c.so
495
519
  - lib/1.9/ffi_c.so
496
520
  - lib/2.0/ffi_c.so
@@ -513,11 +537,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
513
537
  version: 1.8.7
514
538
  required_rubygems_version: !ruby/object:Gem::Requirement
515
539
  requirements:
516
- - *id003
540
+ - - ">="
541
+ - !ruby/object:Gem::Version
542
+ version: "0"
517
543
  requirements: []
518
544
 
519
545
  rubyforge_project:
520
- rubygems_version: 2.0.13
546
+ rubygems_version: 2.0.14
521
547
  signing_key:
522
548
  specification_version: 4
523
549
  summary: Ruby FFI