approveapi 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 */