approveapi 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (791) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/approveapi/version.rb +1 -1
  4. data/pkg/approveapi-1.0.0.gem +0 -0
  5. data/pkg/approveapi-1.0.1.gem +0 -0
  6. data/pkg/approveapi-1.0.2.gem +0 -0
  7. data/pkg/approveapi-1.0.3.gem +0 -0
  8. data/pkg/approveapi-1.0.4.gem +0 -0
  9. data/pkg/approveapi-1.0.6.gem +0 -0
  10. metadata +8 -824
  11. data/pkg/approveapi-1.0.5.gem +0 -0
  12. data/vendor/bundle/ruby/2.6.0/cache/approveapi_swagger-1.0.1.gem +0 -0
  13. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.12.0.gem +0 -0
  14. data/vendor/bundle/ruby/2.6.0/cache/ffi-1.10.0.gem +0 -0
  15. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.3.1.gem +0 -0
  16. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/ffi_c.so +0 -0
  17. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/gem.build_complete +0 -0
  18. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/gem_make.out +0 -50
  19. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.10.0/mkmf.log +0 -449
  20. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Gemfile +0 -8
  21. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Gemfile.lock +0 -79
  22. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/README.md +0 -105
  23. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/Rakefile +0 -10
  24. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/approveapi_swagger.gemspec +0 -45
  25. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/AnswerMetadata.md +0 -10
  26. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/ApproveApi.md +0 -162
  27. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/CreatePromptRequest.md +0 -15
  28. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/Error.md +0 -8
  29. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/Prompt.md +0 -12
  30. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptAnswer.md +0 -10
  31. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptMetadata.md +0 -12
  32. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/docs/PromptStatus.md +0 -8
  33. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/git_push.sh +0 -55
  34. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger.rb +0 -47
  35. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api/approve_api.rb +0 -186
  36. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api_client.rb +0 -387
  37. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/api_error.rb +0 -38
  38. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/configuration.rb +0 -251
  39. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/answer_metadata.rb +0 -207
  40. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/create_prompt_request.rb +0 -269
  41. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/error.rb +0 -195
  42. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt.rb +0 -238
  43. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_answer.rb +0 -219
  44. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_metadata.rb +0 -230
  45. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/models/prompt_status.rb +0 -195
  46. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/lib/approveapi_swagger/version.rb +0 -15
  47. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/pkg/approveapi_swagger-1.0.1.gem +0 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/api/approve_api_spec.rb +0 -72
  49. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/api_client_spec.rb +0 -226
  50. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/configuration_spec.rb +0 -42
  51. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/answer_metadata_spec.rb +0 -53
  52. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/create_prompt_request_spec.rb +0 -77
  53. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/error_spec.rb +0 -41
  54. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_answer_spec.rb +0 -53
  55. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_metadata_spec.rb +0 -65
  56. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_spec.rb +0 -59
  57. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/models/prompt_status_spec.rb +0 -41
  58. data/vendor/bundle/ruby/2.6.0/gems/approveapi_swagger-1.0.1/spec/spec_helper.rb +0 -111
  59. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.gitignore +0 -8
  60. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.rspec +0 -3
  61. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/.travis.yml +0 -30
  62. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/CHANGELOG.md +0 -365
  63. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Gemfile +0 -38
  64. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Guardfile +0 -9
  65. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/LICENSE +0 -20
  66. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/README.md +0 -95
  67. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/Rakefile +0 -39
  68. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/ethon.gemspec +0 -25
  69. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon.rb +0 -35
  70. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb +0 -89
  71. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/classes.rb +0 -54
  72. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/codes.rb +0 -122
  73. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/constants.rb +0 -62
  74. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/form_options.rb +0 -36
  75. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/functions.rb +0 -66
  76. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/infos.rb +0 -150
  77. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/messages.rb +0 -18
  78. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/options.rb +0 -468
  79. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb +0 -9
  80. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy.rb +0 -315
  81. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/callbacks.rb +0 -147
  82. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/debug_info.rb +0 -46
  83. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/features.rb +0 -30
  84. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/form.rb +0 -106
  85. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/header.rb +0 -60
  86. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http.rb +0 -67
  87. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/actionable.rb +0 -156
  88. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/custom.rb +0 -28
  89. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/delete.rb +0 -24
  90. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/get.rb +0 -23
  91. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/head.rb +0 -23
  92. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/options.rb +0 -23
  93. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/patch.rb +0 -23
  94. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/post.rb +0 -25
  95. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/postable.rb +0 -31
  96. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/put.rb +0 -26
  97. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/http/putable.rb +0 -24
  98. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/informations.rb +0 -94
  99. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/mirror.rb +0 -35
  100. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/operations.rb +0 -63
  101. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/options.rb +0 -49
  102. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/params.rb +0 -28
  103. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/queryable.rb +0 -153
  104. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/response_callbacks.rb +0 -130
  105. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/easy/util.rb +0 -27
  106. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors.rb +0 -16
  107. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/ethon_error.rb +0 -8
  108. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/global_init.rb +0 -12
  109. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/invalid_option.rb +0 -12
  110. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/invalid_value.rb +0 -12
  111. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_add.rb +0 -11
  112. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_fdset.rb +0 -11
  113. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_remove.rb +0 -11
  114. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/multi_timeout.rb +0 -12
  115. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/errors/select.rb +0 -12
  116. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/libc.rb +0 -20
  117. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/loggable.rb +0 -58
  118. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi.rb +0 -103
  119. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/operations.rb +0 -190
  120. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/options.rb +0 -116
  121. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/multi/stack.rb +0 -48
  122. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/lib/ethon/version.rb +0 -5
  123. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/benchmarks.rb +0 -103
  124. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/memory_leaks.rb +0 -113
  125. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/perf_spec_helper.rb +0 -36
  126. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/memory_test_helpers.rb +0 -75
  127. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/os_memory_leak_tracker.rb +0 -47
  128. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/profile/support/ruby_object_leak_tracker.rb +0 -48
  129. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/curl_spec.rb +0 -37
  130. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/callbacks_spec.rb +0 -58
  131. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/debug_info_spec.rb +0 -53
  132. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/features_spec.rb +0 -23
  133. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/form_spec.rb +0 -103
  134. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/header_spec.rb +0 -78
  135. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/custom_spec.rb +0 -176
  136. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/delete_spec.rb +0 -20
  137. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/get_spec.rb +0 -125
  138. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/head_spec.rb +0 -79
  139. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/options_spec.rb +0 -50
  140. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/patch_spec.rb +0 -50
  141. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/post_spec.rb +0 -316
  142. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http/put_spec.rb +0 -167
  143. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/http_spec.rb +0 -63
  144. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/informations_spec.rb +0 -97
  145. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/mirror_spec.rb +0 -45
  146. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/operations_spec.rb +0 -267
  147. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/options_spec.rb +0 -192
  148. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/queryable_spec.rb +0 -234
  149. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/response_callbacks_spec.rb +0 -151
  150. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy/util_spec.rb +0 -27
  151. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/easy_spec.rb +0 -202
  152. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/libc_spec.rb +0 -13
  153. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/loggable_spec.rb +0 -21
  154. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/operations_spec.rb +0 -297
  155. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/options_spec.rb +0 -68
  156. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi/stack_spec.rb +0 -79
  157. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/ethon/multi_spec.rb +0 -21
  158. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/spec_helper.rb +0 -27
  159. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/support/localhost_server.rb +0 -94
  160. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.12.0/spec/support/server.rb +0 -114
  161. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.gitignore +0 -22
  162. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.gitmodules +0 -3
  163. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.travis.yml +0 -43
  164. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/.yardopts +0 -5
  165. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/CHANGELOG.md +0 -98
  166. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/COPYING +0 -49
  167. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/Gemfile +0 -15
  168. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/LICENSE +0 -24
  169. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/LICENSE.SPECS +0 -22
  170. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/README.md +0 -112
  171. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/Rakefile +0 -268
  172. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/appveyor.yml +0 -22
  173. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/.sitearchdir.time +0 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/AbstractMemory.c +0 -1109
  175. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/AbstractMemory.h +0 -175
  176. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ArrayType.c +0 -162
  177. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ArrayType.h +0 -59
  178. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Buffer.c +0 -365
  179. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Call.c +0 -520
  180. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Call.h +0 -110
  181. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ClosurePool.c +0 -283
  182. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ClosurePool.h +0 -57
  183. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DataConverter.c +0 -91
  184. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DynamicLibrary.c +0 -339
  185. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/DynamicLibrary.h +0 -98
  186. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Function.c +0 -1001
  187. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Function.h +0 -87
  188. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/FunctionInfo.c +0 -271
  189. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LastError.c +0 -229
  190. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LastError.h +0 -47
  191. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LongDouble.c +0 -63
  192. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/LongDouble.h +0 -51
  193. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Makefile +0 -265
  194. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MappedType.c +0 -168
  195. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MappedType.h +0 -59
  196. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MemoryPointer.c +0 -197
  197. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MemoryPointer.h +0 -53
  198. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MethodHandle.c +0 -358
  199. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/MethodHandle.h +0 -55
  200. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Platform.c +0 -129
  201. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Platform.h +0 -45
  202. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Pointer.c +0 -508
  203. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Pointer.h +0 -63
  204. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Struct.c +0 -829
  205. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Struct.h +0 -106
  206. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByReference.c +0 -190
  207. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByReference.h +0 -50
  208. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByValue.c +0 -150
  209. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructByValue.h +0 -55
  210. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/StructLayout.c +0 -698
  211. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Thread.c +0 -353
  212. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Thread.h +0 -95
  213. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Type.c +0 -397
  214. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Type.h +0 -62
  215. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Types.c +0 -139
  216. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Types.h +0 -89
  217. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/Variadic.c +0 -304
  218. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/compat.h +0 -78
  219. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/extconf.h +0 -12
  220. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/extconf.rb +0 -72
  221. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/ffi.c +0 -98
  222. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.bsd.mk +0 -40
  223. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.darwin.mk +0 -105
  224. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.gnu.mk +0 -32
  225. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.mk +0 -18
  226. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.vc.mk +0 -26
  227. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi.vc64.mk +0 -26
  228. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.appveyor.yml +0 -50
  229. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.github/issue_template.md +0 -10
  230. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.gitignore +0 -38
  231. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis.yml +0 -34
  232. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/ar-lib +0 -270
  233. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/build.sh +0 -34
  234. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/compile +0 -351
  235. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/install.sh +0 -22
  236. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/moxie-sim.exp +0 -60
  237. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/.travis/site.exp +0 -18
  238. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  239. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libffi-3.1 +0 -6000
  240. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  241. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  242. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/LICENSE +0 -21
  243. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +0 -352
  244. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/Makefile.am +0 -166
  245. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/README.md +0 -461
  246. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/acinclude.m4 +0 -479
  247. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/autogen.sh +0 -2
  248. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/config.guess +0 -1466
  249. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/config.sub +0 -1836
  250. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/configure.ac +0 -390
  251. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/configure.host +0 -289
  252. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +0 -203
  253. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/Makefile.am +0 -9
  254. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi.h.in +0 -511
  255. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi_cfi.h +0 -55
  256. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/include/ffi_common.h +0 -149
  257. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.map.in +0 -80
  258. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.pc.in +0 -11
  259. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +0 -1043
  260. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/libtool-version +0 -29
  261. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/asmcfi.m4 +0 -13
  262. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_append_flag.m4 +0 -71
  263. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -194
  264. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -122
  265. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +0 -74
  266. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -87
  267. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -70
  268. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -302
  269. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -263
  270. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -89
  271. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/m4/ax_require_defined.m4 +0 -37
  272. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/Makefile.am +0 -8
  273. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi.3 +0 -41
  274. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_call.3 +0 -103
  275. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -68
  276. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +0 -73
  277. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/msvcc.sh +0 -328
  278. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/ffi.c +0 -941
  279. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/ffitarget.h +0 -81
  280. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/internal.h +0 -67
  281. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/aarch64/sysv.S +0 -438
  282. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/ffi.c +0 -521
  283. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -57
  284. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/internal.h +0 -23
  285. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/alpha/osf.S +0 -282
  286. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/arcompact.S +0 -135
  287. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/ffi.c +0 -266
  288. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arc/ffitarget.h +0 -53
  289. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/ffi.c +0 -819
  290. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -82
  291. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/internal.h +0 -7
  292. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/arm/sysv.S +0 -383
  293. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/ffi.c +0 -423
  294. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -55
  295. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/avr32/sysv.S +0 -208
  296. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/ffi.c +0 -196
  297. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/ffitarget.h +0 -43
  298. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/bfin/sysv.S +0 -179
  299. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/closures.c +0 -966
  300. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/ffi.c +0 -386
  301. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -56
  302. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/cris/sysv.S +0 -215
  303. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/debug.c +0 -64
  304. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/dlmalloc.c +0 -5166
  305. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/eabi.S +0 -128
  306. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/ffi.c +0 -292
  307. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -62
  308. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ffi.c +0 -604
  309. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -56
  310. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -40
  311. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/ia64/unix.S +0 -567
  312. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/java_raw_api.c +0 -374
  313. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/ffi.c +0 -232
  314. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -53
  315. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m32r/sysv.S +0 -121
  316. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/ffi.c +0 -362
  317. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -54
  318. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m68k/sysv.S +0 -357
  319. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/ffi.c +0 -400
  320. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/ffitarget.h +0 -49
  321. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/m88k/obsd.S +0 -209
  322. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/ffi.c +0 -330
  323. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/ffitarget.h +0 -53
  324. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/metag/sysv.S +0 -311
  325. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/ffi.c +0 -321
  326. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/ffitarget.h +0 -53
  327. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/microblaze/sysv.S +0 -302
  328. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/ffi.c +0 -1130
  329. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -244
  330. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/n32.S +0 -663
  331. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/mips/o32.S +0 -502
  332. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/eabi.S +0 -101
  333. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/ffi.c +0 -285
  334. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/moxie/ffitarget.h +0 -52
  335. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
  336. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
  337. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
  338. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/ffi.c +0 -328
  339. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/ffitarget.h +0 -58
  340. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/or1k/sysv.S +0 -107
  341. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/ffi.c +0 -719
  342. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -85
  343. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/hpux32.S +0 -368
  344. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/pa/linux.S +0 -357
  345. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/aix.S +0 -566
  346. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -694
  347. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/asm.h +0 -125
  348. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -378
  349. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -571
  350. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -173
  351. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -1440
  352. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +0 -974
  353. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +0 -94
  354. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +0 -923
  355. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -198
  356. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -228
  357. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -488
  358. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -397
  359. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -175
  360. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/prep_cif.c +0 -261
  361. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/raw_api.c +0 -267
  362. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/ffi.c +0 -445
  363. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/ffitarget.h +0 -68
  364. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/riscv/sysv.S +0 -214
  365. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/ffi.c +0 -756
  366. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -70
  367. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/internal.h +0 -11
  368. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/s390/sysv.S +0 -325
  369. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/ffi.c +0 -717
  370. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -54
  371. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh/sysv.S +0 -850
  372. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/ffi.c +0 -469
  373. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -58
  374. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sh64/sysv.S +0 -539
  375. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffi.c +0 -468
  376. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffi64.c +0 -608
  377. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -81
  378. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/internal.h +0 -26
  379. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/v8.S +0 -443
  380. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/sparc/v9.S +0 -440
  381. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/ffi.c +0 -355
  382. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/ffitarget.h +0 -65
  383. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/tile/tile.S +0 -360
  384. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/types.c +0 -108
  385. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/elfbsd.S +0 -195
  386. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/ffi.c +0 -276
  387. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/vax/ffitarget.h +0 -49
  388. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/asmnames.h +0 -30
  389. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffi.c +0 -753
  390. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffi64.c +0 -884
  391. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -147
  392. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/ffiw64.c +0 -308
  393. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/internal.h +0 -29
  394. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/internal64.h +0 -22
  395. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/sysv.S +0 -1043
  396. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/unix64.S +0 -525
  397. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/win64.S +0 -232
  398. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/x86/win64_intel.S +0 -237
  399. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/ffi.c +0 -298
  400. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/ffitarget.h +0 -53
  401. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/src/xtensa/sysv.S +0 -258
  402. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/stamp-h.in +0 -1
  403. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/Makefile.am +0 -117
  404. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/config/default.exp +0 -1
  405. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -636
  406. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -283
  407. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -45
  408. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +0 -28
  409. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +0 -78
  410. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +0 -50
  411. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +0 -58
  412. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +0 -1745
  413. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +0 -2885
  414. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +0 -743
  415. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +0 -46
  416. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +0 -46
  417. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -43
  418. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +0 -89
  419. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +0 -81
  420. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +0 -81
  421. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +0 -82
  422. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +0 -89
  423. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +0 -92
  424. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +0 -90
  425. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +0 -95
  426. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c +0 -55
  427. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +0 -94
  428. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +0 -95
  429. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +0 -96
  430. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +0 -102
  431. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +0 -89
  432. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +0 -91
  433. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +0 -93
  434. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +0 -113
  435. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +0 -90
  436. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +0 -95
  437. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +0 -90
  438. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +0 -90
  439. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +0 -95
  440. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +0 -98
  441. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +0 -90
  442. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +0 -109
  443. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +0 -98
  444. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +0 -124
  445. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +0 -113
  446. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +0 -99
  447. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +0 -117
  448. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +0 -97
  449. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +0 -88
  450. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +0 -90
  451. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +0 -91
  452. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +0 -93
  453. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +0 -91
  454. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +0 -92
  455. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +0 -132
  456. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +0 -115
  457. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +0 -95
  458. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +0 -91
  459. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +0 -91
  460. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +0 -92
  461. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +0 -91
  462. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +0 -91
  463. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +0 -93
  464. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +0 -66
  465. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +0 -43
  466. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +0 -61
  467. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +0 -42
  468. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +0 -105
  469. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +0 -61
  470. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +0 -70
  471. 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 +0 -55
  472. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +0 -74
  473. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +0 -74
  474. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +0 -86
  475. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +0 -91
  476. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +0 -74
  477. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +0 -86
  478. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +0 -74
  479. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +0 -142
  480. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +0 -44
  481. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +0 -42
  482. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +0 -42
  483. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +0 -114
  484. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +0 -42
  485. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +0 -44
  486. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +0 -43
  487. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +0 -45
  488. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +0 -45
  489. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +0 -47
  490. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +0 -43
  491. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +0 -44
  492. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +0 -36
  493. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +0 -26
  494. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -138
  495. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -59
  496. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -60
  497. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -60
  498. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -74
  499. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -62
  500. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +0 -107
  501. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +0 -341
  502. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -59
  503. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +0 -57
  504. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +0 -70
  505. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +0 -78
  506. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -52
  507. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +0 -152
  508. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +0 -161
  509. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +0 -134
  510. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +0 -121
  511. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +0 -110
  512. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +0 -111
  513. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +0 -111
  514. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +0 -112
  515. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +0 -131
  516. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +0 -111
  517. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +0 -131
  518. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +0 -131
  519. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +0 -46
  520. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +0 -127
  521. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +0 -90
  522. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -59
  523. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +0 -114
  524. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -36
  525. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -43
  526. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -42
  527. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -35
  528. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -36
  529. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -49
  530. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -42
  531. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -34
  532. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -41
  533. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -43
  534. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -36
  535. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -38
  536. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -38
  537. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -38
  538. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +0 -145
  539. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +0 -148
  540. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +0 -124
  541. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +0 -125
  542. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -44
  543. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +0 -49
  544. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +0 -49
  545. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +0 -55
  546. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -67
  547. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +0 -57
  548. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -67
  549. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -60
  550. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -64
  551. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -66
  552. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -64
  553. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -74
  554. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -81
  555. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -68
  556. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +0 -70
  557. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +0 -61
  558. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +0 -117
  559. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +0 -54
  560. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +0 -196
  561. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +0 -121
  562. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +0 -123
  563. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +0 -125
  564. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +0 -91
  565. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +0 -10
  566. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +0 -10
  567. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +0 -10
  568. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +0 -42
  569. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +0 -10
  570. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +0 -10
  571. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +0 -10
  572. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +0 -71
  573. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +0 -10
  574. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +0 -10
  575. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +0 -10
  576. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +0 -80
  577. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +0 -10
  578. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +0 -16
  579. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +0 -10
  580. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +0 -36
  581. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +0 -51
  582. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +0 -7
  583. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +0 -7
  584. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +0 -7
  585. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +0 -10
  586. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +0 -10
  587. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +0 -86
  588. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +0 -10
  589. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +0 -1
  590. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +0 -78
  591. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +0 -10
  592. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +0 -10
  593. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +0 -10
  594. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +0 -37
  595. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +0 -41
  596. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +0 -10
  597. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +0 -10
  598. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +0 -10
  599. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +0 -44
  600. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +0 -10
  601. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +0 -10
  602. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +0 -10
  603. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +0 -10
  604. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +0 -10
  605. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +0 -10
  606. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +0 -34
  607. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +0 -28
  608. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +0 -1
  609. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +0 -36
  610. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +0 -19
  611. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/rbffi.h +0 -57
  612. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/rbffi_endian.h +0 -59
  613. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/win32/stdbool.h +0 -8
  614. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ext/ffi_c/win32/stdint.h +0 -201
  615. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/ffi.gemspec +0 -36
  616. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi.rb +0 -20
  617. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/autopointer.rb +0 -203
  618. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/buffer.rb +0 -4
  619. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/callback.rb +0 -4
  620. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/enum.rb +0 -296
  621. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/errno.rb +0 -43
  622. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/ffi.rb +0 -44
  623. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/io.rb +0 -62
  624. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/library.rb +0 -588
  625. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/managedstruct.rb +0 -84
  626. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/memorypointer.rb +0 -1
  627. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform.rb +0 -170
  628. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-freebsd/types.conf +0 -128
  629. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-freebsd12/types.conf +0 -128
  630. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/aarch64-linux/types.conf +0 -104
  631. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-freebsd/types.conf +0 -152
  632. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-freebsd12/types.conf +0 -152
  633. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/arm-linux/types.conf +0 -104
  634. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-cygwin/types.conf +0 -3
  635. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-darwin/types.conf +0 -100
  636. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-freebsd/types.conf +0 -152
  637. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-freebsd12/types.conf +0 -152
  638. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-gnu/types.conf +0 -107
  639. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-linux/types.conf +0 -103
  640. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-netbsd/types.conf +0 -126
  641. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-openbsd/types.conf +0 -128
  642. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-solaris/types.conf +0 -122
  643. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/i386-windows/types.conf +0 -105
  644. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/ia64-linux/types.conf +0 -104
  645. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips-linux/types.conf +0 -102
  646. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips64-linux/types.conf +0 -104
  647. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mips64el-linux/types.conf +0 -104
  648. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsel-linux/types.conf +0 -102
  649. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa32r6-linux/types.conf +0 -102
  650. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa32r6el-linux/types.conf +0 -102
  651. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa64r6-linux/types.conf +0 -104
  652. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/mipsisa64r6el-linux/types.conf +0 -104
  653. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-aix/types.conf +0 -180
  654. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-darwin/types.conf +0 -100
  655. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc-linux/types.conf +0 -100
  656. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/powerpc64-linux/types.conf +0 -104
  657. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/s390-linux/types.conf +0 -102
  658. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/s390x-linux/types.conf +0 -102
  659. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc-linux/types.conf +0 -102
  660. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc-solaris/types.conf +0 -128
  661. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparc64-linux/types.conf +0 -102
  662. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/sparcv9-solaris/types.conf +0 -128
  663. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-cygwin/types.conf +0 -3
  664. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-darwin/types.conf +0 -126
  665. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-freebsd/types.conf +0 -128
  666. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-freebsd12/types.conf +0 -128
  667. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-linux/types.conf +0 -102
  668. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-netbsd/types.conf +0 -128
  669. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-openbsd/types.conf +0 -134
  670. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-solaris/types.conf +0 -122
  671. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/platform/x86_64-windows/types.conf +0 -120
  672. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/pointer.rb +0 -160
  673. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/struct.rb +0 -371
  674. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/struct_layout_builder.rb +0 -227
  675. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/const_generator.rb +0 -229
  676. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/generator.rb +0 -60
  677. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/generator_task.rb +0 -36
  678. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/struct_generator.rb +0 -194
  679. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/tools/types_generator.rb +0 -134
  680. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/types.rb +0 -194
  681. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/union.rb +0 -43
  682. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/variadic.rb +0 -78
  683. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/lib/ffi/version.rb +0 -3
  684. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/getlogin.rb +0 -8
  685. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/getpid.rb +0 -8
  686. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/gettimeofday.rb +0 -18
  687. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/hello.rb +0 -7
  688. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/inotify.rb +0 -60
  689. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/pty.rb +0 -76
  690. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/qsort.rb +0 -21
  691. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.10.0/samples/sample_helper.rb +0 -6
  692. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.gitignore +0 -8
  693. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.rspec +0 -4
  694. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/.travis.yml +0 -22
  695. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/CHANGELOG.md +0 -394
  696. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/CONTRIBUTING.md +0 -16
  697. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Gemfile +0 -32
  698. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Guardfile +0 -9
  699. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/LICENSE +0 -22
  700. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/README.md +0 -581
  701. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/Rakefile +0 -38
  702. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/UPGRADE.md +0 -55
  703. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus.rb +0 -1
  704. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus/middleware/params_decoder.rb +0 -57
  705. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
  706. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus.rb +0 -142
  707. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/adapters/faraday.rb +0 -180
  708. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/dalli.rb +0 -26
  709. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/rails.rb +0 -26
  710. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/cache/redis.rb +0 -33
  711. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/config.rb +0 -69
  712. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/easy_factory.rb +0 -180
  713. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors.rb +0 -9
  714. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors/no_stub.rb +0 -12
  715. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/errors/typhoeus_error.rb +0 -8
  716. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/expectation.rb +0 -217
  717. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra.rb +0 -95
  718. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/addable.rb +0 -23
  719. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/before.rb +0 -31
  720. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/block_connection.rb +0 -35
  721. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/cacheable.rb +0 -15
  722. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/memoizable.rb +0 -56
  723. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/queueable.rb +0 -83
  724. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/runnable.rb +0 -19
  725. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/hydra/stubbable.rb +0 -28
  726. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/pool.rb +0 -70
  727. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/railtie.rb +0 -12
  728. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request.rb +0 -221
  729. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/actions.rb +0 -125
  730. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/before.rb +0 -30
  731. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/block_connection.rb +0 -52
  732. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/cacheable.rb +0 -34
  733. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/callbacks.rb +0 -151
  734. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/marshal.rb +0 -22
  735. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/memoizable.rb +0 -38
  736. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/operations.rb +0 -40
  737. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/responseable.rb +0 -29
  738. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/streamable.rb +0 -34
  739. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/request/stubbable.rb +0 -30
  740. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response.rb +0 -68
  741. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/cacheable.rb +0 -14
  742. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/header.rb +0 -105
  743. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/informations.rb +0 -248
  744. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/response/status.rb +0 -106
  745. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus/version.rb +0 -5
  746. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/perf/profile.rb +0 -14
  747. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/perf/vs_nethttp.rb +0 -64
  748. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +0 -156
  749. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +0 -31
  750. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/spec_helper.rb +0 -29
  751. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/localhost_server.rb +0 -94
  752. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/memory_cache.rb +0 -15
  753. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/support/server.rb +0 -116
  754. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/adapters/faraday_spec.rb +0 -339
  755. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/cache/dalli_spec.rb +0 -41
  756. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/cache/redis_spec.rb +0 -41
  757. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/config_spec.rb +0 -15
  758. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/easy_factory_spec.rb +0 -143
  759. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/errors/no_stub_spec.rb +0 -13
  760. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/expectation_spec.rb +0 -280
  761. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/addable_spec.rb +0 -22
  762. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/before_spec.rb +0 -98
  763. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/block_connection_spec.rb +0 -18
  764. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/cacheable_spec.rb +0 -58
  765. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/memoizable_spec.rb +0 -53
  766. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/queueable_spec.rb +0 -98
  767. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/runnable_spec.rb +0 -137
  768. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra/stubbable_spec.rb +0 -48
  769. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/hydra_spec.rb +0 -22
  770. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/pool_spec.rb +0 -135
  771. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/actions_spec.rb +0 -19
  772. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/before_spec.rb +0 -93
  773. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/block_connection_spec.rb +0 -75
  774. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/cacheable_spec.rb +0 -94
  775. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/callbacks_spec.rb +0 -91
  776. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/marshal_spec.rb +0 -60
  777. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/memoizable_spec.rb +0 -34
  778. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/operations_spec.rb +0 -101
  779. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/responseable_spec.rb +0 -13
  780. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request/stubbable_spec.rb +0 -45
  781. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/request_spec.rb +0 -232
  782. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/header_spec.rb +0 -147
  783. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/informations_spec.rb +0 -283
  784. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response/status_spec.rb +0 -256
  785. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus/response_spec.rb +0 -100
  786. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/spec/typhoeus_spec.rb +0 -105
  787. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.3.1/typhoeus.gemspec +0 -25
  788. data/vendor/bundle/ruby/2.6.0/specifications/approveapi_swagger-1.0.1.gemspec +0 -57
  789. data/vendor/bundle/ruby/2.6.0/specifications/ethon-0.12.0.gemspec +0 -32
  790. data/vendor/bundle/ruby/2.6.0/specifications/ffi-1.10.0.gemspec +0 -49
  791. data/vendor/bundle/ruby/2.6.0/specifications/typhoeus-1.3.1.gemspec +0 -32
@@ -1,1001 +0,0 @@
1
- /*
2
- * Copyright (c) 2009-2011 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 _MSC_VER
31
- #include <sys/param.h>
32
- #endif
33
- #include <sys/types.h>
34
- #ifndef _WIN32
35
- # include <sys/mman.h>
36
- # include <unistd.h>
37
- #endif
38
-
39
- #include <stdio.h>
40
- #ifndef _MSC_VER
41
- # include <stdint.h>
42
- # include <stdbool.h>
43
- #else
44
- # include "win32/stdbool.h"
45
- # if !defined(INT8_MIN)
46
- # include "win32/stdint.h"
47
- # endif
48
- #endif
49
- #include <ruby.h>
50
- #if defined(HAVE_RUBY_THREAD_H)
51
- #include <ruby/thread.h>
52
- #endif
53
-
54
- #include <ffi.h>
55
- #if defined(HAVE_NATIVETHREAD) && !defined(_WIN32)
56
- #include <pthread.h>
57
- #endif
58
- #include <fcntl.h>
59
-
60
- #include "rbffi.h"
61
- #include "compat.h"
62
-
63
- #include "AbstractMemory.h"
64
- #include "Pointer.h"
65
- #include "Struct.h"
66
- #include "Platform.h"
67
- #include "Type.h"
68
- #include "LastError.h"
69
- #include "Call.h"
70
- #include "ClosurePool.h"
71
- #include "MappedType.h"
72
- #include "Thread.h"
73
- #include "LongDouble.h"
74
- #include "MethodHandle.h"
75
- #include "Function.h"
76
-
77
- typedef struct Function_ {
78
- Pointer base;
79
- FunctionType* info;
80
- MethodHandle* methodHandle;
81
- bool autorelease;
82
- Closure* closure;
83
- VALUE rbProc;
84
- VALUE rbFunctionInfo;
85
- } Function;
86
-
87
- static void function_mark(Function *);
88
- static void function_free(Function *);
89
- static VALUE function_init(VALUE self, VALUE rbFunctionInfo, VALUE rbProc);
90
- static void callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data);
91
- static bool callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize);
92
- static void* callback_with_gvl(void* data);
93
- static VALUE invoke_callback(void* data);
94
- static VALUE save_callback_exception(void* data, VALUE exc);
95
-
96
- #define DEFER_ASYNC_CALLBACK 1
97
-
98
-
99
- #if defined(DEFER_ASYNC_CALLBACK)
100
- static VALUE async_cb_event(void *);
101
- static VALUE async_cb_call(void *);
102
- #endif
103
-
104
- #ifdef HAVE_RB_THREAD_CALL_WITH_GVL
105
- extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
106
- #endif
107
-
108
- VALUE rbffi_FunctionClass = Qnil;
109
-
110
- #if defined(DEFER_ASYNC_CALLBACK)
111
- static VALUE async_cb_thread = Qnil;
112
- #endif
113
-
114
- static ID id_call = 0, id_to_native = 0, id_from_native = 0, id_cbtable = 0, id_cb_ref = 0;
115
-
116
- struct gvl_callback {
117
- Closure* closure;
118
- void* retval;
119
- void** parameters;
120
- bool done;
121
- rbffi_frame_t *frame;
122
- #if defined(DEFER_ASYNC_CALLBACK)
123
- struct gvl_callback* next;
124
- # ifndef _WIN32
125
- pthread_cond_t async_cond;
126
- pthread_mutex_t async_mutex;
127
- # else
128
- HANDLE async_event;
129
- # endif
130
- #endif
131
- };
132
-
133
-
134
- #if defined(DEFER_ASYNC_CALLBACK)
135
- static struct gvl_callback* async_cb_list = NULL;
136
- # ifndef _WIN32
137
- static pthread_mutex_t async_cb_mutex = PTHREAD_MUTEX_INITIALIZER;
138
- static pthread_cond_t async_cb_cond = PTHREAD_COND_INITIALIZER;
139
- # if !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL))
140
- static int async_cb_pipe[2];
141
- # endif
142
- # else
143
- static HANDLE async_cb_cond;
144
- static CRITICAL_SECTION async_cb_lock;
145
- # if !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL))
146
- static int async_cb_pipe[2];
147
- # endif
148
- # endif
149
- #endif
150
-
151
-
152
- static VALUE
153
- function_allocate(VALUE klass)
154
- {
155
- Function *fn;
156
- VALUE obj;
157
-
158
- obj = Data_Make_Struct(klass, Function, function_mark, function_free, fn);
159
-
160
- fn->base.memory.flags = MEM_RD;
161
- fn->base.rbParent = Qnil;
162
- fn->rbProc = Qnil;
163
- fn->rbFunctionInfo = Qnil;
164
- fn->autorelease = true;
165
-
166
- return obj;
167
- }
168
-
169
- static void
170
- function_mark(Function *fn)
171
- {
172
- rb_gc_mark(fn->base.rbParent);
173
- rb_gc_mark(fn->rbProc);
174
- rb_gc_mark(fn->rbFunctionInfo);
175
- }
176
-
177
- static void
178
- function_free(Function *fn)
179
- {
180
- if (fn->methodHandle != NULL) {
181
- rbffi_MethodHandle_Free(fn->methodHandle);
182
- }
183
-
184
- if (fn->closure != NULL && fn->autorelease) {
185
- rbffi_Closure_Free(fn->closure);
186
- }
187
-
188
- xfree(fn);
189
- }
190
-
191
- /*
192
- * @param [Type, Symbol] return_type return type for the function
193
- * @param [Array<Type, Symbol>] param_types array of parameters types
194
- * @param [Hash] options see {FFI::FunctionType} for available options
195
- * @return [self]
196
- * A new Function instance.
197
- *
198
- * Define a function from a Proc or a block.
199
- *
200
- * @overload initialize(return_type, param_types, options = {}) { |i| ... }
201
- * @yieldparam i parameters for the function
202
- * @overload initialize(return_type, param_types, proc, options = {})
203
- * @param [Proc] proc
204
- */
205
- static VALUE
206
- function_initialize(int argc, VALUE* argv, VALUE self)
207
- {
208
-
209
- VALUE rbReturnType = Qnil, rbParamTypes = Qnil, rbProc = Qnil, rbOptions = Qnil;
210
- VALUE rbFunctionInfo = Qnil;
211
- VALUE infoArgv[3];
212
- int nargs;
213
-
214
- nargs = rb_scan_args(argc, argv, "22", &rbReturnType, &rbParamTypes, &rbProc, &rbOptions);
215
-
216
- /*
217
- * Callback with block,
218
- * e.g. Function.new(:int, [ :int ]) { |i| blah }
219
- * or Function.new(:int, [ :int ], { :convention => :stdcall }) { |i| blah }
220
- */
221
- if (rb_block_given_p()) {
222
- if (nargs > 3) {
223
- rb_raise(rb_eArgError, "cannot create function with both proc/address and block");
224
- }
225
- rbOptions = rbProc;
226
- rbProc = rb_block_proc();
227
- } else {
228
- /* Callback with proc, or Function with address
229
- * e.g. Function.new(:int, [ :int ], Proc.new { |i| })
230
- * Function.new(:int, [ :int ], Proc.new { |i| }, { :convention => :stdcall })
231
- * Function.new(:int, [ :int ], addr)
232
- * Function.new(:int, [ :int ], addr, { :convention => :stdcall })
233
- */
234
- }
235
-
236
- infoArgv[0] = rbReturnType;
237
- infoArgv[1] = rbParamTypes;
238
- infoArgv[2] = rbOptions;
239
- rbFunctionInfo = rb_class_new_instance(rbOptions != Qnil ? 3 : 2, infoArgv, rbffi_FunctionTypeClass);
240
-
241
- function_init(self, rbFunctionInfo, rbProc);
242
-
243
- return self;
244
- }
245
-
246
- /*
247
- * call-seq: initialize_copy(other)
248
- * @return [nil]
249
- * DO NOT CALL THIS METHOD
250
- */
251
- static VALUE
252
- function_initialize_copy(VALUE self, VALUE other)
253
- {
254
- rb_raise(rb_eRuntimeError, "cannot duplicate function instances");
255
- return Qnil;
256
- }
257
-
258
- VALUE
259
- rbffi_Function_NewInstance(VALUE rbFunctionInfo, VALUE rbProc)
260
- {
261
- return function_init(function_allocate(rbffi_FunctionClass), rbFunctionInfo, rbProc);
262
- }
263
-
264
- VALUE
265
- rbffi_Function_ForProc(VALUE rbFunctionInfo, VALUE proc)
266
- {
267
- VALUE callback, cbref, cbTable;
268
- Function* fp;
269
-
270
- cbref = RTEST(rb_ivar_defined(proc, id_cb_ref)) ? rb_ivar_get(proc, id_cb_ref) : Qnil;
271
- /* If the first callback reference has the same function function signature, use it */
272
- if (cbref != Qnil && CLASS_OF(cbref) == rbffi_FunctionClass) {
273
- Data_Get_Struct(cbref, Function, fp);
274
- if (fp->rbFunctionInfo == rbFunctionInfo) {
275
- return cbref;
276
- }
277
- }
278
-
279
- cbTable = RTEST(rb_ivar_defined(proc, id_cbtable)) ? rb_ivar_get(proc, id_cbtable) : Qnil;
280
- if (cbTable != Qnil && (callback = rb_hash_aref(cbTable, rbFunctionInfo)) != Qnil) {
281
- return callback;
282
- }
283
-
284
- /* No existing function for the proc with that signature, create a new one and cache it */
285
- callback = rbffi_Function_NewInstance(rbFunctionInfo, proc);
286
- if (cbref == Qnil) {
287
- /* If there is no other cb already cached for this proc, we can use the ivar slot */
288
- rb_ivar_set(proc, id_cb_ref, callback);
289
- } else {
290
- /* The proc instance has been used as more than one type of callback, store extras in a hash */
291
- cbTable = rb_hash_new();
292
- rb_ivar_set(proc, id_cbtable, cbTable);
293
- rb_hash_aset(cbTable, rbFunctionInfo, callback);
294
- }
295
-
296
- return callback;
297
- }
298
-
299
- static VALUE
300
- function_init(VALUE self, VALUE rbFunctionInfo, VALUE rbProc)
301
- {
302
- Function* fn = NULL;
303
-
304
- Data_Get_Struct(self, Function, fn);
305
-
306
- fn->rbFunctionInfo = rbFunctionInfo;
307
-
308
- Data_Get_Struct(fn->rbFunctionInfo, FunctionType, fn->info);
309
-
310
- if (rb_obj_is_kind_of(rbProc, rbffi_PointerClass)) {
311
- Pointer* orig;
312
- Data_Get_Struct(rbProc, Pointer, orig);
313
- fn->base.memory = orig->memory;
314
- fn->base.rbParent = rbProc;
315
-
316
- } else if (rb_obj_is_kind_of(rbProc, rb_cProc) || rb_respond_to(rbProc, id_call)) {
317
- if (fn->info->closurePool == NULL) {
318
- fn->info->closurePool = rbffi_ClosurePool_New(sizeof(ffi_closure), callback_prep, fn->info);
319
- if (fn->info->closurePool == NULL) {
320
- rb_raise(rb_eNoMemError, "failed to create closure pool");
321
- }
322
- }
323
-
324
- #if defined(DEFER_ASYNC_CALLBACK)
325
- if (async_cb_thread == Qnil) {
326
- #if !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)) && defined(_WIN32)
327
- _pipe(async_cb_pipe, 1024, O_BINARY);
328
- #elif !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL))
329
- pipe(async_cb_pipe);
330
- fcntl(async_cb_pipe[0], F_SETFL, fcntl(async_cb_pipe[0], F_GETFL) | O_NONBLOCK);
331
- fcntl(async_cb_pipe[1], F_SETFL, fcntl(async_cb_pipe[1], F_GETFL) | O_NONBLOCK);
332
- #endif
333
- async_cb_thread = rb_thread_create(async_cb_event, NULL);
334
- }
335
-
336
- #endif
337
-
338
- fn->closure = rbffi_Closure_Alloc(fn->info->closurePool);
339
- fn->closure->info = fn;
340
- fn->base.memory.address = fn->closure->code;
341
- fn->base.memory.size = sizeof(*fn->closure);
342
- fn->autorelease = true;
343
-
344
- } else {
345
- rb_raise(rb_eTypeError, "wrong argument type %s, expected pointer or proc",
346
- rb_obj_classname(rbProc));
347
- }
348
-
349
- fn->rbProc = rbProc;
350
-
351
- return self;
352
- }
353
-
354
- /*
355
- * call-seq: call(*args)
356
- * @param [Array] args function arguments
357
- * @return [FFI::Type]
358
- * Call the function
359
- */
360
- static VALUE
361
- function_call(int argc, VALUE* argv, VALUE self)
362
- {
363
- Function* fn;
364
-
365
- Data_Get_Struct(self, Function, fn);
366
-
367
- return (*fn->info->invoke)(argc, argv, fn->base.memory.address, fn->info);
368
- }
369
-
370
- /*
371
- * call-seq: attach(m, name)
372
- * @param [Module] m
373
- * @param [String] name
374
- * @return [self]
375
- * Attach a Function to the Module +m+ as +name+.
376
- */
377
- static VALUE
378
- function_attach(VALUE self, VALUE module, VALUE name)
379
- {
380
- Function* fn;
381
- char var[1024];
382
-
383
- Data_Get_Struct(self, Function, fn);
384
-
385
- if (fn->info->parameterCount == -1) {
386
- rb_raise(rb_eRuntimeError, "cannot attach variadic functions");
387
- return Qnil;
388
- }
389
-
390
- if (!rb_obj_is_kind_of(module, rb_cModule)) {
391
- rb_raise(rb_eRuntimeError, "trying to attach function to non-module");
392
- return Qnil;
393
- }
394
-
395
- if (fn->methodHandle == NULL) {
396
- fn->methodHandle = rbffi_MethodHandle_Alloc(fn->info, fn->base.memory.address);
397
- }
398
-
399
- /*
400
- * Stash the Function in a module variable so it does not get garbage collected
401
- */
402
- snprintf(var, sizeof(var), "@@%s", StringValueCStr(name));
403
- rb_cv_set(module, var, self);
404
-
405
- rb_define_singleton_method(module, StringValueCStr(name),
406
- rbffi_MethodHandle_CodeAddress(fn->methodHandle), -1);
407
-
408
-
409
- rb_define_method(module, StringValueCStr(name),
410
- rbffi_MethodHandle_CodeAddress(fn->methodHandle), -1);
411
-
412
- return self;
413
- }
414
-
415
- /*
416
- * call-seq: autorelease = autorelease
417
- * @param [Boolean] autorelease
418
- * @return [self]
419
- * Set +autorelease+ attribute (See {Pointer}).
420
- */
421
- static VALUE
422
- function_set_autorelease(VALUE self, VALUE autorelease)
423
- {
424
- Function* fn;
425
-
426
- Data_Get_Struct(self, Function, fn);
427
-
428
- fn->autorelease = RTEST(autorelease);
429
-
430
- return self;
431
- }
432
-
433
- static VALUE
434
- function_autorelease_p(VALUE self)
435
- {
436
- Function* fn;
437
-
438
- Data_Get_Struct(self, Function, fn);
439
-
440
- return fn->autorelease ? Qtrue : Qfalse;
441
- }
442
-
443
- /*
444
- * call-seq: free
445
- * @return [self]
446
- * Free memory allocated by Function.
447
- */
448
- static VALUE
449
- function_release(VALUE self)
450
- {
451
- Function* fn;
452
-
453
- Data_Get_Struct(self, Function, fn);
454
-
455
- if (fn->closure == NULL) {
456
- rb_raise(rb_eRuntimeError, "cannot free function which was not allocated");
457
- }
458
-
459
- rbffi_Closure_Free(fn->closure);
460
- fn->closure = NULL;
461
-
462
- return self;
463
- }
464
-
465
- static void
466
- callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data)
467
- {
468
- struct gvl_callback cb = { 0 };
469
-
470
- cb.closure = (Closure *) user_data;
471
- cb.retval = retval;
472
- cb.parameters = parameters;
473
- cb.done = false;
474
- cb.frame = rbffi_frame_current();
475
-
476
- if (cb.frame != NULL) cb.frame->exc = Qnil;
477
- if (cb.frame != NULL && cb.frame->has_gvl) {
478
- callback_with_gvl(&cb);
479
-
480
- #if defined(HAVE_RB_THREAD_CALL_WITH_GVL)
481
- } else if (cb.frame != NULL) {
482
- rb_thread_call_with_gvl(callback_with_gvl, &cb);
483
- #endif
484
- #if defined(DEFER_ASYNC_CALLBACK) && !defined(_WIN32)
485
- } else {
486
- bool empty = false;
487
-
488
- pthread_mutex_init(&cb.async_mutex, NULL);
489
- pthread_cond_init(&cb.async_cond, NULL);
490
-
491
- /* Now signal the async callback thread */
492
- pthread_mutex_lock(&async_cb_mutex);
493
- empty = async_cb_list == NULL;
494
- cb.next = async_cb_list;
495
- async_cb_list = &cb;
496
-
497
- #if !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL))
498
- pthread_mutex_unlock(&async_cb_mutex);
499
- /* Only signal if the list was empty */
500
- if (empty) {
501
- char c;
502
- write(async_cb_pipe[1], &c, 1);
503
- }
504
- #else
505
- pthread_cond_signal(&async_cb_cond);
506
- pthread_mutex_unlock(&async_cb_mutex);
507
- #endif
508
-
509
- /* Wait for the thread executing the ruby callback to signal it is done */
510
- pthread_mutex_lock(&cb.async_mutex);
511
- while (!cb.done) {
512
- pthread_cond_wait(&cb.async_cond, &cb.async_mutex);
513
- }
514
- pthread_mutex_unlock(&cb.async_mutex);
515
- pthread_cond_destroy(&cb.async_cond);
516
- pthread_mutex_destroy(&cb.async_mutex);
517
-
518
- #elif defined(DEFER_ASYNC_CALLBACK) && defined(_WIN32)
519
- } else {
520
- bool empty = false;
521
-
522
- cb.async_event = CreateEvent(NULL, FALSE, FALSE, NULL);
523
-
524
- /* Now signal the async callback thread */
525
- EnterCriticalSection(&async_cb_lock);
526
- empty = async_cb_list == NULL;
527
- cb.next = async_cb_list;
528
- async_cb_list = &cb;
529
- LeaveCriticalSection(&async_cb_lock);
530
-
531
- #if !(defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL))
532
- /* Only signal if the list was empty */
533
- if (empty) {
534
- char c;
535
- write(async_cb_pipe[1], &c, 1);
536
- }
537
- #else
538
- SetEvent(async_cb_cond);
539
- #endif
540
-
541
- /* Wait for the thread executing the ruby callback to signal it is done */
542
- WaitForSingleObject(cb.async_event, INFINITE);
543
- CloseHandle(cb.async_event);
544
- #endif
545
- }
546
- }
547
-
548
- #if defined(DEFER_ASYNC_CALLBACK)
549
- struct async_wait {
550
- void* cb;
551
- bool stop;
552
- };
553
-
554
- static void * async_cb_wait(void *);
555
- static void async_cb_stop(void *);
556
-
557
- #if defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
558
- static VALUE
559
- async_cb_event(void* unused)
560
- {
561
- struct async_wait w = { 0 };
562
-
563
- w.stop = false;
564
- while (!w.stop) {
565
- #if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
566
- rb_thread_call_without_gvl(async_cb_wait, &w, async_cb_stop, &w);
567
- #else
568
- rb_thread_blocking_region(async_cb_wait, &w, async_cb_stop, &w);
569
- #endif
570
- if (w.cb != NULL) {
571
- /* Start up a new ruby thread to run the ruby callback */
572
- rb_thread_create(async_cb_call, w.cb);
573
- }
574
- }
575
-
576
- return Qnil;
577
- }
578
-
579
- #elif defined(_WIN32)
580
- static VALUE
581
- async_cb_event(void* unused)
582
- {
583
- while (true) {
584
- struct gvl_callback* cb;
585
- char buf[64];
586
- fd_set rfds;
587
-
588
- FD_ZERO(&rfds);
589
- FD_SET(async_cb_pipe[0], &rfds);
590
- rb_thread_select(async_cb_pipe[0] + 1, &rfds, NULL, NULL, NULL);
591
- read(async_cb_pipe[0], buf, sizeof(buf));
592
-
593
- EnterCriticalSection(&async_cb_lock);
594
- cb = async_cb_list;
595
- async_cb_list = NULL;
596
- LeaveCriticalSection(&async_cb_lock);
597
-
598
- while (cb != NULL) {
599
- struct gvl_callback* next = cb->next;
600
- /* Start up a new ruby thread to run the ruby callback */
601
- rb_thread_create(async_cb_call, cb);
602
- cb = next;
603
- }
604
- }
605
-
606
- return Qnil;
607
- }
608
- #else
609
- static VALUE
610
- async_cb_event(void* unused)
611
- {
612
- while (true) {
613
- struct gvl_callback* cb;
614
- char buf[64];
615
-
616
- if (read(async_cb_pipe[0], buf, sizeof(buf)) < 0) {
617
- rb_thread_wait_fd(async_cb_pipe[0]);
618
- while (read(async_cb_pipe[0], buf, sizeof (buf)) < 0) {
619
- if (rb_io_wait_readable(async_cb_pipe[0]) != Qtrue) {
620
- return Qfalse;
621
- }
622
- }
623
- }
624
-
625
- pthread_mutex_lock(&async_cb_mutex);
626
- cb = async_cb_list;
627
- async_cb_list = NULL;
628
- pthread_mutex_unlock(&async_cb_mutex);
629
-
630
- while (cb != NULL) {
631
- struct gvl_callback* next = cb->next;
632
- /* Start up a new ruby thread to run the ruby callback */
633
- rb_thread_create(async_cb_call, cb);
634
- cb = next;
635
- }
636
- }
637
-
638
- return Qnil;
639
- }
640
- #endif
641
-
642
- #ifdef _WIN32
643
- static void *
644
- async_cb_wait(void *data)
645
- {
646
- struct async_wait* w = (struct async_wait *) data;
647
-
648
- w->cb = NULL;
649
-
650
- EnterCriticalSection(&async_cb_lock);
651
-
652
- while (!w->stop && async_cb_list == NULL) {
653
- LeaveCriticalSection(&async_cb_lock);
654
- WaitForSingleObject(async_cb_cond, INFINITE);
655
- EnterCriticalSection(&async_cb_lock);
656
- }
657
-
658
- if (async_cb_list != NULL) {
659
- w->cb = async_cb_list;
660
- async_cb_list = async_cb_list->next;
661
- }
662
-
663
- LeaveCriticalSection(&async_cb_lock);
664
-
665
- return NULL;
666
- }
667
-
668
- static void
669
- async_cb_stop(void *data)
670
- {
671
- struct async_wait* w = (struct async_wait *) data;
672
-
673
- EnterCriticalSection(&async_cb_lock);
674
- w->stop = true;
675
- LeaveCriticalSection(&async_cb_lock);
676
- SetEvent(async_cb_cond);
677
- }
678
-
679
- #else
680
- static void *
681
- async_cb_wait(void *data)
682
- {
683
- struct async_wait* w = (struct async_wait *) data;
684
-
685
- w->cb = NULL;
686
-
687
- pthread_mutex_lock(&async_cb_mutex);
688
-
689
- while (!w->stop && async_cb_list == NULL) {
690
- pthread_cond_wait(&async_cb_cond, &async_cb_mutex);
691
- }
692
-
693
- if (async_cb_list != NULL) {
694
- w->cb = async_cb_list;
695
- async_cb_list = async_cb_list->next;
696
- }
697
-
698
- pthread_mutex_unlock(&async_cb_mutex);
699
-
700
- return NULL;
701
- }
702
-
703
- static void
704
- async_cb_stop(void *data)
705
- {
706
- struct async_wait* w = (struct async_wait *) data;
707
-
708
- pthread_mutex_lock(&async_cb_mutex);
709
- w->stop = true;
710
- pthread_cond_signal(&async_cb_cond);
711
- pthread_mutex_unlock(&async_cb_mutex);
712
- }
713
- #endif
714
-
715
- static VALUE
716
- async_cb_call(void *data)
717
- {
718
- struct gvl_callback* cb = (struct gvl_callback *) data;
719
-
720
- callback_with_gvl(data);
721
-
722
- /* Signal the original native thread that the ruby code has completed */
723
- #ifdef _WIN32
724
- SetEvent(cb->async_event);
725
- #else
726
- pthread_mutex_lock(&cb->async_mutex);
727
- cb->done = true;
728
- pthread_cond_signal(&cb->async_cond);
729
- pthread_mutex_unlock(&cb->async_mutex);
730
- #endif
731
-
732
- return Qnil;
733
- }
734
-
735
- #endif
736
-
737
- static void *
738
- callback_with_gvl(void* data)
739
- {
740
- rb_rescue2(invoke_callback, (VALUE) data, save_callback_exception, (VALUE) data, rb_eException, (VALUE) 0);
741
- return NULL;
742
- }
743
-
744
- static VALUE
745
- invoke_callback(void* data)
746
- {
747
- struct gvl_callback* cb = (struct gvl_callback *) data;
748
-
749
- Function* fn = (Function *) cb->closure->info;
750
- FunctionType *cbInfo = fn->info;
751
- Type* returnType = cbInfo->returnType;
752
- void* retval = cb->retval;
753
- void** parameters = cb->parameters;
754
- VALUE* rbParams;
755
- VALUE rbReturnType = cbInfo->rbReturnType;
756
- VALUE rbReturnValue;
757
- int i;
758
-
759
- rbParams = ALLOCA_N(VALUE, cbInfo->parameterCount);
760
- for (i = 0; i < cbInfo->parameterCount; ++i) {
761
- VALUE param;
762
- Type* paramType = cbInfo->parameterTypes[i];
763
- VALUE rbParamType = rb_ary_entry(cbInfo->rbParameterTypes, i);
764
-
765
- if (unlikely(paramType->nativeType == NATIVE_MAPPED)) {
766
- rbParamType = ((MappedType *) paramType)->rbType;
767
- paramType = ((MappedType *) paramType)->type;
768
- }
769
-
770
- switch (paramType->nativeType) {
771
- case NATIVE_INT8:
772
- param = INT2NUM(*(int8_t *) parameters[i]);
773
- break;
774
- case NATIVE_UINT8:
775
- param = UINT2NUM(*(uint8_t *) parameters[i]);
776
- break;
777
- case NATIVE_INT16:
778
- param = INT2NUM(*(int16_t *) parameters[i]);
779
- break;
780
- case NATIVE_UINT16:
781
- param = UINT2NUM(*(uint16_t *) parameters[i]);
782
- break;
783
- case NATIVE_INT32:
784
- param = INT2NUM(*(int32_t *) parameters[i]);
785
- break;
786
- case NATIVE_UINT32:
787
- param = UINT2NUM(*(uint32_t *) parameters[i]);
788
- break;
789
- case NATIVE_INT64:
790
- param = LL2NUM(*(int64_t *) parameters[i]);
791
- break;
792
- case NATIVE_UINT64:
793
- param = ULL2NUM(*(uint64_t *) parameters[i]);
794
- break;
795
- case NATIVE_LONG:
796
- param = LONG2NUM(*(long *) parameters[i]);
797
- break;
798
- case NATIVE_ULONG:
799
- param = ULONG2NUM(*(unsigned long *) parameters[i]);
800
- break;
801
- case NATIVE_FLOAT32:
802
- param = rb_float_new(*(float *) parameters[i]);
803
- break;
804
- case NATIVE_FLOAT64:
805
- param = rb_float_new(*(double *) parameters[i]);
806
- break;
807
- case NATIVE_LONGDOUBLE:
808
- param = rbffi_longdouble_new(*(long double *) parameters[i]);
809
- break;
810
- case NATIVE_STRING:
811
- param = (*(void **) parameters[i] != NULL) ? rb_tainted_str_new2(*(char **) parameters[i]) : Qnil;
812
- break;
813
- case NATIVE_POINTER:
814
- param = rbffi_Pointer_NewInstance(*(void **) parameters[i]);
815
- break;
816
- case NATIVE_BOOL:
817
- param = (*(uint8_t *) parameters[i]) ? Qtrue : Qfalse;
818
- break;
819
-
820
- case NATIVE_FUNCTION:
821
- case NATIVE_CALLBACK:
822
- case NATIVE_STRUCT:
823
- param = rbffi_NativeValue_ToRuby(paramType, rbParamType, parameters[i]);
824
- break;
825
-
826
- default:
827
- param = Qnil;
828
- break;
829
- }
830
-
831
- /* Convert the native value into a custom ruby value */
832
- if (unlikely(cbInfo->parameterTypes[i]->nativeType == NATIVE_MAPPED)) {
833
- VALUE values[] = { param, Qnil };
834
- param = rb_funcall2(((MappedType *) cbInfo->parameterTypes[i])->rbConverter, id_from_native, 2, values);
835
- }
836
-
837
- rbParams[i] = param;
838
- }
839
-
840
- rbReturnValue = rb_funcall2(fn->rbProc, id_call, cbInfo->parameterCount, rbParams);
841
-
842
- if (unlikely(returnType->nativeType == NATIVE_MAPPED)) {
843
- VALUE values[] = { rbReturnValue, Qnil };
844
- rbReturnValue = rb_funcall2(((MappedType *) returnType)->rbConverter, id_to_native, 2, values);
845
- rbReturnType = ((MappedType *) returnType)->rbType;
846
- returnType = ((MappedType* ) returnType)->type;
847
- }
848
-
849
- if (rbReturnValue == Qnil || TYPE(rbReturnValue) == T_NIL) {
850
- memset(retval, 0, returnType->ffiType->size);
851
- } else switch (returnType->nativeType) {
852
- case NATIVE_INT8:
853
- case NATIVE_INT16:
854
- case NATIVE_INT32:
855
- *((ffi_sarg *) retval) = NUM2INT(rbReturnValue);
856
- break;
857
- case NATIVE_UINT8:
858
- case NATIVE_UINT16:
859
- case NATIVE_UINT32:
860
- *((ffi_arg *) retval) = NUM2UINT(rbReturnValue);
861
- break;
862
- case NATIVE_INT64:
863
- *((int64_t *) retval) = NUM2LL(rbReturnValue);
864
- break;
865
- case NATIVE_UINT64:
866
- *((uint64_t *) retval) = NUM2ULL(rbReturnValue);
867
- break;
868
- case NATIVE_LONG:
869
- *((ffi_sarg *) retval) = NUM2LONG(rbReturnValue);
870
- break;
871
- case NATIVE_ULONG:
872
- *((ffi_arg *) retval) = NUM2ULONG(rbReturnValue);
873
- break;
874
- case NATIVE_FLOAT32:
875
- *((float *) retval) = (float) NUM2DBL(rbReturnValue);
876
- break;
877
- case NATIVE_FLOAT64:
878
- *((double *) retval) = NUM2DBL(rbReturnValue);
879
- break;
880
- case NATIVE_POINTER:
881
- if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_PointerClass)) {
882
- *((void **) retval) = ((AbstractMemory *) DATA_PTR(rbReturnValue))->address;
883
- } else {
884
- /* Default to returning NULL if not a value pointer object. handles nil case as well */
885
- *((void **) retval) = NULL;
886
- }
887
- break;
888
-
889
- case NATIVE_BOOL:
890
- *((ffi_arg *) retval) = rbReturnValue == Qtrue;
891
- break;
892
-
893
- case NATIVE_FUNCTION:
894
- case NATIVE_CALLBACK:
895
- if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_PointerClass)) {
896
-
897
- *((void **) retval) = ((AbstractMemory *) DATA_PTR(rbReturnValue))->address;
898
-
899
- } else if (rb_obj_is_kind_of(rbReturnValue, rb_cProc) || rb_respond_to(rbReturnValue, id_call)) {
900
- VALUE function;
901
-
902
- function = rbffi_Function_ForProc(rbReturnType, rbReturnValue);
903
-
904
- *((void **) retval) = ((AbstractMemory *) DATA_PTR(function))->address;
905
- } else {
906
- *((void **) retval) = NULL;
907
- }
908
- break;
909
-
910
- case NATIVE_STRUCT:
911
- if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_StructClass)) {
912
- AbstractMemory* memory = ((Struct *) DATA_PTR(rbReturnValue))->pointer;
913
-
914
- if (memory->address != NULL) {
915
- memcpy(retval, memory->address, returnType->ffiType->size);
916
-
917
- } else {
918
- memset(retval, 0, returnType->ffiType->size);
919
- }
920
-
921
- } else {
922
- memset(retval, 0, returnType->ffiType->size);
923
- }
924
- break;
925
-
926
- default:
927
- *((ffi_arg *) retval) = 0;
928
- break;
929
- }
930
-
931
- return Qnil;
932
- }
933
-
934
- static VALUE
935
- save_callback_exception(void* data, VALUE exc)
936
- {
937
- struct gvl_callback* cb = (struct gvl_callback *) data;
938
-
939
- memset(cb->retval, 0, ((Function *) cb->closure->info)->info->returnType->ffiType->size);
940
- if (cb->frame != NULL) cb->frame->exc = exc;
941
-
942
- return Qnil;
943
- }
944
-
945
- static bool
946
- callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize)
947
- {
948
- FunctionType* fnInfo = (FunctionType *) ctx;
949
- ffi_status ffiStatus;
950
-
951
- ffiStatus = ffi_prep_closure(code, &fnInfo->ffi_cif, callback_invoke, closure);
952
- if (ffiStatus != FFI_OK) {
953
- snprintf(errmsg, errmsgsize, "ffi_prep_closure failed. status=%#x", ffiStatus);
954
- return false;
955
- }
956
-
957
- return true;
958
- }
959
-
960
- void
961
- rbffi_Function_Init(VALUE moduleFFI)
962
- {
963
- rbffi_FunctionInfo_Init(moduleFFI);
964
- /*
965
- * Document-class: FFI::Function < FFI::Pointer
966
- */
967
- rbffi_FunctionClass = rb_define_class_under(moduleFFI, "Function", rbffi_PointerClass);
968
-
969
- rb_global_variable(&rbffi_FunctionClass);
970
- rb_define_alloc_func(rbffi_FunctionClass, function_allocate);
971
-
972
- rb_define_method(rbffi_FunctionClass, "initialize", function_initialize, -1);
973
- rb_define_method(rbffi_FunctionClass, "initialize_copy", function_initialize_copy, 1);
974
- rb_define_method(rbffi_FunctionClass, "call", function_call, -1);
975
- rb_define_method(rbffi_FunctionClass, "attach", function_attach, 2);
976
- rb_define_method(rbffi_FunctionClass, "free", function_release, 0);
977
- rb_define_method(rbffi_FunctionClass, "autorelease=", function_set_autorelease, 1);
978
- /*
979
- * call-seq: autorelease
980
- * @return [Boolean]
981
- * Get +autorelease+ attribute.
982
- * Synonymous for {#autorelease?}.
983
- */
984
- rb_define_method(rbffi_FunctionClass, "autorelease", function_autorelease_p, 0);
985
- /*
986
- * call-seq: autorelease?
987
- * @return [Boolean] +autorelease+ attribute
988
- * Get +autorelease+ attribute.
989
- */
990
- rb_define_method(rbffi_FunctionClass, "autorelease?", function_autorelease_p, 0);
991
-
992
- id_call = rb_intern("call");
993
- id_cbtable = rb_intern("@__ffi_callback_table__");
994
- id_cb_ref = rb_intern("@__ffi_callback__");
995
- id_to_native = rb_intern("to_native");
996
- id_from_native = rb_intern("from_native");
997
- #if defined(_WIN32)
998
- InitializeCriticalSection(&async_cb_lock);
999
- async_cb_cond = CreateEvent(NULL, FALSE, FALSE, NULL);
1000
- #endif
1001
- }