ffi 1.9.3-x64-mingw32 → 1.9.5-x64-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 (73) hide show
  1. checksums.yaml +7 -0
  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/2.0/ffi_c.so +0 -0
  12. data/lib/ffi/library.rb +7 -7
  13. data/lib/ffi/platform.rb +4 -1
  14. data/lib/ffi/platform/x86_64-netbsd/types.conf +2 -0
  15. data/lib/ffi/struct.rb +2 -2
  16. data/lib/ffi/version.rb +1 -1
  17. data/libtest/ClosureTest.c +15 -0
  18. data/libtest/FunctionTest.c +12 -0
  19. data/spec/ffi/LICENSE.SPECS +22 -0
  20. data/spec/ffi/async_callback_spec.rb +1 -0
  21. data/spec/ffi/bool_spec.rb +2 -0
  22. data/spec/ffi/buffer_spec.rb +1 -0
  23. data/spec/ffi/callback_spec.rb +31 -4
  24. data/spec/ffi/custom_param_type.rb +1 -0
  25. data/spec/ffi/custom_type_spec.rb +1 -0
  26. data/spec/ffi/dup_spec.rb +1 -1
  27. data/spec/ffi/enum_spec.rb +1 -0
  28. data/spec/ffi/errno_spec.rb +2 -0
  29. data/spec/ffi/ffi_spec.rb +1 -0
  30. data/spec/ffi/fixtures/Benchmark.c +52 -0
  31. data/spec/ffi/fixtures/BoolTest.c +34 -0
  32. data/spec/ffi/fixtures/BufferTest.c +31 -0
  33. data/spec/ffi/fixtures/ClosureTest.c +190 -0
  34. data/spec/ffi/fixtures/EnumTest.c +34 -0
  35. data/spec/ffi/fixtures/FunctionTest.c +58 -0
  36. data/spec/ffi/fixtures/GNUmakefile +149 -0
  37. data/spec/ffi/fixtures/GlobalVariable.c +62 -0
  38. data/spec/ffi/fixtures/LastErrorTest.c +21 -0
  39. data/spec/ffi/fixtures/NumberTest.c +132 -0
  40. data/spec/ffi/fixtures/PointerTest.c +63 -0
  41. data/spec/ffi/fixtures/ReferenceTest.c +23 -0
  42. data/spec/ffi/fixtures/StringTest.c +34 -0
  43. data/spec/ffi/fixtures/StructTest.c +243 -0
  44. data/spec/ffi/fixtures/UnionTest.c +43 -0
  45. data/spec/ffi/fixtures/VariadicTest.c +99 -0
  46. data/spec/ffi/fixtures/classes.rb +438 -0
  47. data/spec/ffi/function_spec.rb +4 -2
  48. data/spec/ffi/io_spec.rb +17 -0
  49. data/spec/ffi/library_spec.rb +25 -0
  50. data/spec/ffi/long_double.rb +1 -0
  51. data/spec/ffi/managed_struct_spec.rb +1 -1
  52. data/spec/ffi/memorypointer_spec.rb +72 -0
  53. data/spec/ffi/number_spec.rb +2 -0
  54. data/spec/ffi/platform_spec.rb +97 -0
  55. data/spec/ffi/pointer_spec.rb +8 -2
  56. data/spec/ffi/rbx/attach_function_spec.rb +6 -0
  57. data/spec/ffi/rbx/memory_pointer_spec.rb +7 -2
  58. data/spec/ffi/rbx/spec_helper.rb +7 -1
  59. data/spec/ffi/rbx/struct_spec.rb +7 -1
  60. data/spec/ffi/spec_helper.rb +68 -9
  61. data/spec/ffi/string_spec.rb +3 -1
  62. data/spec/ffi/strptr_spec.rb +1 -0
  63. data/spec/ffi/struct_by_ref_spec.rb +4 -3
  64. data/spec/ffi/struct_callback_spec.rb +2 -1
  65. data/spec/ffi/struct_initialize_spec.rb +1 -0
  66. data/spec/ffi/struct_packed_spec.rb +1 -0
  67. data/spec/ffi/struct_spec.rb +99 -39
  68. data/spec/ffi/typedef_spec.rb +15 -3
  69. data/spec/ffi/union_spec.rb +1 -0
  70. data/spec/ffi/variadic_spec.rb +18 -0
  71. data/spec/spec.opts +1 -2
  72. metadata +417 -430
  73. data/lib/ffi_c.so +0 -0
@@ -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
data/spec/spec.opts CHANGED
@@ -1,4 +1,3 @@
1
1
  --color
2
2
  --format
3
- specdoc
4
-
3
+ documentation
metadata CHANGED
@@ -1,13 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- hash: 53
5
- prerelease:
6
- segments:
7
- - 1
8
- - 9
9
- - 3
10
- version: 1.9.3
4
+ version: 1.9.5
11
5
  platform: x64-mingw32
12
6
  authors:
13
7
  - Wayne Meissner
@@ -15,67 +9,48 @@ autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
11
 
18
- date: 2013-11-03 00:00:00 +00:00
19
- default_executable:
12
+ date: 2014-09-25 00:00:00 Z
20
13
  dependencies:
21
14
  - !ruby/object:Gem::Dependency
22
15
  name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
16
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
17
  requirements:
27
- - - ">="
18
+ - - ~>
28
19
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
20
+ version: "10.1"
21
+ prerelease: false
22
+ requirement: *id001
33
23
  type: :development
34
- version_requirements: *id001
35
24
  - !ruby/object:Gem::Dependency
36
25
  name: rake-compiler
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
26
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
27
  requirements:
41
- - - ">="
28
+ - - ~>
42
29
  - !ruby/object:Gem::Version
43
- hash: 7
44
- segments:
45
- - 0
46
- - 6
47
- - 0
48
- version: 0.6.0
30
+ version: "0.9"
31
+ prerelease: false
32
+ requirement: *id002
49
33
  type: :development
50
- version_requirements: *id002
51
34
  - !ruby/object:Gem::Dependency
52
35
  name: rspec
53
- prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
36
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
37
  requirements:
57
- - - ">="
38
+ - - ~>
58
39
  - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
40
+ version: 2.14.1
41
+ prerelease: false
42
+ requirement: *id003
63
43
  type: :development
64
- version_requirements: *id003
65
44
  - !ruby/object:Gem::Dependency
66
45
  name: rubygems-tasks
67
- prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
69
- none: false
46
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
47
  requirements:
71
- - - ">="
48
+ - - ~>
72
49
  - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
50
+ version: 0.2.4
51
+ prerelease: false
52
+ requirement: *id004
77
53
  type: :development
78
- version_requirements: *id004
79
54
  description: Ruby FFI library
80
55
  email: wmeissner@gmail.com
81
56
  executables: []
@@ -90,440 +65,462 @@ files:
90
65
  - COPYING
91
66
  - README.md
92
67
  - Rakefile
93
- - ext/ffi_c/Platform.h
94
- - ext/ffi_c/MappedType.h
95
- - ext/ffi_c/LastError.h
96
- - ext/ffi_c/Types.h
97
- - ext/ffi_c/Pointer.h
98
- - ext/ffi_c/Call.h
99
- - ext/ffi_c/Function.c
100
- - ext/ffi_c/ClosurePool.h
101
- - ext/ffi_c/Types.c
102
- - ext/ffi_c/rbffi_endian.h
103
- - ext/ffi_c/Thread.h
104
- - 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
105
72
  - ext/ffi_c/Buffer.c
106
- - ext/ffi_c/LongDouble.c
107
- - ext/ffi_c/Type.c
73
+ - ext/ffi_c/Call.c
74
+ - ext/ffi_c/Call.h
108
75
  - ext/ffi_c/ClosurePool.c
76
+ - ext/ffi_c/ClosurePool.h
77
+ - ext/ffi_c/compat.h
109
78
  - ext/ffi_c/DataConverter.c
110
- - ext/ffi_c/MappedType.c
111
- - ext/ffi_c/LongDouble.h
112
- - ext/ffi_c/Variadic.c
113
- - ext/ffi_c/StructByValue.h
114
- - ext/ffi_c/StructByValue.c
115
- - ext/ffi_c/win32/stdint.h
116
- - ext/ffi_c/win32/stdbool.h
117
- - ext/ffi_c/Struct.c
118
- - ext/ffi_c/libffi.bsd.mk
119
- - ext/ffi_c/ArrayType.c
120
- - ext/ffi_c/extconf.rb
121
- - ext/ffi_c/DynamicLibrary.h
122
- - ext/ffi_c/Thread.c
123
79
  - ext/ffi_c/DynamicLibrary.c
124
- - ext/ffi_c/MethodHandle.c
125
- - ext/ffi_c/rbffi.h
126
- - ext/ffi_c/Struct.h
127
- - ext/ffi_c/MethodHandle.h
128
- - ext/ffi_c/libffi.vc64.mk
129
- - ext/ffi_c/AbstractMemory.c
130
- - ext/ffi_c/StructByReference.h
131
- - ext/ffi_c/libffi.gnu.mk
132
- - ext/ffi_c/LastError.c
80
+ - ext/ffi_c/DynamicLibrary.h
81
+ - ext/ffi_c/extconf.rb
133
82
  - ext/ffi_c/ffi.c
134
- - ext/ffi_c/Type.h
135
- - ext/ffi_c/AbstractMemory.h
136
- - ext/ffi_c/libffi.vc.mk
137
- - ext/ffi_c/Call.c
138
- - ext/ffi_c/ArrayType.h
83
+ - ext/ffi_c/Function.c
84
+ - ext/ffi_c/Function.h
139
85
  - ext/ffi_c/FunctionInfo.c
140
- - ext/ffi_c/Pointer.c
141
- - ext/ffi_c/Platform.c
142
- - ext/ffi_c/libffi.mk
143
- - ext/ffi_c/libffi.darwin.mk
144
- - ext/ffi_c/compat.h
145
- - ext/ffi_c/StructByReference.c
146
- - ext/ffi_c/MemoryPointer.c
147
- - ext/ffi_c/MemoryPointer.h
148
- - ext/ffi_c/libffi/missing
149
- - 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
150
107
  - ext/ffi_c/libffi/fficonfig.hw
151
- - ext/ffi_c/libffi/testsuite/config/default.exp
152
- - ext/ffi_c/libffi/testsuite/Makefile.in
153
- - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c
154
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c
155
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c
156
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c
157
- - ext/ffi_c/libffi/testsuite/libffi.call/struct3.c
158
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c
159
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c
160
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c
161
- - ext/ffi_c/libffi/testsuite/libffi.call/promotion.c
162
- - ext/ffi_c/libffi/testsuite/libffi.call/struct6.c
163
- - ext/ffi_c/libffi/testsuite/libffi.call/negint.c
164
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c
165
- - ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c
166
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c
167
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c
168
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c
169
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c
170
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c
171
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c
172
- - ext/ffi_c/libffi/testsuite/libffi.call/struct7.c
173
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c
174
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
175
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c
176
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c
177
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c
178
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c
179
- - ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c
180
- - ext/ffi_c/libffi/testsuite/libffi.call/struct1.c
181
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c
182
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c
183
- - ext/ffi_c/libffi/testsuite/libffi.call/problem1.c
184
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c
185
- - ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c
186
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c
187
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c
188
- - ext/ffi_c/libffi/testsuite/libffi.call/struct2.c
189
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c
190
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c
191
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c
192
- - ext/ffi_c/libffi/testsuite/libffi.call/struct5.c
193
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c
194
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
195
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c
196
- - ext/ffi_c/libffi/testsuite/libffi.call/float.c
197
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c
198
- - ext/ffi_c/libffi/testsuite/libffi.call/float2.c
199
- - ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c
200
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c
201
- - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c
202
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c
203
- - ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c
204
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c
205
- - ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c
206
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c
207
- - ext/ffi_c/libffi/testsuite/libffi.call/float3.c
208
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c
209
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c
210
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c
211
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c
212
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c
213
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c
214
- - ext/ffi_c/libffi/testsuite/libffi.call/float4.c
215
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c
216
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c
217
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c
218
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c
219
- - ext/ffi_c/libffi/testsuite/libffi.call/struct8.c
220
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c
221
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c
222
- - ext/ffi_c/libffi/testsuite/libffi.call/struct4.c
223
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c
224
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c
225
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c
226
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c
227
- - ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c
228
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c
229
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c
230
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c
231
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c
232
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c
233
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c
234
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c
235
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c
236
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c
237
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c
238
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c
239
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c
240
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c
241
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c
242
- - ext/ffi_c/libffi/testsuite/libffi.call/strlen.c
243
- - ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c
244
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c
245
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c
246
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c
247
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c
248
- - ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c
249
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c
250
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c
251
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c
252
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c
253
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c
254
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c
255
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c
256
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c
257
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c
258
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c
259
- - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c
260
- - ext/ffi_c/libffi/testsuite/libffi.call/float1.c
261
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c
262
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c
263
- - ext/ffi_c/libffi/testsuite/libffi.call/struct9.c
264
- - ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c
265
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c
266
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c
267
- - ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c
268
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c
269
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c
270
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c
271
- - ext/ffi_c/libffi/testsuite/libffi.call/many.c
272
- - ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c
273
- - ext/ffi_c/libffi/testsuite/libffi.call/call.exp
274
- - ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c
275
- - ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h
276
- - ext/ffi_c/libffi/testsuite/Makefile.am
277
- - ext/ffi_c/libffi/testsuite/lib/wrapper.exp
278
- - ext/ffi_c/libffi/testsuite/lib/libffi.exp
279
- - ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp
280
- - ext/ffi_c/libffi/testsuite/lib/target-libpath.exp
281
- - ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h
282
- - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
283
- - ext/ffi_c/libffi/testsuite/libffi.special/special.exp
284
- - 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
285
120
  - ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4
286
121
  - ext/ffi_c/libffi/m4/ax_check_compiler_flags.m4
287
- - ext/ffi_c/libffi/m4/ltversion.m4
288
- - ext/ffi_c/libffi/m4/ax_cc_maxopt.m4
289
- - 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
290
124
  - ext/ffi_c/libffi/m4/ax_enable_builddir.m4
291
125
  - ext/ffi_c/libffi/m4/ax_gcc_archflag.m4
292
- - ext/ffi_c/libffi/m4/ax_configure_args.m4
293
- - 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
294
128
  - ext/ffi_c/libffi/m4/ltoptions.m4
295
129
  - ext/ffi_c/libffi/m4/ltsugar.m4
296
- - ext/ffi_c/libffi/m4/libtool.m4
297
- - ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4
298
- - ext/ffi_c/libffi/LICENSE
299
- - ext/ffi_c/libffi/install-sh
300
- - ext/ffi_c/libffi/src/x86/win64.S
301
- - ext/ffi_c/libffi/src/x86/darwin.S
302
- - ext/ffi_c/libffi/src/x86/sysv.S
303
- - ext/ffi_c/libffi/src/x86/ffitarget.h
304
- - ext/ffi_c/libffi/src/x86/darwin64.S
305
- - ext/ffi_c/libffi/src/x86/ffi64.c
306
- - ext/ffi_c/libffi/src/x86/freebsd.S
307
- - ext/ffi_c/libffi/src/x86/ffi.c
308
- - ext/ffi_c/libffi/src/x86/unix64.S
309
- - ext/ffi_c/libffi/src/x86/win32.S
310
- - 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
311
149
  - ext/ffi_c/libffi/src/arm/ffitarget.h
312
- - ext/ffi_c/libffi/src/arm/trampoline.S
313
150
  - ext/ffi_c/libffi/src/arm/gentramp.sh
314
- - ext/ffi_c/libffi/src/arm/ffi.c
315
- - ext/ffi_c/libffi/src/m32r/sysv.S
316
- - ext/ffi_c/libffi/src/m32r/ffitarget.h
317
- - ext/ffi_c/libffi/src/m32r/ffi.c
318
- - ext/ffi_c/libffi/src/m68k/sysv.S
319
- - ext/ffi_c/libffi/src/m68k/ffitarget.h
320
- - ext/ffi_c/libffi/src/m68k/ffi.c
321
- - ext/ffi_c/libffi/src/cris/sysv.S
322
- - ext/ffi_c/libffi/src/cris/ffitarget.h
323
- - ext/ffi_c/libffi/src/cris/ffi.c
324
- - ext/ffi_c/libffi/src/s390/sysv.S
325
- - ext/ffi_c/libffi/src/s390/ffitarget.h
326
- - ext/ffi_c/libffi/src/s390/ffi.c
327
- - ext/ffi_c/libffi/src/avr32/sysv.S
328
- - 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
329
153
  - ext/ffi_c/libffi/src/avr32/ffi.c
330
- - ext/ffi_c/libffi/src/types.c
331
- - 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
332
162
  - ext/ffi_c/libffi/src/frv/eabi.S
333
163
  - ext/ffi_c/libffi/src/frv/ffi.c
334
- - ext/ffi_c/libffi/src/prep_cif.c
335
- - ext/ffi_c/libffi/src/ia64/unix.S
336
- - ext/ffi_c/libffi/src/ia64/ia64_flags.h
337
- - ext/ffi_c/libffi/src/ia64/ffitarget.h
164
+ - ext/ffi_c/libffi/src/frv/ffitarget.h
338
165
  - ext/ffi_c/libffi/src/ia64/ffi.c
339
- - 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
340
169
  - ext/ffi_c/libffi/src/java_raw_api.c
341
- - ext/ffi_c/libffi/src/sparc/v8.S
342
- - ext/ffi_c/libffi/src/sparc/ffitarget.h
343
- - ext/ffi_c/libffi/src/sparc/v9.S
344
- - ext/ffi_c/libffi/src/sparc/ffi.c
345
- - ext/ffi_c/libffi/src/pa/ffitarget.h
346
- - ext/ffi_c/libffi/src/pa/linux.S
347
- - ext/ffi_c/libffi/src/pa/hpux32.S
348
- - ext/ffi_c/libffi/src/pa/ffi.c
349
- - ext/ffi_c/libffi/src/closures.c
350
- - ext/ffi_c/libffi/src/sh64/sysv.S
351
- - ext/ffi_c/libffi/src/sh64/ffitarget.h
352
- - ext/ffi_c/libffi/src/sh64/ffi.c
353
- - ext/ffi_c/libffi/src/debug.c
354
- - ext/ffi_c/libffi/src/moxie/eabi.S
355
- - ext/ffi_c/libffi/src/moxie/ffi.c
356
- - ext/ffi_c/libffi/src/alpha/ffitarget.h
357
- - ext/ffi_c/libffi/src/alpha/osf.S
358
- - ext/ffi_c/libffi/src/alpha/ffi.c
359
- - 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
360
176
  - ext/ffi_c/libffi/src/mips/ffi.c
177
+ - ext/ffi_c/libffi/src/mips/ffitarget.h
361
178
  - ext/ffi_c/libffi/src/mips/n32.S
362
179
  - ext/ffi_c/libffi/src/mips/o32.S
363
- - ext/ffi_c/libffi/src/dlmalloc.c
364
- - ext/ffi_c/libffi/src/powerpc/darwin_closure.S
365
- - ext/ffi_c/libffi/src/powerpc/linux64.S
366
- - ext/ffi_c/libffi/src/powerpc/darwin.S
367
- - ext/ffi_c/libffi/src/powerpc/sysv.S
368
- - 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
369
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
370
193
  - ext/ffi_c/libffi/src/powerpc/ffitarget.h
194
+ - ext/ffi_c/libffi/src/powerpc/linux64.S
371
195
  - ext/ffi_c/libffi/src/powerpc/linux64_closure.S
372
- - ext/ffi_c/libffi/src/powerpc/ffi.c
373
196
  - ext/ffi_c/libffi/src/powerpc/ppc_closure.S
374
- - ext/ffi_c/libffi/src/powerpc/ffi_darwin.c
375
- - ext/ffi_c/libffi/src/powerpc/aix.S
376
- - ext/ffi_c/libffi/src/sh/sysv.S
377
- - 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
378
203
  - ext/ffi_c/libffi/src/sh/ffi.c
379
- - ext/ffi_c/libffi/mdate-sh
380
- - ext/ffi_c/libffi/Makefile.vc64
381
- - ext/ffi_c/libffi/configure.ac
382
- - ext/ffi_c/libffi/config.sub
383
- - ext/ffi_c/libffi/fficonfig.h.in
384
- - ext/ffi_c/libffi/build-ios.sh
385
- - ext/ffi_c/libffi/depcomp
386
- - ext/ffi_c/libffi/libtool-version
387
- - ext/ffi_c/libffi/aclocal.m4
388
- - ext/ffi_c/libffi/include/Makefile.in
389
- - ext/ffi_c/libffi/include/ffi.h.vc64
390
- - ext/ffi_c/libffi/include/ffi_common.h
391
- - ext/ffi_c/libffi/include/ffi.h.vc
392
- - ext/ffi_c/libffi/include/ffi.h.in
393
- - ext/ffi_c/libffi/include/Makefile.am
394
- - ext/ffi_c/libffi/ChangeLog.libffi
395
- - ext/ffi_c/libffi/Makefile.vc
396
- - ext/ffi_c/libffi/ltmain.sh
397
- - ext/ffi_c/libffi/doc/stamp-vti
398
- - ext/ffi_c/libffi/doc/version.texi
399
- - ext/ffi_c/libffi/doc/libffi.texi
400
- - ext/ffi_c/libffi/doc/libffi.info
401
- - ext/ffi_c/libffi/configure
402
- - ext/ffi_c/libffi/man/ffi_prep_cif.3
403
- - ext/ffi_c/libffi/man/Makefile.in
404
- - ext/ffi_c/libffi/man/ffi.3
405
- - ext/ffi_c/libffi/man/ffi_call.3
406
- - ext/ffi_c/libffi/man/Makefile.am
407
- - 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
408
358
  - ext/ffi_c/libffi/texinfo.tex
409
- - ext/ffi_c/libffi/acinclude.m4
410
- - ext/ffi_c/libffi/ChangeLog
411
- - ext/ffi_c/libffi/README
412
- - ext/ffi_c/libffi/config.guess
413
- - ext/ffi_c/libffi/Makefile.am
414
- - ext/ffi_c/libffi/compile
415
- - ext/ffi_c/libffi/ChangeLog.libgcj
416
- - ext/ffi_c/libffi/configure.host
417
- - ext/ffi_c/libffi/ChangeLog.v1
418
- - 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
419
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
420
395
  - gen/Rakefile
421
- - lib/ffi.rb
422
- - lib/ffi/io.rb
423
- - lib/ffi/struct.rb
396
+ - lib/ffi/autopointer.rb
397
+ - lib/ffi/buffer.rb
424
398
  - lib/ffi/callback.rb
425
- - lib/ffi/pointer.rb
426
- - lib/ffi/errno.rb
427
399
  - lib/ffi/enum.rb
428
- - lib/ffi/variadic.rb
429
- - lib/ffi/platform.rb
430
- - lib/ffi/tools/types_generator.rb
431
- - lib/ffi/tools/generator_task.rb
432
- - lib/ffi/tools/struct_generator.rb
433
- - lib/ffi/tools/generator.rb
434
- - lib/ffi/tools/const_generator.rb
400
+ - lib/ffi/errno.rb
435
401
  - lib/ffi/ffi.rb
436
- - lib/ffi/managedstruct.rb
402
+ - lib/ffi/io.rb
437
403
  - lib/ffi/library.rb
438
- - lib/ffi/buffer.rb
439
- - lib/ffi/types.rb
440
- - lib/ffi/version.rb
441
- - lib/ffi/union.rb
442
- - 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
443
410
  - lib/ffi/platform/i386-gnu/types.conf
444
- - lib/ffi/platform/sparc-linux/types.conf
445
- - lib/ffi/platform/x86_64-darwin/types.conf
446
- - lib/ffi/platform/x86_64-openbsd/types.conf
447
- - lib/ffi/platform/i386-windows/types.conf
448
- - lib/ffi/platform/i386-solaris/types.conf
449
- - lib/ffi/platform/x86_64-netbsd/types.conf
411
+ - lib/ffi/platform/i386-linux/types.conf
412
+ - lib/ffi/platform/i386-netbsd/types.conf
450
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
451
418
  - lib/ffi/platform/mipsel-linux/types.conf
452
- - lib/ffi/platform/s390x-linux/types.conf
453
419
  - lib/ffi/platform/powerpc-aix/types.conf
454
- - lib/ffi/platform/i386-cygwin/types.conf
455
- - lib/ffi/platform/i386-netbsd/types.conf
456
- - lib/ffi/platform/i386-freebsd/types.conf
457
- - lib/ffi/platform/s390-linux/types.conf
420
+ - lib/ffi/platform/powerpc-darwin/types.conf
458
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
459
425
  - lib/ffi/platform/sparc-solaris/types.conf
460
- - lib/ffi/platform/x86_64-solaris/types.conf
461
- - lib/ffi/platform/mips-linux/types.conf
462
- - lib/ffi/platform/x86_64-windows/types.conf
463
- - lib/ffi/platform/x86_64-linux/types.conf
464
- - lib/ffi/platform/powerpc-darwin/types.conf
465
- - lib/ffi/platform/i386-linux/types.conf
466
- - lib/ffi/platform/x86_64-freebsd/types.conf
467
- - lib/ffi/platform/arm-linux/types.conf
468
- - lib/ffi/platform/i386-darwin/types.conf
469
426
  - lib/ffi/platform/sparcv9-solaris/types.conf
470
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
471
438
  - lib/ffi/struct_layout_builder.rb
472
- - lib/ffi/memorypointer.rb
473
- - lib/ffi/autopointer.rb
474
- - spec/spec.opts
475
- - spec/ffi/union_spec.rb
476
- - spec/ffi/struct_spec.rb
477
- - 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
478
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
479
476
  - spec/ffi/function_spec.rb
480
- - spec/ffi/number_spec.rb
481
- - 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
482
481
  - spec/ffi/managed_struct_spec.rb
483
- - spec/ffi/string_spec.rb
484
- - 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
485
487
  - spec/ffi/rbx/memory_pointer_spec.rb
486
488
  - spec/ffi/rbx/spec_helper.rb
487
- - spec/ffi/rbx/attach_function_spec.rb
488
- - spec/ffi/bool_spec.rb
489
- - spec/ffi/errno_spec.rb
490
- - spec/ffi/struct_by_ref_spec.rb
489
+ - spec/ffi/rbx/struct_spec.rb
491
490
  - spec/ffi/spec_helper.rb
492
- - 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
493
495
  - spec/ffi/struct_initialize_spec.rb
496
+ - spec/ffi/struct_packed_spec.rb
497
+ - spec/ffi/struct_spec.rb
494
498
  - spec/ffi/typedef_spec.rb
495
- - spec/ffi/buffer_spec.rb
496
- - spec/ffi/async_callback_spec.rb
497
- - spec/ffi/long_double.rb
498
- - spec/ffi/library_spec.rb
499
- - spec/ffi/dup_spec.rb
500
- - spec/ffi/custom_type_spec.rb
501
- - spec/ffi/struct_callback_spec.rb
502
- - spec/ffi/ffi_spec.rb
503
- - spec/ffi/enum_spec.rb
499
+ - spec/ffi/union_spec.rb
504
500
  - spec/ffi/variadic_spec.rb
505
- - spec/ffi/callback_spec.rb
506
- - libtest/UnionTest.c
507
- - libtest/StructTest.c
508
- - libtest/VariadicTest.c
509
- - libtest/StringTest.c
510
- - libtest/GNUmakefile
501
+ - spec/spec.opts
502
+ - libtest/Benchmark.c
511
503
  - libtest/BoolTest.c
512
504
  - libtest/BufferTest.c
513
- - libtest/NumberTest.c
514
- - libtest/GlobalVariable.c
515
- - libtest/LastErrorTest.c
516
505
  - libtest/ClosureTest.c
517
506
  - libtest/EnumTest.c
518
507
  - libtest/FunctionTest.c
508
+ - libtest/GlobalVariable.c
509
+ - libtest/GNUmakefile
510
+ - libtest/LastErrorTest.c
511
+ - libtest/NumberTest.c
519
512
  - libtest/PointerTest.c
520
- - libtest/Benchmark.c
521
513
  - libtest/ReferenceTest.c
522
- - lib/ffi_c.so
523
- has_rdoc: true
514
+ - libtest/StringTest.c
515
+ - libtest/StructTest.c
516
+ - libtest/UnionTest.c
517
+ - libtest/VariadicTest.c
518
+ - lib/2.0/ffi_c.so
524
519
  homepage: http://wiki.github.com/ffi/ffi
525
520
  licenses:
526
521
  - BSD
522
+ metadata: {}
523
+
527
524
  post_install_message:
528
525
  rdoc_options:
529
526
  - --exclude=ext/ffi_c/.*\.o$
@@ -532,31 +529,21 @@ require_paths:
532
529
  - lib
533
530
  - ext/ffi_c
534
531
  required_ruby_version: !ruby/object:Gem::Requirement
535
- none: false
536
532
  requirements:
537
533
  - - ">="
538
534
  - !ruby/object:Gem::Version
539
- hash: 57
540
- segments:
541
- - 1
542
- - 8
543
- - 7
544
535
  version: 1.8.7
545
536
  required_rubygems_version: !ruby/object:Gem::Requirement
546
- none: false
547
537
  requirements:
548
538
  - - ">="
549
539
  - !ruby/object:Gem::Version
550
- hash: 3
551
- segments:
552
- - 0
553
540
  version: "0"
554
541
  requirements: []
555
542
 
556
543
  rubyforge_project:
557
- rubygems_version: 1.6.2
544
+ rubygems_version: 2.0.14
558
545
  signing_key:
559
- specification_version: 3
546
+ specification_version: 4
560
547
  summary: Ruby FFI
561
548
  test_files: []
562
549