yakg 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +6 -14
  2. data/.gitignore +1 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +27 -19
  5. data/VERSION +1 -1
  6. data/lib/yakg.rb +6 -6
  7. data/spec/spec_helper.rb +1 -3
  8. data/spec/yakg_spec.rb +13 -13
  9. data/vendor/gems/README.md +26 -20
  10. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/COPYING +49 -0
  11. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/LICENSE +24 -0
  12. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/README.md +7 -7
  13. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/Rakefile +31 -41
  14. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/ffi.gemspec +7 -6
  15. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/autopointer.rb +24 -14
  16. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/enum.rb +34 -22
  17. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/errno.rb +43 -0
  18. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/ffi.rb +44 -0
  19. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/io.rb +62 -0
  20. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/library.rb +79 -44
  21. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/managedstruct.rb +29 -0
  22. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  23. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  24. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  25. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  26. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  27. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-openbsd/types.conf +128 -0
  28. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform.rb +35 -15
  29. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/pointer.rb +22 -10
  30. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/struct.rb +31 -14
  31. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/struct_layout_builder.rb +46 -30
  32. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/types.rb +24 -11
  33. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/union.rb +43 -0
  34. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/variadic.rb +78 -0
  35. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi/version.rb +4 -0
  36. data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi.rb +1 -9
  37. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/lib/ffi_c.bundle +0 -0
  38. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/Benchmark.c +52 -0
  39. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/BoolTest.c +34 -0
  40. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/BufferTest.c +31 -0
  41. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/ClosureTest.c +205 -0
  42. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/EnumTest.c +51 -0
  43. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/FunctionTest.c +70 -0
  44. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/GNUmakefile +149 -0
  45. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/GlobalVariable.c +62 -0
  46. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/LastErrorTest.c +21 -0
  47. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/NumberTest.c +132 -0
  48. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/PointerTest.c +63 -0
  49. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/ReferenceTest.c +23 -0
  50. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/StringTest.c +34 -0
  51. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/StructTest.c +243 -0
  52. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/UnionTest.c +43 -0
  53. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.10/libtest/VariadicTest.c +62 -0
  54. data/vendor/gems/ruby/2.0.0/specifications/ffi-1.9.10.gemspec +45 -0
  55. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/CHANGELOG +12 -0
  56. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/LICENSE +8 -0
  57. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/README.md +40 -0
  58. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/array.rb +123 -0
  59. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/base.rb +197 -0
  60. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/boolean.rb +25 -0
  61. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/data.rb +42 -0
  62. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/date.rb +32 -0
  63. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/dictionary.rb +114 -0
  64. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/extensions.rb +158 -0
  65. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/null.rb +11 -0
  66. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/number.rb +98 -0
  67. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/string.rb +91 -0
  68. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation/version.rb +4 -0
  69. data/vendor/gems/ruby/2.1.0/gems/corefoundation-0.2.0/lib/corefoundation.rb +13 -0
  70. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/COPYING +49 -0
  71. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/LICENSE +24 -0
  72. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/README.md +109 -0
  73. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/Rakefile +210 -0
  74. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/ffi.gemspec +23 -0
  75. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/gen/Rakefile +30 -0
  76. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/autopointer.rb +194 -0
  77. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/buffer.rb +4 -0
  78. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/callback.rb +4 -0
  79. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/enum.rb +174 -0
  80. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/errno.rb +43 -0
  81. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/ffi.rb +44 -0
  82. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/io.rb +62 -0
  83. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/library.rb +524 -0
  84. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/managedstruct.rb +84 -0
  85. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/memorypointer.rb +1 -0
  86. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  87. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/arm-linux/types.conf +104 -0
  88. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  89. data/vendor/gems/ruby/{2.0.0/gems/ffi-1.9.0/lib/ffi/platform/x86_64-darwin → 2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-darwin}/types.conf +2 -2
  90. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  91. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-gnu/types.conf +107 -0
  92. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-linux/types.conf +103 -0
  93. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  94. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-solaris/types.conf +122 -0
  95. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-windows/types.conf +105 -0
  96. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/ia64-linux/types.conf +104 -0
  97. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/mips-linux/types.conf +102 -0
  98. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  99. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  100. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  101. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  102. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-linux/types.conf +100 -0
  103. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  104. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/s390-linux/types.conf +102 -0
  105. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/s390x-linux/types.conf +102 -0
  106. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/sparc-linux/types.conf +102 -0
  107. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  108. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  109. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  110. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  111. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  112. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-linux/types.conf +102 -0
  113. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  114. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-openbsd/types.conf +128 -0
  115. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  116. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-windows/types.conf +27 -0
  117. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/platform.rb +159 -0
  118. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/pointer.rb +134 -0
  119. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/struct.rb +373 -0
  120. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/struct_layout_builder.rb +227 -0
  121. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/tools/const_generator.rb +229 -0
  122. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/tools/generator.rb +60 -0
  123. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/tools/generator_task.rb +36 -0
  124. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/tools/struct_generator.rb +194 -0
  125. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/tools/types_generator.rb +135 -0
  126. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/types.rb +190 -0
  127. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/union.rb +43 -0
  128. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/variadic.rb +78 -0
  129. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi/version.rb +4 -0
  130. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi.rb +20 -0
  131. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/lib/ffi_c.bundle +0 -0
  132. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/Benchmark.c +52 -0
  133. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/BoolTest.c +34 -0
  134. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/BufferTest.c +31 -0
  135. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/ClosureTest.c +205 -0
  136. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/EnumTest.c +51 -0
  137. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/FunctionTest.c +70 -0
  138. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/GNUmakefile +149 -0
  139. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/GlobalVariable.c +62 -0
  140. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/LastErrorTest.c +21 -0
  141. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/NumberTest.c +132 -0
  142. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/PointerTest.c +63 -0
  143. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/ReferenceTest.c +23 -0
  144. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/StringTest.c +34 -0
  145. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/StructTest.c +243 -0
  146. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/UnionTest.c +43 -0
  147. data/vendor/gems/ruby/2.1.0/gems/ffi-1.9.10/libtest/VariadicTest.c +62 -0
  148. data/vendor/gems/ruby/2.1.0/specifications/corefoundation-0.2.0.gemspec +45 -0
  149. data/vendor/gems/ruby/2.1.0/specifications/ffi-1.9.10.gemspec +49 -0
  150. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/CHANGELOG +12 -0
  151. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/LICENSE +8 -0
  152. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/README.md +40 -0
  153. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/array.rb +123 -0
  154. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/base.rb +197 -0
  155. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/boolean.rb +25 -0
  156. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/data.rb +42 -0
  157. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/date.rb +32 -0
  158. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/dictionary.rb +114 -0
  159. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/extensions.rb +158 -0
  160. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/null.rb +11 -0
  161. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/number.rb +98 -0
  162. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/string.rb +91 -0
  163. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation/version.rb +4 -0
  164. data/vendor/gems/ruby/2.2.0/gems/corefoundation-0.2.0/lib/corefoundation.rb +13 -0
  165. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/COPYING +49 -0
  166. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/LICENSE +24 -0
  167. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/README.md +109 -0
  168. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/Rakefile +210 -0
  169. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/ffi.gemspec +23 -0
  170. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/gen/Rakefile +30 -0
  171. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/autopointer.rb +194 -0
  172. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/buffer.rb +4 -0
  173. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/callback.rb +4 -0
  174. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/enum.rb +174 -0
  175. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/errno.rb +43 -0
  176. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/ffi.rb +44 -0
  177. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/io.rb +62 -0
  178. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/library.rb +524 -0
  179. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/managedstruct.rb +84 -0
  180. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/memorypointer.rb +1 -0
  181. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  182. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/arm-linux/types.conf +104 -0
  183. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  184. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-darwin/types.conf +100 -0
  185. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  186. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-gnu/types.conf +107 -0
  187. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-linux/types.conf +103 -0
  188. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  189. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  190. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-solaris/types.conf +122 -0
  191. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/i386-windows/types.conf +105 -0
  192. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/ia64-linux/types.conf +104 -0
  193. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/mips-linux/types.conf +102 -0
  194. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  195. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  196. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  197. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  198. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc-linux/types.conf +100 -0
  199. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  200. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/s390-linux/types.conf +102 -0
  201. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/s390x-linux/types.conf +102 -0
  202. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/sparc-linux/types.conf +102 -0
  203. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  204. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  205. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  206. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  207. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  208. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-linux/types.conf +102 -0
  209. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  210. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-openbsd/types.conf +128 -0
  211. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  212. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform/x86_64-windows/types.conf +27 -0
  213. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/platform.rb +159 -0
  214. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/pointer.rb +134 -0
  215. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/struct.rb +373 -0
  216. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/struct_layout_builder.rb +227 -0
  217. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/tools/const_generator.rb +229 -0
  218. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/tools/generator.rb +60 -0
  219. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/tools/generator_task.rb +36 -0
  220. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/tools/struct_generator.rb +194 -0
  221. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/tools/types_generator.rb +135 -0
  222. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/types.rb +190 -0
  223. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/union.rb +43 -0
  224. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/variadic.rb +78 -0
  225. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/version.rb +4 -0
  226. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi.rb +20 -0
  227. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi_c.bundle +0 -0
  228. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/Benchmark.c +52 -0
  229. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/BoolTest.c +34 -0
  230. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/BufferTest.c +31 -0
  231. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/ClosureTest.c +205 -0
  232. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/EnumTest.c +51 -0
  233. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/FunctionTest.c +70 -0
  234. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/GNUmakefile +149 -0
  235. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/GlobalVariable.c +62 -0
  236. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/LastErrorTest.c +21 -0
  237. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/NumberTest.c +132 -0
  238. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/PointerTest.c +63 -0
  239. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/ReferenceTest.c +23 -0
  240. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/StringTest.c +34 -0
  241. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/StructTest.c +243 -0
  242. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/UnionTest.c +43 -0
  243. data/vendor/gems/ruby/2.2.0/gems/ffi-1.9.10/libtest/VariadicTest.c +62 -0
  244. data/vendor/gems/ruby/2.2.0/specifications/corefoundation-0.2.0.gemspec +45 -0
  245. data/vendor/gems/ruby/2.2.0/specifications/ffi-1.9.10.gemspec +49 -0
  246. data/yakg.gemspec +3 -3
  247. metadata +288 -83
  248. data/vendor/gems/Gemfile +0 -4
  249. data/vendor/gems/Gemfile.lock +0 -13
  250. data/vendor/gems/installit.sh +0 -65
  251. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/COPYING +0 -674
  252. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/COPYING.LESSER +0 -165
  253. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/History.txt +0 -1
  254. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/LICENSE +0 -14
  255. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/gen/log +0 -1
  256. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/errno.rb +0 -33
  257. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/ffi.iml +0 -11
  258. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/ffi.rb +0 -33
  259. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/io.rb +0 -52
  260. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/union.rb +0 -32
  261. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/variadic.rb +0 -65
  262. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi/version.rb +0 -4
  263. data/vendor/gems/ruby/2.0.0/gems/ffi-1.9.0/lib/ffi_c.bundle +0 -0
  264. data/vendor/gems/ruby/2.0.0/specifications/ffi-1.9.0.gemspec +0 -42
  265. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/gen/Rakefile +0 -0
  266. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/buffer.rb +0 -0
  267. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/callback.rb +0 -0
  268. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/memorypointer.rb +0 -0
  269. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/arm-linux/types.conf +0 -0
  270. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-cygwin/types.conf +0 -0
  271. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-darwin/types.conf +0 -0
  272. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-freebsd/types.conf +0 -0
  273. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-gnu/types.conf +0 -0
  274. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-linux/types.conf +0 -0
  275. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-netbsd/types.conf +0 -0
  276. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-openbsd/types.conf +0 -0
  277. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-solaris/types.conf +0 -0
  278. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/i386-windows/types.conf +0 -0
  279. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/ia64-linux/types.conf +0 -0
  280. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/mips-linux/types.conf +0 -0
  281. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/mipsel-linux/types.conf +0 -0
  282. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/powerpc-aix/types.conf +0 -0
  283. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/powerpc-darwin/types.conf +0 -0
  284. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/powerpc-linux/types.conf +0 -0
  285. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/s390-linux/types.conf +0 -0
  286. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/s390x-linux/types.conf +0 -0
  287. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/sparc-linux/types.conf +0 -0
  288. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/sparc-solaris/types.conf +0 -0
  289. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/sparcv9-solaris/types.conf +0 -0
  290. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/x86_64-freebsd/types.conf +0 -0
  291. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/x86_64-linux/types.conf +0 -0
  292. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0/lib/ffi/platform/x86_64-openbsd → ffi-1.9.10/lib/ffi/platform/x86_64-netbsd}/types.conf +0 -0
  293. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/x86_64-solaris/types.conf +0 -0
  294. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/platform/x86_64-windows/types.conf +0 -0
  295. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/tools/const_generator.rb +0 -0
  296. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/tools/generator.rb +0 -0
  297. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/tools/generator_task.rb +0 -0
  298. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/tools/struct_generator.rb +0 -0
  299. /data/vendor/gems/ruby/2.0.0/gems/{ffi-1.9.0 → ffi-1.9.10}/lib/ffi/tools/types_generator.rb +0 -0
  300. /data/vendor/gems/ruby/{2.0.0/gems/ffi-1.9.0/lib/ffi/platform/x86_64-netbsd → 2.1.0/gems/ffi-1.9.10/lib/ffi/platform/i386-netbsd}/types.conf +0 -0
@@ -0,0 +1,132 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <sys/types.h>
8
+ #include <stdio.h>
9
+ #include <string.h>
10
+ #include <stdint.h>
11
+
12
+ #if defined(__sparc) && defined(__sun__)
13
+ #define fix_mem_access __asm("ta 6")
14
+ #else
15
+ #define fix_mem_access
16
+ #endif
17
+
18
+ typedef int8_t s8;
19
+ typedef uint8_t u8;
20
+ typedef int16_t s16;
21
+ typedef uint16_t u16;
22
+ typedef int32_t s32;
23
+ typedef uint32_t u32;
24
+ typedef int64_t s64;
25
+ typedef uint64_t u64;
26
+ typedef signed long sL;
27
+ typedef unsigned long uL;
28
+ typedef float f32;
29
+ typedef double f64;
30
+ typedef long double f128;
31
+ #if !defined(__OpenBSD__)
32
+ typedef unsigned long ulong;
33
+ #endif
34
+
35
+ #define ADD(T) T add_##T(T arg1, T arg2) { return arg1 + arg2; }
36
+ #define SUB(T) T sub_##T(T arg1, T arg2) { return arg1 - arg2; }
37
+ #define MUL(T) T mul_##T(T arg1, T arg2) { return arg1 * arg2; }
38
+ #define DIV(T) T div_##T(T arg1, T arg2) { return arg1 / arg2; }
39
+ #define RET(T) T ret_##T(T arg1) { return arg1; }
40
+ #define SET(T) static T T##_;void set_##T(T arg1) { T##_ = arg1; }
41
+ #define GET(T) T get_##T() { return T##_; }
42
+ typedef char* ptr;
43
+ #define TEST(T) ADD(T) SUB(T) MUL(T) DIV(T) RET(T) SET(T) GET(T)
44
+ TEST(s8);
45
+ TEST(u8);
46
+ TEST(s16);
47
+ TEST(u16);
48
+ TEST(s32);
49
+ TEST(u32);
50
+ TEST(s64);
51
+ TEST(u64);
52
+ TEST(float);
53
+ TEST(double);
54
+ TEST(long);
55
+ TEST(ulong);
56
+ TEST(f128);
57
+
58
+ #define ADD2(R, T1, T2) R add_##T1##T2##_##R(T1 arg1, T2 arg2) { return arg1 + arg2; }
59
+ #define SUB2(R, T1, T2) R sub_##T1##T2##_##R(T1 arg1, T2 arg2) { return arg1 - arg2; }
60
+ #define MUL2(R, T1, T2) R mul_##T1##T2##_##R(T1 arg1, T2 arg2) { return arg1 * arg2; }
61
+ #define DIV2(R, T1, T2) R div_##T1##T2##_##R(T1 arg1, T2 arg2) { return arg1 / arg2; }
62
+
63
+ #define T2__(R, T1, T2) ADD2(R, T1, T2) SUB2(R, T1, T2) MUL2(R, T1, T2) DIV2(R, T1, T2)
64
+ #define T2_(R, T1) \
65
+ T2__(R, T1, s8) T2__(R, T1, u8) \
66
+ T2__(R, T1, s16) T2__(R, T1, u16) \
67
+ T2__(R, T1, s32) T2__(R, T1, u32) \
68
+ T2__(R, T1, sL) T2__(R, T1, uL) \
69
+ T2__(R, T1, s64) T2__(R, T1, u64) \
70
+
71
+ #define TEST2(R) \
72
+ T2_(R, s8) T2_(R, u8) T2_(R, s16) T2_(R, u16) T2_(R, s32) T2_(R, u32) \
73
+ T2_(R, sL) T2_(R, uL) T2_(R, s64) T2_(R, u64)
74
+
75
+ #ifdef notyet
76
+ TEST2(s32)
77
+ TEST2(u32)
78
+ TEST2(s64)
79
+ TEST2(u64)
80
+ #endif
81
+
82
+ #define ADD3(R, T1, T2, T3) R add_##T1##T2##T3##_##R(T1 arg1, T2 arg2, T3 arg3) { return arg1 + arg2 + arg3; }
83
+ #define pack_f32(buf, v) do { float f = v; memcpy((buf), &f, sizeof(f)); } while(0)
84
+ #define pack_f64(buf, v) do { double f = v; memcpy((buf), &f, sizeof(f)); } while(0)
85
+ #define pack_int(buf, v) do { *(buf) = v; } while(0)
86
+ #define pack_s8 pack_int
87
+ #define pack_u8 pack_int
88
+ #define pack_s16 pack_int
89
+ #define pack_u16 pack_int
90
+ #define pack_s32 pack_int
91
+ #define pack_u32 pack_int
92
+ #define pack_s64 pack_int
93
+ #define pack_u64 pack_int
94
+ #define pack_sL pack_int
95
+ #define pack_uL pack_int
96
+
97
+ #define PACK3(R, T1, T2, T3) void pack_##T1##T2##T3##_##R(T1 arg1, T2 arg2, T3 arg3, R* r) { \
98
+ fix_mem_access; \
99
+ pack_##T1(&r[0], arg1); \
100
+ pack_##T2(&r[1], arg2); \
101
+ pack_##T3(&r[2], arg3); \
102
+ }
103
+
104
+ #define T3___(R, T1, T2, T3) PACK3(R, T1, T2, T3) /* SUB2(R, T1, T2) MUL2(R, T1, T2) DIV2(R, T1, T2) */
105
+ #define T3__(R, T1, T2) \
106
+ T3___(R, T1, T2, s8) T3___(R, T1, T2, u8) \
107
+ T3___(R, T1, T2, s16) T3___(R, T1, T2, u16) \
108
+ T3___(R, T1, T2, s32) T3___(R, T1, T2, u32) \
109
+ T3___(R, T1, T2, sL) T3___(R, T1, T2, uL) \
110
+ T3___(R, T1, T2, s64) T3___(R, T1, T2, u64) \
111
+ T3___(R, T1, T2, f32) T3___(R, T1, T2, f64) \
112
+
113
+ #define T3_(R, T1) \
114
+ T3__(R, T1, s8) T3__(R, T1, u8) \
115
+ T3__(R, T1, s16) T3__(R, T1, u16) \
116
+ T3__(R, T1, s32) T3__(R, T1, u32) \
117
+ T3__(R, T1, sL) T3__(R, T1, uL) \
118
+ T3__(R, T1, s64) T3__(R, T1, u64) \
119
+ T3__(R, T1, f32) T3__(R, T1, f64) \
120
+
121
+ #define TEST3(R) \
122
+ T3_(R, s8) T3_(R, u8) T3_(R, s16) T3_(R, u16) T3_(R, s32) T3_(R, u32) \
123
+ T3_(R, sL) T3_(R, uL) T3_(R, s64) T3_(R, u64) T3_(R, f32) T3_(R, f64)
124
+
125
+ TEST3(s64)
126
+
127
+ void
128
+ foo6(intptr_t i1, intptr_t i2, intptr_t i3, intptr_t i4, intptr_t i5, intptr_t i6) { }
129
+
130
+ void
131
+ foo5(intptr_t i1, intptr_t i2, intptr_t i3, intptr_t i4, intptr_t i5) { }
132
+
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <sys/types.h>
8
+ #include <sys/param.h>
9
+ #include <stdint.h>
10
+ #include <stdio.h>
11
+ #include <stdlib.h>
12
+ #include <string.h>
13
+ typedef void* ptr;
14
+ typedef void* pointer;
15
+ #ifdef _WIN32
16
+ typedef char* caddr_t;
17
+ #endif
18
+
19
+ #define RET(T) T ptr_ret_##T(void* arg1, int offset) { \
20
+ T tmp; memcpy(&tmp, (caddr_t) arg1 + offset, sizeof(tmp)); return tmp; \
21
+ }
22
+ #define SET(T) void ptr_set_##T(void* arg1, int offset, T value) { \
23
+ memcpy((caddr_t) arg1 + offset, &value, sizeof(value)); \
24
+ }
25
+ #define TEST(T) SET(T) RET(T)
26
+
27
+ TEST(int8_t);
28
+ TEST(int16_t);
29
+ TEST(int32_t);
30
+ TEST(int64_t);
31
+ TEST(float);
32
+ TEST(double);
33
+ TEST(pointer);
34
+
35
+ void*
36
+ ptr_return_array_element(void **ptrArray, int arrayIndex)
37
+ {
38
+ return ptrArray[arrayIndex];
39
+ }
40
+
41
+ void
42
+ ptr_set_array_element(void **ptrArray, int arrayIndex, void *value)
43
+ {
44
+ ptrArray[arrayIndex] = value;
45
+ }
46
+
47
+ void*
48
+ ptr_malloc(int size)
49
+ {
50
+ return calloc(1, size);
51
+ }
52
+ void
53
+ ptr_free(void* ptr)
54
+ {
55
+ free(ptr);
56
+ }
57
+
58
+ void*
59
+ ptr_from_address(uintptr_t addr)
60
+ {
61
+ return (void *) addr;
62
+ }
63
+
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <stdint.h>
8
+
9
+ #define REF(T) void ref_##T(T arg, T* result) { *result = arg; }
10
+ #define ADD(T) void ref_add_##T(T arg1, T arg2, T* result) { *result = arg1 + arg2; }
11
+ #define SUB(T) void ref_sub_##T(T arg1, T arg2, T* result) { *result = arg1 - arg2; }
12
+ #define MUL(T) void ref_mul_##T(T arg1, T arg2, T* result) { *result = arg1 * arg2; }
13
+ #define DIV(T) void ref_div_##T(T arg1, T arg2, T* result) { *result = arg1 / arg2; }
14
+ #define TEST(T) ADD(T) SUB(T) MUL(T) DIV(T) REF(T)
15
+
16
+ TEST(int8_t);
17
+ TEST(int16_t);
18
+ TEST(int32_t);
19
+ TEST(int64_t);
20
+ TEST(float);
21
+ TEST(double);
22
+
23
+
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <string.h>
8
+
9
+ int
10
+ string_equals(const char* s1, const char* s2)
11
+ {
12
+ return strcmp(s1, s2) == 0;
13
+ }
14
+
15
+ void
16
+ string_set(char* s1, const char* s2)
17
+ {
18
+ strcpy(s1, s2);
19
+ }
20
+ void
21
+ string_concat(char* dst, const char* src)
22
+ {
23
+ strcat(dst, src);
24
+ }
25
+ void
26
+ string_dummy(char* dummy)
27
+ {
28
+ }
29
+ const char*
30
+ string_null(void)
31
+ {
32
+ return NULL;
33
+ }
34
+
@@ -0,0 +1,243 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner.
3
+ * Copyright (c) 2009 Andrea Fazzi <andrea.fazzi@alcacoop.it>.
4
+ *
5
+ * All rights reserved.
6
+ *
7
+ * For licensing, see LICENSE.SPECS
8
+ */
9
+
10
+ #include <stdio.h>
11
+ #include <stdlib.h>
12
+ #include <stdbool.h>
13
+ #include <stdint.h>
14
+ #include <string.h>
15
+ #include <stdarg.h>
16
+
17
+ typedef char s8;
18
+ typedef short s16;
19
+ typedef int s32;
20
+ typedef long long s64;
21
+ typedef float f32;
22
+ typedef double f64;
23
+
24
+ typedef struct bugged_struct {
25
+ unsigned char visible;
26
+ unsigned int x;
27
+ unsigned int y;
28
+ short rx;
29
+ short ry;
30
+ unsigned char order;
31
+ unsigned char size;
32
+ } bugged_struct_t;
33
+
34
+ unsigned int
35
+ bugged_struct_size() {
36
+ return sizeof(bugged_struct_t);
37
+ }
38
+
39
+ struct test1 {
40
+ char b;
41
+ short s;
42
+ int i;
43
+ long long j;
44
+ long l;
45
+ float f;
46
+ double d;
47
+ char string[32];
48
+ };
49
+
50
+ struct struct_with_array {
51
+ char c;
52
+ int a[5];
53
+ };
54
+
55
+ struct nested {
56
+ int i;
57
+ };
58
+
59
+ struct container {
60
+ char first;
61
+ struct nested s;
62
+ };
63
+
64
+ int
65
+ struct_align_nested_struct(struct container* a) { return a->s.i; }
66
+
67
+ void*
68
+ struct_field_array(struct struct_with_array* s) { return &s->a; }
69
+
70
+ struct container*
71
+ struct_make_container_struct(int i)
72
+ {
73
+ static struct container cs;
74
+ memset(&cs, 0, sizeof(cs));
75
+ cs.first = 1;
76
+ cs.s.i = i;
77
+ return &cs;
78
+ }
79
+
80
+ #define T(x, type) \
81
+ type struct_field_##type(struct test1* t) { return t->x; } \
82
+ struct type##_align { char first; type value; }; \
83
+ type struct_align_##type(struct type##_align* a) { return a->value; }
84
+
85
+ T(b, s8);
86
+ T(s, s16);
87
+ T(i, s32);
88
+ T(j, s64);
89
+ T(f, f32);
90
+ T(d, f64);
91
+ T(l, long);
92
+
93
+ void
94
+ struct_set_string(struct test1* t, char* s)
95
+ {
96
+ strcpy(t->string, s);
97
+ }
98
+
99
+ struct test1*
100
+ struct_make_struct(char b, short s, int i, long long ll, float f, double d)
101
+ {
102
+ static struct test1 t;
103
+ memset(&t, 0, sizeof(t));
104
+ t.b = b;
105
+ t.s = s;
106
+ t.i = i;
107
+ t.j = ll;
108
+ t.f = f;
109
+ t.d = d;
110
+ return &t;
111
+ }
112
+
113
+ typedef int (*add_cb)(int a1, int a2);
114
+ typedef int (*sub_cb)(int a1, int a2);
115
+ struct test2 {
116
+ add_cb add_callback;
117
+ sub_cb sub_callback;
118
+ };
119
+
120
+ int
121
+ struct_call_add_cb(struct test2* t, int a1, int a2)
122
+ {
123
+ return t->add_callback(a1, a2);
124
+ }
125
+
126
+ int
127
+ struct_call_sub_cb(struct test2* t, int a1, int a2)
128
+ {
129
+ return t->sub_callback(a1, a2);
130
+ }
131
+
132
+
133
+ struct struct_with_array*
134
+ struct_make_struct_with_array(int a_0, int a_1, int a_2, int a_3, int a_4)
135
+ {
136
+ static struct struct_with_array s;
137
+
138
+ memset(&s, 0, sizeof(s));
139
+
140
+ s.a[0] = a_0;
141
+ s.a[1] = a_1;
142
+ s.a[2] = a_2;
143
+ s.a[3] = a_3;
144
+ s.a[4] = a_4;
145
+
146
+ return &s;
147
+
148
+ }
149
+
150
+ struct s8s32 {
151
+ char s8;
152
+ int s32;
153
+ };
154
+
155
+ struct s8s32
156
+ struct_return_s8s32()
157
+ {
158
+ struct s8s32 s;
159
+ s.s8 = 0x7f;
160
+ s.s32 = 0x12345678;
161
+
162
+ return s;
163
+ }
164
+
165
+ struct s8s32
166
+ struct_s8s32_set(char s8, int s32)
167
+ {
168
+ struct s8s32 s;
169
+
170
+ s.s8 = s8;
171
+ s.s32 = s32;
172
+
173
+ return s;
174
+ }
175
+
176
+ int
177
+ struct_s8s32_get_s8(struct s8s32 s)
178
+ {
179
+ return s.s8;
180
+ }
181
+
182
+ int
183
+ struct_s8s32_get_s32(struct s8s32 s)
184
+ {
185
+ return s.s32;
186
+ }
187
+
188
+ struct s8s32
189
+ struct_s8s32_ret_s8s32(struct s8s32 s)
190
+ {
191
+ return s;
192
+ }
193
+
194
+ // Pass a struct and an int arg, ensure the int arg is passed correctly
195
+ int
196
+ struct_s8s32_s32_ret_s32(struct s8s32 s, int s32)
197
+ {
198
+ return s32;
199
+ }
200
+
201
+ // Pass a struct and a long long arg, ensure the long long arg is passed correctly
202
+ long long
203
+ struct_s8s32_s64_ret_s64(struct s8s32 s, long long s64)
204
+ {
205
+ return s64;
206
+ }
207
+
208
+ // Pass a struct and a long long arg, ensure the long long arg is passed correctly
209
+ int
210
+ struct_s32_ptr_s32_s8s32_ret_s32(int s32a, void *ptr, int s32b, struct s8s32 s)
211
+ {
212
+ if (ptr != NULL) *(struct s8s32 *) ptr = s;
213
+ return s.s32;
214
+ }
215
+
216
+ // Pass a char *, copy into buffer length struct
217
+ struct struct_string {
218
+ char *bytes;
219
+ int len;
220
+ };
221
+
222
+ struct struct_string
223
+ struct_varargs_ret_struct_string(int len, ...)
224
+ {
225
+ struct struct_string ss;
226
+ va_list vl;
227
+ char* cp = NULL;
228
+
229
+ va_start(vl, len);
230
+
231
+ ss.len = len;
232
+ ss.bytes = va_arg(vl, char *);
233
+ if (ss.bytes != NULL) {
234
+ cp = malloc(strlen(ss.bytes) + 1);
235
+ strcpy(cp, ss.bytes);
236
+ ss.bytes = cp;
237
+ }
238
+
239
+ va_end(vl);
240
+
241
+ return ss;
242
+ }
243
+
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <stdio.h>
8
+ #include <stdbool.h>
9
+ #include <stdint.h>
10
+ #include <string.h>
11
+ #include <stdlib.h>
12
+
13
+ typedef char s8;
14
+ typedef short s16;
15
+ typedef int s32;
16
+ typedef long long s64;
17
+ typedef float f32;
18
+ typedef double f64;
19
+
20
+ typedef union union_test {
21
+ char b;
22
+ short s;
23
+ int i;
24
+ long long j;
25
+ long l;
26
+ float f;
27
+ double d;
28
+ s8 a[10];
29
+ } union_test_t;
30
+
31
+ #define T(x, type) \
32
+ type union_align_##type(union_test_t* u) { return u->x; } \
33
+ union_test_t* union_make_union_with_##type(type value) { static union_test_t u; u.x = value; return &u; }
34
+
35
+ T(b, s8);
36
+ T(s, s16);
37
+ T(i, s32);
38
+ T(j, s64);
39
+ T(f, f32);
40
+ T(d, f64);
41
+ T(l, long);
42
+
43
+ unsigned int union_size() { return sizeof(union_test_t); }
@@ -0,0 +1,62 @@
1
+ /*
2
+ * Copyright (c) 2007 Wayne Meissner. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+
7
+ #include <sys/types.h>
8
+ #include <stdio.h>
9
+ #include <stdint.h>
10
+ #include <string.h>
11
+ #include <stdarg.h>
12
+
13
+ typedef int8_t s8;
14
+ typedef uint8_t u8;
15
+ typedef int16_t s16;
16
+ typedef uint16_t u16;
17
+ typedef int32_t s32;
18
+ typedef uint32_t u32;
19
+ typedef int64_t s64;
20
+ typedef uint64_t u64;
21
+ typedef signed long sL;
22
+ typedef unsigned long uL;
23
+ typedef float F;
24
+ typedef double D;
25
+
26
+ void pack_varargs(s64* buf, const char* fmt, ...)
27
+ {
28
+ va_list ap;
29
+ int c;
30
+ double d;
31
+ va_start(ap, fmt);
32
+ while ((c = *fmt++)) {
33
+ switch (c) {
34
+ case 'c':
35
+ case 's':
36
+ case 'i':
37
+ *buf++ = va_arg(ap, s32);
38
+ break;
39
+ case 'l':
40
+ *buf++ = va_arg(ap, long);
41
+ break;
42
+ case 'j':
43
+ *buf++ = va_arg(ap, s64);
44
+ break;
45
+ case 'f':
46
+ case 'd':
47
+ d = va_arg(ap, double);
48
+ memcpy(buf++, &d, sizeof(d));
49
+ break;
50
+ case 'C':
51
+ case 'S':
52
+ case 'I':
53
+ *buf++ = va_arg(ap, u32);
54
+ break;
55
+ case 'L':
56
+ *buf++ = va_arg(ap, unsigned long);
57
+ break;
58
+ }
59
+ }
60
+ va_end(ap);
61
+ }
62
+
@@ -0,0 +1,45 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: corefoundation 0.2.0 ruby lib
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "corefoundation"
6
+ s.version = "0.2.0"
7
+
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib"]
10
+ s.authors = ["Frederick Cheung"]
11
+ s.date = "2012-12-06"
12
+ s.description = "FFI based Ruby wrappers for Core Foundation "
13
+ s.email = "frederick.cheung@gmail.com"
14
+ s.homepage = "http://github.com/fcheung/corefoundation"
15
+ s.licenses = ["MIT"]
16
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
17
+ s.rubygems_version = "2.2.5"
18
+ s.summary = "Ruby wrapper for OS X corefoundation"
19
+
20
+ s.installed_by_version = "2.2.5" if s.respond_to? :installed_by_version
21
+
22
+ if s.respond_to? :specification_version then
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<ffi>, [">= 0"])
27
+ s.add_development_dependency(%q<rspec>, ["~> 2.10"])
28
+ s.add_development_dependency(%q<rake>, [">= 0"])
29
+ s.add_development_dependency(%q<yard>, [">= 0"])
30
+ s.add_development_dependency(%q<redcarpet>, [">= 0"])
31
+ else
32
+ s.add_dependency(%q<ffi>, [">= 0"])
33
+ s.add_dependency(%q<rspec>, ["~> 2.10"])
34
+ s.add_dependency(%q<rake>, [">= 0"])
35
+ s.add_dependency(%q<yard>, [">= 0"])
36
+ s.add_dependency(%q<redcarpet>, [">= 0"])
37
+ end
38
+ else
39
+ s.add_dependency(%q<ffi>, [">= 0"])
40
+ s.add_dependency(%q<rspec>, ["~> 2.10"])
41
+ s.add_dependency(%q<rake>, [">= 0"])
42
+ s.add_dependency(%q<yard>, [">= 0"])
43
+ s.add_dependency(%q<redcarpet>, [">= 0"])
44
+ end
45
+ end
@@ -0,0 +1,49 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: ffi 1.9.10 ruby lib
3
+ # stub: ext/ffi_c/extconf.rb
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "ffi"
7
+ s.version = "1.9.10"
8
+
9
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.require_paths = ["lib"]
11
+ s.authors = ["Wayne Meissner"]
12
+ s.date = "2015-07-01"
13
+ s.description = "Ruby FFI library"
14
+ s.email = "wmeissner@gmail.com"
15
+ s.extensions = ["ext/ffi_c/extconf.rb"]
16
+ s.files = ["ext/ffi_c/extconf.rb"]
17
+ s.homepage = "http://wiki.github.com/ffi/ffi"
18
+ s.licenses = ["BSD"]
19
+ s.rdoc_options = ["--exclude=ext/ffi_c/.*\\.o$", "--exclude=ffi_c\\.(bundle|so)$"]
20
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
21
+ s.rubygems_version = "2.2.5"
22
+ s.summary = "Ruby FFI"
23
+
24
+ s.installed_by_version = "2.2.5" if s.respond_to? :installed_by_version
25
+
26
+ if s.respond_to? :specification_version then
27
+ s.specification_version = 4
28
+
29
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
30
+ s.add_development_dependency(%q<rake>, ["~> 10.1"])
31
+ s.add_development_dependency(%q<rake-compiler>, ["~> 0.9"])
32
+ s.add_development_dependency(%q<rake-compiler-dock>, ["~> 0.4.0"])
33
+ s.add_development_dependency(%q<rspec>, ["~> 2.14.1"])
34
+ s.add_development_dependency(%q<rubygems-tasks>, ["~> 0.2.4"])
35
+ else
36
+ s.add_dependency(%q<rake>, ["~> 10.1"])
37
+ s.add_dependency(%q<rake-compiler>, ["~> 0.9"])
38
+ s.add_dependency(%q<rake-compiler-dock>, ["~> 0.4.0"])
39
+ s.add_dependency(%q<rspec>, ["~> 2.14.1"])
40
+ s.add_dependency(%q<rubygems-tasks>, ["~> 0.2.4"])
41
+ end
42
+ else
43
+ s.add_dependency(%q<rake>, ["~> 10.1"])
44
+ s.add_dependency(%q<rake-compiler>, ["~> 0.9"])
45
+ s.add_dependency(%q<rake-compiler-dock>, ["~> 0.4.0"])
46
+ s.add_dependency(%q<rspec>, ["~> 2.14.1"])
47
+ s.add_dependency(%q<rubygems-tasks>, ["~> 0.2.4"])
48
+ end
49
+ end
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+
4
+
5
+
6
+ ## 0.2.0 - 2012-12-06
7
+ Add support for ruby 1.8.7 [tmaher]
8
+
9
+
10
+ ## 0.1.4 - 2012-10-16
11
+
12
+ Initial version