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,1482 @@
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
+
234
+ typedef enum {
235
+ UV_LOOP_BLOCK_SIGNAL
236
+ } uv_loop_option;
237
+
238
+ typedef enum {
239
+ UV_RUN_DEFAULT = 0,
240
+ UV_RUN_ONCE,
241
+ UV_RUN_NOWAIT
242
+ } uv_run_mode;
243
+
244
+
245
+ UV_EXTERN unsigned int uv_version(void);
246
+ UV_EXTERN const char* uv_version_string(void);
247
+
248
+ typedef void* (*uv_malloc_func)(size_t size);
249
+ typedef void* (*uv_realloc_func)(void* ptr, size_t size);
250
+ typedef void* (*uv_calloc_func)(size_t count, size_t size);
251
+ typedef void (*uv_free_func)(void* ptr);
252
+
253
+ UV_EXTERN int uv_replace_allocator(uv_malloc_func malloc_func,
254
+ uv_realloc_func realloc_func,
255
+ uv_calloc_func calloc_func,
256
+ uv_free_func free_func);
257
+
258
+ UV_EXTERN uv_loop_t* uv_default_loop(void);
259
+ UV_EXTERN int uv_loop_init(uv_loop_t* loop);
260
+ UV_EXTERN int uv_loop_close(uv_loop_t* loop);
261
+ /*
262
+ * NOTE:
263
+ * This function is DEPRECATED (to be removed after 0.12), users should
264
+ * allocate the loop manually and use uv_loop_init instead.
265
+ */
266
+ UV_EXTERN uv_loop_t* uv_loop_new(void);
267
+ /*
268
+ * NOTE:
269
+ * This function is DEPRECATED (to be removed after 0.12). Users should use
270
+ * uv_loop_close and free the memory manually instead.
271
+ */
272
+ UV_EXTERN void uv_loop_delete(uv_loop_t*);
273
+ UV_EXTERN size_t uv_loop_size(void);
274
+ UV_EXTERN int uv_loop_alive(const uv_loop_t* loop);
275
+ UV_EXTERN int uv_loop_configure(uv_loop_t* loop, uv_loop_option option, ...);
276
+
277
+ UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode);
278
+ UV_EXTERN void uv_stop(uv_loop_t*);
279
+
280
+ UV_EXTERN void uv_ref(uv_handle_t*);
281
+ UV_EXTERN void uv_unref(uv_handle_t*);
282
+ UV_EXTERN int uv_has_ref(const uv_handle_t*);
283
+
284
+ UV_EXTERN void uv_update_time(uv_loop_t*);
285
+ UV_EXTERN uint64_t uv_now(const uv_loop_t*);
286
+
287
+ UV_EXTERN int uv_backend_fd(const uv_loop_t*);
288
+ UV_EXTERN int uv_backend_timeout(const uv_loop_t*);
289
+
290
+ typedef void (*uv_alloc_cb)(uv_handle_t* handle,
291
+ size_t suggested_size,
292
+ uv_buf_t* buf);
293
+ typedef void (*uv_read_cb)(uv_stream_t* stream,
294
+ ssize_t nread,
295
+ const uv_buf_t* buf);
296
+ typedef void (*uv_write_cb)(uv_write_t* req, int status);
297
+ typedef void (*uv_connect_cb)(uv_connect_t* req, int status);
298
+ typedef void (*uv_shutdown_cb)(uv_shutdown_t* req, int status);
299
+ typedef void (*uv_connection_cb)(uv_stream_t* server, int status);
300
+ typedef void (*uv_close_cb)(uv_handle_t* handle);
301
+ typedef void (*uv_poll_cb)(uv_poll_t* handle, int status, int events);
302
+ typedef void (*uv_timer_cb)(uv_timer_t* handle);
303
+ typedef void (*uv_async_cb)(uv_async_t* handle);
304
+ typedef void (*uv_prepare_cb)(uv_prepare_t* handle);
305
+ typedef void (*uv_check_cb)(uv_check_t* handle);
306
+ typedef void (*uv_idle_cb)(uv_idle_t* handle);
307
+ typedef void (*uv_exit_cb)(uv_process_t*, int64_t exit_status, int term_signal);
308
+ typedef void (*uv_walk_cb)(uv_handle_t* handle, void* arg);
309
+ typedef void (*uv_fs_cb)(uv_fs_t* req);
310
+ typedef void (*uv_work_cb)(uv_work_t* req);
311
+ typedef void (*uv_after_work_cb)(uv_work_t* req, int status);
312
+ typedef void (*uv_getaddrinfo_cb)(uv_getaddrinfo_t* req,
313
+ int status,
314
+ struct addrinfo* res);
315
+ typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t* req,
316
+ int status,
317
+ const char* hostname,
318
+ const char* service);
319
+
320
+ typedef struct {
321
+ long tv_sec;
322
+ long tv_nsec;
323
+ } uv_timespec_t;
324
+
325
+
326
+ typedef struct {
327
+ uint64_t st_dev;
328
+ uint64_t st_mode;
329
+ uint64_t st_nlink;
330
+ uint64_t st_uid;
331
+ uint64_t st_gid;
332
+ uint64_t st_rdev;
333
+ uint64_t st_ino;
334
+ uint64_t st_size;
335
+ uint64_t st_blksize;
336
+ uint64_t st_blocks;
337
+ uint64_t st_flags;
338
+ uint64_t st_gen;
339
+ uv_timespec_t st_atim;
340
+ uv_timespec_t st_mtim;
341
+ uv_timespec_t st_ctim;
342
+ uv_timespec_t st_birthtim;
343
+ } uv_stat_t;
344
+
345
+
346
+ typedef void (*uv_fs_event_cb)(uv_fs_event_t* handle,
347
+ const char* filename,
348
+ int events,
349
+ int status);
350
+
351
+ typedef void (*uv_fs_poll_cb)(uv_fs_poll_t* handle,
352
+ int status,
353
+ const uv_stat_t* prev,
354
+ const uv_stat_t* curr);
355
+
356
+ typedef void (*uv_signal_cb)(uv_signal_t* handle, int signum);
357
+
358
+
359
+ typedef enum {
360
+ UV_LEAVE_GROUP = 0,
361
+ UV_JOIN_GROUP
362
+ } uv_membership;
363
+
364
+
365
+ UV_EXTERN const char* uv_strerror(int err);
366
+ UV_EXTERN const char* uv_err_name(int err);
367
+
368
+
369
+ #define UV_REQ_FIELDS \
370
+ /* public */ \
371
+ void* data; \
372
+ /* read-only */ \
373
+ uv_req_type type; \
374
+ /* private */ \
375
+ void* active_queue[2]; \
376
+ void* reserved[4]; \
377
+ UV_REQ_PRIVATE_FIELDS \
378
+
379
+ /* Abstract base class of all requests. */
380
+ struct uv_req_s {
381
+ UV_REQ_FIELDS
382
+ };
383
+
384
+
385
+ /* Platform-specific request types. */
386
+ UV_PRIVATE_REQ_TYPES
387
+
388
+
389
+ UV_EXTERN int uv_shutdown(uv_shutdown_t* req,
390
+ uv_stream_t* handle,
391
+ uv_shutdown_cb cb);
392
+
393
+ struct uv_shutdown_s {
394
+ UV_REQ_FIELDS
395
+ uv_stream_t* handle;
396
+ uv_shutdown_cb cb;
397
+ UV_SHUTDOWN_PRIVATE_FIELDS
398
+ };
399
+
400
+
401
+ #define UV_HANDLE_FIELDS \
402
+ /* public */ \
403
+ void* data; \
404
+ /* read-only */ \
405
+ uv_loop_t* loop; \
406
+ uv_handle_type type; \
407
+ /* private */ \
408
+ uv_close_cb close_cb; \
409
+ void* handle_queue[2]; \
410
+ union { \
411
+ int fd; \
412
+ void* reserved[4]; \
413
+ } u; \
414
+ UV_HANDLE_PRIVATE_FIELDS \
415
+
416
+ /* The abstract base class of all handles. */
417
+ struct uv_handle_s {
418
+ UV_HANDLE_FIELDS
419
+ };
420
+
421
+ UV_EXTERN size_t uv_handle_size(uv_handle_type type);
422
+ UV_EXTERN size_t uv_req_size(uv_req_type type);
423
+
424
+ UV_EXTERN int uv_is_active(const uv_handle_t* handle);
425
+
426
+ UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg);
427
+
428
+ /* Helpers for ad hoc debugging, no API/ABI stability guaranteed. */
429
+ UV_EXTERN void uv_print_all_handles(uv_loop_t* loop, FILE* stream);
430
+ UV_EXTERN void uv_print_active_handles(uv_loop_t* loop, FILE* stream);
431
+
432
+ UV_EXTERN void uv_close(uv_handle_t* handle, uv_close_cb close_cb);
433
+
434
+ UV_EXTERN int uv_send_buffer_size(uv_handle_t* handle, int* value);
435
+ UV_EXTERN int uv_recv_buffer_size(uv_handle_t* handle, int* value);
436
+
437
+ UV_EXTERN int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd);
438
+
439
+ UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len);
440
+
441
+
442
+ #define UV_STREAM_FIELDS \
443
+ /* number of bytes queued for writing */ \
444
+ size_t write_queue_size; \
445
+ uv_alloc_cb alloc_cb; \
446
+ uv_read_cb read_cb; \
447
+ /* private */ \
448
+ UV_STREAM_PRIVATE_FIELDS
449
+
450
+ /*
451
+ * uv_stream_t is a subclass of uv_handle_t.
452
+ *
453
+ * uv_stream is an abstract class.
454
+ *
455
+ * uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t and uv_tty_t.
456
+ */
457
+ struct uv_stream_s {
458
+ UV_HANDLE_FIELDS
459
+ UV_STREAM_FIELDS
460
+ };
461
+
462
+ UV_EXTERN int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb);
463
+ UV_EXTERN int uv_accept(uv_stream_t* server, uv_stream_t* client);
464
+
465
+ UV_EXTERN int uv_read_start(uv_stream_t*,
466
+ uv_alloc_cb alloc_cb,
467
+ uv_read_cb read_cb);
468
+ UV_EXTERN int uv_read_stop(uv_stream_t*);
469
+
470
+ UV_EXTERN int uv_write(uv_write_t* req,
471
+ uv_stream_t* handle,
472
+ const uv_buf_t bufs[],
473
+ unsigned int nbufs,
474
+ uv_write_cb cb);
475
+ UV_EXTERN int uv_write2(uv_write_t* req,
476
+ uv_stream_t* handle,
477
+ const uv_buf_t bufs[],
478
+ unsigned int nbufs,
479
+ uv_stream_t* send_handle,
480
+ uv_write_cb cb);
481
+ UV_EXTERN int uv_try_write(uv_stream_t* handle,
482
+ const uv_buf_t bufs[],
483
+ unsigned int nbufs);
484
+
485
+ /* uv_write_t is a subclass of uv_req_t. */
486
+ struct uv_write_s {
487
+ UV_REQ_FIELDS
488
+ uv_write_cb cb;
489
+ uv_stream_t* send_handle;
490
+ uv_stream_t* handle;
491
+ UV_WRITE_PRIVATE_FIELDS
492
+ };
493
+
494
+
495
+ UV_EXTERN int uv_is_readable(const uv_stream_t* handle);
496
+ UV_EXTERN int uv_is_writable(const uv_stream_t* handle);
497
+
498
+ UV_EXTERN int uv_stream_set_blocking(uv_stream_t* handle, int blocking);
499
+
500
+ UV_EXTERN int uv_is_closing(const uv_handle_t* handle);
501
+
502
+
503
+ /*
504
+ * uv_tcp_t is a subclass of uv_stream_t.
505
+ *
506
+ * Represents a TCP stream or TCP server.
507
+ */
508
+ struct uv_tcp_s {
509
+ UV_HANDLE_FIELDS
510
+ UV_STREAM_FIELDS
511
+ UV_TCP_PRIVATE_FIELDS
512
+ };
513
+
514
+ UV_EXTERN int uv_tcp_init(uv_loop_t*, uv_tcp_t* handle);
515
+ UV_EXTERN int uv_tcp_init_ex(uv_loop_t*, uv_tcp_t* handle, unsigned int flags);
516
+ UV_EXTERN int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock);
517
+ UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable);
518
+ UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle,
519
+ int enable,
520
+ unsigned int delay);
521
+ UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
522
+
523
+ enum uv_tcp_flags {
524
+ /* Used with uv_tcp_bind, when an IPv6 address is used. */
525
+ UV_TCP_IPV6ONLY = 1
526
+ };
527
+
528
+ UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle,
529
+ const struct sockaddr* addr,
530
+ unsigned int flags);
531
+ UV_EXTERN int uv_tcp_getsockname(const uv_tcp_t* handle,
532
+ struct sockaddr* name,
533
+ int* namelen);
534
+ UV_EXTERN int uv_tcp_getpeername(const uv_tcp_t* handle,
535
+ struct sockaddr* name,
536
+ int* namelen);
537
+ UV_EXTERN int uv_tcp_connect(uv_connect_t* req,
538
+ uv_tcp_t* handle,
539
+ const struct sockaddr* addr,
540
+ uv_connect_cb cb);
541
+
542
+ /* uv_connect_t is a subclass of uv_req_t. */
543
+ struct uv_connect_s {
544
+ UV_REQ_FIELDS
545
+ uv_connect_cb cb;
546
+ uv_stream_t* handle;
547
+ UV_CONNECT_PRIVATE_FIELDS
548
+ };
549
+
550
+
551
+ /*
552
+ * UDP support.
553
+ */
554
+
555
+ enum uv_udp_flags {
556
+ /* Disables dual stack mode. */
557
+ UV_UDP_IPV6ONLY = 1,
558
+ /*
559
+ * Indicates message was truncated because read buffer was too small. The
560
+ * remainder was discarded by the OS. Used in uv_udp_recv_cb.
561
+ */
562
+ UV_UDP_PARTIAL = 2,
563
+ /*
564
+ * Indicates if SO_REUSEADDR will be set when binding the handle.
565
+ * This sets the SO_REUSEPORT socket flag on the BSDs and OS X. On other
566
+ * Unix platforms, it sets the SO_REUSEADDR flag. What that means is that
567
+ * multiple threads or processes can bind to the same address without error
568
+ * (provided they all set the flag) but only the last one to bind will receive
569
+ * any traffic, in effect "stealing" the port from the previous listener.
570
+ */
571
+ UV_UDP_REUSEADDR = 4
572
+ };
573
+
574
+ typedef void (*uv_udp_send_cb)(uv_udp_send_t* req, int status);
575
+ typedef void (*uv_udp_recv_cb)(uv_udp_t* handle,
576
+ ssize_t nread,
577
+ const uv_buf_t* buf,
578
+ const struct sockaddr* addr,
579
+ unsigned flags);
580
+
581
+ /* uv_udp_t is a subclass of uv_handle_t. */
582
+ struct uv_udp_s {
583
+ UV_HANDLE_FIELDS
584
+ /* read-only */
585
+ /*
586
+ * Number of bytes queued for sending. This field strictly shows how much
587
+ * information is currently queued.
588
+ */
589
+ size_t send_queue_size;
590
+ /*
591
+ * Number of send requests currently in the queue awaiting to be processed.
592
+ */
593
+ size_t send_queue_count;
594
+ UV_UDP_PRIVATE_FIELDS
595
+ };
596
+
597
+ /* uv_udp_send_t is a subclass of uv_req_t. */
598
+ struct uv_udp_send_s {
599
+ UV_REQ_FIELDS
600
+ uv_udp_t* handle;
601
+ uv_udp_send_cb cb;
602
+ UV_UDP_SEND_PRIVATE_FIELDS
603
+ };
604
+
605
+ UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle);
606
+ UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags);
607
+ UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
608
+ UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
609
+ const struct sockaddr* addr,
610
+ unsigned int flags);
611
+
612
+ UV_EXTERN int uv_udp_getsockname(const uv_udp_t* handle,
613
+ struct sockaddr* name,
614
+ int* namelen);
615
+ UV_EXTERN int uv_udp_set_membership(uv_udp_t* handle,
616
+ const char* multicast_addr,
617
+ const char* interface_addr,
618
+ uv_membership membership);
619
+ UV_EXTERN int uv_udp_set_multicast_loop(uv_udp_t* handle, int on);
620
+ UV_EXTERN int uv_udp_set_multicast_ttl(uv_udp_t* handle, int ttl);
621
+ UV_EXTERN int uv_udp_set_multicast_interface(uv_udp_t* handle,
622
+ const char* interface_addr);
623
+ UV_EXTERN int uv_udp_set_broadcast(uv_udp_t* handle, int on);
624
+ UV_EXTERN int uv_udp_set_ttl(uv_udp_t* handle, int ttl);
625
+ UV_EXTERN int uv_udp_send(uv_udp_send_t* req,
626
+ uv_udp_t* handle,
627
+ const uv_buf_t bufs[],
628
+ unsigned int nbufs,
629
+ const struct sockaddr* addr,
630
+ uv_udp_send_cb send_cb);
631
+ UV_EXTERN int uv_udp_try_send(uv_udp_t* handle,
632
+ const uv_buf_t bufs[],
633
+ unsigned int nbufs,
634
+ const struct sockaddr* addr);
635
+ UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle,
636
+ uv_alloc_cb alloc_cb,
637
+ uv_udp_recv_cb recv_cb);
638
+ UV_EXTERN int uv_udp_recv_stop(uv_udp_t* handle);
639
+
640
+
641
+ /*
642
+ * uv_tty_t is a subclass of uv_stream_t.
643
+ *
644
+ * Representing a stream for the console.
645
+ */
646
+ struct uv_tty_s {
647
+ UV_HANDLE_FIELDS
648
+ UV_STREAM_FIELDS
649
+ UV_TTY_PRIVATE_FIELDS
650
+ };
651
+
652
+ typedef enum {
653
+ /* Initial/normal terminal mode */
654
+ UV_TTY_MODE_NORMAL,
655
+ /* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */
656
+ UV_TTY_MODE_RAW,
657
+ /* Binary-safe I/O mode for IPC (Unix-only) */
658
+ UV_TTY_MODE_IO
659
+ } uv_tty_mode_t;
660
+
661
+ UV_EXTERN int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd, int readable);
662
+ UV_EXTERN int uv_tty_set_mode(uv_tty_t*, uv_tty_mode_t mode);
663
+ UV_EXTERN int uv_tty_reset_mode(void);
664
+ UV_EXTERN int uv_tty_get_winsize(uv_tty_t*, int* width, int* height);
665
+
666
+ #ifdef __cplusplus
667
+ extern "C++" {
668
+
669
+ inline int uv_tty_set_mode(uv_tty_t* handle, int mode) {
670
+ return uv_tty_set_mode(handle, static_cast<uv_tty_mode_t>(mode));
671
+ }
672
+
673
+ }
674
+ #endif
675
+
676
+ UV_EXTERN uv_handle_type uv_guess_handle(uv_file file);
677
+
678
+ /*
679
+ * uv_pipe_t is a subclass of uv_stream_t.
680
+ *
681
+ * Representing a pipe stream or pipe server. On Windows this is a Named
682
+ * Pipe. On Unix this is a Unix domain socket.
683
+ */
684
+ struct uv_pipe_s {
685
+ UV_HANDLE_FIELDS
686
+ UV_STREAM_FIELDS
687
+ int ipc; /* non-zero if this pipe is used for passing handles */
688
+ UV_PIPE_PRIVATE_FIELDS
689
+ };
690
+
691
+ UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);
692
+ UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file);
693
+ UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name);
694
+ UV_EXTERN void uv_pipe_connect(uv_connect_t* req,
695
+ uv_pipe_t* handle,
696
+ const char* name,
697
+ uv_connect_cb cb);
698
+ UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
699
+ char* buffer,
700
+ size_t* size);
701
+ UV_EXTERN int uv_pipe_getpeername(const uv_pipe_t* handle,
702
+ char* buffer,
703
+ size_t* size);
704
+ UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count);
705
+ UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle);
706
+ UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle);
707
+
708
+
709
+ struct uv_poll_s {
710
+ UV_HANDLE_FIELDS
711
+ uv_poll_cb poll_cb;
712
+ UV_POLL_PRIVATE_FIELDS
713
+ };
714
+
715
+ enum uv_poll_event {
716
+ UV_READABLE = 1,
717
+ UV_WRITABLE = 2
718
+ };
719
+
720
+ UV_EXTERN int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd);
721
+ UV_EXTERN int uv_poll_init_socket(uv_loop_t* loop,
722
+ uv_poll_t* handle,
723
+ uv_os_sock_t socket);
724
+ UV_EXTERN int uv_poll_start(uv_poll_t* handle, int events, uv_poll_cb cb);
725
+ UV_EXTERN int uv_poll_stop(uv_poll_t* handle);
726
+
727
+
728
+ struct uv_prepare_s {
729
+ UV_HANDLE_FIELDS
730
+ UV_PREPARE_PRIVATE_FIELDS
731
+ };
732
+
733
+ UV_EXTERN int uv_prepare_init(uv_loop_t*, uv_prepare_t* prepare);
734
+ UV_EXTERN int uv_prepare_start(uv_prepare_t* prepare, uv_prepare_cb cb);
735
+ UV_EXTERN int uv_prepare_stop(uv_prepare_t* prepare);
736
+
737
+
738
+ struct uv_check_s {
739
+ UV_HANDLE_FIELDS
740
+ UV_CHECK_PRIVATE_FIELDS
741
+ };
742
+
743
+ UV_EXTERN int uv_check_init(uv_loop_t*, uv_check_t* check);
744
+ UV_EXTERN int uv_check_start(uv_check_t* check, uv_check_cb cb);
745
+ UV_EXTERN int uv_check_stop(uv_check_t* check);
746
+
747
+
748
+ struct uv_idle_s {
749
+ UV_HANDLE_FIELDS
750
+ UV_IDLE_PRIVATE_FIELDS
751
+ };
752
+
753
+ UV_EXTERN int uv_idle_init(uv_loop_t*, uv_idle_t* idle);
754
+ UV_EXTERN int uv_idle_start(uv_idle_t* idle, uv_idle_cb cb);
755
+ UV_EXTERN int uv_idle_stop(uv_idle_t* idle);
756
+
757
+
758
+ struct uv_async_s {
759
+ UV_HANDLE_FIELDS
760
+ UV_ASYNC_PRIVATE_FIELDS
761
+ };
762
+
763
+ UV_EXTERN int uv_async_init(uv_loop_t*,
764
+ uv_async_t* async,
765
+ uv_async_cb async_cb);
766
+ UV_EXTERN int uv_async_send(uv_async_t* async);
767
+
768
+
769
+ /*
770
+ * uv_timer_t is a subclass of uv_handle_t.
771
+ *
772
+ * Used to get woken up at a specified time in the future.
773
+ */
774
+ struct uv_timer_s {
775
+ UV_HANDLE_FIELDS
776
+ UV_TIMER_PRIVATE_FIELDS
777
+ };
778
+
779
+ UV_EXTERN int uv_timer_init(uv_loop_t*, uv_timer_t* handle);
780
+ UV_EXTERN int uv_timer_start(uv_timer_t* handle,
781
+ uv_timer_cb cb,
782
+ uint64_t timeout,
783
+ uint64_t repeat);
784
+ UV_EXTERN int uv_timer_stop(uv_timer_t* handle);
785
+ UV_EXTERN int uv_timer_again(uv_timer_t* handle);
786
+ UV_EXTERN void uv_timer_set_repeat(uv_timer_t* handle, uint64_t repeat);
787
+ UV_EXTERN uint64_t uv_timer_get_repeat(const uv_timer_t* handle);
788
+
789
+
790
+ /*
791
+ * uv_getaddrinfo_t is a subclass of uv_req_t.
792
+ *
793
+ * Request object for uv_getaddrinfo.
794
+ */
795
+ struct uv_getaddrinfo_s {
796
+ UV_REQ_FIELDS
797
+ /* read-only */
798
+ uv_loop_t* loop;
799
+ /* struct addrinfo* addrinfo is marked as private, but it really isn't. */
800
+ UV_GETADDRINFO_PRIVATE_FIELDS
801
+ };
802
+
803
+
804
+ UV_EXTERN int uv_getaddrinfo(uv_loop_t* loop,
805
+ uv_getaddrinfo_t* req,
806
+ uv_getaddrinfo_cb getaddrinfo_cb,
807
+ const char* node,
808
+ const char* service,
809
+ const struct addrinfo* hints);
810
+ UV_EXTERN void uv_freeaddrinfo(struct addrinfo* ai);
811
+
812
+
813
+ /*
814
+ * uv_getnameinfo_t is a subclass of uv_req_t.
815
+ *
816
+ * Request object for uv_getnameinfo.
817
+ */
818
+ struct uv_getnameinfo_s {
819
+ UV_REQ_FIELDS
820
+ /* read-only */
821
+ uv_loop_t* loop;
822
+ /* host and service are marked as private, but they really aren't. */
823
+ UV_GETNAMEINFO_PRIVATE_FIELDS
824
+ };
825
+
826
+ UV_EXTERN int uv_getnameinfo(uv_loop_t* loop,
827
+ uv_getnameinfo_t* req,
828
+ uv_getnameinfo_cb getnameinfo_cb,
829
+ const struct sockaddr* addr,
830
+ int flags);
831
+
832
+
833
+ /* uv_spawn() options. */
834
+ typedef enum {
835
+ UV_IGNORE = 0x00,
836
+ UV_CREATE_PIPE = 0x01,
837
+ UV_INHERIT_FD = 0x02,
838
+ UV_INHERIT_STREAM = 0x04,
839
+
840
+ /*
841
+ * When UV_CREATE_PIPE is specified, UV_READABLE_PIPE and UV_WRITABLE_PIPE
842
+ * determine the direction of flow, from the child process' perspective. Both
843
+ * flags may be specified to create a duplex data stream.
844
+ */
845
+ UV_READABLE_PIPE = 0x10,
846
+ UV_WRITABLE_PIPE = 0x20
847
+ } uv_stdio_flags;
848
+
849
+ typedef struct uv_stdio_container_s {
850
+ uv_stdio_flags flags;
851
+
852
+ union {
853
+ uv_stream_t* stream;
854
+ int fd;
855
+ } data;
856
+ } uv_stdio_container_t;
857
+
858
+ typedef struct uv_process_options_s {
859
+ uv_exit_cb exit_cb; /* Called after the process exits. */
860
+ const char* file; /* Path to program to execute. */
861
+ /*
862
+ * Command line arguments. args[0] should be the path to the program. On
863
+ * Windows this uses CreateProcess which concatenates the arguments into a
864
+ * string this can cause some strange errors. See the note at
865
+ * windows_verbatim_arguments.
866
+ */
867
+ char** args;
868
+ /*
869
+ * This will be set as the environ variable in the subprocess. If this is
870
+ * NULL then the parents environ will be used.
871
+ */
872
+ char** env;
873
+ /*
874
+ * If non-null this represents a directory the subprocess should execute
875
+ * in. Stands for current working directory.
876
+ */
877
+ const char* cwd;
878
+ /*
879
+ * Various flags that control how uv_spawn() behaves. See the definition of
880
+ * `enum uv_process_flags` below.
881
+ */
882
+ unsigned int flags;
883
+ /*
884
+ * The `stdio` field points to an array of uv_stdio_container_t structs that
885
+ * describe the file descriptors that will be made available to the child
886
+ * process. The convention is that stdio[0] points to stdin, fd 1 is used for
887
+ * stdout, and fd 2 is stderr.
888
+ *
889
+ * Note that on windows file descriptors greater than 2 are available to the
890
+ * child process only if the child processes uses the MSVCRT runtime.
891
+ */
892
+ int stdio_count;
893
+ uv_stdio_container_t* stdio;
894
+ /*
895
+ * Libuv can change the child process' user/group id. This happens only when
896
+ * the appropriate bits are set in the flags fields. This is not supported on
897
+ * windows; uv_spawn() will fail and set the error to UV_ENOTSUP.
898
+ */
899
+ uv_uid_t uid;
900
+ uv_gid_t gid;
901
+ } uv_process_options_t;
902
+
903
+ /*
904
+ * These are the flags that can be used for the uv_process_options.flags field.
905
+ */
906
+ enum uv_process_flags {
907
+ /*
908
+ * Set the child process' user id. The user id is supplied in the `uid` field
909
+ * of the options struct. This does not work on windows; setting this flag
910
+ * will cause uv_spawn() to fail.
911
+ */
912
+ UV_PROCESS_SETUID = (1 << 0),
913
+ /*
914
+ * Set the child process' group id. The user id is supplied in the `gid`
915
+ * field of the options struct. This does not work on windows; setting this
916
+ * flag will cause uv_spawn() to fail.
917
+ */
918
+ UV_PROCESS_SETGID = (1 << 1),
919
+ /*
920
+ * Do not wrap any arguments in quotes, or perform any other escaping, when
921
+ * converting the argument list into a command line string. This option is
922
+ * only meaningful on Windows systems. On Unix it is silently ignored.
923
+ */
924
+ UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS = (1 << 2),
925
+ /*
926
+ * Spawn the child process in a detached state - this will make it a process
927
+ * group leader, and will effectively enable the child to keep running after
928
+ * the parent exits. Note that the child process will still keep the
929
+ * parent's event loop alive unless the parent process calls uv_unref() on
930
+ * the child's process handle.
931
+ */
932
+ UV_PROCESS_DETACHED = (1 << 3),
933
+ /*
934
+ * Hide the subprocess console window that would normally be created. This
935
+ * option is only meaningful on Windows systems. On Unix it is silently
936
+ * ignored.
937
+ */
938
+ UV_PROCESS_WINDOWS_HIDE = (1 << 4)
939
+ };
940
+
941
+ /*
942
+ * uv_process_t is a subclass of uv_handle_t.
943
+ */
944
+ struct uv_process_s {
945
+ UV_HANDLE_FIELDS
946
+ uv_exit_cb exit_cb;
947
+ int pid;
948
+ UV_PROCESS_PRIVATE_FIELDS
949
+ };
950
+
951
+ UV_EXTERN int uv_spawn(uv_loop_t* loop,
952
+ uv_process_t* handle,
953
+ const uv_process_options_t* options);
954
+ UV_EXTERN int uv_process_kill(uv_process_t*, int signum);
955
+ UV_EXTERN int uv_kill(int pid, int signum);
956
+
957
+
958
+ /*
959
+ * uv_work_t is a subclass of uv_req_t.
960
+ */
961
+ struct uv_work_s {
962
+ UV_REQ_FIELDS
963
+ uv_loop_t* loop;
964
+ uv_work_cb work_cb;
965
+ uv_after_work_cb after_work_cb;
966
+ UV_WORK_PRIVATE_FIELDS
967
+ };
968
+
969
+ UV_EXTERN int uv_queue_work(uv_loop_t* loop,
970
+ uv_work_t* req,
971
+ uv_work_cb work_cb,
972
+ uv_after_work_cb after_work_cb);
973
+
974
+ UV_EXTERN int uv_cancel(uv_req_t* req);
975
+
976
+
977
+ struct uv_cpu_info_s {
978
+ char* model;
979
+ int speed;
980
+ struct uv_cpu_times_s {
981
+ uint64_t user;
982
+ uint64_t nice;
983
+ uint64_t sys;
984
+ uint64_t idle;
985
+ uint64_t irq;
986
+ } cpu_times;
987
+ };
988
+
989
+ struct uv_interface_address_s {
990
+ char* name;
991
+ char phys_addr[6];
992
+ int is_internal;
993
+ union {
994
+ struct sockaddr_in address4;
995
+ struct sockaddr_in6 address6;
996
+ } address;
997
+ union {
998
+ struct sockaddr_in netmask4;
999
+ struct sockaddr_in6 netmask6;
1000
+ } netmask;
1001
+ };
1002
+
1003
+ typedef enum {
1004
+ UV_DIRENT_UNKNOWN,
1005
+ UV_DIRENT_FILE,
1006
+ UV_DIRENT_DIR,
1007
+ UV_DIRENT_LINK,
1008
+ UV_DIRENT_FIFO,
1009
+ UV_DIRENT_SOCKET,
1010
+ UV_DIRENT_CHAR,
1011
+ UV_DIRENT_BLOCK
1012
+ } uv_dirent_type_t;
1013
+
1014
+ struct uv_dirent_s {
1015
+ const char* name;
1016
+ uv_dirent_type_t type;
1017
+ };
1018
+
1019
+ UV_EXTERN char** uv_setup_args(int argc, char** argv);
1020
+ UV_EXTERN int uv_get_process_title(char* buffer, size_t size);
1021
+ UV_EXTERN int uv_set_process_title(const char* title);
1022
+ UV_EXTERN int uv_resident_set_memory(size_t* rss);
1023
+ UV_EXTERN int uv_uptime(double* uptime);
1024
+
1025
+ typedef struct {
1026
+ long tv_sec;
1027
+ long tv_usec;
1028
+ } uv_timeval_t;
1029
+
1030
+ typedef struct {
1031
+ uv_timeval_t ru_utime; /* user CPU time used */
1032
+ uv_timeval_t ru_stime; /* system CPU time used */
1033
+ uint64_t ru_maxrss; /* maximum resident set size */
1034
+ uint64_t ru_ixrss; /* integral shared memory size */
1035
+ uint64_t ru_idrss; /* integral unshared data size */
1036
+ uint64_t ru_isrss; /* integral unshared stack size */
1037
+ uint64_t ru_minflt; /* page reclaims (soft page faults) */
1038
+ uint64_t ru_majflt; /* page faults (hard page faults) */
1039
+ uint64_t ru_nswap; /* swaps */
1040
+ uint64_t ru_inblock; /* block input operations */
1041
+ uint64_t ru_oublock; /* block output operations */
1042
+ uint64_t ru_msgsnd; /* IPC messages sent */
1043
+ uint64_t ru_msgrcv; /* IPC messages received */
1044
+ uint64_t ru_nsignals; /* signals received */
1045
+ uint64_t ru_nvcsw; /* voluntary context switches */
1046
+ uint64_t ru_nivcsw; /* involuntary context switches */
1047
+ } uv_rusage_t;
1048
+
1049
+ UV_EXTERN int uv_getrusage(uv_rusage_t* rusage);
1050
+
1051
+ UV_EXTERN int uv_os_homedir(char* buffer, size_t* size);
1052
+
1053
+ UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count);
1054
+ UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count);
1055
+
1056
+ UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses,
1057
+ int* count);
1058
+ UV_EXTERN void uv_free_interface_addresses(uv_interface_address_t* addresses,
1059
+ int count);
1060
+
1061
+
1062
+ typedef enum {
1063
+ UV_FS_UNKNOWN = -1,
1064
+ UV_FS_CUSTOM,
1065
+ UV_FS_OPEN,
1066
+ UV_FS_CLOSE,
1067
+ UV_FS_READ,
1068
+ UV_FS_WRITE,
1069
+ UV_FS_SENDFILE,
1070
+ UV_FS_STAT,
1071
+ UV_FS_LSTAT,
1072
+ UV_FS_FSTAT,
1073
+ UV_FS_FTRUNCATE,
1074
+ UV_FS_UTIME,
1075
+ UV_FS_FUTIME,
1076
+ UV_FS_ACCESS,
1077
+ UV_FS_CHMOD,
1078
+ UV_FS_FCHMOD,
1079
+ UV_FS_FSYNC,
1080
+ UV_FS_FDATASYNC,
1081
+ UV_FS_UNLINK,
1082
+ UV_FS_RMDIR,
1083
+ UV_FS_MKDIR,
1084
+ UV_FS_MKDTEMP,
1085
+ UV_FS_RENAME,
1086
+ UV_FS_SCANDIR,
1087
+ UV_FS_LINK,
1088
+ UV_FS_SYMLINK,
1089
+ UV_FS_READLINK,
1090
+ UV_FS_CHOWN,
1091
+ UV_FS_FCHOWN,
1092
+ UV_FS_REALPATH
1093
+ } uv_fs_type;
1094
+
1095
+ /* uv_fs_t is a subclass of uv_req_t. */
1096
+ struct uv_fs_s {
1097
+ UV_REQ_FIELDS
1098
+ uv_fs_type fs_type;
1099
+ uv_loop_t* loop;
1100
+ uv_fs_cb cb;
1101
+ ssize_t result;
1102
+ void* ptr;
1103
+ const char* path;
1104
+ uv_stat_t statbuf; /* Stores the result of uv_fs_stat() and uv_fs_fstat(). */
1105
+ UV_FS_PRIVATE_FIELDS
1106
+ };
1107
+
1108
+ UV_EXTERN void uv_fs_req_cleanup(uv_fs_t* req);
1109
+ UV_EXTERN int uv_fs_close(uv_loop_t* loop,
1110
+ uv_fs_t* req,
1111
+ uv_file file,
1112
+ uv_fs_cb cb);
1113
+ UV_EXTERN int uv_fs_open(uv_loop_t* loop,
1114
+ uv_fs_t* req,
1115
+ const char* path,
1116
+ int flags,
1117
+ int mode,
1118
+ uv_fs_cb cb);
1119
+ UV_EXTERN int uv_fs_read(uv_loop_t* loop,
1120
+ uv_fs_t* req,
1121
+ uv_file file,
1122
+ const uv_buf_t bufs[],
1123
+ unsigned int nbufs,
1124
+ int64_t offset,
1125
+ uv_fs_cb cb);
1126
+ UV_EXTERN int uv_fs_unlink(uv_loop_t* loop,
1127
+ uv_fs_t* req,
1128
+ const char* path,
1129
+ uv_fs_cb cb);
1130
+ UV_EXTERN int uv_fs_write(uv_loop_t* loop,
1131
+ uv_fs_t* req,
1132
+ uv_file file,
1133
+ const uv_buf_t bufs[],
1134
+ unsigned int nbufs,
1135
+ int64_t offset,
1136
+ uv_fs_cb cb);
1137
+ UV_EXTERN int uv_fs_mkdir(uv_loop_t* loop,
1138
+ uv_fs_t* req,
1139
+ const char* path,
1140
+ int mode,
1141
+ uv_fs_cb cb);
1142
+ UV_EXTERN int uv_fs_mkdtemp(uv_loop_t* loop,
1143
+ uv_fs_t* req,
1144
+ const char* tpl,
1145
+ uv_fs_cb cb);
1146
+ UV_EXTERN int uv_fs_rmdir(uv_loop_t* loop,
1147
+ uv_fs_t* req,
1148
+ const char* path,
1149
+ uv_fs_cb cb);
1150
+ UV_EXTERN int uv_fs_scandir(uv_loop_t* loop,
1151
+ uv_fs_t* req,
1152
+ const char* path,
1153
+ int flags,
1154
+ uv_fs_cb cb);
1155
+ UV_EXTERN int uv_fs_scandir_next(uv_fs_t* req,
1156
+ uv_dirent_t* ent);
1157
+ UV_EXTERN int uv_fs_stat(uv_loop_t* loop,
1158
+ uv_fs_t* req,
1159
+ const char* path,
1160
+ uv_fs_cb cb);
1161
+ UV_EXTERN int uv_fs_fstat(uv_loop_t* loop,
1162
+ uv_fs_t* req,
1163
+ uv_file file,
1164
+ uv_fs_cb cb);
1165
+ UV_EXTERN int uv_fs_rename(uv_loop_t* loop,
1166
+ uv_fs_t* req,
1167
+ const char* path,
1168
+ const char* new_path,
1169
+ uv_fs_cb cb);
1170
+ UV_EXTERN int uv_fs_fsync(uv_loop_t* loop,
1171
+ uv_fs_t* req,
1172
+ uv_file file,
1173
+ uv_fs_cb cb);
1174
+ UV_EXTERN int uv_fs_fdatasync(uv_loop_t* loop,
1175
+ uv_fs_t* req,
1176
+ uv_file file,
1177
+ uv_fs_cb cb);
1178
+ UV_EXTERN int uv_fs_ftruncate(uv_loop_t* loop,
1179
+ uv_fs_t* req,
1180
+ uv_file file,
1181
+ int64_t offset,
1182
+ uv_fs_cb cb);
1183
+ UV_EXTERN int uv_fs_sendfile(uv_loop_t* loop,
1184
+ uv_fs_t* req,
1185
+ uv_file out_fd,
1186
+ uv_file in_fd,
1187
+ int64_t in_offset,
1188
+ size_t length,
1189
+ uv_fs_cb cb);
1190
+ UV_EXTERN int uv_fs_access(uv_loop_t* loop,
1191
+ uv_fs_t* req,
1192
+ const char* path,
1193
+ int mode,
1194
+ uv_fs_cb cb);
1195
+ UV_EXTERN int uv_fs_chmod(uv_loop_t* loop,
1196
+ uv_fs_t* req,
1197
+ const char* path,
1198
+ int mode,
1199
+ uv_fs_cb cb);
1200
+ UV_EXTERN int uv_fs_utime(uv_loop_t* loop,
1201
+ uv_fs_t* req,
1202
+ const char* path,
1203
+ double atime,
1204
+ double mtime,
1205
+ uv_fs_cb cb);
1206
+ UV_EXTERN int uv_fs_futime(uv_loop_t* loop,
1207
+ uv_fs_t* req,
1208
+ uv_file file,
1209
+ double atime,
1210
+ double mtime,
1211
+ uv_fs_cb cb);
1212
+ UV_EXTERN int uv_fs_lstat(uv_loop_t* loop,
1213
+ uv_fs_t* req,
1214
+ const char* path,
1215
+ uv_fs_cb cb);
1216
+ UV_EXTERN int uv_fs_link(uv_loop_t* loop,
1217
+ uv_fs_t* req,
1218
+ const char* path,
1219
+ const char* new_path,
1220
+ uv_fs_cb cb);
1221
+
1222
+ /*
1223
+ * This flag can be used with uv_fs_symlink() on Windows to specify whether
1224
+ * path argument points to a directory.
1225
+ */
1226
+ #define UV_FS_SYMLINK_DIR 0x0001
1227
+
1228
+ /*
1229
+ * This flag can be used with uv_fs_symlink() on Windows to specify whether
1230
+ * the symlink is to be created using junction points.
1231
+ */
1232
+ #define UV_FS_SYMLINK_JUNCTION 0x0002
1233
+
1234
+ UV_EXTERN int uv_fs_symlink(uv_loop_t* loop,
1235
+ uv_fs_t* req,
1236
+ const char* path,
1237
+ const char* new_path,
1238
+ int flags,
1239
+ uv_fs_cb cb);
1240
+ UV_EXTERN int uv_fs_readlink(uv_loop_t* loop,
1241
+ uv_fs_t* req,
1242
+ const char* path,
1243
+ uv_fs_cb cb);
1244
+ UV_EXTERN int uv_fs_realpath(uv_loop_t* loop,
1245
+ uv_fs_t* req,
1246
+ const char* path,
1247
+ uv_fs_cb cb);
1248
+ UV_EXTERN int uv_fs_fchmod(uv_loop_t* loop,
1249
+ uv_fs_t* req,
1250
+ uv_file file,
1251
+ int mode,
1252
+ uv_fs_cb cb);
1253
+ UV_EXTERN int uv_fs_chown(uv_loop_t* loop,
1254
+ uv_fs_t* req,
1255
+ const char* path,
1256
+ uv_uid_t uid,
1257
+ uv_gid_t gid,
1258
+ uv_fs_cb cb);
1259
+ UV_EXTERN int uv_fs_fchown(uv_loop_t* loop,
1260
+ uv_fs_t* req,
1261
+ uv_file file,
1262
+ uv_uid_t uid,
1263
+ uv_gid_t gid,
1264
+ uv_fs_cb cb);
1265
+
1266
+
1267
+ enum uv_fs_event {
1268
+ UV_RENAME = 1,
1269
+ UV_CHANGE = 2
1270
+ };
1271
+
1272
+
1273
+ struct uv_fs_event_s {
1274
+ UV_HANDLE_FIELDS
1275
+ /* private */
1276
+ char* path;
1277
+ UV_FS_EVENT_PRIVATE_FIELDS
1278
+ };
1279
+
1280
+
1281
+ /*
1282
+ * uv_fs_stat() based polling file watcher.
1283
+ */
1284
+ struct uv_fs_poll_s {
1285
+ UV_HANDLE_FIELDS
1286
+ /* Private, don't touch. */
1287
+ void* poll_ctx;
1288
+ };
1289
+
1290
+ UV_EXTERN int uv_fs_poll_init(uv_loop_t* loop, uv_fs_poll_t* handle);
1291
+ UV_EXTERN int uv_fs_poll_start(uv_fs_poll_t* handle,
1292
+ uv_fs_poll_cb poll_cb,
1293
+ const char* path,
1294
+ unsigned int interval);
1295
+ UV_EXTERN int uv_fs_poll_stop(uv_fs_poll_t* handle);
1296
+ UV_EXTERN int uv_fs_poll_getpath(uv_fs_poll_t* handle,
1297
+ char* buffer,
1298
+ size_t* size);
1299
+
1300
+
1301
+ struct uv_signal_s {
1302
+ UV_HANDLE_FIELDS
1303
+ uv_signal_cb signal_cb;
1304
+ int signum;
1305
+ UV_SIGNAL_PRIVATE_FIELDS
1306
+ };
1307
+
1308
+ UV_EXTERN int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle);
1309
+ UV_EXTERN int uv_signal_start(uv_signal_t* handle,
1310
+ uv_signal_cb signal_cb,
1311
+ int signum);
1312
+ UV_EXTERN int uv_signal_stop(uv_signal_t* handle);
1313
+
1314
+ UV_EXTERN void uv_loadavg(double avg[3]);
1315
+
1316
+
1317
+ /*
1318
+ * Flags to be passed to uv_fs_event_start().
1319
+ */
1320
+ enum uv_fs_event_flags {
1321
+ /*
1322
+ * By default, if the fs event watcher is given a directory name, we will
1323
+ * watch for all events in that directory. This flags overrides this behavior
1324
+ * and makes fs_event report only changes to the directory entry itself. This
1325
+ * flag does not affect individual files watched.
1326
+ * This flag is currently not implemented yet on any backend.
1327
+ */
1328
+ UV_FS_EVENT_WATCH_ENTRY = 1,
1329
+
1330
+ /*
1331
+ * By default uv_fs_event will try to use a kernel interface such as inotify
1332
+ * or kqueue to detect events. This may not work on remote filesystems such
1333
+ * as NFS mounts. This flag makes fs_event fall back to calling stat() on a
1334
+ * regular interval.
1335
+ * This flag is currently not implemented yet on any backend.
1336
+ */
1337
+ UV_FS_EVENT_STAT = 2,
1338
+
1339
+ /*
1340
+ * By default, event watcher, when watching directory, is not registering
1341
+ * (is ignoring) changes in it's subdirectories.
1342
+ * This flag will override this behaviour on platforms that support it.
1343
+ */
1344
+ UV_FS_EVENT_RECURSIVE = 4
1345
+ };
1346
+
1347
+
1348
+ UV_EXTERN int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle);
1349
+ UV_EXTERN int uv_fs_event_start(uv_fs_event_t* handle,
1350
+ uv_fs_event_cb cb,
1351
+ const char* path,
1352
+ unsigned int flags);
1353
+ UV_EXTERN int uv_fs_event_stop(uv_fs_event_t* handle);
1354
+ UV_EXTERN int uv_fs_event_getpath(uv_fs_event_t* handle,
1355
+ char* buffer,
1356
+ size_t* size);
1357
+
1358
+ UV_EXTERN int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr);
1359
+ UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
1360
+
1361
+ UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size);
1362
+ UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size);
1363
+
1364
+ UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size);
1365
+ UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
1366
+
1367
+ UV_EXTERN int uv_exepath(char* buffer, size_t* size);
1368
+
1369
+ UV_EXTERN int uv_cwd(char* buffer, size_t* size);
1370
+
1371
+ UV_EXTERN int uv_chdir(const char* dir);
1372
+
1373
+ UV_EXTERN uint64_t uv_get_free_memory(void);
1374
+ UV_EXTERN uint64_t uv_get_total_memory(void);
1375
+
1376
+ UV_EXTERN uint64_t uv_hrtime(void);
1377
+
1378
+ UV_EXTERN void uv_disable_stdio_inheritance(void);
1379
+
1380
+ UV_EXTERN int uv_dlopen(const char* filename, uv_lib_t* lib);
1381
+ UV_EXTERN void uv_dlclose(uv_lib_t* lib);
1382
+ UV_EXTERN int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr);
1383
+ UV_EXTERN const char* uv_dlerror(const uv_lib_t* lib);
1384
+
1385
+ UV_EXTERN int uv_mutex_init(uv_mutex_t* handle);
1386
+ UV_EXTERN void uv_mutex_destroy(uv_mutex_t* handle);
1387
+ UV_EXTERN void uv_mutex_lock(uv_mutex_t* handle);
1388
+ UV_EXTERN int uv_mutex_trylock(uv_mutex_t* handle);
1389
+ UV_EXTERN void uv_mutex_unlock(uv_mutex_t* handle);
1390
+
1391
+ UV_EXTERN int uv_rwlock_init(uv_rwlock_t* rwlock);
1392
+ UV_EXTERN void uv_rwlock_destroy(uv_rwlock_t* rwlock);
1393
+ UV_EXTERN void uv_rwlock_rdlock(uv_rwlock_t* rwlock);
1394
+ UV_EXTERN int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock);
1395
+ UV_EXTERN void uv_rwlock_rdunlock(uv_rwlock_t* rwlock);
1396
+ UV_EXTERN void uv_rwlock_wrlock(uv_rwlock_t* rwlock);
1397
+ UV_EXTERN int uv_rwlock_trywrlock(uv_rwlock_t* rwlock);
1398
+ UV_EXTERN void uv_rwlock_wrunlock(uv_rwlock_t* rwlock);
1399
+
1400
+ UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
1401
+ UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
1402
+ UV_EXTERN void uv_sem_post(uv_sem_t* sem);
1403
+ UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
1404
+ UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
1405
+
1406
+ UV_EXTERN int uv_cond_init(uv_cond_t* cond);
1407
+ UV_EXTERN void uv_cond_destroy(uv_cond_t* cond);
1408
+ UV_EXTERN void uv_cond_signal(uv_cond_t* cond);
1409
+ UV_EXTERN void uv_cond_broadcast(uv_cond_t* cond);
1410
+
1411
+ UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count);
1412
+ UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier);
1413
+ UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier);
1414
+
1415
+ UV_EXTERN void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex);
1416
+ UV_EXTERN int uv_cond_timedwait(uv_cond_t* cond,
1417
+ uv_mutex_t* mutex,
1418
+ uint64_t timeout);
1419
+
1420
+ UV_EXTERN void uv_once(uv_once_t* guard, void (*callback)(void));
1421
+
1422
+ UV_EXTERN int uv_key_create(uv_key_t* key);
1423
+ UV_EXTERN void uv_key_delete(uv_key_t* key);
1424
+ UV_EXTERN void* uv_key_get(uv_key_t* key);
1425
+ UV_EXTERN void uv_key_set(uv_key_t* key, void* value);
1426
+
1427
+ typedef void (*uv_thread_cb)(void* arg);
1428
+
1429
+ UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg);
1430
+ UV_EXTERN uv_thread_t uv_thread_self(void);
1431
+ UV_EXTERN int uv_thread_join(uv_thread_t *tid);
1432
+ UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2);
1433
+
1434
+ /* The presence of these unions force similar struct layout. */
1435
+ #define XX(_, name) uv_ ## name ## _t name;
1436
+ union uv_any_handle {
1437
+ UV_HANDLE_TYPE_MAP(XX)
1438
+ };
1439
+
1440
+ union uv_any_req {
1441
+ UV_REQ_TYPE_MAP(XX)
1442
+ };
1443
+ #undef XX
1444
+
1445
+
1446
+ struct uv_loop_s {
1447
+ /* User data - use this for whatever. */
1448
+ void* data;
1449
+ /* Loop reference counting. */
1450
+ unsigned int active_handles;
1451
+ void* handle_queue[2];
1452
+ void* active_reqs[2];
1453
+ /* Internal flag to signal loop stop. */
1454
+ unsigned int stop_flag;
1455
+ UV_LOOP_PRIVATE_FIELDS
1456
+ };
1457
+
1458
+
1459
+ /* Don't export the private CPP symbols. */
1460
+ #undef UV_HANDLE_TYPE_PRIVATE
1461
+ #undef UV_REQ_TYPE_PRIVATE
1462
+ #undef UV_REQ_PRIVATE_FIELDS
1463
+ #undef UV_STREAM_PRIVATE_FIELDS
1464
+ #undef UV_TCP_PRIVATE_FIELDS
1465
+ #undef UV_PREPARE_PRIVATE_FIELDS
1466
+ #undef UV_CHECK_PRIVATE_FIELDS
1467
+ #undef UV_IDLE_PRIVATE_FIELDS
1468
+ #undef UV_ASYNC_PRIVATE_FIELDS
1469
+ #undef UV_TIMER_PRIVATE_FIELDS
1470
+ #undef UV_GETADDRINFO_PRIVATE_FIELDS
1471
+ #undef UV_GETNAMEINFO_PRIVATE_FIELDS
1472
+ #undef UV_FS_REQ_PRIVATE_FIELDS
1473
+ #undef UV_WORK_PRIVATE_FIELDS
1474
+ #undef UV_FS_EVENT_PRIVATE_FIELDS
1475
+ #undef UV_SIGNAL_PRIVATE_FIELDS
1476
+ #undef UV_LOOP_PRIVATE_FIELDS
1477
+ #undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
1478
+
1479
+ #ifdef __cplusplus
1480
+ }
1481
+ #endif
1482
+ #endif /* UV_H */