approveapi 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (789) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/approveapi/version.rb +2 -2
  4. data/pkg/approveapi-1.0.5.gem +0 -0
  5. data/vendor/bundle/ruby/2.6.0/cache/approveapi_swagger-1.0.1.gem +0 -0
  6. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.12.0.gem +0 -0
  7. data/vendor/bundle/ruby/2.6.0/cache/ffi-1.10.0.gem +0 -0
  8. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.3.1.gem +0 -0
  9. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/ffi_c.so +0 -0
  10. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/gem.build_complete +0 -0
  11. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/gem_make.out +50 -0
  12. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/mkmf.log +449 -0
  13. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Gemfile +8 -0
  14. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Gemfile.lock +79 -0
  15. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/README.md +105 -0
  16. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Rakefile +10 -0
  17. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/approveapi_swagger.gemspec +45 -0
  18. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/AnswerMetadata.md +10 -0
  19. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/ApproveApi.md +162 -0
  20. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/CreatePromptRequest.md +15 -0
  21. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/Error.md +8 -0
  22. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/Prompt.md +12 -0
  23. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptAnswer.md +10 -0
  24. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptMetadata.md +12 -0
  25. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptStatus.md +8 -0
  26. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/git_push.sh +55 -0
  27. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger.rb +47 -0
  28. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api/approve_api.rb +186 -0
  29. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api_client.rb +387 -0
  30. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api_error.rb +38 -0
  31. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/configuration.rb +251 -0
  32. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/answer_metadata.rb +207 -0
  33. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/create_prompt_request.rb +269 -0
  34. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/error.rb +195 -0
  35. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt.rb +238 -0
  36. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_answer.rb +219 -0
  37. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_metadata.rb +230 -0
  38. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_status.rb +195 -0
  39. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/version.rb +15 -0
  40. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/pkg/approveapi_swagger-1.0.1.gem +0 -0
  41. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/api/approve_api_spec.rb +72 -0
  42. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/api_client_spec.rb +226 -0
  43. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/configuration_spec.rb +42 -0
  44. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/answer_metadata_spec.rb +53 -0
  45. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/create_prompt_request_spec.rb +77 -0
  46. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/error_spec.rb +41 -0
  47. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_answer_spec.rb +53 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_metadata_spec.rb +65 -0
  49. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_spec.rb +59 -0
  50. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_status_spec.rb +41 -0
  51. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/spec_helper.rb +111 -0
  52. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.gitignore +8 -0
  53. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.rspec +3 -0
  54. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.travis.yml +30 -0
  55. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/CHANGELOG.md +365 -0
  56. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Gemfile +38 -0
  57. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Guardfile +9 -0
  58. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/LICENSE +20 -0
  59. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/README.md +95 -0
  60. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Rakefile +39 -0
  61. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/ethon.gemspec +25 -0
  62. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon.rb +35 -0
  63. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb +89 -0
  64. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/classes.rb +54 -0
  65. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/codes.rb +122 -0
  66. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/constants.rb +62 -0
  67. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/form_options.rb +36 -0
  68. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/functions.rb +66 -0
  69. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/infos.rb +150 -0
  70. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/messages.rb +18 -0
  71. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/options.rb +468 -0
  72. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb +9 -0
  73. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy.rb +315 -0
  74. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/callbacks.rb +147 -0
  75. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/debug_info.rb +46 -0
  76. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/features.rb +30 -0
  77. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/form.rb +106 -0
  78. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/header.rb +60 -0
  79. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http.rb +67 -0
  80. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/actionable.rb +156 -0
  81. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/custom.rb +28 -0
  82. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/delete.rb +24 -0
  83. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/get.rb +23 -0
  84. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/head.rb +23 -0
  85. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/options.rb +23 -0
  86. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/patch.rb +23 -0
  87. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/post.rb +25 -0
  88. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/postable.rb +31 -0
  89. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/put.rb +26 -0
  90. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/putable.rb +24 -0
  91. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/informations.rb +94 -0
  92. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/mirror.rb +35 -0
  93. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/operations.rb +63 -0
  94. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/options.rb +49 -0
  95. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/params.rb +28 -0
  96. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/queryable.rb +153 -0
  97. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/response_callbacks.rb +130 -0
  98. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/util.rb +27 -0
  99. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors.rb +16 -0
  100. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/ethon_error.rb +8 -0
  101. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/global_init.rb +12 -0
  102. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/invalid_option.rb +12 -0
  103. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/invalid_value.rb +12 -0
  104. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_add.rb +11 -0
  105. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_fdset.rb +11 -0
  106. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_remove.rb +11 -0
  107. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_timeout.rb +12 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/select.rb +12 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/libc.rb +20 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/loggable.rb +58 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi.rb +103 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/operations.rb +190 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/options.rb +116 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/stack.rb +48 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/version.rb +5 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/benchmarks.rb +103 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/memory_leaks.rb +113 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/perf_spec_helper.rb +36 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/memory_test_helpers.rb +75 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/os_memory_leak_tracker.rb +47 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/ruby_object_leak_tracker.rb +48 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/curl_spec.rb +37 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/callbacks_spec.rb +58 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/debug_info_spec.rb +53 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/features_spec.rb +23 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/form_spec.rb +103 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/header_spec.rb +78 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/custom_spec.rb +176 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/delete_spec.rb +20 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/get_spec.rb +125 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/head_spec.rb +79 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/options_spec.rb +50 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/patch_spec.rb +50 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/post_spec.rb +316 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/put_spec.rb +167 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http_spec.rb +63 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/informations_spec.rb +97 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/mirror_spec.rb +45 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/operations_spec.rb +267 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/options_spec.rb +192 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/queryable_spec.rb +234 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/response_callbacks_spec.rb +151 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/util_spec.rb +27 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy_spec.rb +202 -0
  145. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/libc_spec.rb +13 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/loggable_spec.rb +21 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/operations_spec.rb +297 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/options_spec.rb +68 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/stack_spec.rb +79 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi_spec.rb +21 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/spec_helper.rb +27 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/support/localhost_server.rb +94 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/support/server.rb +114 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.gitignore +22 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.gitmodules +3 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.travis.yml +43 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.yardopts +5 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/CHANGELOG.md +98 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/COPYING +49 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/Gemfile +15 -0
  161. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/LICENSE +24 -0
  162. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/LICENSE.SPECS +22 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/README.md +112 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/Rakefile +268 -0
  165. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/appveyor.yml +22 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/.sitearchdir.time +0 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/AbstractMemory.c +1109 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/AbstractMemory.h +175 -0
  169. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ArrayType.c +162 -0
  170. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ArrayType.h +59 -0
  171. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Buffer.c +365 -0
  172. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Call.c +520 -0
  173. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Call.h +110 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ClosurePool.c +283 -0
  175. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ClosurePool.h +57 -0
  176. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DataConverter.c +91 -0
  177. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DynamicLibrary.c +339 -0
  178. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DynamicLibrary.h +98 -0
  179. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Function.c +1001 -0
  180. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Function.h +87 -0
  181. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/FunctionInfo.c +271 -0
  182. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LastError.c +229 -0
  183. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LastError.h +47 -0
  184. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LongDouble.c +63 -0
  185. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LongDouble.h +51 -0
  186. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Makefile +265 -0
  187. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MappedType.c +168 -0
  188. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MappedType.h +59 -0
  189. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MemoryPointer.c +197 -0
  190. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MemoryPointer.h +53 -0
  191. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MethodHandle.c +358 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MethodHandle.h +55 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Platform.c +129 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Platform.h +45 -0
  195. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Pointer.c +508 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Pointer.h +63 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Struct.c +829 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Struct.h +106 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByReference.c +190 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByReference.h +50 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByValue.c +150 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByValue.h +55 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructLayout.c +698 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Thread.c +353 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Thread.h +95 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Type.c +397 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Type.h +62 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Types.c +139 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Types.h +89 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Variadic.c +304 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/compat.h +78 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/extconf.h +12 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/extconf.rb +72 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ffi.c +98 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.bsd.mk +40 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.darwin.mk +105 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.gnu.mk +32 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.mk +18 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.vc.mk +26 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.vc64.mk +26 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.appveyor.yml +50 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.github/issue_template.md +10 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.gitignore +38 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis.yml +34 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/ar-lib +270 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/build.sh +34 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/compile +351 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/install.sh +22 -0
  229. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/moxie-sim.exp +60 -0
  230. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/site.exp +18 -0
  231. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libffi +584 -0
  232. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libffi-3.1 +6000 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libgcj +40 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.v1 +764 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/LICENSE +21 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +352 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/Makefile.am +166 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/README.md +461 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/acinclude.m4 +479 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/autogen.sh +2 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/config.guess +1466 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/config.sub +1836 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/configure.ac +390 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/configure.host +289 -0
  245. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +203 -0
  246. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/Makefile.am +9 -0
  247. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi.h.in +511 -0
  248. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  249. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi_common.h +149 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.map.in +80 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.pc.in +11 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +1043 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libtool-version +29 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_append_flag.m4 +71 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +194 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +122 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +74 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +87 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_configure_args.m4 +70 -0
  261. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +302 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +263 -0
  263. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +89 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_require_defined.m4 +37 -0
  265. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/Makefile.am +8 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi.3 +41 -0
  267. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_call.3 +103 -0
  268. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_prep_cif.3 +68 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/msvcc.sh +328 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  274. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  275. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/ffi.c +521 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/ffitarget.h +57 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/osf.S +282 -0
  279. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  281. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  282. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/ffi.c +819 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/ffitarget.h +82 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/sysv.S +383 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/ffi.c +423 -0
  287. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/ffitarget.h +55 -0
  288. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  291. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  292. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/closures.c +966 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/ffi.c +386 -0
  294. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/ffitarget.h +56 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/sysv.S +215 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/debug.c +64 -0
  297. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/dlmalloc.c +5166 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/eabi.S +128 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/ffi.c +292 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/ffitarget.h +62 -0
  301. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ffi.c +604 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ffitarget.h +56 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ia64_flags.h +40 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/unix.S +567 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/java_raw_api.c +374 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/ffi.c +232 -0
  307. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/ffitarget.h +53 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/sysv.S +121 -0
  309. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/ffi.c +362 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/ffitarget.h +54 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/sysv.S +357 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  313. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/ffitarget.h +53 -0
  317. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  318. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/ffi.c +1130 -0
  322. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/ffitarget.h +244 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/n32.S +663 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/o32.S +502 -0
  325. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/eabi.S +101 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/ffi.c +285 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  332. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  333. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  334. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/ffi.c +719 -0
  335. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/ffitarget.h +85 -0
  336. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/hpux32.S +368 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/linux.S +357 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/aix.S +566 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/aix_closure.S +694 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/asm.h +125 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/darwin.S +378 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +571 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi.c +173 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +1440 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +974 -0
  346. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  347. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffitarget.h +198 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/linux64.S +228 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +488 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +397 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/sysv.S +175 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/prep_cif.c +261 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/raw_api.c +267 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/ffi.c +445 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/ffitarget.h +68 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/sysv.S +214 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/ffi.c +756 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/ffitarget.h +70 -0
  360. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/sysv.S +325 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/ffi.c +717 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/ffitarget.h +54 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/sysv.S +850 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/ffi.c +469 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/ffitarget.h +58 -0
  367. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/sysv.S +539 -0
  368. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffi.c +468 -0
  369. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  370. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffitarget.h +81 -0
  371. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  372. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/v8.S +443 -0
  373. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/v9.S +440 -0
  374. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  375. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  376. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  377. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/types.c +108 -0
  378. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  379. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  380. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  381. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  382. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffi.c +753 -0
  383. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffi64.c +884 -0
  384. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffitarget.h +147 -0
  385. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffiw64.c +308 -0
  386. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  387. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  388. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/sysv.S +1043 -0
  389. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/unix64.S +525 -0
  390. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/win64.S +232 -0
  391. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  392. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  393. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  394. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/sysv.S +258 -0
  395. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/stamp-h.in +1 -0
  396. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/Makefile.am +117 -0
  397. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/config/default.exp +1 -0
  398. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/libffi.exp +636 -0
  399. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +283 -0
  400. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +45 -0
  401. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
  402. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +78 -0
  403. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +50 -0
  404. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +58 -0
  405. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1745 -0
  406. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2885 -0
  407. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +743 -0
  408. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  409. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +46 -0
  410. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +43 -0
  411. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +89 -0
  412. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +81 -0
  413. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +81 -0
  414. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +82 -0
  415. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +89 -0
  416. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +92 -0
  417. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +90 -0
  418. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  419. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c +55 -0
  420. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +94 -0
  421. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +95 -0
  422. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +96 -0
  423. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +102 -0
  424. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +89 -0
  425. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +91 -0
  426. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +93 -0
  427. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +113 -0
  428. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +90 -0
  429. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +95 -0
  430. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +90 -0
  431. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +90 -0
  432. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +95 -0
  433. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +98 -0
  434. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +90 -0
  435. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +109 -0
  436. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +98 -0
  437. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +124 -0
  438. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +113 -0
  439. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +99 -0
  440. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +117 -0
  441. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +97 -0
  442. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +88 -0
  443. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +90 -0
  444. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +91 -0
  445. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +93 -0
  446. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +91 -0
  447. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +92 -0
  448. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +132 -0
  449. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +115 -0
  450. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +95 -0
  451. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +91 -0
  452. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +91 -0
  453. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +92 -0
  454. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +91 -0
  455. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +91 -0
  456. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +93 -0
  457. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  458. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +43 -0
  459. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +61 -0
  460. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +42 -0
  461. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  462. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +61 -0
  463. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  464. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  465. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +74 -0
  466. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +74 -0
  467. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +86 -0
  468. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +91 -0
  469. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +74 -0
  470. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +86 -0
  471. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  472. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +142 -0
  473. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +44 -0
  474. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +42 -0
  475. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +42 -0
  476. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  477. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +42 -0
  478. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  479. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +43 -0
  480. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  481. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  482. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +47 -0
  483. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +43 -0
  484. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  485. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +36 -0
  486. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +26 -0
  487. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +138 -0
  488. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float.c +59 -0
  489. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +60 -0
  490. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +60 -0
  491. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +74 -0
  492. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +62 -0
  493. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  494. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +341 -0
  495. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many.c +59 -0
  496. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  497. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  498. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  499. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +52 -0
  500. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +152 -0
  501. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +161 -0
  502. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +134 -0
  503. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  504. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +110 -0
  505. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +111 -0
  506. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +111 -0
  507. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +112 -0
  508. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +131 -0
  509. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +111 -0
  510. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +131 -0
  511. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +131 -0
  512. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  513. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  514. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +90 -0
  515. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +59 -0
  516. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +114 -0
  517. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +36 -0
  518. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +43 -0
  519. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +42 -0
  520. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +35 -0
  521. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +36 -0
  522. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +49 -0
  523. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +42 -0
  524. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +34 -0
  525. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +41 -0
  526. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +43 -0
  527. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +36 -0
  528. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +38 -0
  529. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +38 -0
  530. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +38 -0
  531. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  532. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  533. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  534. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +125 -0
  535. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +44 -0
  536. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  537. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  538. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  539. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +67 -0
  540. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +57 -0
  541. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +67 -0
  542. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +60 -0
  543. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +64 -0
  544. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +66 -0
  545. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +64 -0
  546. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +74 -0
  547. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +81 -0
  548. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +68 -0
  549. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  550. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  551. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +117 -0
  552. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +54 -0
  553. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  554. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  555. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  556. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  557. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  558. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  559. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  560. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  561. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  562. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  563. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  564. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  565. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  566. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  567. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  568. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  569. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  570. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  571. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  572. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  573. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +36 -0
  574. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  575. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  576. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  577. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  578. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  579. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  580. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  581. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  582. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  583. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  584. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  585. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  586. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  587. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  588. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  589. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  590. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  591. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  592. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  593. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  594. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  595. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  596. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  597. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  598. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  599. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  600. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  601. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  602. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  603. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  604. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/rbffi.h +57 -0
  605. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/rbffi_endian.h +59 -0
  606. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/win32/stdbool.h +8 -0
  607. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/win32/stdint.h +201 -0
  608. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ffi.gemspec +36 -0
  609. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi.rb +20 -0
  610. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/autopointer.rb +203 -0
  611. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/buffer.rb +4 -0
  612. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/callback.rb +4 -0
  613. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/enum.rb +296 -0
  614. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/errno.rb +43 -0
  615. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/ffi.rb +44 -0
  616. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/io.rb +62 -0
  617. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/library.rb +588 -0
  618. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/managedstruct.rb +84 -0
  619. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/memorypointer.rb +1 -0
  620. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform.rb +170 -0
  621. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  622. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-freebsd12/types.conf +128 -0
  623. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  624. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  625. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  626. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-linux/types.conf +104 -0
  627. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  628. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-darwin/types.conf +100 -0
  629. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  630. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  631. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-gnu/types.conf +107 -0
  632. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-linux/types.conf +103 -0
  633. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  634. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  635. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-solaris/types.conf +122 -0
  636. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-windows/types.conf +105 -0
  637. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/ia64-linux/types.conf +104 -0
  638. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips-linux/types.conf +102 -0
  639. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips64-linux/types.conf +104 -0
  640. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  641. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  642. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  643. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  644. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  645. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  646. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  647. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  648. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-linux/types.conf +100 -0
  649. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  650. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/s390-linux/types.conf +102 -0
  651. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/s390x-linux/types.conf +102 -0
  652. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc-linux/types.conf +102 -0
  653. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  654. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  655. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  656. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  657. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  658. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  659. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-freebsd12/types.conf +128 -0
  660. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-linux/types.conf +102 -0
  661. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  662. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  663. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  664. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-windows/types.conf +120 -0
  665. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/pointer.rb +160 -0
  666. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/struct.rb +371 -0
  667. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/struct_layout_builder.rb +227 -0
  668. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/const_generator.rb +229 -0
  669. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/generator.rb +60 -0
  670. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/generator_task.rb +36 -0
  671. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/struct_generator.rb +194 -0
  672. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/types_generator.rb +134 -0
  673. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/types.rb +194 -0
  674. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/union.rb +43 -0
  675. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/variadic.rb +78 -0
  676. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/version.rb +3 -0
  677. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/getlogin.rb +8 -0
  678. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/getpid.rb +8 -0
  679. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/gettimeofday.rb +18 -0
  680. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/hello.rb +7 -0
  681. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/inotify.rb +60 -0
  682. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/pty.rb +76 -0
  683. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/qsort.rb +21 -0
  684. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/sample_helper.rb +6 -0
  685. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.gitignore +8 -0
  686. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.rspec +4 -0
  687. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.travis.yml +22 -0
  688. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/CHANGELOG.md +394 -0
  689. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/CONTRIBUTING.md +16 -0
  690. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Gemfile +32 -0
  691. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Guardfile +9 -0
  692. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/LICENSE +22 -0
  693. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/README.md +581 -0
  694. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Rakefile +38 -0
  695. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/UPGRADE.md +55 -0
  696. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus.rb +1 -0
  697. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus/middleware/params_decoder.rb +57 -0
  698. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +76 -0
  699. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus.rb +142 -0
  700. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/adapters/faraday.rb +180 -0
  701. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/dalli.rb +26 -0
  702. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/rails.rb +26 -0
  703. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/redis.rb +33 -0
  704. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/config.rb +69 -0
  705. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/easy_factory.rb +180 -0
  706. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors.rb +9 -0
  707. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors/no_stub.rb +12 -0
  708. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors/typhoeus_error.rb +8 -0
  709. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/expectation.rb +217 -0
  710. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra.rb +95 -0
  711. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/addable.rb +23 -0
  712. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/before.rb +31 -0
  713. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/block_connection.rb +35 -0
  714. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/cacheable.rb +15 -0
  715. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/memoizable.rb +56 -0
  716. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/queueable.rb +83 -0
  717. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/runnable.rb +19 -0
  718. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/stubbable.rb +28 -0
  719. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/pool.rb +70 -0
  720. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/railtie.rb +12 -0
  721. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request.rb +221 -0
  722. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/actions.rb +125 -0
  723. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/before.rb +30 -0
  724. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/block_connection.rb +52 -0
  725. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/cacheable.rb +34 -0
  726. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/callbacks.rb +151 -0
  727. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/marshal.rb +22 -0
  728. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/memoizable.rb +38 -0
  729. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/operations.rb +40 -0
  730. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/responseable.rb +29 -0
  731. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/streamable.rb +34 -0
  732. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/stubbable.rb +30 -0
  733. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response.rb +68 -0
  734. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/cacheable.rb +14 -0
  735. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/header.rb +105 -0
  736. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/informations.rb +248 -0
  737. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/status.rb +106 -0
  738. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/version.rb +5 -0
  739. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/perf/profile.rb +14 -0
  740. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/perf/vs_nethttp.rb +64 -0
  741. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +156 -0
  742. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
  743. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/spec_helper.rb +29 -0
  744. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/localhost_server.rb +94 -0
  745. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/memory_cache.rb +15 -0
  746. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/server.rb +116 -0
  747. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/adapters/faraday_spec.rb +339 -0
  748. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/cache/dalli_spec.rb +41 -0
  749. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/cache/redis_spec.rb +41 -0
  750. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/config_spec.rb +15 -0
  751. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/easy_factory_spec.rb +143 -0
  752. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/errors/no_stub_spec.rb +13 -0
  753. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/expectation_spec.rb +280 -0
  754. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/addable_spec.rb +22 -0
  755. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/before_spec.rb +98 -0
  756. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
  757. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/cacheable_spec.rb +58 -0
  758. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
  759. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/queueable_spec.rb +98 -0
  760. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/runnable_spec.rb +137 -0
  761. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/stubbable_spec.rb +48 -0
  762. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra_spec.rb +22 -0
  763. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/pool_spec.rb +135 -0
  764. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/actions_spec.rb +19 -0
  765. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/before_spec.rb +93 -0
  766. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/block_connection_spec.rb +75 -0
  767. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/cacheable_spec.rb +94 -0
  768. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/callbacks_spec.rb +91 -0
  769. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/marshal_spec.rb +60 -0
  770. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/memoizable_spec.rb +34 -0
  771. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/operations_spec.rb +101 -0
  772. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/responseable_spec.rb +13 -0
  773. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/stubbable_spec.rb +45 -0
  774. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request_spec.rb +232 -0
  775. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/header_spec.rb +147 -0
  776. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/informations_spec.rb +283 -0
  777. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/status_spec.rb +256 -0
  778. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response_spec.rb +100 -0
  779. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus_spec.rb +105 -0
  780. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/typhoeus.gemspec +25 -0
  781. data/vendor/bundle/ruby/2.6.0/specifications/approveapi_swagger-1.0.1.gemspec +57 -0
  782. data/vendor/bundle/ruby/2.6.0/specifications/ethon-0.12.0.gemspec +32 -0
  783. data/vendor/bundle/ruby/2.6.0/specifications/ffi-1.10.0.gemspec +49 -0
  784. data/vendor/bundle/ruby/2.6.0/specifications/typhoeus-1.3.1.gemspec +32 -0
  785. metadata +824 -6
  786. data/pkg/approveapi-1.0.0.gem +0 -0
  787. data/pkg/approveapi-1.0.1.gem +0 -0
  788. data/pkg/approveapi-1.0.2.gem +0 -0
  789. data/pkg/approveapi-1.0.3.gem +0 -0
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Copyright (c) 2010, Wayne Meissner
3
+ *
4
+ * Copyright (c) 2008-2013, Ruby FFI project contributors
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * * Neither the name of the Ruby FFI project nor the
15
+ * names of its contributors may be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
22
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ */
29
+
30
+ #ifndef RBFFI_MAPPEDTYPE_H
31
+ #define RBFFI_MAPPEDTYPE_H
32
+
33
+
34
+ #include <ruby.h>
35
+
36
+ #ifdef __cplusplus
37
+ extern "C" {
38
+ #endif
39
+
40
+
41
+ typedef struct MappedType_ {
42
+ Type base;
43
+ Type* type;
44
+ VALUE rbConverter;
45
+ VALUE rbType;
46
+
47
+ } MappedType;
48
+
49
+ void rbffi_MappedType_Init(VALUE moduleFFI);
50
+
51
+ extern VALUE rbffi_MappedTypeClass;
52
+
53
+
54
+ #ifdef __cplusplus
55
+ }
56
+ #endif
57
+
58
+ #endif /* RBFFI_MAPPEDTYPE_H */
59
+
@@ -0,0 +1,197 @@
1
+ /*
2
+ * Copyright (c) 2008, 2009, Wayne Meissner
3
+ * Copyright (C) 2009 Luc Heinrich <luc@honk-honk.com>
4
+ *
5
+ * Copyright (c) 2008-2013, Ruby FFI project contributors
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions are met:
10
+ * * Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * * Redistributions in binary form must reproduce the above copyright
13
+ * notice, this list of conditions and the following disclaimer in the
14
+ * documentation and/or other materials provided with the distribution.
15
+ * * Neither the name of the Ruby FFI project nor the
16
+ * names of its contributors may be used to endorse or promote products
17
+ * derived from this software without specific prior written permission.
18
+ *
19
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+
31
+ #ifndef _MSC_VER
32
+ # include <stdbool.h>
33
+ # include <stdint.h>
34
+ #else
35
+ # include "win32/stdbool.h"
36
+ # include "win32/stdint.h"
37
+ #endif
38
+ #include <limits.h>
39
+ #include <ruby.h>
40
+ #include "rbffi.h"
41
+ #include "AbstractMemory.h"
42
+ #include "Pointer.h"
43
+ #include "MemoryPointer.h"
44
+
45
+
46
+ static VALUE memptr_allocate(VALUE klass);
47
+ static void memptr_release(Pointer* ptr);
48
+ static VALUE memptr_malloc(VALUE self, long size, long count, bool clear);
49
+ static VALUE memptr_free(VALUE self);
50
+
51
+ VALUE rbffi_MemoryPointerClass;
52
+
53
+ #define MEMPTR(obj) ((MemoryPointer *) rbffi_AbstractMemory_Cast(obj, rbffi_MemoryPointerClass))
54
+
55
+ VALUE
56
+ rbffi_MemoryPointer_NewInstance(long size, long count, bool clear)
57
+ {
58
+ return memptr_malloc(memptr_allocate(rbffi_MemoryPointerClass), size, count, clear);
59
+ }
60
+
61
+ static VALUE
62
+ memptr_allocate(VALUE klass)
63
+ {
64
+ Pointer* p;
65
+ VALUE obj = Data_Make_Struct(klass, Pointer, NULL, memptr_release, p);
66
+ p->rbParent = Qnil;
67
+ p->memory.flags = MEM_RD | MEM_WR;
68
+
69
+ return obj;
70
+ }
71
+
72
+ /*
73
+ * call-seq: initialize(size, count=1, clear=true)
74
+ * @param [Fixnum, Bignum, Symbol, FFI::Type] size size of a memory cell (in bytes, or type whom size will be used)
75
+ * @param [Numeric] count number of cells in memory
76
+ * @param [Boolean] clear set memory to all-zero if +true+
77
+ * @return [self]
78
+ * A new instance of FFI::MemoryPointer.
79
+ */
80
+ static VALUE
81
+ memptr_initialize(int argc, VALUE* argv, VALUE self)
82
+ {
83
+ VALUE size = Qnil, count = Qnil, clear = Qnil;
84
+ int nargs = rb_scan_args(argc, argv, "12", &size, &count, &clear);
85
+
86
+ memptr_malloc(self, rbffi_type_size(size), nargs > 1 ? NUM2LONG(count) : 1,
87
+ RTEST(clear) || clear == Qnil);
88
+
89
+ if (rb_block_given_p()) {
90
+ return rb_ensure(rb_yield, self, memptr_free, self);
91
+ }
92
+
93
+ return self;
94
+ }
95
+
96
+ static VALUE
97
+ memptr_malloc(VALUE self, long size, long count, bool clear)
98
+ {
99
+ Pointer* p;
100
+ unsigned long msize;
101
+
102
+ Data_Get_Struct(self, Pointer, p);
103
+
104
+ msize = size * count;
105
+
106
+ p->storage = xmalloc(msize + 7);
107
+ if (p->storage == NULL) {
108
+ rb_raise(rb_eNoMemError, "Failed to allocate memory size=%ld bytes", msize);
109
+ return Qnil;
110
+ }
111
+ p->autorelease = true;
112
+ p->memory.typeSize = (int) size;
113
+ p->memory.size = msize;
114
+ /* ensure the memory is aligned on at least a 8 byte boundary */
115
+ p->memory.address = (char *) (((uintptr_t) p->storage + 0x7) & (uintptr_t) ~0x7UL);;
116
+ p->allocated = true;
117
+
118
+ if (clear && p->memory.size > 0) {
119
+ memset(p->memory.address, 0, p->memory.size);
120
+ }
121
+
122
+ return self;
123
+ }
124
+
125
+ static VALUE
126
+ memptr_free(VALUE self)
127
+ {
128
+ Pointer* ptr;
129
+
130
+ Data_Get_Struct(self, Pointer, ptr);
131
+
132
+ if (ptr->allocated) {
133
+ if (ptr->storage != NULL) {
134
+ xfree(ptr->storage);
135
+ ptr->storage = NULL;
136
+ }
137
+ ptr->allocated = false;
138
+ }
139
+
140
+ return self;
141
+ }
142
+
143
+ static void
144
+ memptr_release(Pointer* ptr)
145
+ {
146
+ if (ptr->autorelease && ptr->allocated && ptr->storage != NULL) {
147
+ xfree(ptr->storage);
148
+ ptr->storage = NULL;
149
+ }
150
+ xfree(ptr);
151
+ }
152
+
153
+ /*
154
+ * call-seq: from_string(s)
155
+ * @param [String] s string
156
+ * @return [MemoryPointer]
157
+ * Create a {MemoryPointer} with +s+ inside.
158
+ */
159
+ static VALUE
160
+ memptr_s_from_string(VALUE klass, VALUE to_str)
161
+ {
162
+ VALUE s = StringValue(to_str);
163
+ VALUE args[] = { INT2FIX(1), LONG2NUM(RSTRING_LEN(s) + 1), Qfalse };
164
+ VALUE obj = rb_class_new_instance(3, args, klass);
165
+ rb_funcall(obj, rb_intern("put_string"), 2, INT2FIX(0), s);
166
+
167
+ return obj;
168
+ }
169
+
170
+ void
171
+ rbffi_MemoryPointer_Init(VALUE moduleFFI)
172
+ {
173
+ VALUE ffi_Pointer;
174
+
175
+ ffi_Pointer = rbffi_PointerClass;
176
+
177
+ /*
178
+ * Document-class: FFI::MemoryPointer < FFI::Pointer
179
+ * A MemoryPointer is a specific {Pointer}. It points to a memory composed of cells. All cells have the
180
+ * same size.
181
+ *
182
+ * @example Create a new MemoryPointer
183
+ * mp = FFI::MemoryPointer.new(:long, 16) # Create a pointer on a memory of 16 long ints.
184
+ * @example Create a new MemoryPointer from a String
185
+ * mp1 = FFI::MemoryPointer.from_string("this is a string")
186
+ * # same as:
187
+ * mp2 = FFI::MemoryPointer.new(:char,16)
188
+ * mp2.put_string("this is a string")
189
+ */
190
+ rbffi_MemoryPointerClass = rb_define_class_under(moduleFFI, "MemoryPointer", ffi_Pointer);
191
+ rb_global_variable(&rbffi_MemoryPointerClass);
192
+
193
+ rb_define_alloc_func(rbffi_MemoryPointerClass, memptr_allocate);
194
+ rb_define_method(rbffi_MemoryPointerClass, "initialize", memptr_initialize, -1);
195
+ rb_define_singleton_method(rbffi_MemoryPointerClass, "from_string", memptr_s_from_string, 1);
196
+ }
197
+
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright (c) 2008, 2009, Wayne Meissner
3
+ * Copyright (c) 2008, Luc Heinrich <luc@honk-honk.com>
4
+ *
5
+ * Copyright (c) 2008-2013, Ruby FFI project contributors
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions are met:
10
+ * * Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * * Redistributions in binary form must reproduce the above copyright
13
+ * notice, this list of conditions and the following disclaimer in the
14
+ * documentation and/or other materials provided with the distribution.
15
+ * * Neither the name of the Ruby FFI project nor the
16
+ * names of its contributors may be used to endorse or promote products
17
+ * derived from this software without specific prior written permission.
18
+ *
19
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+
31
+ #ifndef RBFFI_MEMORYPOINTER_H
32
+ #define RBFFI_MEMORYPOINTER_H
33
+
34
+ #ifndef _MSC_VER
35
+ # include <stdbool.h>
36
+ #else
37
+ # include "win32/stdbool.h"
38
+ #endif
39
+ #include <ruby.h>
40
+
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+ extern void rbffi_MemoryPointer_Init(VALUE moduleFFI);
46
+ extern VALUE rbffi_MemoryPointerClass;
47
+ extern VALUE rbffi_MemoryPointer_NewInstance(long size, long count, bool clear);
48
+ #ifdef __cplusplus
49
+ }
50
+ #endif
51
+
52
+ #endif /* RBFFI_MEMORYPOINTER_H */
53
+
@@ -0,0 +1,358 @@
1
+ /*
2
+ * Copyright (c) 2009, 2010 Wayne Meissner
3
+ * Copyright (c) 2008-2013, Ruby FFI project contributors
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ * * Redistributions of source code must retain the above copyright
9
+ * notice, this list of conditions and the following disclaimer.
10
+ * * Redistributions in binary form must reproduce the above copyright
11
+ * notice, this list of conditions and the following disclaimer in the
12
+ * documentation and/or other materials provided with the distribution.
13
+ * * Neither the name of the Ruby FFI project nor the
14
+ * names of its contributors may be used to endorse or promote products
15
+ * derived from this software without specific prior written permission.
16
+ *
17
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+ #ifndef _MSC_VER
30
+ #include <sys/param.h>
31
+ #endif
32
+ #include <sys/types.h>
33
+ #ifndef _WIN32
34
+ # include <sys/mman.h>
35
+ #endif
36
+ #include <stdio.h>
37
+ #ifndef _MSC_VER
38
+ # include <stdint.h>
39
+ # include <stdbool.h>
40
+ #else
41
+ # include "win32/stdint.h"
42
+ # include "win32/stdbool.h"
43
+ #endif
44
+ #ifndef _WIN32
45
+ # include <unistd.h>
46
+ #endif
47
+ #include <errno.h>
48
+ #include <ruby.h>
49
+ #if defined(HAVE_NATIVETHREAD) && !defined(_WIN32) && !defined(__WIN32__)
50
+ # include <pthread.h>
51
+ #endif
52
+
53
+ #include <ffi.h>
54
+ #include "rbffi.h"
55
+ #include "compat.h"
56
+
57
+ #include "Function.h"
58
+ #include "Types.h"
59
+ #include "Type.h"
60
+ #include "LastError.h"
61
+ #include "Call.h"
62
+ #include "ClosurePool.h"
63
+ #include "MethodHandle.h"
64
+
65
+
66
+ #define MAX_METHOD_FIXED_ARITY (6)
67
+
68
+ #ifndef roundup
69
+ # define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
70
+ #endif
71
+ #ifdef _WIN32
72
+ typedef char* caddr_t;
73
+ #endif
74
+
75
+ #ifdef USE_RAW
76
+ # define METHOD_CLOSURE ffi_raw_closure
77
+ # define METHOD_PARAMS ffi_raw*
78
+ #else
79
+ # define METHOD_CLOSURE ffi_closure
80
+ # define METHOD_PARAMS void**
81
+ #endif
82
+
83
+
84
+
85
+ static bool prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize);
86
+ static long trampoline_size(void);
87
+
88
+ #if defined(__x86_64__) && (defined(__linux__) || defined(__APPLE__))
89
+ # define CUSTOM_TRAMPOLINE 1
90
+ #endif
91
+
92
+
93
+ struct MethodHandle {
94
+ Closure* closure;
95
+ };
96
+
97
+ static ClosurePool* defaultClosurePool;
98
+
99
+
100
+ MethodHandle*
101
+ rbffi_MethodHandle_Alloc(FunctionType* fnInfo, void* function)
102
+ {
103
+ MethodHandle* handle;
104
+ Closure* closure = rbffi_Closure_Alloc(defaultClosurePool);
105
+ if (closure == NULL) {
106
+ rb_raise(rb_eNoMemError, "failed to allocate closure from pool");
107
+ return NULL;
108
+ }
109
+
110
+ handle = xcalloc(1, sizeof(*handle));
111
+ handle->closure = closure;
112
+ closure->info = fnInfo;
113
+ closure->function = function;
114
+
115
+ return handle;
116
+ }
117
+
118
+ void
119
+ rbffi_MethodHandle_Free(MethodHandle* handle)
120
+ {
121
+ if (handle != NULL) {
122
+ rbffi_Closure_Free(handle->closure);
123
+ }
124
+ }
125
+
126
+ void*
127
+ rbffi_MethodHandle_CodeAddress(MethodHandle* handle)
128
+ {
129
+ return handle->closure->code;
130
+ }
131
+
132
+ #ifndef CUSTOM_TRAMPOLINE
133
+ static void attached_method_invoke(ffi_cif* cif, void* retval, METHOD_PARAMS parameters, void* user_data);
134
+
135
+ static ffi_type* methodHandleParamTypes[] = {
136
+ &ffi_type_sint,
137
+ &ffi_type_pointer,
138
+ &ffi_type_ulong,
139
+ };
140
+
141
+ static ffi_cif mh_cif;
142
+
143
+ static bool
144
+ prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize)
145
+ {
146
+ ffi_status ffiStatus;
147
+
148
+ #if defined(USE_RAW)
149
+ ffiStatus = ffi_prep_raw_closure(code, &mh_cif, attached_method_invoke, closure);
150
+ #else
151
+ ffiStatus = ffi_prep_closure(code, &mh_cif, attached_method_invoke, closure);
152
+ #endif
153
+ if (ffiStatus != FFI_OK) {
154
+ snprintf(errmsg, errmsgsize, "ffi_prep_closure failed. status=%#x", ffiStatus);
155
+ return false;
156
+ }
157
+
158
+ return true;
159
+ }
160
+
161
+
162
+ static long
163
+ trampoline_size(void)
164
+ {
165
+ return sizeof(METHOD_CLOSURE);
166
+ }
167
+
168
+ /*
169
+ * attached_method_invoke is used functions with more than 6 parameters, or
170
+ * with struct param or return values
171
+ */
172
+ static void
173
+ attached_method_invoke(ffi_cif* cif, void* mretval, METHOD_PARAMS parameters, void* user_data)
174
+ {
175
+ Closure* handle = (Closure *) user_data;
176
+ FunctionType* fnInfo = (FunctionType *) handle->info;
177
+
178
+ #ifdef USE_RAW
179
+ int argc = parameters[0].sint;
180
+ VALUE* argv = *(VALUE **) &parameters[1];
181
+ #else
182
+ int argc = *(int *) parameters[0];
183
+ VALUE* argv = *(VALUE **) parameters[1];
184
+ #endif
185
+
186
+ *(VALUE *) mretval = (*fnInfo->invoke)(argc, argv, handle->function, fnInfo);
187
+ }
188
+
189
+ #endif
190
+
191
+
192
+
193
+ #if defined(CUSTOM_TRAMPOLINE)
194
+ #if defined(__x86_64__)
195
+
196
+ static VALUE custom_trampoline(int argc, VALUE* argv, VALUE self, Closure*);
197
+
198
+ #define TRAMPOLINE_CTX_MAGIC (0xfee1deadcafebabe)
199
+ #define TRAMPOLINE_FUN_MAGIC (0xfeedfacebeeff00d)
200
+
201
+ /*
202
+ * This is a hand-coded trampoline to speedup entry from ruby to the FFI translation
203
+ * layer for x86_64 arches.
204
+ *
205
+ * Since a ruby function has exactly 3 arguments, and the first 6 arguments are
206
+ * passed in registers for x86_64, we can tack on a context pointer by simply
207
+ * putting a value in %rcx, then jumping to the C trampoline code.
208
+ *
209
+ * This results in approx a 30% speedup for x86_64 FFI dispatch
210
+ */
211
+ __asm__(
212
+ ".text\n\t"
213
+ ".globl ffi_trampoline\n\t"
214
+ ".globl _ffi_trampoline\n\t"
215
+ "ffi_trampoline:\n\t"
216
+ "_ffi_trampoline:\n\t"
217
+ "movabsq $0xfee1deadcafebabe, %rcx\n\t"
218
+ "movabsq $0xfeedfacebeeff00d, %r11\n\t"
219
+ "jmpq *%r11\n\t"
220
+ ".globl ffi_trampoline_end\n\t"
221
+ "ffi_trampoline_end:\n\t"
222
+ ".globl _ffi_trampoline_end\n\t"
223
+ "_ffi_trampoline_end:\n\t"
224
+ );
225
+
226
+ static VALUE
227
+ custom_trampoline(int argc, VALUE* argv, VALUE self, Closure* handle)
228
+ {
229
+ FunctionType* fnInfo = (FunctionType *) handle->info;
230
+ VALUE rbReturnValue;
231
+
232
+ RB_GC_GUARD(rbReturnValue) = (*fnInfo->invoke)(argc, argv, handle->function, fnInfo);
233
+ RB_GC_GUARD(self);
234
+
235
+ return rbReturnValue;
236
+ }
237
+
238
+ #elif defined(__i386__) && 0
239
+
240
+ static VALUE custom_trampoline(caddr_t args, Closure*);
241
+ #define TRAMPOLINE_CTX_MAGIC (0xfee1dead)
242
+ #define TRAMPOLINE_FUN_MAGIC (0xbeefcafe)
243
+
244
+ /*
245
+ * This is a hand-coded trampoline to speed-up entry from ruby to the FFI translation
246
+ * layer for i386 arches.
247
+ *
248
+ * This does not make a discernible difference vs a raw closure, so for now,
249
+ * it is not enabled.
250
+ */
251
+ __asm__(
252
+ ".text\n\t"
253
+ ".globl ffi_trampoline\n\t"
254
+ ".globl _ffi_trampoline\n\t"
255
+ "ffi_trampoline:\n\t"
256
+ "_ffi_trampoline:\n\t"
257
+ "subl $12, %esp\n\t"
258
+ "leal 16(%esp), %eax\n\t"
259
+ "movl %eax, (%esp)\n\t"
260
+ "movl $0xfee1dead, 4(%esp)\n\t"
261
+ "movl $0xbeefcafe, %eax\n\t"
262
+ "call *%eax\n\t"
263
+ "addl $12, %esp\n\t"
264
+ "ret\n\t"
265
+ ".globl ffi_trampoline_end\n\t"
266
+ "ffi_trampoline_end:\n\t"
267
+ ".globl _ffi_trampoline_end\n\t"
268
+ "_ffi_trampoline_end:\n\t"
269
+ );
270
+
271
+ static VALUE
272
+ custom_trampoline(caddr_t args, Closure* handle)
273
+ {
274
+ FunctionType* fnInfo = (FunctionType *) handle->info;
275
+ return (*fnInfo->invoke)(*(int *) args, *(VALUE **) (args + 4), handle->function, fnInfo);
276
+ }
277
+
278
+ #endif /* __x86_64__ else __i386__ */
279
+
280
+ extern void ffi_trampoline(int argc, VALUE* argv, VALUE self);
281
+ extern void ffi_trampoline_end(void);
282
+ static int trampoline_offsets(long *, long *);
283
+
284
+ static long trampoline_ctx_offset, trampoline_func_offset;
285
+
286
+ static long
287
+ trampoline_offset(int off, const long value)
288
+ {
289
+ caddr_t ptr;
290
+ for (ptr = (caddr_t) &ffi_trampoline + off; ptr < (caddr_t) &ffi_trampoline_end; ++ptr) {
291
+ if (*(long *) ptr == value) {
292
+ return ptr - (caddr_t) &ffi_trampoline;
293
+ }
294
+ }
295
+
296
+ return -1;
297
+ }
298
+
299
+ static int
300
+ trampoline_offsets(long* ctxOffset, long* fnOffset)
301
+ {
302
+ *ctxOffset = trampoline_offset(0, TRAMPOLINE_CTX_MAGIC);
303
+ if (*ctxOffset == -1) {
304
+ return -1;
305
+ }
306
+
307
+ *fnOffset = trampoline_offset(0, TRAMPOLINE_FUN_MAGIC);
308
+ if (*fnOffset == -1) {
309
+ return -1;
310
+ }
311
+
312
+ return 0;
313
+ }
314
+
315
+ static bool
316
+ prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize)
317
+ {
318
+ caddr_t ptr = (caddr_t) code;
319
+
320
+ memcpy(ptr, &ffi_trampoline, trampoline_size());
321
+ /* Patch the context and function addresses into the stub code */
322
+ *(intptr_t *)(ptr + trampoline_ctx_offset) = (intptr_t) closure;
323
+ *(intptr_t *)(ptr + trampoline_func_offset) = (intptr_t) custom_trampoline;
324
+
325
+ return true;
326
+ }
327
+
328
+ static long
329
+ trampoline_size(void)
330
+ {
331
+ return (caddr_t) &ffi_trampoline_end - (caddr_t) &ffi_trampoline;
332
+ }
333
+
334
+ #endif /* CUSTOM_TRAMPOLINE */
335
+
336
+
337
+ void
338
+ rbffi_MethodHandle_Init(VALUE module)
339
+ {
340
+ #ifndef CUSTOM_TRAMPOLINE
341
+ ffi_status ffiStatus;
342
+ #endif
343
+
344
+ defaultClosurePool = rbffi_ClosurePool_New((int) trampoline_size(), prep_trampoline, NULL);
345
+
346
+ #if defined(CUSTOM_TRAMPOLINE)
347
+ if (trampoline_offsets(&trampoline_ctx_offset, &trampoline_func_offset) != 0) {
348
+ rb_raise(rb_eFatal, "Could not locate offsets in trampoline code");
349
+ }
350
+ #else
351
+ ffiStatus = ffi_prep_cif(&mh_cif, FFI_DEFAULT_ABI, 3, &ffi_type_ulong,
352
+ methodHandleParamTypes);
353
+ if (ffiStatus != FFI_OK) {
354
+ rb_raise(rb_eFatal, "ffi_prep_cif failed. status=%#x", ffiStatus);
355
+ }
356
+
357
+ #endif
358
+ }