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,966 +0,0 @@
1
- /* -----------------------------------------------------------------------
2
- closures.c - Copyright (c) 2007, 2009, 2010 Red Hat, Inc.
3
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
4
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
5
-
6
- Code to allocate and deallocate memory for closures.
7
-
8
- Permission is hereby granted, free of charge, to any person obtaining
9
- a copy of this software and associated documentation files (the
10
- ``Software''), to deal in the Software without restriction, including
11
- without limitation the rights to use, copy, modify, merge, publish,
12
- distribute, sublicense, and/or sell copies of the Software, and to
13
- permit persons to whom the Software is furnished to do so, subject to
14
- the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be included
17
- in all copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
20
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
- DEALINGS IN THE SOFTWARE.
27
- ----------------------------------------------------------------------- */
28
-
29
- #if defined __linux__ && !defined _GNU_SOURCE
30
- #define _GNU_SOURCE 1
31
- #endif
32
-
33
- #include <fficonfig.h>
34
- #include <ffi.h>
35
- #include <ffi_common.h>
36
-
37
- #ifdef __NetBSD__
38
- #include <sys/param.h>
39
- #endif
40
-
41
- #if __NetBSD_Version__ - 0 >= 799007200
42
- /* NetBSD with PROT_MPROTECT */
43
- #include <sys/mman.h>
44
-
45
- #include <stddef.h>
46
- #include <unistd.h>
47
-
48
- static const size_t overhead =
49
- (sizeof(max_align_t) > sizeof(void *) + sizeof(size_t)) ?
50
- sizeof(max_align_t)
51
- : sizeof(void *) + sizeof(size_t);
52
-
53
- #define ADD_TO_POINTER(p, d) ((void *)((uintptr_t)(p) + (d)))
54
-
55
- void *
56
- ffi_closure_alloc (size_t size, void **code)
57
- {
58
- static size_t page_size;
59
- size_t rounded_size;
60
- void *codeseg, *dataseg;
61
- int prot;
62
-
63
- /* Expect that PAX mprotect is active and a separate code mapping is necessary. */
64
- if (!code)
65
- return NULL;
66
-
67
- /* Obtain system page size. */
68
- if (!page_size)
69
- page_size = sysconf(_SC_PAGESIZE);
70
-
71
- /* Round allocation size up to the next page, keeping in mind the size field and pointer to code map. */
72
- rounded_size = (size + overhead + page_size - 1) & ~(page_size - 1);
73
-
74
- /* Primary mapping is RW, but request permission to switch to PROT_EXEC later. */
75
- prot = PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC);
76
- dataseg = mmap(NULL, rounded_size, prot, MAP_ANON | MAP_PRIVATE, -1, 0);
77
- if (dataseg == MAP_FAILED)
78
- return NULL;
79
-
80
- /* Create secondary mapping and switch it to RX. */
81
- codeseg = mremap(dataseg, rounded_size, NULL, rounded_size, MAP_REMAPDUP);
82
- if (codeseg == MAP_FAILED) {
83
- munmap(dataseg, rounded_size);
84
- return NULL;
85
- }
86
- if (mprotect(codeseg, rounded_size, PROT_READ | PROT_EXEC) == -1) {
87
- munmap(codeseg, rounded_size);
88
- munmap(dataseg, rounded_size);
89
- return NULL;
90
- }
91
-
92
- /* Remember allocation size and location of the secondary mapping for ffi_closure_free. */
93
- memcpy(dataseg, &rounded_size, sizeof(rounded_size));
94
- memcpy(ADD_TO_POINTER(dataseg, sizeof(size_t)), &codeseg, sizeof(void *));
95
- *code = ADD_TO_POINTER(codeseg, overhead);
96
- return ADD_TO_POINTER(dataseg, overhead);
97
- }
98
-
99
- void
100
- ffi_closure_free (void *ptr)
101
- {
102
- void *codeseg, *dataseg;
103
- size_t rounded_size;
104
-
105
- dataseg = ADD_TO_POINTER(ptr, -overhead);
106
- memcpy(&rounded_size, dataseg, sizeof(rounded_size));
107
- memcpy(&codeseg, ADD_TO_POINTER(dataseg, sizeof(size_t)), sizeof(void *));
108
- munmap(dataseg, rounded_size);
109
- munmap(codeseg, rounded_size);
110
- }
111
- #else /* !NetBSD with PROT_MPROTECT */
112
-
113
- #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
114
- # if __linux__ && !defined(__ANDROID__)
115
- /* This macro indicates it may be forbidden to map anonymous memory
116
- with both write and execute permission. Code compiled when this
117
- option is defined will attempt to map such pages once, but if it
118
- fails, it falls back to creating a temporary file in a writable and
119
- executable filesystem and mapping pages from it into separate
120
- locations in the virtual memory space, one location writable and
121
- another executable. */
122
- # define FFI_MMAP_EXEC_WRIT 1
123
- # define HAVE_MNTENT 1
124
- # endif
125
- # if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
126
- /* Windows systems may have Data Execution Protection (DEP) enabled,
127
- which requires the use of VirtualMalloc/VirtualFree to alloc/free
128
- executable memory. */
129
- # define FFI_MMAP_EXEC_WRIT 1
130
- # endif
131
- #endif
132
-
133
- #if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
134
- # if defined(__linux__) && !defined(__ANDROID__)
135
- /* When defined to 1 check for SELinux and if SELinux is active,
136
- don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
137
- might cause audit messages. */
138
- # define FFI_MMAP_EXEC_SELINUX 1
139
- # endif
140
- #endif
141
-
142
- #if FFI_CLOSURES
143
-
144
- #if FFI_EXEC_TRAMPOLINE_TABLE
145
-
146
- #ifdef __MACH__
147
-
148
- #include <mach/mach.h>
149
- #include <pthread.h>
150
- #include <stdio.h>
151
- #include <stdlib.h>
152
-
153
- extern void *ffi_closure_trampoline_table_page;
154
-
155
- typedef struct ffi_trampoline_table ffi_trampoline_table;
156
- typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
157
-
158
- struct ffi_trampoline_table
159
- {
160
- /* contiguous writable and executable pages */
161
- vm_address_t config_page;
162
- vm_address_t trampoline_page;
163
-
164
- /* free list tracking */
165
- uint16_t free_count;
166
- ffi_trampoline_table_entry *free_list;
167
- ffi_trampoline_table_entry *free_list_pool;
168
-
169
- ffi_trampoline_table *prev;
170
- ffi_trampoline_table *next;
171
- };
172
-
173
- struct ffi_trampoline_table_entry
174
- {
175
- void *(*trampoline) ();
176
- ffi_trampoline_table_entry *next;
177
- };
178
-
179
- /* Total number of trampolines that fit in one trampoline table */
180
- #define FFI_TRAMPOLINE_COUNT (PAGE_MAX_SIZE / FFI_TRAMPOLINE_SIZE)
181
-
182
- static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
183
- static ffi_trampoline_table *ffi_trampoline_tables = NULL;
184
-
185
- static ffi_trampoline_table *
186
- ffi_trampoline_table_alloc (void)
187
- {
188
- ffi_trampoline_table *table;
189
- vm_address_t config_page;
190
- vm_address_t trampoline_page;
191
- vm_address_t trampoline_page_template;
192
- vm_prot_t cur_prot;
193
- vm_prot_t max_prot;
194
- kern_return_t kt;
195
- uint16_t i;
196
-
197
- /* Allocate two pages -- a config page and a placeholder page */
198
- config_page = 0x0;
199
- kt = vm_allocate (mach_task_self (), &config_page, PAGE_MAX_SIZE * 2,
200
- VM_FLAGS_ANYWHERE);
201
- if (kt != KERN_SUCCESS)
202
- return NULL;
203
-
204
- /* Remap the trampoline table on top of the placeholder page */
205
- trampoline_page = config_page + PAGE_MAX_SIZE;
206
- trampoline_page_template = (vm_address_t)&ffi_closure_trampoline_table_page;
207
- #ifdef __arm__
208
- /* ffi_closure_trampoline_table_page can be thumb-biased on some ARM archs */
209
- trampoline_page_template &= ~1UL;
210
- #endif
211
- kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_MAX_SIZE, 0x0,
212
- VM_FLAGS_OVERWRITE, mach_task_self (), trampoline_page_template,
213
- FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
214
- if (kt != KERN_SUCCESS)
215
- {
216
- vm_deallocate (mach_task_self (), config_page, PAGE_MAX_SIZE * 2);
217
- return NULL;
218
- }
219
-
220
- /* We have valid trampoline and config pages */
221
- table = calloc (1, sizeof (ffi_trampoline_table));
222
- table->free_count = FFI_TRAMPOLINE_COUNT;
223
- table->config_page = config_page;
224
- table->trampoline_page = trampoline_page;
225
-
226
- /* Create and initialize the free list */
227
- table->free_list_pool =
228
- calloc (FFI_TRAMPOLINE_COUNT, sizeof (ffi_trampoline_table_entry));
229
-
230
- for (i = 0; i < table->free_count; i++)
231
- {
232
- ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
233
- entry->trampoline =
234
- (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
235
-
236
- if (i < table->free_count - 1)
237
- entry->next = &table->free_list_pool[i + 1];
238
- }
239
-
240
- table->free_list = table->free_list_pool;
241
-
242
- return table;
243
- }
244
-
245
- static void
246
- ffi_trampoline_table_free (ffi_trampoline_table *table)
247
- {
248
- /* Remove from the list */
249
- if (table->prev != NULL)
250
- table->prev->next = table->next;
251
-
252
- if (table->next != NULL)
253
- table->next->prev = table->prev;
254
-
255
- /* Deallocate pages */
256
- vm_deallocate (mach_task_self (), table->config_page, PAGE_MAX_SIZE * 2);
257
-
258
- /* Deallocate free list */
259
- free (table->free_list_pool);
260
- free (table);
261
- }
262
-
263
- void *
264
- ffi_closure_alloc (size_t size, void **code)
265
- {
266
- /* Create the closure */
267
- ffi_closure *closure = malloc (size);
268
- if (closure == NULL)
269
- return NULL;
270
-
271
- pthread_mutex_lock (&ffi_trampoline_lock);
272
-
273
- /* Check for an active trampoline table with available entries. */
274
- ffi_trampoline_table *table = ffi_trampoline_tables;
275
- if (table == NULL || table->free_list == NULL)
276
- {
277
- table = ffi_trampoline_table_alloc ();
278
- if (table == NULL)
279
- {
280
- pthread_mutex_unlock (&ffi_trampoline_lock);
281
- free (closure);
282
- return NULL;
283
- }
284
-
285
- /* Insert the new table at the top of the list */
286
- table->next = ffi_trampoline_tables;
287
- if (table->next != NULL)
288
- table->next->prev = table;
289
-
290
- ffi_trampoline_tables = table;
291
- }
292
-
293
- /* Claim the free entry */
294
- ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
295
- ffi_trampoline_tables->free_list = entry->next;
296
- ffi_trampoline_tables->free_count--;
297
- entry->next = NULL;
298
-
299
- pthread_mutex_unlock (&ffi_trampoline_lock);
300
-
301
- /* Initialize the return values */
302
- *code = entry->trampoline;
303
- closure->trampoline_table = table;
304
- closure->trampoline_table_entry = entry;
305
-
306
- return closure;
307
- }
308
-
309
- void
310
- ffi_closure_free (void *ptr)
311
- {
312
- ffi_closure *closure = ptr;
313
-
314
- pthread_mutex_lock (&ffi_trampoline_lock);
315
-
316
- /* Fetch the table and entry references */
317
- ffi_trampoline_table *table = closure->trampoline_table;
318
- ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
319
-
320
- /* Return the entry to the free list */
321
- entry->next = table->free_list;
322
- table->free_list = entry;
323
- table->free_count++;
324
-
325
- /* If all trampolines within this table are free, and at least one other table exists, deallocate
326
- * the table */
327
- if (table->free_count == FFI_TRAMPOLINE_COUNT
328
- && ffi_trampoline_tables != table)
329
- {
330
- ffi_trampoline_table_free (table);
331
- }
332
- else if (ffi_trampoline_tables != table)
333
- {
334
- /* Otherwise, bump this table to the top of the list */
335
- table->prev = NULL;
336
- table->next = ffi_trampoline_tables;
337
- if (ffi_trampoline_tables != NULL)
338
- ffi_trampoline_tables->prev = table;
339
-
340
- ffi_trampoline_tables = table;
341
- }
342
-
343
- pthread_mutex_unlock (&ffi_trampoline_lock);
344
-
345
- /* Free the closure */
346
- free (closure);
347
- }
348
-
349
- #endif
350
-
351
- // Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
352
-
353
- #elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
354
-
355
- #define USE_LOCKS 1
356
- #define USE_DL_PREFIX 1
357
- #ifdef __GNUC__
358
- #ifndef USE_BUILTIN_FFS
359
- #define USE_BUILTIN_FFS 1
360
- #endif
361
- #endif
362
-
363
- /* We need to use mmap, not sbrk. */
364
- #define HAVE_MORECORE 0
365
-
366
- /* We could, in theory, support mremap, but it wouldn't buy us anything. */
367
- #define HAVE_MREMAP 0
368
-
369
- /* We have no use for this, so save some code and data. */
370
- #define NO_MALLINFO 1
371
-
372
- /* We need all allocations to be in regular segments, otherwise we
373
- lose track of the corresponding code address. */
374
- #define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
375
-
376
- /* Don't allocate more than a page unless needed. */
377
- #define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
378
-
379
- #include <sys/types.h>
380
- #include <sys/stat.h>
381
- #include <fcntl.h>
382
- #include <errno.h>
383
- #ifndef _MSC_VER
384
- #include <unistd.h>
385
- #endif
386
- #include <string.h>
387
- #include <stdio.h>
388
- #if !defined(X86_WIN32) && !defined(X86_WIN64)
389
- #ifdef HAVE_MNTENT
390
- #include <mntent.h>
391
- #endif /* HAVE_MNTENT */
392
- #include <sys/param.h>
393
- #include <pthread.h>
394
-
395
- /* We don't want sys/mman.h to be included after we redefine mmap and
396
- dlmunmap. */
397
- #include <sys/mman.h>
398
- #define LACKS_SYS_MMAN_H 1
399
-
400
- #if FFI_MMAP_EXEC_SELINUX
401
- #include <sys/statfs.h>
402
- #include <stdlib.h>
403
-
404
- static int selinux_enabled = -1;
405
-
406
- static int
407
- selinux_enabled_check (void)
408
- {
409
- struct statfs sfs;
410
- FILE *f;
411
- char *buf = NULL;
412
- size_t len = 0;
413
-
414
- if (statfs ("/selinux", &sfs) >= 0
415
- && (unsigned int) sfs.f_type == 0xf97cff8cU)
416
- return 1;
417
- f = fopen ("/proc/mounts", "r");
418
- if (f == NULL)
419
- return 0;
420
- while (getline (&buf, &len, f) >= 0)
421
- {
422
- char *p = strchr (buf, ' ');
423
- if (p == NULL)
424
- break;
425
- p = strchr (p + 1, ' ');
426
- if (p == NULL)
427
- break;
428
- if (strncmp (p + 1, "selinuxfs ", 10) == 0)
429
- {
430
- free (buf);
431
- fclose (f);
432
- return 1;
433
- }
434
- }
435
- free (buf);
436
- fclose (f);
437
- return 0;
438
- }
439
-
440
- #define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
441
- : (selinux_enabled = selinux_enabled_check ()))
442
-
443
- #else
444
-
445
- #define is_selinux_enabled() 0
446
-
447
- #endif /* !FFI_MMAP_EXEC_SELINUX */
448
-
449
- /* On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. */
450
- #ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX
451
- #include <stdlib.h>
452
-
453
- static int emutramp_enabled = -1;
454
-
455
- static int
456
- emutramp_enabled_check (void)
457
- {
458
- char *buf = NULL;
459
- size_t len = 0;
460
- FILE *f;
461
- int ret;
462
- f = fopen ("/proc/self/status", "r");
463
- if (f == NULL)
464
- return 0;
465
- ret = 0;
466
-
467
- while (getline (&buf, &len, f) != -1)
468
- if (!strncmp (buf, "PaX:", 4))
469
- {
470
- char emutramp;
471
- if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
472
- ret = (emutramp == 'E');
473
- break;
474
- }
475
- free (buf);
476
- fclose (f);
477
- return ret;
478
- }
479
-
480
- #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
481
- : (emutramp_enabled = emutramp_enabled_check ()))
482
- #endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */
483
-
484
- #elif defined (__CYGWIN__) || defined(__INTERIX)
485
-
486
- #include <sys/mman.h>
487
-
488
- /* Cygwin is Linux-like, but not quite that Linux-like. */
489
- #define is_selinux_enabled() 0
490
-
491
- #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
492
-
493
- #ifndef FFI_MMAP_EXEC_EMUTRAMP_PAX
494
- #define is_emutramp_enabled() 0
495
- #endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */
496
-
497
- /* Declare all functions defined in dlmalloc.c as static. */
498
- static void *dlmalloc(size_t);
499
- static void dlfree(void*);
500
- static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
501
- static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
502
- static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
503
- static void *dlvalloc(size_t) MAYBE_UNUSED;
504
- static int dlmallopt(int, int) MAYBE_UNUSED;
505
- static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
506
- static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
507
- static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
508
- static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
509
- static void *dlpvalloc(size_t) MAYBE_UNUSED;
510
- static int dlmalloc_trim(size_t) MAYBE_UNUSED;
511
- static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
512
- static void dlmalloc_stats(void) MAYBE_UNUSED;
513
-
514
- #if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
515
- /* Use these for mmap and munmap within dlmalloc.c. */
516
- static void *dlmmap(void *, size_t, int, int, int, off_t);
517
- static int dlmunmap(void *, size_t);
518
- #endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
519
-
520
- #define mmap dlmmap
521
- #define munmap dlmunmap
522
-
523
- #include "dlmalloc.c"
524
-
525
- #undef mmap
526
- #undef munmap
527
-
528
- #if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
529
-
530
- /* A mutex used to synchronize access to *exec* variables in this file. */
531
- static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
532
-
533
- /* A file descriptor of a temporary file from which we'll map
534
- executable pages. */
535
- static int execfd = -1;
536
-
537
- /* The amount of space already allocated from the temporary file. */
538
- static size_t execsize = 0;
539
-
540
- /* Open a temporary file name, and immediately unlink it. */
541
- static int
542
- open_temp_exec_file_name (char *name, int flags)
543
- {
544
- int fd;
545
-
546
- #ifdef HAVE_MKOSTEMP
547
- fd = mkostemp (name, flags);
548
- #else
549
- fd = mkstemp (name);
550
- #endif
551
-
552
- if (fd != -1)
553
- unlink (name);
554
-
555
- return fd;
556
- }
557
-
558
- /* Open a temporary file in the named directory. */
559
- static int
560
- open_temp_exec_file_dir (const char *dir)
561
- {
562
- static const char suffix[] = "/ffiXXXXXX";
563
- int lendir, flags;
564
- char *tempname;
565
- #ifdef O_TMPFILE
566
- int fd;
567
- #endif
568
-
569
- #ifdef O_CLOEXEC
570
- flags = O_CLOEXEC;
571
- #else
572
- flags = 0;
573
- #endif
574
-
575
- #ifdef O_TMPFILE
576
- fd = open (dir, flags | O_RDWR | O_EXCL | O_TMPFILE, 0700);
577
- /* If the running system does not support the O_TMPFILE flag then retry without it. */
578
- if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP)) {
579
- return fd;
580
- } else {
581
- errno = 0;
582
- }
583
- #endif
584
-
585
- lendir = (int) strlen (dir);
586
- tempname = __builtin_alloca (lendir + sizeof (suffix));
587
-
588
- if (!tempname)
589
- return -1;
590
-
591
- memcpy (tempname, dir, lendir);
592
- memcpy (tempname + lendir, suffix, sizeof (suffix));
593
-
594
- return open_temp_exec_file_name (tempname, flags);
595
- }
596
-
597
- /* Open a temporary file in the directory in the named environment
598
- variable. */
599
- static int
600
- open_temp_exec_file_env (const char *envvar)
601
- {
602
- const char *value = getenv (envvar);
603
-
604
- if (!value)
605
- return -1;
606
-
607
- return open_temp_exec_file_dir (value);
608
- }
609
-
610
- #ifdef HAVE_MNTENT
611
- /* Open a temporary file in an executable and writable mount point
612
- listed in the mounts file. Subsequent calls with the same mounts
613
- keep searching for mount points in the same file. Providing NULL
614
- as the mounts file closes the file. */
615
- static int
616
- open_temp_exec_file_mnt (const char *mounts)
617
- {
618
- static const char *last_mounts;
619
- static FILE *last_mntent;
620
-
621
- if (mounts != last_mounts)
622
- {
623
- if (last_mntent)
624
- endmntent (last_mntent);
625
-
626
- last_mounts = mounts;
627
-
628
- if (mounts)
629
- last_mntent = setmntent (mounts, "r");
630
- else
631
- last_mntent = NULL;
632
- }
633
-
634
- if (!last_mntent)
635
- return -1;
636
-
637
- for (;;)
638
- {
639
- int fd;
640
- struct mntent mnt;
641
- char buf[MAXPATHLEN * 3];
642
-
643
- if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
644
- return -1;
645
-
646
- if (hasmntopt (&mnt, "ro")
647
- || hasmntopt (&mnt, "noexec")
648
- || access (mnt.mnt_dir, W_OK))
649
- continue;
650
-
651
- fd = open_temp_exec_file_dir (mnt.mnt_dir);
652
-
653
- if (fd != -1)
654
- return fd;
655
- }
656
- }
657
- #endif /* HAVE_MNTENT */
658
-
659
- /* Instructions to look for a location to hold a temporary file that
660
- can be mapped in for execution. */
661
- static struct
662
- {
663
- int (*func)(const char *);
664
- const char *arg;
665
- int repeat;
666
- } open_temp_exec_file_opts[] = {
667
- { open_temp_exec_file_env, "TMPDIR", 0 },
668
- { open_temp_exec_file_dir, "/tmp", 0 },
669
- { open_temp_exec_file_dir, "/var/tmp", 0 },
670
- { open_temp_exec_file_dir, "/dev/shm", 0 },
671
- { open_temp_exec_file_env, "HOME", 0 },
672
- #ifdef HAVE_MNTENT
673
- { open_temp_exec_file_mnt, "/etc/mtab", 1 },
674
- { open_temp_exec_file_mnt, "/proc/mounts", 1 },
675
- #endif /* HAVE_MNTENT */
676
- };
677
-
678
- /* Current index into open_temp_exec_file_opts. */
679
- static int open_temp_exec_file_opts_idx = 0;
680
-
681
- /* Reset a current multi-call func, then advances to the next entry.
682
- If we're at the last, go back to the first and return nonzero,
683
- otherwise return zero. */
684
- static int
685
- open_temp_exec_file_opts_next (void)
686
- {
687
- if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
688
- open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
689
-
690
- open_temp_exec_file_opts_idx++;
691
- if (open_temp_exec_file_opts_idx
692
- == (sizeof (open_temp_exec_file_opts)
693
- / sizeof (*open_temp_exec_file_opts)))
694
- {
695
- open_temp_exec_file_opts_idx = 0;
696
- return 1;
697
- }
698
-
699
- return 0;
700
- }
701
-
702
- /* Return a file descriptor of a temporary zero-sized file in a
703
- writable and executable filesystem. */
704
- static int
705
- open_temp_exec_file (void)
706
- {
707
- int fd;
708
-
709
- do
710
- {
711
- fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
712
- (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
713
-
714
- if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
715
- || fd == -1)
716
- {
717
- if (open_temp_exec_file_opts_next ())
718
- break;
719
- }
720
- }
721
- while (fd == -1);
722
-
723
- return fd;
724
- }
725
-
726
- /* We need to allocate space in a file that will be backing a writable
727
- mapping. Several problems exist with the usual approaches:
728
- - fallocate() is Linux-only
729
- - posix_fallocate() is not available on all platforms
730
- - ftruncate() does not allocate space on filesystems with sparse files
731
- Failure to allocate the space will cause SIGBUS to be thrown when
732
- the mapping is subsequently written to. */
733
- static int
734
- allocate_space (int fd, off_t offset, off_t len)
735
- {
736
- static size_t page_size;
737
-
738
- /* Obtain system page size. */
739
- if (!page_size)
740
- page_size = sysconf(_SC_PAGESIZE);
741
-
742
- unsigned char buf[page_size];
743
- memset (buf, 0, page_size);
744
-
745
- while (len > 0)
746
- {
747
- off_t to_write = (len < page_size) ? len : page_size;
748
- if (write (fd, buf, to_write) < to_write)
749
- return -1;
750
- len -= to_write;
751
- }
752
-
753
- return 0;
754
- }
755
-
756
- /* Map in a chunk of memory from the temporary exec file into separate
757
- locations in the virtual memory address space, one writable and one
758
- executable. Returns the address of the writable portion, after
759
- storing an offset to the corresponding executable portion at the
760
- last word of the requested chunk. */
761
- static void *
762
- dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
763
- {
764
- void *ptr;
765
-
766
- if (execfd == -1)
767
- {
768
- open_temp_exec_file_opts_idx = 0;
769
- retry_open:
770
- execfd = open_temp_exec_file ();
771
- if (execfd == -1)
772
- return MFAIL;
773
- }
774
-
775
- offset = execsize;
776
-
777
- if (allocate_space (execfd, offset, length))
778
- return MFAIL;
779
-
780
- flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
781
- flags |= MAP_SHARED;
782
-
783
- ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
784
- flags, execfd, offset);
785
- if (ptr == MFAIL)
786
- {
787
- if (!offset)
788
- {
789
- close (execfd);
790
- goto retry_open;
791
- }
792
- ftruncate (execfd, offset);
793
- return MFAIL;
794
- }
795
- else if (!offset
796
- && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
797
- open_temp_exec_file_opts_next ();
798
-
799
- start = mmap (start, length, prot, flags, execfd, offset);
800
-
801
- if (start == MFAIL)
802
- {
803
- munmap (ptr, length);
804
- ftruncate (execfd, offset);
805
- return start;
806
- }
807
-
808
- mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
809
-
810
- execsize += length;
811
-
812
- return start;
813
- }
814
-
815
- /* Map in a writable and executable chunk of memory if possible.
816
- Failing that, fall back to dlmmap_locked. */
817
- static void *
818
- dlmmap (void *start, size_t length, int prot,
819
- int flags, int fd, off_t offset)
820
- {
821
- void *ptr;
822
-
823
- assert (start == NULL && length % malloc_getpagesize == 0
824
- && prot == (PROT_READ | PROT_WRITE)
825
- && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
826
- && fd == -1 && offset == 0);
827
-
828
- if (execfd == -1 && is_emutramp_enabled ())
829
- {
830
- ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset);
831
- return ptr;
832
- }
833
-
834
- if (execfd == -1 && !is_selinux_enabled ())
835
- {
836
- ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
837
-
838
- if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
839
- /* Cool, no need to mess with separate segments. */
840
- return ptr;
841
-
842
- /* If MREMAP_DUP is ever introduced and implemented, try mmap
843
- with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
844
- MREMAP_DUP and prot at this point. */
845
- }
846
-
847
- if (execsize == 0 || execfd == -1)
848
- {
849
- pthread_mutex_lock (&open_temp_exec_file_mutex);
850
- ptr = dlmmap_locked (start, length, prot, flags, offset);
851
- pthread_mutex_unlock (&open_temp_exec_file_mutex);
852
-
853
- return ptr;
854
- }
855
-
856
- return dlmmap_locked (start, length, prot, flags, offset);
857
- }
858
-
859
- /* Release memory at the given address, as well as the corresponding
860
- executable page if it's separate. */
861
- static int
862
- dlmunmap (void *start, size_t length)
863
- {
864
- /* We don't bother decreasing execsize or truncating the file, since
865
- we can't quite tell whether we're unmapping the end of the file.
866
- We don't expect frequent deallocation anyway. If we did, we
867
- could locate pages in the file by writing to the pages being
868
- deallocated and checking that the file contents change.
869
- Yuck. */
870
- msegmentptr seg = segment_holding (gm, start);
871
- void *code;
872
-
873
- if (seg && (code = add_segment_exec_offset (start, seg)) != start)
874
- {
875
- int ret = munmap (code, length);
876
- if (ret)
877
- return ret;
878
- }
879
-
880
- return munmap (start, length);
881
- }
882
-
883
- #if FFI_CLOSURE_FREE_CODE
884
- /* Return segment holding given code address. */
885
- static msegmentptr
886
- segment_holding_code (mstate m, char* addr)
887
- {
888
- msegmentptr sp = &m->seg;
889
- for (;;) {
890
- if (addr >= add_segment_exec_offset (sp->base, sp)
891
- && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
892
- return sp;
893
- if ((sp = sp->next) == 0)
894
- return 0;
895
- }
896
- }
897
- #endif
898
-
899
- #endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
900
-
901
- /* Allocate a chunk of memory with the given size. Returns a pointer
902
- to the writable address, and sets *CODE to the executable
903
- corresponding virtual address. */
904
- void *
905
- ffi_closure_alloc (size_t size, void **code)
906
- {
907
- void *ptr;
908
-
909
- if (!code)
910
- return NULL;
911
-
912
- ptr = dlmalloc (size);
913
-
914
- if (ptr)
915
- {
916
- msegmentptr seg = segment_holding (gm, ptr);
917
-
918
- *code = add_segment_exec_offset (ptr, seg);
919
- }
920
-
921
- return ptr;
922
- }
923
-
924
- /* Release a chunk of memory allocated with ffi_closure_alloc. If
925
- FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
926
- writable or the executable address given. Otherwise, only the
927
- writable address can be provided here. */
928
- void
929
- ffi_closure_free (void *ptr)
930
- {
931
- #if FFI_CLOSURE_FREE_CODE
932
- msegmentptr seg = segment_holding_code (gm, ptr);
933
-
934
- if (seg)
935
- ptr = sub_segment_exec_offset (ptr, seg);
936
- #endif
937
-
938
- dlfree (ptr);
939
- }
940
-
941
- # else /* ! FFI_MMAP_EXEC_WRIT */
942
-
943
- /* On many systems, memory returned by malloc is writable and
944
- executable, so just use it. */
945
-
946
- #include <stdlib.h>
947
-
948
- void *
949
- ffi_closure_alloc (size_t size, void **code)
950
- {
951
- if (!code)
952
- return NULL;
953
-
954
- return *code = malloc (size);
955
- }
956
-
957
- void
958
- ffi_closure_free (void *ptr)
959
- {
960
- free (ptr);
961
- }
962
-
963
- # endif /* ! FFI_MMAP_EXEC_WRIT */
964
- #endif /* FFI_CLOSURES */
965
-
966
- #endif /* NetBSD with PROT_MPROTECT */