virgil-crypto 2.0.2b0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (879) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.gitmodules +3 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +12 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/ext/native/extconf.rb +25 -0
  10. data/ext/native/src/.gitignore +17 -0
  11. data/ext/native/src/.travis.yml +50 -0
  12. data/ext/native/src/CMakeLists.txt +336 -0
  13. data/ext/native/src/ChangeLog +440 -0
  14. data/ext/native/src/Jenkinsfile +208 -0
  15. data/ext/native/src/LICENSE +33 -0
  16. data/ext/native/src/README.md +195 -0
  17. data/ext/native/src/VERSION +1 -0
  18. data/ext/native/src/benchmark/CMakeLists.txt +52 -0
  19. data/ext/native/src/benchmark/benchmark_cipher.cxx +99 -0
  20. data/ext/native/src/benchmark/benchmark_hash.cxx +85 -0
  21. data/ext/native/src/benchmark/benchmark_signer.cxx +89 -0
  22. data/ext/native/src/benchmark/benchpress.hpp +464 -0
  23. data/ext/native/src/benchmark/cxxopts.hpp +1312 -0
  24. data/ext/native/src/ci/configure.sh +71 -0
  25. data/ext/native/src/ci/install-cmake.sh +48 -0
  26. data/ext/native/src/ci/install-credentials.sh +45 -0
  27. data/ext/native/src/ci/install-doxygen.sh +48 -0
  28. data/ext/native/src/ci/install-phpunit.sh +47 -0
  29. data/ext/native/src/ci/install-swig.sh +47 -0
  30. data/ext/native/src/ci/publish-docs.sh +125 -0
  31. data/ext/native/src/ci/run.sh +55 -0
  32. data/ext/native/src/ci/travis_ci_rsa.enc +0 -0
  33. data/ext/native/src/cmake/android.toolchain.cmake +1697 -0
  34. data/ext/native/src/cmake/apple.toolchain.cmake +323 -0
  35. data/ext/native/src/cmake/aux_source_directory_to_file.cmake +70 -0
  36. data/ext/native/src/cmake/check_pointer_size.cmake +64 -0
  37. data/ext/native/src/cmake/cmake_args.cmake +64 -0
  38. data/ext/native/src/cmake/copy_all_files.cmake +70 -0
  39. data/ext/native/src/cmake/file_regex_replace.cmake +69 -0
  40. data/ext/native/src/cmake/find_host_utils.cmake +54 -0
  41. data/ext/native/src/cmake/pnacl.toolchain.cmake +87 -0
  42. data/ext/native/src/cmake/uppercase_first_char.cmake +45 -0
  43. data/ext/native/src/cmake/uppercase_namespaces.cmake +86 -0
  44. data/ext/native/src/cmake/virgil_depends.cmake +53 -0
  45. data/ext/native/src/cmake/virgil_depends_local.cmake +325 -0
  46. data/ext/native/src/docs/.gitignore +0 -0
  47. data/ext/native/src/lib/CMakeLists.txt +162 -0
  48. data/ext/native/src/lib/Doxyfile.in +2310 -0
  49. data/ext/native/src/lib/cmake/config.cmake.in +40 -0
  50. data/ext/native/src/lib/include/CMakeLists.txt +68 -0
  51. data/ext/native/src/lib/include/virgil/crypto/VirgilByteArray.h +143 -0
  52. data/ext/native/src/lib/include/virgil/crypto/VirgilByteArrayUtils.h +121 -0
  53. data/ext/native/src/lib/include/virgil/crypto/VirgilChunkCipher.h +117 -0
  54. data/ext/native/src/lib/include/virgil/crypto/VirgilCipher.h +93 -0
  55. data/ext/native/src/lib/include/virgil/crypto/VirgilCipherBase.h +302 -0
  56. data/ext/native/src/lib/include/virgil/crypto/VirgilCryptoError.h +136 -0
  57. data/ext/native/src/lib/include/virgil/crypto/VirgilCryptoException.h +117 -0
  58. data/ext/native/src/lib/include/virgil/crypto/VirgilCustomParams.h +159 -0
  59. data/ext/native/src/lib/include/virgil/crypto/VirgilDataSink.h +77 -0
  60. data/ext/native/src/lib/include/virgil/crypto/VirgilDataSource.h +66 -0
  61. data/ext/native/src/lib/include/virgil/crypto/VirgilKeyPair.h +274 -0
  62. data/ext/native/src/lib/include/virgil/crypto/VirgilSigner.h +84 -0
  63. data/ext/native/src/lib/include/virgil/crypto/VirgilStreamCipher.h +99 -0
  64. data/ext/native/src/lib/include/virgil/crypto/VirgilStreamSigner.h +80 -0
  65. data/ext/native/src/lib/include/virgil/crypto/VirgilTinyCipher.h +283 -0
  66. data/ext/native/src/lib/include/virgil/crypto/VirgilVersion.h +88 -0
  67. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilAsymmetricCipher.h +395 -0
  68. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilBase64.h +70 -0
  69. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilHash.h +261 -0
  70. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilKDF.h +175 -0
  71. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilPBE.h +164 -0
  72. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilPBKDF.h +198 -0
  73. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilRandom.h +121 -0
  74. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilSymmetricCipher.h +305 -0
  75. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilSystemCryptoError.h +149 -0
  76. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Compatible.h +100 -0
  77. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Reader.h +179 -0
  78. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Writer.h +241 -0
  79. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/internal/VirgilAsn1Alg.h +114 -0
  80. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContent.h +113 -0
  81. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContentInfo.h +91 -0
  82. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEncryptedContent.h +90 -0
  83. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEnvelopedData.h +116 -0
  84. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSKeyTransRecipient.h +103 -0
  85. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSPasswordRecipient.h +98 -0
  86. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/VirgilOID.h +81 -0
  87. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/VirgilTagFilter.h +95 -0
  88. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_context.h +93 -0
  89. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_context_policy_spec.h +231 -0
  90. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_type_utils.h +407 -0
  91. data/ext/native/src/lib/include/virgil/crypto/internal/utils.h +58 -0
  92. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSink.h +84 -0
  93. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSource.h +90 -0
  94. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilStreamDataSink.h +79 -0
  95. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilStreamDataSource.h +84 -0
  96. data/ext/native/src/lib/mainpage.dox +60 -0
  97. data/ext/native/src/lib/src/VirgilAsn1Alg.cxx +122 -0
  98. data/ext/native/src/lib/src/VirgilAsn1Compatible.cxx +67 -0
  99. data/ext/native/src/lib/src/VirgilAsn1Reader.cxx +190 -0
  100. data/ext/native/src/lib/src/VirgilAsn1Writer.cxx +329 -0
  101. data/ext/native/src/lib/src/VirgilAsymmetricCipher.cxx +633 -0
  102. data/ext/native/src/lib/src/VirgilBase64.cxx +94 -0
  103. data/ext/native/src/lib/src/VirgilByteArrayUtils.cxx +222 -0
  104. data/ext/native/src/lib/src/VirgilCMSContent.cxx +124 -0
  105. data/ext/native/src/lib/src/VirgilCMSContentInfo.cxx +111 -0
  106. data/ext/native/src/lib/src/VirgilCMSEncryptedContent.cxx +84 -0
  107. data/ext/native/src/lib/src/VirgilCMSEnvelopedData.cxx +131 -0
  108. data/ext/native/src/lib/src/VirgilCMSKeyTransRecipient.cxx +96 -0
  109. data/ext/native/src/lib/src/VirgilCMSPasswordRecipient.cxx +93 -0
  110. data/ext/native/src/lib/src/VirgilChunkCipher.cxx +215 -0
  111. data/ext/native/src/lib/src/VirgilCipher.cxx +92 -0
  112. data/ext/native/src/lib/src/VirgilCipherBase.cxx +340 -0
  113. data/ext/native/src/lib/src/VirgilCryptoError.cxx +88 -0
  114. data/ext/native/src/lib/src/VirgilCryptoException.cxx +84 -0
  115. data/ext/native/src/lib/src/VirgilCustomParams.cxx +193 -0
  116. data/ext/native/src/lib/src/VirgilDataSink.cxx +46 -0
  117. data/ext/native/src/lib/src/VirgilHash.cxx +269 -0
  118. data/ext/native/src/lib/src/VirgilKDF.cxx +209 -0
  119. data/ext/native/src/lib/src/VirgilKeyPair.cxx +165 -0
  120. data/ext/native/src/lib/src/VirgilPBE.cxx +215 -0
  121. data/ext/native/src/lib/src/VirgilPBKDF.cxx +286 -0
  122. data/ext/native/src/lib/src/VirgilRandom.cxx +112 -0
  123. data/ext/native/src/lib/src/VirgilSigner.cxx +91 -0
  124. data/ext/native/src/lib/src/VirgilStreamCipher.cxx +116 -0
  125. data/ext/native/src/lib/src/VirgilStreamSigner.cxx +98 -0
  126. data/ext/native/src/lib/src/VirgilSymmetricCipher.cxx +369 -0
  127. data/ext/native/src/lib/src/VirgilSystemCryptoError.cxx +58 -0
  128. data/ext/native/src/lib/src/VirgilTagFilter.cxx +76 -0
  129. data/ext/native/src/lib/src/VirgilTinyCipher.cxx +648 -0
  130. data/ext/native/src/lib/src/VirgilVersion.cxx.in +28 -0
  131. data/ext/native/src/lib/src/stream/VirgilBytesDataSink.cxx +61 -0
  132. data/ext/native/src/lib/src/stream/VirgilBytesDataSource.cxx +68 -0
  133. data/ext/native/src/lib/src/stream/VirgilStreamDataSink.cxx +57 -0
  134. data/ext/native/src/lib/src/stream/VirgilStreamDataSource.cxx +68 -0
  135. data/ext/native/src/libs_ext/mbedtls/configs/config.h +84 -0
  136. data/ext/native/src/libs_ext/mbedtls/configs/config_desktop.h +13 -0
  137. data/ext/native/src/libs_ext/mbedtls/configs/config_pnacl.h +8 -0
  138. data/ext/native/src/libs_ext/mbedtls/mbedtls.cmake +102 -0
  139. data/ext/native/src/libs_ext/rapidjson/rapidjson.cmake +61 -0
  140. data/ext/native/src/libs_ext/tinyformat/cmake/config.cmake.in +43 -0
  141. data/ext/native/src/libs_ext/tinyformat/src/tinyformat.h +1003 -0
  142. data/ext/native/src/libs_ext/tinyformat/tinyformat.cmake +77 -0
  143. data/ext/native/src/migration-2.0.md +108 -0
  144. data/ext/native/src/tests/CMakeLists.txt +50 -0
  145. data/ext/native/src/tests/catch.hpp +10200 -0
  146. data/ext/native/src/tests/test_asn1_writer.cxx +268 -0
  147. data/ext/native/src/tests/test_asymmetric_cipher.cxx +140 -0
  148. data/ext/native/src/tests/test_base64.cxx +102 -0
  149. data/ext/native/src/tests/test_byte_array_utils.cxx +102 -0
  150. data/ext/native/src/tests/test_chunk_cipher.cxx +310 -0
  151. data/ext/native/src/tests/test_cipher.cxx +402 -0
  152. data/ext/native/src/tests/test_cipher_base.cxx +353 -0
  153. data/ext/native/src/tests/test_contract_copy_move.cxx +131 -0
  154. data/ext/native/src/tests/test_hash.cxx +153 -0
  155. data/ext/native/src/tests/test_key_pair.cxx +204 -0
  156. data/ext/native/src/tests/test_pbe.cxx +95 -0
  157. data/ext/native/src/tests/test_pbkdf.cxx +368 -0
  158. data/ext/native/src/tests/test_random.cxx +93 -0
  159. data/ext/native/src/tests/test_runner.cxx +43 -0
  160. data/ext/native/src/tests/test_signer.cxx +111 -0
  161. data/ext/native/src/tests/test_stream_cipher.cxx +277 -0
  162. data/ext/native/src/tests/test_symmetric_cipher.cxx +105 -0
  163. data/ext/native/src/tests/test_tag_filter.cxx +74 -0
  164. data/ext/native/src/tests/test_tiny_cipher.cxx +172 -0
  165. data/ext/native/src/utils/build.bat +274 -0
  166. data/ext/native/src/utils/build.sh +354 -0
  167. data/ext/native/src/utils/env.sh +39 -0
  168. data/ext/native/src/utils/zip.vbs +45 -0
  169. data/ext/native/src/wrappers/CMakeLists.txt +63 -0
  170. data/ext/native/src/wrappers/asmjs/CMakeLists.txt +109 -0
  171. data/ext/native/src/wrappers/asmjs/error.js +41 -0
  172. data/ext/native/src/wrappers/asmjs/example.html +77 -0
  173. data/ext/native/src/wrappers/asmjs/helpers.js +155 -0
  174. data/ext/native/src/wrappers/asmjs/patch_embind.pl +115 -0
  175. data/ext/native/src/wrappers/asmjs/wrapper.cxx +340 -0
  176. data/ext/native/src/wrappers/java/CMakeLists.txt +156 -0
  177. data/ext/native/src/wrappers/java/src/VirgilStreamDataSink.java +62 -0
  178. data/ext/native/src/wrappers/java/src/VirgilStreamDataSource.java +72 -0
  179. data/ext/native/src/wrappers/net/CMakeLists.txt +170 -0
  180. data/ext/native/src/wrappers/net/cmake/FindCSharp.cmake +72 -0
  181. data/ext/native/src/wrappers/net/cmake/FindDotNetFrameworkSdk.cmake +92 -0
  182. data/ext/native/src/wrappers/net/cmake/FindMono.cmake +162 -0
  183. data/ext/native/src/wrappers/net/cmake/UseCSharp.cmake +119 -0
  184. data/ext/native/src/wrappers/net/cmake/UseDotNetFrameworkSdk.cmake +12 -0
  185. data/ext/native/src/wrappers/net/cmake/UseMono.cmake +16 -0
  186. data/ext/native/src/wrappers/net/src/AssemblyInfo.cs +56 -0
  187. data/ext/native/src/wrappers/net/src/VirgilStreamDataSink.cs +63 -0
  188. data/ext/native/src/wrappers/net/src/VirgilStreamDataSource.cs +74 -0
  189. data/ext/native/src/wrappers/nodejs/CMakeLists.txt +134 -0
  190. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/android-ifaddrs.h +54 -0
  191. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/ares.h +636 -0
  192. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/ares_version.h +24 -0
  193. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/libplatform/libplatform.h +38 -0
  194. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/nameser.h +211 -0
  195. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node.h +447 -0
  196. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_buffer.h +125 -0
  197. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_internals.h +236 -0
  198. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_object_wrap.h +137 -0
  199. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_version.h +69 -0
  200. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/aes.h +149 -0
  201. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1.h +1417 -0
  202. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1_mac.h +579 -0
  203. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1t.h +973 -0
  204. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/bio.h +875 -0
  205. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/blowfish.h +130 -0
  206. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/bn.h +957 -0
  207. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/buffer.h +118 -0
  208. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/camellia.h +132 -0
  209. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cast.h +107 -0
  210. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cmac.h +82 -0
  211. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cms.h +505 -0
  212. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/comp.h +79 -0
  213. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/conf.h +267 -0
  214. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/conf_api.h +89 -0
  215. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/crypto.h +661 -0
  216. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/des.h +257 -0
  217. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/des_old.h +497 -0
  218. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dh.h +287 -0
  219. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dsa.h +329 -0
  220. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dso.h +451 -0
  221. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dtls1.h +268 -0
  222. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/e_os2.h +328 -0
  223. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ebcdic.h +26 -0
  224. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ec.h +1193 -0
  225. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ecdh.h +127 -0
  226. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ecdsa.h +260 -0
  227. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/engine.h +961 -0
  228. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/err.h +389 -0
  229. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/evp.h +1480 -0
  230. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/hmac.h +109 -0
  231. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/idea.h +105 -0
  232. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/krb5_asn.h +240 -0
  233. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/kssl.h +197 -0
  234. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/lhash.h +240 -0
  235. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/md4.h +119 -0
  236. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/md5.h +119 -0
  237. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/mdc2.h +94 -0
  238. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/modes.h +153 -0
  239. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/obj_mac.h +4031 -0
  240. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/objects.h +1143 -0
  241. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ocsp.h +626 -0
  242. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/opensslconf.h +333 -0
  243. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/opensslv.h +97 -0
  244. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ossl_typ.h +209 -0
  245. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pem.h +611 -0
  246. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pem2.h +70 -0
  247. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pkcs12.h +342 -0
  248. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pkcs7.h +481 -0
  249. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pqueue.h +99 -0
  250. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rand.h +150 -0
  251. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rc2.h +103 -0
  252. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rc4.h +88 -0
  253. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ripemd.h +105 -0
  254. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rsa.h +610 -0
  255. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/safestack.h +2536 -0
  256. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/seed.h +149 -0
  257. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/sha.h +214 -0
  258. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/srp.h +169 -0
  259. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/srtp.h +148 -0
  260. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl.h +2766 -0
  261. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl2.h +265 -0
  262. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl23.h +84 -0
  263. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl3.h +730 -0
  264. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/stack.h +106 -0
  265. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/symhacks.h +486 -0
  266. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/tls1.h +788 -0
  267. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ts.h +862 -0
  268. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/txt_db.h +112 -0
  269. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ui.h +415 -0
  270. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ui_compat.h +88 -0
  271. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/whrlpool.h +41 -0
  272. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509.h +1301 -0
  273. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509_vfy.h +595 -0
  274. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509v3.h +1015 -0
  275. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/pthread-fixes.h +72 -0
  276. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/smalloc.h +153 -0
  277. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/stdint-msvc2008.h +247 -0
  278. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/tree.h +768 -0
  279. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-aix.h +32 -0
  280. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-bsd.h +34 -0
  281. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-darwin.h +61 -0
  282. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-errno.h +418 -0
  283. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-linux.h +34 -0
  284. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-sunos.h +44 -0
  285. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-threadpool.h +37 -0
  286. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-unix.h +383 -0
  287. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-version.h +39 -0
  288. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-win.h +647 -0
  289. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv.h +1467 -0
  290. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-debug.h +267 -0
  291. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-platform.h +62 -0
  292. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-profiler.h +611 -0
  293. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-testing.h +48 -0
  294. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-util.h +487 -0
  295. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-version.h +20 -0
  296. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8.h +6741 -0
  297. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8config.h +451 -0
  298. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8stdint.h +33 -0
  299. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/zconf.h +511 -0
  300. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/zlib.h +1768 -0
  301. data/ext/native/src/wrappers/nodejs/node-v0.12.7/lib/win/x64/node.lib +0 -0
  302. data/ext/native/src/wrappers/nodejs/node-v0.12.7/lib/win/x86/node.lib +0 -0
  303. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/android-ifaddrs.h +54 -0
  304. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/ares.h +589 -0
  305. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/ares_version.h +24 -0
  306. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/libplatform/libplatform.h +38 -0
  307. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/nameser.h +211 -0
  308. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node.h +470 -0
  309. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_buffer.h +65 -0
  310. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_internals.h +339 -0
  311. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_object_wrap.h +116 -0
  312. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_version.h +45 -0
  313. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/aes.h +149 -0
  314. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/BSD-x86/opensslconf.h +258 -0
  315. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/BSD-x86_64/opensslconf.h +258 -0
  316. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/VC-WIN32/opensslconf.h +259 -0
  317. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/VC-WIN64A/opensslconf.h +259 -0
  318. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/aix-gcc/opensslconf.h +261 -0
  319. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/aix64-gcc/opensslconf.h +261 -0
  320. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/darwin-i386-cc/opensslconf.h +261 -0
  321. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +261 -0
  322. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-aarch64/opensslconf.h +258 -0
  323. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-armv4/opensslconf.h +258 -0
  324. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-elf/opensslconf.h +258 -0
  325. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-ppc/opensslconf.h +258 -0
  326. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-ppc64/opensslconf.h +258 -0
  327. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-x32/opensslconf.h +258 -0
  328. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-x86_64/opensslconf.h +258 -0
  329. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/solaris-x86-gcc/opensslconf.h +258 -0
  330. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +258 -0
  331. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1.h +1419 -0
  332. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1_mac.h +579 -0
  333. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1t.h +973 -0
  334. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/bio.h +879 -0
  335. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/blowfish.h +130 -0
  336. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/bn.h +939 -0
  337. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/buffer.h +119 -0
  338. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/camellia.h +132 -0
  339. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cast.h +107 -0
  340. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cmac.h +82 -0
  341. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cms.h +555 -0
  342. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/comp.h +79 -0
  343. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/conf.h +267 -0
  344. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/conf_api.h +89 -0
  345. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/crypto.h +661 -0
  346. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/des.h +257 -0
  347. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/des_old.h +497 -0
  348. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dh.h +392 -0
  349. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dsa.h +332 -0
  350. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dso.h +451 -0
  351. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dtls1.h +272 -0
  352. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/e_os2.h +328 -0
  353. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ebcdic.h +26 -0
  354. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ec.h +1282 -0
  355. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ecdh.h +134 -0
  356. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ecdsa.h +335 -0
  357. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/engine.h +960 -0
  358. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/err.h +389 -0
  359. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/evp.h +1534 -0
  360. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/hmac.h +109 -0
  361. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/idea.h +105 -0
  362. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/krb5_asn.h +240 -0
  363. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/kssl.h +197 -0
  364. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/lhash.h +240 -0
  365. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/md4.h +119 -0
  366. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/md5.h +119 -0
  367. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/mdc2.h +94 -0
  368. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/modes.h +163 -0
  369. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/obj_mac.h +4194 -0
  370. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/objects.h +1143 -0
  371. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ocsp.h +637 -0
  372. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/opensslconf.h +138 -0
  373. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/opensslv.h +97 -0
  374. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ossl_typ.h +211 -0
  375. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pem.h +615 -0
  376. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pem2.h +70 -0
  377. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pkcs12.h +342 -0
  378. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pkcs7.h +481 -0
  379. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pqueue.h +99 -0
  380. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rand.h +150 -0
  381. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rc2.h +103 -0
  382. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rc4.h +88 -0
  383. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ripemd.h +105 -0
  384. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rsa.h +664 -0
  385. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/safestack.h +2672 -0
  386. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/seed.h +149 -0
  387. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/sha.h +214 -0
  388. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/srp.h +169 -0
  389. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/srtp.h +147 -0
  390. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl.h +3164 -0
  391. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl2.h +265 -0
  392. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl23.h +84 -0
  393. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl3.h +774 -0
  394. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/stack.h +107 -0
  395. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/symhacks.h +516 -0
  396. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/tls1.h +813 -0
  397. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ts.h +862 -0
  398. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/txt_db.h +112 -0
  399. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ui.h +415 -0
  400. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ui_compat.h +88 -0
  401. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/whrlpool.h +41 -0
  402. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509.h +1327 -0
  403. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509_vfy.h +647 -0
  404. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509v3.h +1055 -0
  405. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/pthread-fixes.h +72 -0
  406. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/stdint-msvc2008.h +247 -0
  407. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/tree.h +768 -0
  408. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-aix.h +32 -0
  409. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-bsd.h +34 -0
  410. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-darwin.h +61 -0
  411. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-errno.h +418 -0
  412. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-linux.h +34 -0
  413. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-sunos.h +44 -0
  414. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-threadpool.h +37 -0
  415. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-unix.h +383 -0
  416. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-version.h +43 -0
  417. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-win.h +655 -0
  418. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv.h +1472 -0
  419. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-debug.h +280 -0
  420. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-platform.h +82 -0
  421. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-profiler.h +648 -0
  422. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-testing.h +48 -0
  423. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-util.h +640 -0
  424. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-version.h +20 -0
  425. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8.h +8366 -0
  426. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8config.h +424 -0
  427. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/zconf.h +511 -0
  428. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/zlib.h +1768 -0
  429. data/ext/native/src/wrappers/nodejs/node-v4.1.0/lib/win/x64/node.lib +0 -0
  430. data/ext/native/src/wrappers/nodejs/node-v4.1.0/lib/win/x86/node.lib +0 -0
  431. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/android-ifaddrs.h +54 -0
  432. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/ares.h +589 -0
  433. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/ares_version.h +24 -0
  434. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/common.gypi +337 -0
  435. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/config.gypi +44 -0
  436. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/libplatform/libplatform.h +38 -0
  437. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/nameser.h +211 -0
  438. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node.h +470 -0
  439. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_buffer.h +65 -0
  440. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_internals.h +333 -0
  441. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_object_wrap.h +116 -0
  442. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_version.h +57 -0
  443. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/aes.h +149 -0
  444. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  445. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  446. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  447. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  448. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  449. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  450. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  451. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  452. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  453. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  454. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  455. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  456. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  457. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  458. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  459. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  460. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  461. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1.h +1419 -0
  462. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1_mac.h +579 -0
  463. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1t.h +973 -0
  464. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/bio.h +883 -0
  465. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/blowfish.h +130 -0
  466. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/bn.h +949 -0
  467. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/buffer.h +125 -0
  468. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/camellia.h +132 -0
  469. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cast.h +107 -0
  470. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cmac.h +82 -0
  471. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cms.h +555 -0
  472. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/comp.h +83 -0
  473. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/conf.h +267 -0
  474. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/conf_api.h +89 -0
  475. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/crypto.h +661 -0
  476. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/des.h +257 -0
  477. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/des_old.h +497 -0
  478. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dh.h +393 -0
  479. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dsa.h +332 -0
  480. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dso.h +451 -0
  481. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dtls1.h +272 -0
  482. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/e_os2.h +328 -0
  483. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ebcdic.h +26 -0
  484. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ec.h +1282 -0
  485. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ecdh.h +134 -0
  486. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ecdsa.h +335 -0
  487. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/engine.h +960 -0
  488. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/err.h +389 -0
  489. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/evp.h +1534 -0
  490. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/hmac.h +109 -0
  491. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/idea.h +105 -0
  492. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/krb5_asn.h +240 -0
  493. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/kssl.h +197 -0
  494. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/lhash.h +240 -0
  495. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/md4.h +119 -0
  496. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/md5.h +119 -0
  497. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/mdc2.h +94 -0
  498. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/modes.h +163 -0
  499. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/obj_mac.h +4194 -0
  500. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/objects.h +1143 -0
  501. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ocsp.h +637 -0
  502. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/opensslconf.h +138 -0
  503. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/opensslv.h +97 -0
  504. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ossl_typ.h +211 -0
  505. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pem.h +615 -0
  506. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pem2.h +70 -0
  507. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pkcs12.h +342 -0
  508. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pkcs7.h +481 -0
  509. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pqueue.h +99 -0
  510. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rand.h +150 -0
  511. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rc2.h +103 -0
  512. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rc4.h +88 -0
  513. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ripemd.h +105 -0
  514. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rsa.h +664 -0
  515. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/safestack.h +2672 -0
  516. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/seed.h +149 -0
  517. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/sha.h +214 -0
  518. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/srp.h +179 -0
  519. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/srtp.h +147 -0
  520. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl.h +3169 -0
  521. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl2.h +265 -0
  522. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl23.h +84 -0
  523. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl3.h +774 -0
  524. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/stack.h +107 -0
  525. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/symhacks.h +516 -0
  526. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/tls1.h +810 -0
  527. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ts.h +862 -0
  528. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/txt_db.h +112 -0
  529. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ui.h +415 -0
  530. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ui_compat.h +88 -0
  531. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/whrlpool.h +41 -0
  532. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509.h +1328 -0
  533. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509_vfy.h +647 -0
  534. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509v3.h +1055 -0
  535. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/pthread-fixes.h +72 -0
  536. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/stdint-msvc2008.h +247 -0
  537. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/tree.h +768 -0
  538. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-aix.h +32 -0
  539. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-bsd.h +34 -0
  540. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-darwin.h +61 -0
  541. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-errno.h +418 -0
  542. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-linux.h +34 -0
  543. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-sunos.h +44 -0
  544. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-threadpool.h +37 -0
  545. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-unix.h +383 -0
  546. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-version.h +43 -0
  547. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-win.h +653 -0
  548. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv.h +1482 -0
  549. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-debug.h +280 -0
  550. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-platform.h +82 -0
  551. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-profiler.h +648 -0
  552. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-testing.h +48 -0
  553. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-util.h +640 -0
  554. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-version.h +20 -0
  555. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8.h +8379 -0
  556. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8config.h +424 -0
  557. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/zconf.h +511 -0
  558. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/zlib.h +1768 -0
  559. data/ext/native/src/wrappers/nodejs/node-v4.4.4/lib/win/x64/node.lib +0 -0
  560. data/ext/native/src/wrappers/nodejs/node-v4.4.4/lib/win/x86/node.lib +0 -0
  561. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/android-ifaddrs.h +54 -0
  562. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares.h +627 -0
  563. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_build.h +117 -0
  564. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_rules.h +130 -0
  565. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_version.h +24 -0
  566. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/common.gypi +335 -0
  567. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/config.gypi +45 -0
  568. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/libplatform/libplatform.h +38 -0
  569. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/nameser.h +211 -0
  570. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node.h +470 -0
  571. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_buffer.h +65 -0
  572. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_internals.h +331 -0
  573. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_object_wrap.h +116 -0
  574. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_version.h +54 -0
  575. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/aes.h +149 -0
  576. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  577. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  578. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  579. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  580. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  581. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  582. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  583. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  584. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  585. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  586. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  587. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  588. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  589. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  590. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  591. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  592. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  593. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1.h +1419 -0
  594. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1_mac.h +579 -0
  595. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1t.h +973 -0
  596. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/bio.h +883 -0
  597. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/blowfish.h +130 -0
  598. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/bn.h +949 -0
  599. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/buffer.h +125 -0
  600. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/camellia.h +132 -0
  601. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cast.h +107 -0
  602. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cmac.h +82 -0
  603. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cms.h +555 -0
  604. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/comp.h +79 -0
  605. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/conf.h +267 -0
  606. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/conf_api.h +89 -0
  607. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/crypto.h +661 -0
  608. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/des.h +257 -0
  609. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/des_old.h +497 -0
  610. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dh.h +393 -0
  611. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dsa.h +332 -0
  612. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dso.h +451 -0
  613. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dtls1.h +272 -0
  614. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/e_os2.h +328 -0
  615. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ebcdic.h +26 -0
  616. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ec.h +1282 -0
  617. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ecdh.h +134 -0
  618. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ecdsa.h +335 -0
  619. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/engine.h +960 -0
  620. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/err.h +389 -0
  621. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/evp.h +1534 -0
  622. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/hmac.h +109 -0
  623. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/idea.h +105 -0
  624. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/krb5_asn.h +240 -0
  625. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/kssl.h +197 -0
  626. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/lhash.h +240 -0
  627. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/md4.h +119 -0
  628. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/md5.h +119 -0
  629. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/mdc2.h +94 -0
  630. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/modes.h +163 -0
  631. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/obj_mac.h +4194 -0
  632. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/objects.h +1143 -0
  633. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ocsp.h +637 -0
  634. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/opensslconf.h +138 -0
  635. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/opensslv.h +97 -0
  636. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ossl_typ.h +211 -0
  637. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pem.h +615 -0
  638. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pem2.h +70 -0
  639. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pkcs12.h +342 -0
  640. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pkcs7.h +481 -0
  641. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pqueue.h +99 -0
  642. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rand.h +150 -0
  643. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rc2.h +103 -0
  644. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rc4.h +88 -0
  645. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ripemd.h +105 -0
  646. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rsa.h +664 -0
  647. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/safestack.h +2672 -0
  648. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/seed.h +149 -0
  649. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/sha.h +214 -0
  650. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/srp.h +179 -0
  651. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/srtp.h +147 -0
  652. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl.h +3169 -0
  653. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl2.h +265 -0
  654. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl23.h +84 -0
  655. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl3.h +774 -0
  656. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/stack.h +107 -0
  657. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/symhacks.h +516 -0
  658. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/tls1.h +810 -0
  659. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ts.h +862 -0
  660. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/txt_db.h +112 -0
  661. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ui.h +415 -0
  662. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ui_compat.h +88 -0
  663. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/whrlpool.h +41 -0
  664. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509.h +1327 -0
  665. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509_vfy.h +647 -0
  666. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509v3.h +1055 -0
  667. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/pthread-fixes.h +72 -0
  668. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/stdint-msvc2008.h +247 -0
  669. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/tree.h +768 -0
  670. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-aix.h +32 -0
  671. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-bsd.h +34 -0
  672. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-darwin.h +61 -0
  673. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-errno.h +418 -0
  674. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-linux.h +34 -0
  675. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-sunos.h +44 -0
  676. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-threadpool.h +37 -0
  677. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-unix.h +383 -0
  678. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-version.h +43 -0
  679. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-win.h +653 -0
  680. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv.h +1482 -0
  681. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-debug.h +280 -0
  682. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-platform.h +114 -0
  683. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-profiler.h +648 -0
  684. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-testing.h +48 -0
  685. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-util.h +643 -0
  686. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-version.h +20 -0
  687. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8.h +8369 -0
  688. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8config.h +424 -0
  689. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/zconf.h +511 -0
  690. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/zlib.h +1768 -0
  691. data/ext/native/src/wrappers/nodejs/node-v5.9.1/lib/win/x64/node.lib +0 -0
  692. data/ext/native/src/wrappers/nodejs/node-v5.9.1/lib/win/x86/node.lib +0 -0
  693. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/android-ifaddrs.h +54 -0
  694. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares.h +635 -0
  695. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_build.h +117 -0
  696. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_rules.h +130 -0
  697. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_version.h +24 -0
  698. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/common.gypi +361 -0
  699. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/config.gypi +47 -0
  700. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/libplatform/libplatform.h +38 -0
  701. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/nameser.h +211 -0
  702. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node.h +489 -0
  703. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_buffer.h +68 -0
  704. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_internals.h +309 -0
  705. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_object_wrap.h +111 -0
  706. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_version.h +54 -0
  707. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/aes.h +149 -0
  708. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  709. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  710. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  711. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  712. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  713. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  714. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  715. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  716. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  717. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  718. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  719. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  720. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  721. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  722. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  723. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux32-s390x/opensslconf.h +270 -0
  724. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux64-s390x/opensslconf.h +270 -0
  725. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  726. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  727. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1.h +1419 -0
  728. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1_mac.h +579 -0
  729. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1t.h +973 -0
  730. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/bio.h +883 -0
  731. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/blowfish.h +130 -0
  732. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/bn.h +949 -0
  733. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/buffer.h +125 -0
  734. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/camellia.h +132 -0
  735. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cast.h +107 -0
  736. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cmac.h +82 -0
  737. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cms.h +555 -0
  738. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/comp.h +83 -0
  739. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/conf.h +267 -0
  740. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/conf_api.h +89 -0
  741. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/crypto.h +661 -0
  742. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/des.h +257 -0
  743. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/des_old.h +497 -0
  744. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dh.h +393 -0
  745. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dsa.h +332 -0
  746. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dso.h +451 -0
  747. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dtls1.h +272 -0
  748. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/e_os2.h +328 -0
  749. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ebcdic.h +26 -0
  750. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ec.h +1282 -0
  751. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ecdh.h +134 -0
  752. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ecdsa.h +335 -0
  753. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/engine.h +960 -0
  754. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/err.h +389 -0
  755. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/evp.h +1534 -0
  756. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/hmac.h +109 -0
  757. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/idea.h +105 -0
  758. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/krb5_asn.h +240 -0
  759. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/kssl.h +197 -0
  760. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/lhash.h +240 -0
  761. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/md4.h +119 -0
  762. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/md5.h +119 -0
  763. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/mdc2.h +94 -0
  764. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/modes.h +163 -0
  765. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/obj_mac.h +4194 -0
  766. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/objects.h +1143 -0
  767. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ocsp.h +637 -0
  768. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/opensslconf.h +146 -0
  769. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/opensslv.h +97 -0
  770. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ossl_typ.h +211 -0
  771. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pem.h +615 -0
  772. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pem2.h +70 -0
  773. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pkcs12.h +342 -0
  774. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pkcs7.h +481 -0
  775. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pqueue.h +99 -0
  776. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rand.h +150 -0
  777. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rc2.h +103 -0
  778. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rc4.h +88 -0
  779. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ripemd.h +105 -0
  780. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rsa.h +664 -0
  781. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/safestack.h +2672 -0
  782. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/seed.h +149 -0
  783. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/sha.h +214 -0
  784. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/srp.h +179 -0
  785. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/srtp.h +147 -0
  786. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl.h +3169 -0
  787. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl2.h +265 -0
  788. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl23.h +84 -0
  789. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl3.h +774 -0
  790. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/stack.h +107 -0
  791. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/symhacks.h +516 -0
  792. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/tls1.h +810 -0
  793. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ts.h +862 -0
  794. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/txt_db.h +112 -0
  795. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ui.h +415 -0
  796. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ui_compat.h +88 -0
  797. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/whrlpool.h +41 -0
  798. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509.h +1328 -0
  799. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509_vfy.h +647 -0
  800. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509v3.h +1055 -0
  801. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/pthread-fixes.h +72 -0
  802. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/stdint-msvc2008.h +247 -0
  803. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/tree.h +768 -0
  804. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-aix.h +32 -0
  805. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-bsd.h +34 -0
  806. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-darwin.h +61 -0
  807. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-errno.h +418 -0
  808. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-linux.h +34 -0
  809. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-sunos.h +44 -0
  810. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-threadpool.h +37 -0
  811. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-unix.h +383 -0
  812. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-version.h +43 -0
  813. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-win.h +648 -0
  814. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv.h +1495 -0
  815. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-debug.h +288 -0
  816. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-experimental.h +54 -0
  817. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-platform.h +171 -0
  818. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-profiler.h +782 -0
  819. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-testing.h +48 -0
  820. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-util.h +643 -0
  821. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-version.h +20 -0
  822. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8.h +8586 -0
  823. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8config.h +438 -0
  824. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/zconf.h +511 -0
  825. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/zlib.h +1768 -0
  826. data/ext/native/src/wrappers/nodejs/node-v6.1.0/lib/win/x64/node.lib +0 -0
  827. data/ext/native/src/wrappers/nodejs/node-v6.1.0/lib/win/x86/node.lib +0 -0
  828. data/ext/native/src/wrappers/php/CMakeLists.txt +118 -0
  829. data/ext/native/src/wrappers/php/cmake/FindPHPLibs.cmake +49 -0
  830. data/ext/native/src/wrappers/php/tests/CMakeLists.txt +94 -0
  831. data/ext/native/src/wrappers/php/tests/StringSink.php.in +60 -0
  832. data/ext/native/src/wrappers/php/tests/StringSource.php.in +67 -0
  833. data/ext/native/src/wrappers/php/tests/VirgilAsn1Reader_Test.php.in +160 -0
  834. data/ext/native/src/wrappers/php/tests/VirgilAsn1Writer_Test.php.in +160 -0
  835. data/ext/native/src/wrappers/php/tests/VirgilAsymmetricCipher_EC_Test.php.in +337 -0
  836. data/ext/native/src/wrappers/php/tests/VirgilAsymmetricCipher_RSA_Test.php.in +340 -0
  837. data/ext/native/src/wrappers/php/tests/VirgilChunkCipher_Test.php.in +207 -0
  838. data/ext/native/src/wrappers/php/tests/VirgilCipher_Test.php.in +181 -0
  839. data/ext/native/src/wrappers/php/tests/VirgilCustomParams_Test.php.in +78 -0
  840. data/ext/native/src/wrappers/php/tests/VirgilHash_MD5_Test.php.in +159 -0
  841. data/ext/native/src/wrappers/php/tests/VirgilHash_SHA256_Test.php.in +159 -0
  842. data/ext/native/src/wrappers/php/tests/VirgilHash_SHA512_Test.php.in +167 -0
  843. data/ext/native/src/wrappers/php/tests/VirgilKDF_Test.php.in +123 -0
  844. data/ext/native/src/wrappers/php/tests/VirgilPBE_Test.php.in +84 -0
  845. data/ext/native/src/wrappers/php/tests/VirgilPBKDF_Test.php.in +66 -0
  846. data/ext/native/src/wrappers/php/tests/VirgilRandom_Test.php.in +56 -0
  847. data/ext/native/src/wrappers/php/tests/VirgilSigner_Test.php.in +211 -0
  848. data/ext/native/src/wrappers/php/tests/VirgilStreamCipher_Test.php.in +207 -0
  849. data/ext/native/src/wrappers/php/tests/VirgilStreamSigner_Test.php.in +212 -0
  850. data/ext/native/src/wrappers/php/tests/VirgilSymmetricCipher_Test.php.in +174 -0
  851. data/ext/native/src/wrappers/php/tests/VirgilVersion_Test.php.in +61 -0
  852. data/ext/native/src/wrappers/php/tests/data/CMakeLists.txt +50 -0
  853. data/ext/native/src/wrappers/php/tests/data/asn1_complex.der +0 -0
  854. data/ext/native/src/wrappers/php/tests/data/asn1_custom_tag.der +0 -0
  855. data/ext/native/src/wrappers/php/tests/data/asn1_integer.der +1 -0
  856. data/ext/native/src/wrappers/php/tests/data/asn1_octet_string.der +0 -0
  857. data/ext/native/src/wrappers/php/tests/data/asn1_sequence.der +0 -0
  858. data/ext/native/src/wrappers/php/tests/data/asn1_utf8_string.der +1 -0
  859. data/ext/native/src/wrappers/php/tests/data/certificate_public_key.pem +6 -0
  860. data/ext/native/src/wrappers/python/CMakeLists.txt +95 -0
  861. data/ext/native/src/wrappers/ruby/CMakeLists.txt +84 -0
  862. data/ext/native/src/wrappers/swig/common.i +119 -0
  863. data/ext/native/src/wrappers/swig/csharp/FixedArray.i +347 -0
  864. data/ext/native/src/wrappers/swig/csharp/VirgilByteArray.i +38 -0
  865. data/ext/native/src/wrappers/swig/csharp/common.i +48 -0
  866. data/ext/native/src/wrappers/swig/csharp/csharphead.swg.in +85 -0
  867. data/ext/native/src/wrappers/swig/java/VirgilByteArray.i +158 -0
  868. data/ext/native/src/wrappers/swig/java/common.i +70 -0
  869. data/ext/native/src/wrappers/swig/php/VirgilByteArray.i +107 -0
  870. data/ext/native/src/wrappers/swig/php/common.i +90 -0
  871. data/ext/native/src/wrappers/swig/util.i +85 -0
  872. data/ext/native/src/wrappers/swig/wrapper.i.in +158 -0
  873. data/lib/virgil/crypto.rb +10 -0
  874. data/lib/virgil/crypto/bytes.rb +57 -0
  875. data/lib/virgil/crypto/version.rb +5 -0
  876. data/lib/virgil/crypto/virgil_stream_data_sink.rb +53 -0
  877. data/lib/virgil/crypto/virgil_stream_data_source.rb +54 -0
  878. data/virgil-crypto.gemspec +53 -0
  879. metadata +978 -0
@@ -0,0 +1,1495 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ /* See https://github.com/libuv/libuv#documentation for documentation. */
23
+
24
+ #ifndef UV_H
25
+ #define UV_H
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
30
+ #ifdef _WIN32
31
+ /* Windows - set up dll import/export decorators. */
32
+ # if defined(BUILDING_UV_SHARED)
33
+ /* Building shared library. */
34
+ # define UV_EXTERN __declspec(dllexport)
35
+ # elif defined(USING_UV_SHARED)
36
+ /* Using shared library. */
37
+ # define UV_EXTERN __declspec(dllimport)
38
+ # else
39
+ /* Building static library. */
40
+ # define UV_EXTERN /* nothing */
41
+ # endif
42
+ #elif __GNUC__ >= 4
43
+ # define UV_EXTERN __attribute__((visibility("default")))
44
+ #else
45
+ # define UV_EXTERN /* nothing */
46
+ #endif
47
+
48
+ #include "uv-errno.h"
49
+ #include "uv-version.h"
50
+ #include <stddef.h>
51
+ #include <stdio.h>
52
+
53
+ #if defined(_MSC_VER) && _MSC_VER < 1600
54
+ # include "stdint-msvc2008.h"
55
+ #else
56
+ # include <stdint.h>
57
+ #endif
58
+
59
+ #if defined(_WIN32)
60
+ # include "uv-win.h"
61
+ #else
62
+ # include "uv-unix.h"
63
+ #endif
64
+
65
+ /* Expand this list if necessary. */
66
+ #define UV_ERRNO_MAP(XX) \
67
+ XX(E2BIG, "argument list too long") \
68
+ XX(EACCES, "permission denied") \
69
+ XX(EADDRINUSE, "address already in use") \
70
+ XX(EADDRNOTAVAIL, "address not available") \
71
+ XX(EAFNOSUPPORT, "address family not supported") \
72
+ XX(EAGAIN, "resource temporarily unavailable") \
73
+ XX(EAI_ADDRFAMILY, "address family not supported") \
74
+ XX(EAI_AGAIN, "temporary failure") \
75
+ XX(EAI_BADFLAGS, "bad ai_flags value") \
76
+ XX(EAI_BADHINTS, "invalid value for hints") \
77
+ XX(EAI_CANCELED, "request canceled") \
78
+ XX(EAI_FAIL, "permanent failure") \
79
+ XX(EAI_FAMILY, "ai_family not supported") \
80
+ XX(EAI_MEMORY, "out of memory") \
81
+ XX(EAI_NODATA, "no address") \
82
+ XX(EAI_NONAME, "unknown node or service") \
83
+ XX(EAI_OVERFLOW, "argument buffer overflow") \
84
+ XX(EAI_PROTOCOL, "resolved protocol is unknown") \
85
+ XX(EAI_SERVICE, "service not available for socket type") \
86
+ XX(EAI_SOCKTYPE, "socket type not supported") \
87
+ XX(EALREADY, "connection already in progress") \
88
+ XX(EBADF, "bad file descriptor") \
89
+ XX(EBUSY, "resource busy or locked") \
90
+ XX(ECANCELED, "operation canceled") \
91
+ XX(ECHARSET, "invalid Unicode character") \
92
+ XX(ECONNABORTED, "software caused connection abort") \
93
+ XX(ECONNREFUSED, "connection refused") \
94
+ XX(ECONNRESET, "connection reset by peer") \
95
+ XX(EDESTADDRREQ, "destination address required") \
96
+ XX(EEXIST, "file already exists") \
97
+ XX(EFAULT, "bad address in system call argument") \
98
+ XX(EFBIG, "file too large") \
99
+ XX(EHOSTUNREACH, "host is unreachable") \
100
+ XX(EINTR, "interrupted system call") \
101
+ XX(EINVAL, "invalid argument") \
102
+ XX(EIO, "i/o error") \
103
+ XX(EISCONN, "socket is already connected") \
104
+ XX(EISDIR, "illegal operation on a directory") \
105
+ XX(ELOOP, "too many symbolic links encountered") \
106
+ XX(EMFILE, "too many open files") \
107
+ XX(EMSGSIZE, "message too long") \
108
+ XX(ENAMETOOLONG, "name too long") \
109
+ XX(ENETDOWN, "network is down") \
110
+ XX(ENETUNREACH, "network is unreachable") \
111
+ XX(ENFILE, "file table overflow") \
112
+ XX(ENOBUFS, "no buffer space available") \
113
+ XX(ENODEV, "no such device") \
114
+ XX(ENOENT, "no such file or directory") \
115
+ XX(ENOMEM, "not enough memory") \
116
+ XX(ENONET, "machine is not on the network") \
117
+ XX(ENOPROTOOPT, "protocol not available") \
118
+ XX(ENOSPC, "no space left on device") \
119
+ XX(ENOSYS, "function not implemented") \
120
+ XX(ENOTCONN, "socket is not connected") \
121
+ XX(ENOTDIR, "not a directory") \
122
+ XX(ENOTEMPTY, "directory not empty") \
123
+ XX(ENOTSOCK, "socket operation on non-socket") \
124
+ XX(ENOTSUP, "operation not supported on socket") \
125
+ XX(EPERM, "operation not permitted") \
126
+ XX(EPIPE, "broken pipe") \
127
+ XX(EPROTO, "protocol error") \
128
+ XX(EPROTONOSUPPORT, "protocol not supported") \
129
+ XX(EPROTOTYPE, "protocol wrong type for socket") \
130
+ XX(ERANGE, "result too large") \
131
+ XX(EROFS, "read-only file system") \
132
+ XX(ESHUTDOWN, "cannot send after transport endpoint shutdown") \
133
+ XX(ESPIPE, "invalid seek") \
134
+ XX(ESRCH, "no such process") \
135
+ XX(ETIMEDOUT, "connection timed out") \
136
+ XX(ETXTBSY, "text file is busy") \
137
+ XX(EXDEV, "cross-device link not permitted") \
138
+ XX(UNKNOWN, "unknown error") \
139
+ XX(EOF, "end of file") \
140
+ XX(ENXIO, "no such device or address") \
141
+ XX(EMLINK, "too many links") \
142
+ XX(EHOSTDOWN, "host is down") \
143
+
144
+ #define UV_HANDLE_TYPE_MAP(XX) \
145
+ XX(ASYNC, async) \
146
+ XX(CHECK, check) \
147
+ XX(FS_EVENT, fs_event) \
148
+ XX(FS_POLL, fs_poll) \
149
+ XX(HANDLE, handle) \
150
+ XX(IDLE, idle) \
151
+ XX(NAMED_PIPE, pipe) \
152
+ XX(POLL, poll) \
153
+ XX(PREPARE, prepare) \
154
+ XX(PROCESS, process) \
155
+ XX(STREAM, stream) \
156
+ XX(TCP, tcp) \
157
+ XX(TIMER, timer) \
158
+ XX(TTY, tty) \
159
+ XX(UDP, udp) \
160
+ XX(SIGNAL, signal) \
161
+
162
+ #define UV_REQ_TYPE_MAP(XX) \
163
+ XX(REQ, req) \
164
+ XX(CONNECT, connect) \
165
+ XX(WRITE, write) \
166
+ XX(SHUTDOWN, shutdown) \
167
+ XX(UDP_SEND, udp_send) \
168
+ XX(FS, fs) \
169
+ XX(WORK, work) \
170
+ XX(GETADDRINFO, getaddrinfo) \
171
+ XX(GETNAMEINFO, getnameinfo) \
172
+
173
+ typedef enum {
174
+ #define XX(code, _) UV_ ## code = UV__ ## code,
175
+ UV_ERRNO_MAP(XX)
176
+ #undef XX
177
+ UV_ERRNO_MAX = UV__EOF - 1
178
+ } uv_errno_t;
179
+
180
+ typedef enum {
181
+ UV_UNKNOWN_HANDLE = 0,
182
+ #define XX(uc, lc) UV_##uc,
183
+ UV_HANDLE_TYPE_MAP(XX)
184
+ #undef XX
185
+ UV_FILE,
186
+ UV_HANDLE_TYPE_MAX
187
+ } uv_handle_type;
188
+
189
+ typedef enum {
190
+ UV_UNKNOWN_REQ = 0,
191
+ #define XX(uc, lc) UV_##uc,
192
+ UV_REQ_TYPE_MAP(XX)
193
+ #undef XX
194
+ UV_REQ_TYPE_PRIVATE
195
+ UV_REQ_TYPE_MAX
196
+ } uv_req_type;
197
+
198
+
199
+ /* Handle types. */
200
+ typedef struct uv_loop_s uv_loop_t;
201
+ typedef struct uv_handle_s uv_handle_t;
202
+ typedef struct uv_stream_s uv_stream_t;
203
+ typedef struct uv_tcp_s uv_tcp_t;
204
+ typedef struct uv_udp_s uv_udp_t;
205
+ typedef struct uv_pipe_s uv_pipe_t;
206
+ typedef struct uv_tty_s uv_tty_t;
207
+ typedef struct uv_poll_s uv_poll_t;
208
+ typedef struct uv_timer_s uv_timer_t;
209
+ typedef struct uv_prepare_s uv_prepare_t;
210
+ typedef struct uv_check_s uv_check_t;
211
+ typedef struct uv_idle_s uv_idle_t;
212
+ typedef struct uv_async_s uv_async_t;
213
+ typedef struct uv_process_s uv_process_t;
214
+ typedef struct uv_fs_event_s uv_fs_event_t;
215
+ typedef struct uv_fs_poll_s uv_fs_poll_t;
216
+ typedef struct uv_signal_s uv_signal_t;
217
+
218
+ /* Request types. */
219
+ typedef struct uv_req_s uv_req_t;
220
+ typedef struct uv_getaddrinfo_s uv_getaddrinfo_t;
221
+ typedef struct uv_getnameinfo_s uv_getnameinfo_t;
222
+ typedef struct uv_shutdown_s uv_shutdown_t;
223
+ typedef struct uv_write_s uv_write_t;
224
+ typedef struct uv_connect_s uv_connect_t;
225
+ typedef struct uv_udp_send_s uv_udp_send_t;
226
+ typedef struct uv_fs_s uv_fs_t;
227
+ typedef struct uv_work_s uv_work_t;
228
+
229
+ /* None of the above. */
230
+ typedef struct uv_cpu_info_s uv_cpu_info_t;
231
+ typedef struct uv_interface_address_s uv_interface_address_t;
232
+ typedef struct uv_dirent_s uv_dirent_t;
233
+ typedef struct uv_passwd_s uv_passwd_t;
234
+
235
+ typedef enum {
236
+ UV_LOOP_BLOCK_SIGNAL
237
+ } uv_loop_option;
238
+
239
+ typedef enum {
240
+ UV_RUN_DEFAULT = 0,
241
+ UV_RUN_ONCE,
242
+ UV_RUN_NOWAIT
243
+ } uv_run_mode;
244
+
245
+
246
+ UV_EXTERN unsigned int uv_version(void);
247
+ UV_EXTERN const char* uv_version_string(void);
248
+
249
+ typedef void* (*uv_malloc_func)(size_t size);
250
+ typedef void* (*uv_realloc_func)(void* ptr, size_t size);
251
+ typedef void* (*uv_calloc_func)(size_t count, size_t size);
252
+ typedef void (*uv_free_func)(void* ptr);
253
+
254
+ UV_EXTERN int uv_replace_allocator(uv_malloc_func malloc_func,
255
+ uv_realloc_func realloc_func,
256
+ uv_calloc_func calloc_func,
257
+ uv_free_func free_func);
258
+
259
+ UV_EXTERN uv_loop_t* uv_default_loop(void);
260
+ UV_EXTERN int uv_loop_init(uv_loop_t* loop);
261
+ UV_EXTERN int uv_loop_close(uv_loop_t* loop);
262
+ /*
263
+ * NOTE:
264
+ * This function is DEPRECATED (to be removed after 0.12), users should
265
+ * allocate the loop manually and use uv_loop_init instead.
266
+ */
267
+ UV_EXTERN uv_loop_t* uv_loop_new(void);
268
+ /*
269
+ * NOTE:
270
+ * This function is DEPRECATED (to be removed after 0.12). Users should use
271
+ * uv_loop_close and free the memory manually instead.
272
+ */
273
+ UV_EXTERN void uv_loop_delete(uv_loop_t*);
274
+ UV_EXTERN size_t uv_loop_size(void);
275
+ UV_EXTERN int uv_loop_alive(const uv_loop_t* loop);
276
+ UV_EXTERN int uv_loop_configure(uv_loop_t* loop, uv_loop_option option, ...);
277
+
278
+ UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode);
279
+ UV_EXTERN void uv_stop(uv_loop_t*);
280
+
281
+ UV_EXTERN void uv_ref(uv_handle_t*);
282
+ UV_EXTERN void uv_unref(uv_handle_t*);
283
+ UV_EXTERN int uv_has_ref(const uv_handle_t*);
284
+
285
+ UV_EXTERN void uv_update_time(uv_loop_t*);
286
+ UV_EXTERN uint64_t uv_now(const uv_loop_t*);
287
+
288
+ UV_EXTERN int uv_backend_fd(const uv_loop_t*);
289
+ UV_EXTERN int uv_backend_timeout(const uv_loop_t*);
290
+
291
+ typedef void (*uv_alloc_cb)(uv_handle_t* handle,
292
+ size_t suggested_size,
293
+ uv_buf_t* buf);
294
+ typedef void (*uv_read_cb)(uv_stream_t* stream,
295
+ ssize_t nread,
296
+ const uv_buf_t* buf);
297
+ typedef void (*uv_write_cb)(uv_write_t* req, int status);
298
+ typedef void (*uv_connect_cb)(uv_connect_t* req, int status);
299
+ typedef void (*uv_shutdown_cb)(uv_shutdown_t* req, int status);
300
+ typedef void (*uv_connection_cb)(uv_stream_t* server, int status);
301
+ typedef void (*uv_close_cb)(uv_handle_t* handle);
302
+ typedef void (*uv_poll_cb)(uv_poll_t* handle, int status, int events);
303
+ typedef void (*uv_timer_cb)(uv_timer_t* handle);
304
+ typedef void (*uv_async_cb)(uv_async_t* handle);
305
+ typedef void (*uv_prepare_cb)(uv_prepare_t* handle);
306
+ typedef void (*uv_check_cb)(uv_check_t* handle);
307
+ typedef void (*uv_idle_cb)(uv_idle_t* handle);
308
+ typedef void (*uv_exit_cb)(uv_process_t*, int64_t exit_status, int term_signal);
309
+ typedef void (*uv_walk_cb)(uv_handle_t* handle, void* arg);
310
+ typedef void (*uv_fs_cb)(uv_fs_t* req);
311
+ typedef void (*uv_work_cb)(uv_work_t* req);
312
+ typedef void (*uv_after_work_cb)(uv_work_t* req, int status);
313
+ typedef void (*uv_getaddrinfo_cb)(uv_getaddrinfo_t* req,
314
+ int status,
315
+ struct addrinfo* res);
316
+ typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t* req,
317
+ int status,
318
+ const char* hostname,
319
+ const char* service);
320
+
321
+ typedef struct {
322
+ long tv_sec;
323
+ long tv_nsec;
324
+ } uv_timespec_t;
325
+
326
+
327
+ typedef struct {
328
+ uint64_t st_dev;
329
+ uint64_t st_mode;
330
+ uint64_t st_nlink;
331
+ uint64_t st_uid;
332
+ uint64_t st_gid;
333
+ uint64_t st_rdev;
334
+ uint64_t st_ino;
335
+ uint64_t st_size;
336
+ uint64_t st_blksize;
337
+ uint64_t st_blocks;
338
+ uint64_t st_flags;
339
+ uint64_t st_gen;
340
+ uv_timespec_t st_atim;
341
+ uv_timespec_t st_mtim;
342
+ uv_timespec_t st_ctim;
343
+ uv_timespec_t st_birthtim;
344
+ } uv_stat_t;
345
+
346
+
347
+ typedef void (*uv_fs_event_cb)(uv_fs_event_t* handle,
348
+ const char* filename,
349
+ int events,
350
+ int status);
351
+
352
+ typedef void (*uv_fs_poll_cb)(uv_fs_poll_t* handle,
353
+ int status,
354
+ const uv_stat_t* prev,
355
+ const uv_stat_t* curr);
356
+
357
+ typedef void (*uv_signal_cb)(uv_signal_t* handle, int signum);
358
+
359
+
360
+ typedef enum {
361
+ UV_LEAVE_GROUP = 0,
362
+ UV_JOIN_GROUP
363
+ } uv_membership;
364
+
365
+
366
+ UV_EXTERN const char* uv_strerror(int err);
367
+ UV_EXTERN const char* uv_err_name(int err);
368
+
369
+
370
+ #define UV_REQ_FIELDS \
371
+ /* public */ \
372
+ void* data; \
373
+ /* read-only */ \
374
+ uv_req_type type; \
375
+ /* private */ \
376
+ void* active_queue[2]; \
377
+ void* reserved[4]; \
378
+ UV_REQ_PRIVATE_FIELDS \
379
+
380
+ /* Abstract base class of all requests. */
381
+ struct uv_req_s {
382
+ UV_REQ_FIELDS
383
+ };
384
+
385
+
386
+ /* Platform-specific request types. */
387
+ UV_PRIVATE_REQ_TYPES
388
+
389
+
390
+ UV_EXTERN int uv_shutdown(uv_shutdown_t* req,
391
+ uv_stream_t* handle,
392
+ uv_shutdown_cb cb);
393
+
394
+ struct uv_shutdown_s {
395
+ UV_REQ_FIELDS
396
+ uv_stream_t* handle;
397
+ uv_shutdown_cb cb;
398
+ UV_SHUTDOWN_PRIVATE_FIELDS
399
+ };
400
+
401
+
402
+ #define UV_HANDLE_FIELDS \
403
+ /* public */ \
404
+ void* data; \
405
+ /* read-only */ \
406
+ uv_loop_t* loop; \
407
+ uv_handle_type type; \
408
+ /* private */ \
409
+ uv_close_cb close_cb; \
410
+ void* handle_queue[2]; \
411
+ union { \
412
+ int fd; \
413
+ void* reserved[4]; \
414
+ } u; \
415
+ UV_HANDLE_PRIVATE_FIELDS \
416
+
417
+ /* The abstract base class of all handles. */
418
+ struct uv_handle_s {
419
+ UV_HANDLE_FIELDS
420
+ };
421
+
422
+ UV_EXTERN size_t uv_handle_size(uv_handle_type type);
423
+ UV_EXTERN size_t uv_req_size(uv_req_type type);
424
+
425
+ UV_EXTERN int uv_is_active(const uv_handle_t* handle);
426
+
427
+ UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg);
428
+
429
+ /* Helpers for ad hoc debugging, no API/ABI stability guaranteed. */
430
+ UV_EXTERN void uv_print_all_handles(uv_loop_t* loop, FILE* stream);
431
+ UV_EXTERN void uv_print_active_handles(uv_loop_t* loop, FILE* stream);
432
+
433
+ UV_EXTERN void uv_close(uv_handle_t* handle, uv_close_cb close_cb);
434
+
435
+ UV_EXTERN int uv_send_buffer_size(uv_handle_t* handle, int* value);
436
+ UV_EXTERN int uv_recv_buffer_size(uv_handle_t* handle, int* value);
437
+
438
+ UV_EXTERN int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd);
439
+
440
+ UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len);
441
+
442
+
443
+ #define UV_STREAM_FIELDS \
444
+ /* number of bytes queued for writing */ \
445
+ size_t write_queue_size; \
446
+ uv_alloc_cb alloc_cb; \
447
+ uv_read_cb read_cb; \
448
+ /* private */ \
449
+ UV_STREAM_PRIVATE_FIELDS
450
+
451
+ /*
452
+ * uv_stream_t is a subclass of uv_handle_t.
453
+ *
454
+ * uv_stream is an abstract class.
455
+ *
456
+ * uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t and uv_tty_t.
457
+ */
458
+ struct uv_stream_s {
459
+ UV_HANDLE_FIELDS
460
+ UV_STREAM_FIELDS
461
+ };
462
+
463
+ UV_EXTERN int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb);
464
+ UV_EXTERN int uv_accept(uv_stream_t* server, uv_stream_t* client);
465
+
466
+ UV_EXTERN int uv_read_start(uv_stream_t*,
467
+ uv_alloc_cb alloc_cb,
468
+ uv_read_cb read_cb);
469
+ UV_EXTERN int uv_read_stop(uv_stream_t*);
470
+
471
+ UV_EXTERN int uv_write(uv_write_t* req,
472
+ uv_stream_t* handle,
473
+ const uv_buf_t bufs[],
474
+ unsigned int nbufs,
475
+ uv_write_cb cb);
476
+ UV_EXTERN int uv_write2(uv_write_t* req,
477
+ uv_stream_t* handle,
478
+ const uv_buf_t bufs[],
479
+ unsigned int nbufs,
480
+ uv_stream_t* send_handle,
481
+ uv_write_cb cb);
482
+ UV_EXTERN int uv_try_write(uv_stream_t* handle,
483
+ const uv_buf_t bufs[],
484
+ unsigned int nbufs);
485
+
486
+ /* uv_write_t is a subclass of uv_req_t. */
487
+ struct uv_write_s {
488
+ UV_REQ_FIELDS
489
+ uv_write_cb cb;
490
+ uv_stream_t* send_handle;
491
+ uv_stream_t* handle;
492
+ UV_WRITE_PRIVATE_FIELDS
493
+ };
494
+
495
+
496
+ UV_EXTERN int uv_is_readable(const uv_stream_t* handle);
497
+ UV_EXTERN int uv_is_writable(const uv_stream_t* handle);
498
+
499
+ UV_EXTERN int uv_stream_set_blocking(uv_stream_t* handle, int blocking);
500
+
501
+ UV_EXTERN int uv_is_closing(const uv_handle_t* handle);
502
+
503
+
504
+ /*
505
+ * uv_tcp_t is a subclass of uv_stream_t.
506
+ *
507
+ * Represents a TCP stream or TCP server.
508
+ */
509
+ struct uv_tcp_s {
510
+ UV_HANDLE_FIELDS
511
+ UV_STREAM_FIELDS
512
+ UV_TCP_PRIVATE_FIELDS
513
+ };
514
+
515
+ UV_EXTERN int uv_tcp_init(uv_loop_t*, uv_tcp_t* handle);
516
+ UV_EXTERN int uv_tcp_init_ex(uv_loop_t*, uv_tcp_t* handle, unsigned int flags);
517
+ UV_EXTERN int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock);
518
+ UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable);
519
+ UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle,
520
+ int enable,
521
+ unsigned int delay);
522
+ UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
523
+
524
+ enum uv_tcp_flags {
525
+ /* Used with uv_tcp_bind, when an IPv6 address is used. */
526
+ UV_TCP_IPV6ONLY = 1
527
+ };
528
+
529
+ UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle,
530
+ const struct sockaddr* addr,
531
+ unsigned int flags);
532
+ UV_EXTERN int uv_tcp_getsockname(const uv_tcp_t* handle,
533
+ struct sockaddr* name,
534
+ int* namelen);
535
+ UV_EXTERN int uv_tcp_getpeername(const uv_tcp_t* handle,
536
+ struct sockaddr* name,
537
+ int* namelen);
538
+ UV_EXTERN int uv_tcp_connect(uv_connect_t* req,
539
+ uv_tcp_t* handle,
540
+ const struct sockaddr* addr,
541
+ uv_connect_cb cb);
542
+
543
+ /* uv_connect_t is a subclass of uv_req_t. */
544
+ struct uv_connect_s {
545
+ UV_REQ_FIELDS
546
+ uv_connect_cb cb;
547
+ uv_stream_t* handle;
548
+ UV_CONNECT_PRIVATE_FIELDS
549
+ };
550
+
551
+
552
+ /*
553
+ * UDP support.
554
+ */
555
+
556
+ enum uv_udp_flags {
557
+ /* Disables dual stack mode. */
558
+ UV_UDP_IPV6ONLY = 1,
559
+ /*
560
+ * Indicates message was truncated because read buffer was too small. The
561
+ * remainder was discarded by the OS. Used in uv_udp_recv_cb.
562
+ */
563
+ UV_UDP_PARTIAL = 2,
564
+ /*
565
+ * Indicates if SO_REUSEADDR will be set when binding the handle.
566
+ * This sets the SO_REUSEPORT socket flag on the BSDs and OS X. On other
567
+ * Unix platforms, it sets the SO_REUSEADDR flag. What that means is that
568
+ * multiple threads or processes can bind to the same address without error
569
+ * (provided they all set the flag) but only the last one to bind will receive
570
+ * any traffic, in effect "stealing" the port from the previous listener.
571
+ */
572
+ UV_UDP_REUSEADDR = 4
573
+ };
574
+
575
+ typedef void (*uv_udp_send_cb)(uv_udp_send_t* req, int status);
576
+ typedef void (*uv_udp_recv_cb)(uv_udp_t* handle,
577
+ ssize_t nread,
578
+ const uv_buf_t* buf,
579
+ const struct sockaddr* addr,
580
+ unsigned flags);
581
+
582
+ /* uv_udp_t is a subclass of uv_handle_t. */
583
+ struct uv_udp_s {
584
+ UV_HANDLE_FIELDS
585
+ /* read-only */
586
+ /*
587
+ * Number of bytes queued for sending. This field strictly shows how much
588
+ * information is currently queued.
589
+ */
590
+ size_t send_queue_size;
591
+ /*
592
+ * Number of send requests currently in the queue awaiting to be processed.
593
+ */
594
+ size_t send_queue_count;
595
+ UV_UDP_PRIVATE_FIELDS
596
+ };
597
+
598
+ /* uv_udp_send_t is a subclass of uv_req_t. */
599
+ struct uv_udp_send_s {
600
+ UV_REQ_FIELDS
601
+ uv_udp_t* handle;
602
+ uv_udp_send_cb cb;
603
+ UV_UDP_SEND_PRIVATE_FIELDS
604
+ };
605
+
606
+ UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle);
607
+ UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags);
608
+ UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
609
+ UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
610
+ const struct sockaddr* addr,
611
+ unsigned int flags);
612
+
613
+ UV_EXTERN int uv_udp_getsockname(const uv_udp_t* handle,
614
+ struct sockaddr* name,
615
+ int* namelen);
616
+ UV_EXTERN int uv_udp_set_membership(uv_udp_t* handle,
617
+ const char* multicast_addr,
618
+ const char* interface_addr,
619
+ uv_membership membership);
620
+ UV_EXTERN int uv_udp_set_multicast_loop(uv_udp_t* handle, int on);
621
+ UV_EXTERN int uv_udp_set_multicast_ttl(uv_udp_t* handle, int ttl);
622
+ UV_EXTERN int uv_udp_set_multicast_interface(uv_udp_t* handle,
623
+ const char* interface_addr);
624
+ UV_EXTERN int uv_udp_set_broadcast(uv_udp_t* handle, int on);
625
+ UV_EXTERN int uv_udp_set_ttl(uv_udp_t* handle, int ttl);
626
+ UV_EXTERN int uv_udp_send(uv_udp_send_t* req,
627
+ uv_udp_t* handle,
628
+ const uv_buf_t bufs[],
629
+ unsigned int nbufs,
630
+ const struct sockaddr* addr,
631
+ uv_udp_send_cb send_cb);
632
+ UV_EXTERN int uv_udp_try_send(uv_udp_t* handle,
633
+ const uv_buf_t bufs[],
634
+ unsigned int nbufs,
635
+ const struct sockaddr* addr);
636
+ UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle,
637
+ uv_alloc_cb alloc_cb,
638
+ uv_udp_recv_cb recv_cb);
639
+ UV_EXTERN int uv_udp_recv_stop(uv_udp_t* handle);
640
+
641
+
642
+ /*
643
+ * uv_tty_t is a subclass of uv_stream_t.
644
+ *
645
+ * Representing a stream for the console.
646
+ */
647
+ struct uv_tty_s {
648
+ UV_HANDLE_FIELDS
649
+ UV_STREAM_FIELDS
650
+ UV_TTY_PRIVATE_FIELDS
651
+ };
652
+
653
+ typedef enum {
654
+ /* Initial/normal terminal mode */
655
+ UV_TTY_MODE_NORMAL,
656
+ /* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */
657
+ UV_TTY_MODE_RAW,
658
+ /* Binary-safe I/O mode for IPC (Unix-only) */
659
+ UV_TTY_MODE_IO
660
+ } uv_tty_mode_t;
661
+
662
+ UV_EXTERN int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd, int readable);
663
+ UV_EXTERN int uv_tty_set_mode(uv_tty_t*, uv_tty_mode_t mode);
664
+ UV_EXTERN int uv_tty_reset_mode(void);
665
+ UV_EXTERN int uv_tty_get_winsize(uv_tty_t*, int* width, int* height);
666
+
667
+ #ifdef __cplusplus
668
+ extern "C++" {
669
+
670
+ inline int uv_tty_set_mode(uv_tty_t* handle, int mode) {
671
+ return uv_tty_set_mode(handle, static_cast<uv_tty_mode_t>(mode));
672
+ }
673
+
674
+ }
675
+ #endif
676
+
677
+ UV_EXTERN uv_handle_type uv_guess_handle(uv_file file);
678
+
679
+ /*
680
+ * uv_pipe_t is a subclass of uv_stream_t.
681
+ *
682
+ * Representing a pipe stream or pipe server. On Windows this is a Named
683
+ * Pipe. On Unix this is a Unix domain socket.
684
+ */
685
+ struct uv_pipe_s {
686
+ UV_HANDLE_FIELDS
687
+ UV_STREAM_FIELDS
688
+ int ipc; /* non-zero if this pipe is used for passing handles */
689
+ UV_PIPE_PRIVATE_FIELDS
690
+ };
691
+
692
+ UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);
693
+ UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file);
694
+ UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name);
695
+ UV_EXTERN void uv_pipe_connect(uv_connect_t* req,
696
+ uv_pipe_t* handle,
697
+ const char* name,
698
+ uv_connect_cb cb);
699
+ UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
700
+ char* buffer,
701
+ size_t* size);
702
+ UV_EXTERN int uv_pipe_getpeername(const uv_pipe_t* handle,
703
+ char* buffer,
704
+ size_t* size);
705
+ UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count);
706
+ UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle);
707
+ UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle);
708
+
709
+
710
+ struct uv_poll_s {
711
+ UV_HANDLE_FIELDS
712
+ uv_poll_cb poll_cb;
713
+ UV_POLL_PRIVATE_FIELDS
714
+ };
715
+
716
+ enum uv_poll_event {
717
+ UV_READABLE = 1,
718
+ UV_WRITABLE = 2,
719
+ UV_DISCONNECT = 4
720
+ };
721
+
722
+ UV_EXTERN int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd);
723
+ UV_EXTERN int uv_poll_init_socket(uv_loop_t* loop,
724
+ uv_poll_t* handle,
725
+ uv_os_sock_t socket);
726
+ UV_EXTERN int uv_poll_start(uv_poll_t* handle, int events, uv_poll_cb cb);
727
+ UV_EXTERN int uv_poll_stop(uv_poll_t* handle);
728
+
729
+
730
+ struct uv_prepare_s {
731
+ UV_HANDLE_FIELDS
732
+ UV_PREPARE_PRIVATE_FIELDS
733
+ };
734
+
735
+ UV_EXTERN int uv_prepare_init(uv_loop_t*, uv_prepare_t* prepare);
736
+ UV_EXTERN int uv_prepare_start(uv_prepare_t* prepare, uv_prepare_cb cb);
737
+ UV_EXTERN int uv_prepare_stop(uv_prepare_t* prepare);
738
+
739
+
740
+ struct uv_check_s {
741
+ UV_HANDLE_FIELDS
742
+ UV_CHECK_PRIVATE_FIELDS
743
+ };
744
+
745
+ UV_EXTERN int uv_check_init(uv_loop_t*, uv_check_t* check);
746
+ UV_EXTERN int uv_check_start(uv_check_t* check, uv_check_cb cb);
747
+ UV_EXTERN int uv_check_stop(uv_check_t* check);
748
+
749
+
750
+ struct uv_idle_s {
751
+ UV_HANDLE_FIELDS
752
+ UV_IDLE_PRIVATE_FIELDS
753
+ };
754
+
755
+ UV_EXTERN int uv_idle_init(uv_loop_t*, uv_idle_t* idle);
756
+ UV_EXTERN int uv_idle_start(uv_idle_t* idle, uv_idle_cb cb);
757
+ UV_EXTERN int uv_idle_stop(uv_idle_t* idle);
758
+
759
+
760
+ struct uv_async_s {
761
+ UV_HANDLE_FIELDS
762
+ UV_ASYNC_PRIVATE_FIELDS
763
+ };
764
+
765
+ UV_EXTERN int uv_async_init(uv_loop_t*,
766
+ uv_async_t* async,
767
+ uv_async_cb async_cb);
768
+ UV_EXTERN int uv_async_send(uv_async_t* async);
769
+
770
+
771
+ /*
772
+ * uv_timer_t is a subclass of uv_handle_t.
773
+ *
774
+ * Used to get woken up at a specified time in the future.
775
+ */
776
+ struct uv_timer_s {
777
+ UV_HANDLE_FIELDS
778
+ UV_TIMER_PRIVATE_FIELDS
779
+ };
780
+
781
+ UV_EXTERN int uv_timer_init(uv_loop_t*, uv_timer_t* handle);
782
+ UV_EXTERN int uv_timer_start(uv_timer_t* handle,
783
+ uv_timer_cb cb,
784
+ uint64_t timeout,
785
+ uint64_t repeat);
786
+ UV_EXTERN int uv_timer_stop(uv_timer_t* handle);
787
+ UV_EXTERN int uv_timer_again(uv_timer_t* handle);
788
+ UV_EXTERN void uv_timer_set_repeat(uv_timer_t* handle, uint64_t repeat);
789
+ UV_EXTERN uint64_t uv_timer_get_repeat(const uv_timer_t* handle);
790
+
791
+
792
+ /*
793
+ * uv_getaddrinfo_t is a subclass of uv_req_t.
794
+ *
795
+ * Request object for uv_getaddrinfo.
796
+ */
797
+ struct uv_getaddrinfo_s {
798
+ UV_REQ_FIELDS
799
+ /* read-only */
800
+ uv_loop_t* loop;
801
+ /* struct addrinfo* addrinfo is marked as private, but it really isn't. */
802
+ UV_GETADDRINFO_PRIVATE_FIELDS
803
+ };
804
+
805
+
806
+ UV_EXTERN int uv_getaddrinfo(uv_loop_t* loop,
807
+ uv_getaddrinfo_t* req,
808
+ uv_getaddrinfo_cb getaddrinfo_cb,
809
+ const char* node,
810
+ const char* service,
811
+ const struct addrinfo* hints);
812
+ UV_EXTERN void uv_freeaddrinfo(struct addrinfo* ai);
813
+
814
+
815
+ /*
816
+ * uv_getnameinfo_t is a subclass of uv_req_t.
817
+ *
818
+ * Request object for uv_getnameinfo.
819
+ */
820
+ struct uv_getnameinfo_s {
821
+ UV_REQ_FIELDS
822
+ /* read-only */
823
+ uv_loop_t* loop;
824
+ /* host and service are marked as private, but they really aren't. */
825
+ UV_GETNAMEINFO_PRIVATE_FIELDS
826
+ };
827
+
828
+ UV_EXTERN int uv_getnameinfo(uv_loop_t* loop,
829
+ uv_getnameinfo_t* req,
830
+ uv_getnameinfo_cb getnameinfo_cb,
831
+ const struct sockaddr* addr,
832
+ int flags);
833
+
834
+
835
+ /* uv_spawn() options. */
836
+ typedef enum {
837
+ UV_IGNORE = 0x00,
838
+ UV_CREATE_PIPE = 0x01,
839
+ UV_INHERIT_FD = 0x02,
840
+ UV_INHERIT_STREAM = 0x04,
841
+
842
+ /*
843
+ * When UV_CREATE_PIPE is specified, UV_READABLE_PIPE and UV_WRITABLE_PIPE
844
+ * determine the direction of flow, from the child process' perspective. Both
845
+ * flags may be specified to create a duplex data stream.
846
+ */
847
+ UV_READABLE_PIPE = 0x10,
848
+ UV_WRITABLE_PIPE = 0x20
849
+ } uv_stdio_flags;
850
+
851
+ typedef struct uv_stdio_container_s {
852
+ uv_stdio_flags flags;
853
+
854
+ union {
855
+ uv_stream_t* stream;
856
+ int fd;
857
+ } data;
858
+ } uv_stdio_container_t;
859
+
860
+ typedef struct uv_process_options_s {
861
+ uv_exit_cb exit_cb; /* Called after the process exits. */
862
+ const char* file; /* Path to program to execute. */
863
+ /*
864
+ * Command line arguments. args[0] should be the path to the program. On
865
+ * Windows this uses CreateProcess which concatenates the arguments into a
866
+ * string this can cause some strange errors. See the note at
867
+ * windows_verbatim_arguments.
868
+ */
869
+ char** args;
870
+ /*
871
+ * This will be set as the environ variable in the subprocess. If this is
872
+ * NULL then the parents environ will be used.
873
+ */
874
+ char** env;
875
+ /*
876
+ * If non-null this represents a directory the subprocess should execute
877
+ * in. Stands for current working directory.
878
+ */
879
+ const char* cwd;
880
+ /*
881
+ * Various flags that control how uv_spawn() behaves. See the definition of
882
+ * `enum uv_process_flags` below.
883
+ */
884
+ unsigned int flags;
885
+ /*
886
+ * The `stdio` field points to an array of uv_stdio_container_t structs that
887
+ * describe the file descriptors that will be made available to the child
888
+ * process. The convention is that stdio[0] points to stdin, fd 1 is used for
889
+ * stdout, and fd 2 is stderr.
890
+ *
891
+ * Note that on windows file descriptors greater than 2 are available to the
892
+ * child process only if the child processes uses the MSVCRT runtime.
893
+ */
894
+ int stdio_count;
895
+ uv_stdio_container_t* stdio;
896
+ /*
897
+ * Libuv can change the child process' user/group id. This happens only when
898
+ * the appropriate bits are set in the flags fields. This is not supported on
899
+ * windows; uv_spawn() will fail and set the error to UV_ENOTSUP.
900
+ */
901
+ uv_uid_t uid;
902
+ uv_gid_t gid;
903
+ } uv_process_options_t;
904
+
905
+ /*
906
+ * These are the flags that can be used for the uv_process_options.flags field.
907
+ */
908
+ enum uv_process_flags {
909
+ /*
910
+ * Set the child process' user id. The user id is supplied in the `uid` field
911
+ * of the options struct. This does not work on windows; setting this flag
912
+ * will cause uv_spawn() to fail.
913
+ */
914
+ UV_PROCESS_SETUID = (1 << 0),
915
+ /*
916
+ * Set the child process' group id. The user id is supplied in the `gid`
917
+ * field of the options struct. This does not work on windows; setting this
918
+ * flag will cause uv_spawn() to fail.
919
+ */
920
+ UV_PROCESS_SETGID = (1 << 1),
921
+ /*
922
+ * Do not wrap any arguments in quotes, or perform any other escaping, when
923
+ * converting the argument list into a command line string. This option is
924
+ * only meaningful on Windows systems. On Unix it is silently ignored.
925
+ */
926
+ UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS = (1 << 2),
927
+ /*
928
+ * Spawn the child process in a detached state - this will make it a process
929
+ * group leader, and will effectively enable the child to keep running after
930
+ * the parent exits. Note that the child process will still keep the
931
+ * parent's event loop alive unless the parent process calls uv_unref() on
932
+ * the child's process handle.
933
+ */
934
+ UV_PROCESS_DETACHED = (1 << 3),
935
+ /*
936
+ * Hide the subprocess console window that would normally be created. This
937
+ * option is only meaningful on Windows systems. On Unix it is silently
938
+ * ignored.
939
+ */
940
+ UV_PROCESS_WINDOWS_HIDE = (1 << 4)
941
+ };
942
+
943
+ /*
944
+ * uv_process_t is a subclass of uv_handle_t.
945
+ */
946
+ struct uv_process_s {
947
+ UV_HANDLE_FIELDS
948
+ uv_exit_cb exit_cb;
949
+ int pid;
950
+ UV_PROCESS_PRIVATE_FIELDS
951
+ };
952
+
953
+ UV_EXTERN int uv_spawn(uv_loop_t* loop,
954
+ uv_process_t* handle,
955
+ const uv_process_options_t* options);
956
+ UV_EXTERN int uv_process_kill(uv_process_t*, int signum);
957
+ UV_EXTERN int uv_kill(int pid, int signum);
958
+
959
+
960
+ /*
961
+ * uv_work_t is a subclass of uv_req_t.
962
+ */
963
+ struct uv_work_s {
964
+ UV_REQ_FIELDS
965
+ uv_loop_t* loop;
966
+ uv_work_cb work_cb;
967
+ uv_after_work_cb after_work_cb;
968
+ UV_WORK_PRIVATE_FIELDS
969
+ };
970
+
971
+ UV_EXTERN int uv_queue_work(uv_loop_t* loop,
972
+ uv_work_t* req,
973
+ uv_work_cb work_cb,
974
+ uv_after_work_cb after_work_cb);
975
+
976
+ UV_EXTERN int uv_cancel(uv_req_t* req);
977
+
978
+
979
+ struct uv_cpu_info_s {
980
+ char* model;
981
+ int speed;
982
+ struct uv_cpu_times_s {
983
+ uint64_t user;
984
+ uint64_t nice;
985
+ uint64_t sys;
986
+ uint64_t idle;
987
+ uint64_t irq;
988
+ } cpu_times;
989
+ };
990
+
991
+ struct uv_interface_address_s {
992
+ char* name;
993
+ char phys_addr[6];
994
+ int is_internal;
995
+ union {
996
+ struct sockaddr_in address4;
997
+ struct sockaddr_in6 address6;
998
+ } address;
999
+ union {
1000
+ struct sockaddr_in netmask4;
1001
+ struct sockaddr_in6 netmask6;
1002
+ } netmask;
1003
+ };
1004
+
1005
+ struct uv_passwd_s {
1006
+ char* username;
1007
+ long uid;
1008
+ long gid;
1009
+ char* shell;
1010
+ char* homedir;
1011
+ };
1012
+
1013
+ typedef enum {
1014
+ UV_DIRENT_UNKNOWN,
1015
+ UV_DIRENT_FILE,
1016
+ UV_DIRENT_DIR,
1017
+ UV_DIRENT_LINK,
1018
+ UV_DIRENT_FIFO,
1019
+ UV_DIRENT_SOCKET,
1020
+ UV_DIRENT_CHAR,
1021
+ UV_DIRENT_BLOCK
1022
+ } uv_dirent_type_t;
1023
+
1024
+ struct uv_dirent_s {
1025
+ const char* name;
1026
+ uv_dirent_type_t type;
1027
+ };
1028
+
1029
+ UV_EXTERN char** uv_setup_args(int argc, char** argv);
1030
+ UV_EXTERN int uv_get_process_title(char* buffer, size_t size);
1031
+ UV_EXTERN int uv_set_process_title(const char* title);
1032
+ UV_EXTERN int uv_resident_set_memory(size_t* rss);
1033
+ UV_EXTERN int uv_uptime(double* uptime);
1034
+
1035
+ typedef struct {
1036
+ long tv_sec;
1037
+ long tv_usec;
1038
+ } uv_timeval_t;
1039
+
1040
+ typedef struct {
1041
+ uv_timeval_t ru_utime; /* user CPU time used */
1042
+ uv_timeval_t ru_stime; /* system CPU time used */
1043
+ uint64_t ru_maxrss; /* maximum resident set size */
1044
+ uint64_t ru_ixrss; /* integral shared memory size */
1045
+ uint64_t ru_idrss; /* integral unshared data size */
1046
+ uint64_t ru_isrss; /* integral unshared stack size */
1047
+ uint64_t ru_minflt; /* page reclaims (soft page faults) */
1048
+ uint64_t ru_majflt; /* page faults (hard page faults) */
1049
+ uint64_t ru_nswap; /* swaps */
1050
+ uint64_t ru_inblock; /* block input operations */
1051
+ uint64_t ru_oublock; /* block output operations */
1052
+ uint64_t ru_msgsnd; /* IPC messages sent */
1053
+ uint64_t ru_msgrcv; /* IPC messages received */
1054
+ uint64_t ru_nsignals; /* signals received */
1055
+ uint64_t ru_nvcsw; /* voluntary context switches */
1056
+ uint64_t ru_nivcsw; /* involuntary context switches */
1057
+ } uv_rusage_t;
1058
+
1059
+ UV_EXTERN int uv_getrusage(uv_rusage_t* rusage);
1060
+
1061
+ UV_EXTERN int uv_os_homedir(char* buffer, size_t* size);
1062
+ UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size);
1063
+ UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd);
1064
+ UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd);
1065
+
1066
+ UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count);
1067
+ UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count);
1068
+
1069
+ UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses,
1070
+ int* count);
1071
+ UV_EXTERN void uv_free_interface_addresses(uv_interface_address_t* addresses,
1072
+ int count);
1073
+
1074
+
1075
+ typedef enum {
1076
+ UV_FS_UNKNOWN = -1,
1077
+ UV_FS_CUSTOM,
1078
+ UV_FS_OPEN,
1079
+ UV_FS_CLOSE,
1080
+ UV_FS_READ,
1081
+ UV_FS_WRITE,
1082
+ UV_FS_SENDFILE,
1083
+ UV_FS_STAT,
1084
+ UV_FS_LSTAT,
1085
+ UV_FS_FSTAT,
1086
+ UV_FS_FTRUNCATE,
1087
+ UV_FS_UTIME,
1088
+ UV_FS_FUTIME,
1089
+ UV_FS_ACCESS,
1090
+ UV_FS_CHMOD,
1091
+ UV_FS_FCHMOD,
1092
+ UV_FS_FSYNC,
1093
+ UV_FS_FDATASYNC,
1094
+ UV_FS_UNLINK,
1095
+ UV_FS_RMDIR,
1096
+ UV_FS_MKDIR,
1097
+ UV_FS_MKDTEMP,
1098
+ UV_FS_RENAME,
1099
+ UV_FS_SCANDIR,
1100
+ UV_FS_LINK,
1101
+ UV_FS_SYMLINK,
1102
+ UV_FS_READLINK,
1103
+ UV_FS_CHOWN,
1104
+ UV_FS_FCHOWN,
1105
+ UV_FS_REALPATH
1106
+ } uv_fs_type;
1107
+
1108
+ /* uv_fs_t is a subclass of uv_req_t. */
1109
+ struct uv_fs_s {
1110
+ UV_REQ_FIELDS
1111
+ uv_fs_type fs_type;
1112
+ uv_loop_t* loop;
1113
+ uv_fs_cb cb;
1114
+ ssize_t result;
1115
+ void* ptr;
1116
+ const char* path;
1117
+ uv_stat_t statbuf; /* Stores the result of uv_fs_stat() and uv_fs_fstat(). */
1118
+ UV_FS_PRIVATE_FIELDS
1119
+ };
1120
+
1121
+ UV_EXTERN void uv_fs_req_cleanup(uv_fs_t* req);
1122
+ UV_EXTERN int uv_fs_close(uv_loop_t* loop,
1123
+ uv_fs_t* req,
1124
+ uv_file file,
1125
+ uv_fs_cb cb);
1126
+ UV_EXTERN int uv_fs_open(uv_loop_t* loop,
1127
+ uv_fs_t* req,
1128
+ const char* path,
1129
+ int flags,
1130
+ int mode,
1131
+ uv_fs_cb cb);
1132
+ UV_EXTERN int uv_fs_read(uv_loop_t* loop,
1133
+ uv_fs_t* req,
1134
+ uv_file file,
1135
+ const uv_buf_t bufs[],
1136
+ unsigned int nbufs,
1137
+ int64_t offset,
1138
+ uv_fs_cb cb);
1139
+ UV_EXTERN int uv_fs_unlink(uv_loop_t* loop,
1140
+ uv_fs_t* req,
1141
+ const char* path,
1142
+ uv_fs_cb cb);
1143
+ UV_EXTERN int uv_fs_write(uv_loop_t* loop,
1144
+ uv_fs_t* req,
1145
+ uv_file file,
1146
+ const uv_buf_t bufs[],
1147
+ unsigned int nbufs,
1148
+ int64_t offset,
1149
+ uv_fs_cb cb);
1150
+ UV_EXTERN int uv_fs_mkdir(uv_loop_t* loop,
1151
+ uv_fs_t* req,
1152
+ const char* path,
1153
+ int mode,
1154
+ uv_fs_cb cb);
1155
+ UV_EXTERN int uv_fs_mkdtemp(uv_loop_t* loop,
1156
+ uv_fs_t* req,
1157
+ const char* tpl,
1158
+ uv_fs_cb cb);
1159
+ UV_EXTERN int uv_fs_rmdir(uv_loop_t* loop,
1160
+ uv_fs_t* req,
1161
+ const char* path,
1162
+ uv_fs_cb cb);
1163
+ UV_EXTERN int uv_fs_scandir(uv_loop_t* loop,
1164
+ uv_fs_t* req,
1165
+ const char* path,
1166
+ int flags,
1167
+ uv_fs_cb cb);
1168
+ UV_EXTERN int uv_fs_scandir_next(uv_fs_t* req,
1169
+ uv_dirent_t* ent);
1170
+ UV_EXTERN int uv_fs_stat(uv_loop_t* loop,
1171
+ uv_fs_t* req,
1172
+ const char* path,
1173
+ uv_fs_cb cb);
1174
+ UV_EXTERN int uv_fs_fstat(uv_loop_t* loop,
1175
+ uv_fs_t* req,
1176
+ uv_file file,
1177
+ uv_fs_cb cb);
1178
+ UV_EXTERN int uv_fs_rename(uv_loop_t* loop,
1179
+ uv_fs_t* req,
1180
+ const char* path,
1181
+ const char* new_path,
1182
+ uv_fs_cb cb);
1183
+ UV_EXTERN int uv_fs_fsync(uv_loop_t* loop,
1184
+ uv_fs_t* req,
1185
+ uv_file file,
1186
+ uv_fs_cb cb);
1187
+ UV_EXTERN int uv_fs_fdatasync(uv_loop_t* loop,
1188
+ uv_fs_t* req,
1189
+ uv_file file,
1190
+ uv_fs_cb cb);
1191
+ UV_EXTERN int uv_fs_ftruncate(uv_loop_t* loop,
1192
+ uv_fs_t* req,
1193
+ uv_file file,
1194
+ int64_t offset,
1195
+ uv_fs_cb cb);
1196
+ UV_EXTERN int uv_fs_sendfile(uv_loop_t* loop,
1197
+ uv_fs_t* req,
1198
+ uv_file out_fd,
1199
+ uv_file in_fd,
1200
+ int64_t in_offset,
1201
+ size_t length,
1202
+ uv_fs_cb cb);
1203
+ UV_EXTERN int uv_fs_access(uv_loop_t* loop,
1204
+ uv_fs_t* req,
1205
+ const char* path,
1206
+ int mode,
1207
+ uv_fs_cb cb);
1208
+ UV_EXTERN int uv_fs_chmod(uv_loop_t* loop,
1209
+ uv_fs_t* req,
1210
+ const char* path,
1211
+ int mode,
1212
+ uv_fs_cb cb);
1213
+ UV_EXTERN int uv_fs_utime(uv_loop_t* loop,
1214
+ uv_fs_t* req,
1215
+ const char* path,
1216
+ double atime,
1217
+ double mtime,
1218
+ uv_fs_cb cb);
1219
+ UV_EXTERN int uv_fs_futime(uv_loop_t* loop,
1220
+ uv_fs_t* req,
1221
+ uv_file file,
1222
+ double atime,
1223
+ double mtime,
1224
+ uv_fs_cb cb);
1225
+ UV_EXTERN int uv_fs_lstat(uv_loop_t* loop,
1226
+ uv_fs_t* req,
1227
+ const char* path,
1228
+ uv_fs_cb cb);
1229
+ UV_EXTERN int uv_fs_link(uv_loop_t* loop,
1230
+ uv_fs_t* req,
1231
+ const char* path,
1232
+ const char* new_path,
1233
+ uv_fs_cb cb);
1234
+
1235
+ /*
1236
+ * This flag can be used with uv_fs_symlink() on Windows to specify whether
1237
+ * path argument points to a directory.
1238
+ */
1239
+ #define UV_FS_SYMLINK_DIR 0x0001
1240
+
1241
+ /*
1242
+ * This flag can be used with uv_fs_symlink() on Windows to specify whether
1243
+ * the symlink is to be created using junction points.
1244
+ */
1245
+ #define UV_FS_SYMLINK_JUNCTION 0x0002
1246
+
1247
+ UV_EXTERN int uv_fs_symlink(uv_loop_t* loop,
1248
+ uv_fs_t* req,
1249
+ const char* path,
1250
+ const char* new_path,
1251
+ int flags,
1252
+ uv_fs_cb cb);
1253
+ UV_EXTERN int uv_fs_readlink(uv_loop_t* loop,
1254
+ uv_fs_t* req,
1255
+ const char* path,
1256
+ uv_fs_cb cb);
1257
+ UV_EXTERN int uv_fs_realpath(uv_loop_t* loop,
1258
+ uv_fs_t* req,
1259
+ const char* path,
1260
+ uv_fs_cb cb);
1261
+ UV_EXTERN int uv_fs_fchmod(uv_loop_t* loop,
1262
+ uv_fs_t* req,
1263
+ uv_file file,
1264
+ int mode,
1265
+ uv_fs_cb cb);
1266
+ UV_EXTERN int uv_fs_chown(uv_loop_t* loop,
1267
+ uv_fs_t* req,
1268
+ const char* path,
1269
+ uv_uid_t uid,
1270
+ uv_gid_t gid,
1271
+ uv_fs_cb cb);
1272
+ UV_EXTERN int uv_fs_fchown(uv_loop_t* loop,
1273
+ uv_fs_t* req,
1274
+ uv_file file,
1275
+ uv_uid_t uid,
1276
+ uv_gid_t gid,
1277
+ uv_fs_cb cb);
1278
+
1279
+
1280
+ enum uv_fs_event {
1281
+ UV_RENAME = 1,
1282
+ UV_CHANGE = 2
1283
+ };
1284
+
1285
+
1286
+ struct uv_fs_event_s {
1287
+ UV_HANDLE_FIELDS
1288
+ /* private */
1289
+ char* path;
1290
+ UV_FS_EVENT_PRIVATE_FIELDS
1291
+ };
1292
+
1293
+
1294
+ /*
1295
+ * uv_fs_stat() based polling file watcher.
1296
+ */
1297
+ struct uv_fs_poll_s {
1298
+ UV_HANDLE_FIELDS
1299
+ /* Private, don't touch. */
1300
+ void* poll_ctx;
1301
+ };
1302
+
1303
+ UV_EXTERN int uv_fs_poll_init(uv_loop_t* loop, uv_fs_poll_t* handle);
1304
+ UV_EXTERN int uv_fs_poll_start(uv_fs_poll_t* handle,
1305
+ uv_fs_poll_cb poll_cb,
1306
+ const char* path,
1307
+ unsigned int interval);
1308
+ UV_EXTERN int uv_fs_poll_stop(uv_fs_poll_t* handle);
1309
+ UV_EXTERN int uv_fs_poll_getpath(uv_fs_poll_t* handle,
1310
+ char* buffer,
1311
+ size_t* size);
1312
+
1313
+
1314
+ struct uv_signal_s {
1315
+ UV_HANDLE_FIELDS
1316
+ uv_signal_cb signal_cb;
1317
+ int signum;
1318
+ UV_SIGNAL_PRIVATE_FIELDS
1319
+ };
1320
+
1321
+ UV_EXTERN int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle);
1322
+ UV_EXTERN int uv_signal_start(uv_signal_t* handle,
1323
+ uv_signal_cb signal_cb,
1324
+ int signum);
1325
+ UV_EXTERN int uv_signal_stop(uv_signal_t* handle);
1326
+
1327
+ UV_EXTERN void uv_loadavg(double avg[3]);
1328
+
1329
+
1330
+ /*
1331
+ * Flags to be passed to uv_fs_event_start().
1332
+ */
1333
+ enum uv_fs_event_flags {
1334
+ /*
1335
+ * By default, if the fs event watcher is given a directory name, we will
1336
+ * watch for all events in that directory. This flags overrides this behavior
1337
+ * and makes fs_event report only changes to the directory entry itself. This
1338
+ * flag does not affect individual files watched.
1339
+ * This flag is currently not implemented yet on any backend.
1340
+ */
1341
+ UV_FS_EVENT_WATCH_ENTRY = 1,
1342
+
1343
+ /*
1344
+ * By default uv_fs_event will try to use a kernel interface such as inotify
1345
+ * or kqueue to detect events. This may not work on remote filesystems such
1346
+ * as NFS mounts. This flag makes fs_event fall back to calling stat() on a
1347
+ * regular interval.
1348
+ * This flag is currently not implemented yet on any backend.
1349
+ */
1350
+ UV_FS_EVENT_STAT = 2,
1351
+
1352
+ /*
1353
+ * By default, event watcher, when watching directory, is not registering
1354
+ * (is ignoring) changes in it's subdirectories.
1355
+ * This flag will override this behaviour on platforms that support it.
1356
+ */
1357
+ UV_FS_EVENT_RECURSIVE = 4
1358
+ };
1359
+
1360
+
1361
+ UV_EXTERN int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle);
1362
+ UV_EXTERN int uv_fs_event_start(uv_fs_event_t* handle,
1363
+ uv_fs_event_cb cb,
1364
+ const char* path,
1365
+ unsigned int flags);
1366
+ UV_EXTERN int uv_fs_event_stop(uv_fs_event_t* handle);
1367
+ UV_EXTERN int uv_fs_event_getpath(uv_fs_event_t* handle,
1368
+ char* buffer,
1369
+ size_t* size);
1370
+
1371
+ UV_EXTERN int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr);
1372
+ UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
1373
+
1374
+ UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size);
1375
+ UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size);
1376
+
1377
+ UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size);
1378
+ UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
1379
+
1380
+ UV_EXTERN int uv_exepath(char* buffer, size_t* size);
1381
+
1382
+ UV_EXTERN int uv_cwd(char* buffer, size_t* size);
1383
+
1384
+ UV_EXTERN int uv_chdir(const char* dir);
1385
+
1386
+ UV_EXTERN uint64_t uv_get_free_memory(void);
1387
+ UV_EXTERN uint64_t uv_get_total_memory(void);
1388
+
1389
+ UV_EXTERN uint64_t uv_hrtime(void);
1390
+
1391
+ UV_EXTERN void uv_disable_stdio_inheritance(void);
1392
+
1393
+ UV_EXTERN int uv_dlopen(const char* filename, uv_lib_t* lib);
1394
+ UV_EXTERN void uv_dlclose(uv_lib_t* lib);
1395
+ UV_EXTERN int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr);
1396
+ UV_EXTERN const char* uv_dlerror(const uv_lib_t* lib);
1397
+
1398
+ UV_EXTERN int uv_mutex_init(uv_mutex_t* handle);
1399
+ UV_EXTERN void uv_mutex_destroy(uv_mutex_t* handle);
1400
+ UV_EXTERN void uv_mutex_lock(uv_mutex_t* handle);
1401
+ UV_EXTERN int uv_mutex_trylock(uv_mutex_t* handle);
1402
+ UV_EXTERN void uv_mutex_unlock(uv_mutex_t* handle);
1403
+
1404
+ UV_EXTERN int uv_rwlock_init(uv_rwlock_t* rwlock);
1405
+ UV_EXTERN void uv_rwlock_destroy(uv_rwlock_t* rwlock);
1406
+ UV_EXTERN void uv_rwlock_rdlock(uv_rwlock_t* rwlock);
1407
+ UV_EXTERN int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock);
1408
+ UV_EXTERN void uv_rwlock_rdunlock(uv_rwlock_t* rwlock);
1409
+ UV_EXTERN void uv_rwlock_wrlock(uv_rwlock_t* rwlock);
1410
+ UV_EXTERN int uv_rwlock_trywrlock(uv_rwlock_t* rwlock);
1411
+ UV_EXTERN void uv_rwlock_wrunlock(uv_rwlock_t* rwlock);
1412
+
1413
+ UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
1414
+ UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
1415
+ UV_EXTERN void uv_sem_post(uv_sem_t* sem);
1416
+ UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
1417
+ UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
1418
+
1419
+ UV_EXTERN int uv_cond_init(uv_cond_t* cond);
1420
+ UV_EXTERN void uv_cond_destroy(uv_cond_t* cond);
1421
+ UV_EXTERN void uv_cond_signal(uv_cond_t* cond);
1422
+ UV_EXTERN void uv_cond_broadcast(uv_cond_t* cond);
1423
+
1424
+ UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count);
1425
+ UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier);
1426
+ UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier);
1427
+
1428
+ UV_EXTERN void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex);
1429
+ UV_EXTERN int uv_cond_timedwait(uv_cond_t* cond,
1430
+ uv_mutex_t* mutex,
1431
+ uint64_t timeout);
1432
+
1433
+ UV_EXTERN void uv_once(uv_once_t* guard, void (*callback)(void));
1434
+
1435
+ UV_EXTERN int uv_key_create(uv_key_t* key);
1436
+ UV_EXTERN void uv_key_delete(uv_key_t* key);
1437
+ UV_EXTERN void* uv_key_get(uv_key_t* key);
1438
+ UV_EXTERN void uv_key_set(uv_key_t* key, void* value);
1439
+
1440
+ typedef void (*uv_thread_cb)(void* arg);
1441
+
1442
+ UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg);
1443
+ UV_EXTERN uv_thread_t uv_thread_self(void);
1444
+ UV_EXTERN int uv_thread_join(uv_thread_t *tid);
1445
+ UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2);
1446
+
1447
+ /* The presence of these unions force similar struct layout. */
1448
+ #define XX(_, name) uv_ ## name ## _t name;
1449
+ union uv_any_handle {
1450
+ UV_HANDLE_TYPE_MAP(XX)
1451
+ };
1452
+
1453
+ union uv_any_req {
1454
+ UV_REQ_TYPE_MAP(XX)
1455
+ };
1456
+ #undef XX
1457
+
1458
+
1459
+ struct uv_loop_s {
1460
+ /* User data - use this for whatever. */
1461
+ void* data;
1462
+ /* Loop reference counting. */
1463
+ unsigned int active_handles;
1464
+ void* handle_queue[2];
1465
+ void* active_reqs[2];
1466
+ /* Internal flag to signal loop stop. */
1467
+ unsigned int stop_flag;
1468
+ UV_LOOP_PRIVATE_FIELDS
1469
+ };
1470
+
1471
+
1472
+ /* Don't export the private CPP symbols. */
1473
+ #undef UV_HANDLE_TYPE_PRIVATE
1474
+ #undef UV_REQ_TYPE_PRIVATE
1475
+ #undef UV_REQ_PRIVATE_FIELDS
1476
+ #undef UV_STREAM_PRIVATE_FIELDS
1477
+ #undef UV_TCP_PRIVATE_FIELDS
1478
+ #undef UV_PREPARE_PRIVATE_FIELDS
1479
+ #undef UV_CHECK_PRIVATE_FIELDS
1480
+ #undef UV_IDLE_PRIVATE_FIELDS
1481
+ #undef UV_ASYNC_PRIVATE_FIELDS
1482
+ #undef UV_TIMER_PRIVATE_FIELDS
1483
+ #undef UV_GETADDRINFO_PRIVATE_FIELDS
1484
+ #undef UV_GETNAMEINFO_PRIVATE_FIELDS
1485
+ #undef UV_FS_REQ_PRIVATE_FIELDS
1486
+ #undef UV_WORK_PRIVATE_FIELDS
1487
+ #undef UV_FS_EVENT_PRIVATE_FIELDS
1488
+ #undef UV_SIGNAL_PRIVATE_FIELDS
1489
+ #undef UV_LOOP_PRIVATE_FIELDS
1490
+ #undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
1491
+
1492
+ #ifdef __cplusplus
1493
+ }
1494
+ #endif
1495
+ #endif /* UV_H */