visaljs 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +12 -4
  2. package/THIRD_PARTY_LICENSES +31 -1
  3. package/cli.js +3745 -890
  4. package/node/include/js_node.h +12 -1
  5. package/node/prelude/_http_common.js +29 -0
  6. package/node/prelude/async_hooks.js +50 -11
  7. package/node/prelude/child_process.js +31 -4
  8. package/node/prelude/console.js +311 -143
  9. package/node/prelude/crypto.js +6 -4
  10. package/node/prelude/dgram.js +1169 -0
  11. package/node/prelude/diagnostics_channel.js +3 -1
  12. package/node/prelude/dns.js +250 -45
  13. package/node/prelude/dns_promises.js +8 -2
  14. package/node/prelude/fs_promises.js +9 -1
  15. package/node/prelude/http.js +405 -94
  16. package/node/prelude/https.js +13 -4
  17. package/node/prelude/internal/console_class.js +7 -0
  18. package/node/prelude/internal/console_global.js +25 -0
  19. package/node/prelude/internal/crypto/key_encryption.js +217 -0
  20. package/node/prelude/internal/crypto/keys.js +161 -26
  21. package/node/prelude/internal/crypto/random.js +24 -0
  22. package/node/prelude/internal/crypto/util.js +2 -1
  23. package/node/prelude/internal/crypto_x509.js +161 -0
  24. package/node/prelude/internal/dns_classes.js +6 -0
  25. package/node/prelude/internal/dns_resolver.js +371 -0
  26. package/node/prelude/internal/errors.js +9 -0
  27. package/node/prelude/internal/events_on.js +82 -37
  28. package/node/prelude/internal/features.js +8 -4
  29. package/node/prelude/internal/fs_filehandle.js +10 -4
  30. package/node/prelude/internal/http_chars.ts +22 -0
  31. package/node/prelude/internal/perf_histogram.js +1 -1
  32. package/node/prelude/internal/process_more.js +32 -17
  33. package/node/prelude/internal/process_signals.js +8 -2
  34. package/node/prelude/internal/punycode.ts +163 -0
  35. package/node/prelude/internal/readline.js +648 -274
  36. package/node/prelude/internal/readline_editor.js +1240 -0
  37. package/node/prelude/internal/string_width.js +43 -0
  38. package/node/prelude/internal/tls/common.js +145 -33
  39. package/node/prelude/internal/tls/wrap.js +182 -49
  40. package/node/prelude/internal/tls/x509.js +4 -1
  41. package/node/prelude/internal/udp.js +177 -0
  42. package/node/prelude/net.js +30 -14
  43. package/node/prelude/os.js +24 -6
  44. package/node/prelude/perf_hooks.js +37 -2
  45. package/node/prelude/punycode.js +2 -130
  46. package/node/prelude/readline.js +113 -4
  47. package/node/prelude/readline_promises.js +56 -32
  48. package/node/prelude/tls.js +21 -4
  49. package/node/prelude/util.js +3 -16
  50. package/node/src/host_dns.c +623 -0
  51. package/node/src/host_http.c +12 -0
  52. package/node/src/host_net.c +46 -0
  53. package/node/src/host_os.c +1 -6
  54. package/node/src/host_sys.c +79 -0
  55. package/node/src/host_udp.c +418 -0
  56. package/node/third_party/c-ares/LICENSE.md +24 -0
  57. package/node/third_party/c-ares/config/darwin/ares_config.h +573 -0
  58. package/node/third_party/c-ares/config/freebsd/ares_config.h +573 -0
  59. package/node/third_party/c-ares/config/linux/ares_config.h +573 -0
  60. package/node/third_party/c-ares/config/openbsd/ares_config.h +583 -0
  61. package/node/third_party/c-ares/include/ares.h +1237 -0
  62. package/node/third_party/c-ares/include/ares_build.h +202 -0
  63. package/node/third_party/c-ares/include/ares_dns.h +127 -0
  64. package/node/third_party/c-ares/include/ares_dns_record.h +1119 -0
  65. package/node/third_party/c-ares/include/ares_nameser.h +510 -0
  66. package/node/third_party/c-ares/include/ares_version.h +47 -0
  67. package/node/third_party/c-ares/src/lib/ares_addrinfo2hostent.c +305 -0
  68. package/node/third_party/c-ares/src/lib/ares_addrinfo_localhost.c +245 -0
  69. package/node/third_party/c-ares/src/lib/ares_android.c +496 -0
  70. package/node/third_party/c-ares/src/lib/ares_android.h +38 -0
  71. package/node/third_party/c-ares/src/lib/ares_cancel.c +87 -0
  72. package/node/third_party/c-ares/src/lib/ares_close_sockets.c +137 -0
  73. package/node/third_party/c-ares/src/lib/ares_conn.c +511 -0
  74. package/node/third_party/c-ares/src/lib/ares_conn.h +202 -0
  75. package/node/third_party/c-ares/src/lib/ares_cookie.c +461 -0
  76. package/node/third_party/c-ares/src/lib/ares_data.c +168 -0
  77. package/node/third_party/c-ares/src/lib/ares_data.h +92 -0
  78. package/node/third_party/c-ares/src/lib/ares_destroy.c +159 -0
  79. package/node/third_party/c-ares/src/lib/ares_free_hostent.c +54 -0
  80. package/node/third_party/c-ares/src/lib/ares_free_string.c +33 -0
  81. package/node/third_party/c-ares/src/lib/ares_freeaddrinfo.c +67 -0
  82. package/node/third_party/c-ares/src/lib/ares_getaddrinfo.c +806 -0
  83. package/node/third_party/c-ares/src/lib/ares_getenv.c +38 -0
  84. package/node/third_party/c-ares/src/lib/ares_getenv.h +34 -0
  85. package/node/third_party/c-ares/src/lib/ares_gethostbyaddr.c +229 -0
  86. package/node/third_party/c-ares/src/lib/ares_gethostbyname.c +341 -0
  87. package/node/third_party/c-ares/src/lib/ares_getnameinfo.c +437 -0
  88. package/node/third_party/c-ares/src/lib/ares_hosts_file.c +960 -0
  89. package/node/third_party/c-ares/src/lib/ares_inet_net_pton.h +31 -0
  90. package/node/third_party/c-ares/src/lib/ares_init.c +631 -0
  91. package/node/third_party/c-ares/src/lib/ares_ipv6.h +115 -0
  92. package/node/third_party/c-ares/src/lib/ares_library_init.c +190 -0
  93. package/node/third_party/c-ares/src/lib/ares_metrics.c +261 -0
  94. package/node/third_party/c-ares/src/lib/ares_options.c +492 -0
  95. package/node/third_party/c-ares/src/lib/ares_parse_into_addrinfo.c +179 -0
  96. package/node/third_party/c-ares/src/lib/ares_private.h +648 -0
  97. package/node/third_party/c-ares/src/lib/ares_process.c +1649 -0
  98. package/node/third_party/c-ares/src/lib/ares_qcache.c +442 -0
  99. package/node/third_party/c-ares/src/lib/ares_query.c +151 -0
  100. package/node/third_party/c-ares/src/lib/ares_search.c +623 -0
  101. package/node/third_party/c-ares/src/lib/ares_send.c +300 -0
  102. package/node/third_party/c-ares/src/lib/ares_set_socket_functions.c +590 -0
  103. package/node/third_party/c-ares/src/lib/ares_setup.h +224 -0
  104. package/node/third_party/c-ares/src/lib/ares_socket.c +427 -0
  105. package/node/third_party/c-ares/src/lib/ares_socket.h +163 -0
  106. package/node/third_party/c-ares/src/lib/ares_sortaddrinfo.c +447 -0
  107. package/node/third_party/c-ares/src/lib/ares_strerror.c +91 -0
  108. package/node/third_party/c-ares/src/lib/ares_sysconfig.c +642 -0
  109. package/node/third_party/c-ares/src/lib/ares_sysconfig_files.c +851 -0
  110. package/node/third_party/c-ares/src/lib/ares_sysconfig_mac.c +373 -0
  111. package/node/third_party/c-ares/src/lib/ares_sysconfig_win.c +673 -0
  112. package/node/third_party/c-ares/src/lib/ares_timeout.c +162 -0
  113. package/node/third_party/c-ares/src/lib/ares_update_servers.c +1376 -0
  114. package/node/third_party/c-ares/src/lib/ares_version.c +36 -0
  115. package/node/third_party/c-ares/src/lib/config-dos.h +114 -0
  116. package/node/third_party/c-ares/src/lib/config-win32.h +396 -0
  117. package/node/third_party/c-ares/src/lib/dsa/ares_array.c +409 -0
  118. package/node/third_party/c-ares/src/lib/dsa/ares_htable.c +451 -0
  119. package/node/third_party/c-ares/src/lib/dsa/ares_htable.h +174 -0
  120. package/node/third_party/c-ares/src/lib/dsa/ares_htable_asvp.c +224 -0
  121. package/node/third_party/c-ares/src/lib/dsa/ares_htable_dict.c +230 -0
  122. package/node/third_party/c-ares/src/lib/dsa/ares_htable_strvp.c +210 -0
  123. package/node/third_party/c-ares/src/lib/dsa/ares_htable_szvp.c +188 -0
  124. package/node/third_party/c-ares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  125. package/node/third_party/c-ares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  126. package/node/third_party/c-ares/src/lib/dsa/ares_llist.c +385 -0
  127. package/node/third_party/c-ares/src/lib/dsa/ares_slist.c +479 -0
  128. package/node/third_party/c-ares/src/lib/dsa/ares_slist.h +207 -0
  129. package/node/third_party/c-ares/src/lib/event/ares_event.h +191 -0
  130. package/node/third_party/c-ares/src/lib/event/ares_event_configchg.c +746 -0
  131. package/node/third_party/c-ares/src/lib/event/ares_event_epoll.c +192 -0
  132. package/node/third_party/c-ares/src/lib/event/ares_event_kqueue.c +248 -0
  133. package/node/third_party/c-ares/src/lib/event/ares_event_poll.c +140 -0
  134. package/node/third_party/c-ares/src/lib/event/ares_event_select.c +159 -0
  135. package/node/third_party/c-ares/src/lib/event/ares_event_thread.c +575 -0
  136. package/node/third_party/c-ares/src/lib/event/ares_event_wake_pipe.c +172 -0
  137. package/node/third_party/c-ares/src/lib/event/ares_event_win32.c +981 -0
  138. package/node/third_party/c-ares/src/lib/event/ares_event_win32.h +161 -0
  139. package/node/third_party/c-ares/src/lib/include/ares_array.h +276 -0
  140. package/node/third_party/c-ares/src/lib/include/ares_buf.h +732 -0
  141. package/node/third_party/c-ares/src/lib/include/ares_htable_asvp.h +130 -0
  142. package/node/third_party/c-ares/src/lib/include/ares_htable_dict.h +123 -0
  143. package/node/third_party/c-ares/src/lib/include/ares_htable_strvp.h +130 -0
  144. package/node/third_party/c-ares/src/lib/include/ares_htable_szvp.h +118 -0
  145. package/node/third_party/c-ares/src/lib/include/ares_htable_vpstr.h +111 -0
  146. package/node/third_party/c-ares/src/lib/include/ares_htable_vpvp.h +128 -0
  147. package/node/third_party/c-ares/src/lib/include/ares_llist.h +239 -0
  148. package/node/third_party/c-ares/src/lib/include/ares_mem.h +41 -0
  149. package/node/third_party/c-ares/src/lib/include/ares_str.h +261 -0
  150. package/node/third_party/c-ares/src/lib/inet_net_pton.c +451 -0
  151. package/node/third_party/c-ares/src/lib/inet_ntop.c +219 -0
  152. package/node/third_party/c-ares/src/lib/legacy/ares_create_query.c +78 -0
  153. package/node/third_party/c-ares/src/lib/legacy/ares_expand_name.c +99 -0
  154. package/node/third_party/c-ares/src/lib/legacy/ares_expand_string.c +107 -0
  155. package/node/third_party/c-ares/src/lib/legacy/ares_fds.c +80 -0
  156. package/node/third_party/c-ares/src/lib/legacy/ares_getsock.c +85 -0
  157. package/node/third_party/c-ares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  158. package/node/third_party/c-ares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  159. package/node/third_party/c-ares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  160. package/node/third_party/c-ares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  161. package/node/third_party/c-ares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  162. package/node/third_party/c-ares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  163. package/node/third_party/c-ares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  164. package/node/third_party/c-ares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  165. package/node/third_party/c-ares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  166. package/node/third_party/c-ares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  167. package/node/third_party/c-ares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  168. package/node/third_party/c-ares/src/lib/record/ares_dns_mapping.c +982 -0
  169. package/node/third_party/c-ares/src/lib/record/ares_dns_multistring.c +309 -0
  170. package/node/third_party/c-ares/src/lib/record/ares_dns_multistring.h +72 -0
  171. package/node/third_party/c-ares/src/lib/record/ares_dns_name.c +736 -0
  172. package/node/third_party/c-ares/src/lib/record/ares_dns_parse.c +1360 -0
  173. package/node/third_party/c-ares/src/lib/record/ares_dns_private.h +273 -0
  174. package/node/third_party/c-ares/src/lib/record/ares_dns_record.c +1701 -0
  175. package/node/third_party/c-ares/src/lib/record/ares_dns_write.c +1229 -0
  176. package/node/third_party/c-ares/src/lib/str/ares_buf.c +1510 -0
  177. package/node/third_party/c-ares/src/lib/str/ares_str.c +562 -0
  178. package/node/third_party/c-ares/src/lib/str/ares_strsplit.c +90 -0
  179. package/node/third_party/c-ares/src/lib/str/ares_strsplit.h +51 -0
  180. package/node/third_party/c-ares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  181. package/node/third_party/c-ares/src/lib/util/ares_iface_ips.c +640 -0
  182. package/node/third_party/c-ares/src/lib/util/ares_iface_ips.h +140 -0
  183. package/node/third_party/c-ares/src/lib/util/ares_math.c +167 -0
  184. package/node/third_party/c-ares/src/lib/util/ares_math.h +58 -0
  185. package/node/third_party/c-ares/src/lib/util/ares_rand.c +389 -0
  186. package/node/third_party/c-ares/src/lib/util/ares_rand.h +36 -0
  187. package/node/third_party/c-ares/src/lib/util/ares_threads.c +613 -0
  188. package/node/third_party/c-ares/src/lib/util/ares_threads.h +60 -0
  189. package/node/third_party/c-ares/src/lib/util/ares_time.h +49 -0
  190. package/node/third_party/c-ares/src/lib/util/ares_timeval.c +95 -0
  191. package/node/third_party/c-ares/src/lib/util/ares_uri.c +1627 -0
  192. package/node/third_party/c-ares/src/lib/util/ares_uri.h +252 -0
  193. package/node/third_party/c-ares/src/lib/windows_port.c +29 -0
  194. package/package.json +1 -1
  195. package/prebuilt/darwin-arm64/cares-a6286c65ca9374a3.a +0 -0
  196. package/prebuilt/darwin-x64/cares-a6286c65ca9374a3.a +0 -0
  197. package/prebuilt/linux-arm64/cares-4ba05ac8e948af8e.a +0 -0
  198. package/prebuilt/linux-arm64-musl/cares-4ba05ac8e948af8e.a +0 -0
  199. package/prebuilt/linux-x64/cares-4ba05ac8e948af8e.a +0 -0
  200. package/prebuilt/linux-x64-musl/cares-4ba05ac8e948af8e.a +0 -0
  201. package/prebuilt/win32-x64/boringssl-ce573858472b7fc9.a +0 -0
  202. package/prebuilt/win32-x64/brotli-20d86a61f30baeb3.a +0 -0
  203. package/prebuilt/win32-x64/cares-49c9ec95162b912d.a +0 -0
  204. package/prebuilt/win32-x64/uv-b11bae65d7fced82.a +0 -0
  205. package/prebuilt/win32-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
  206. package/prebuilt/win32-x64/zstd-015315ac7c784c73.a +0 -0
  207. package/runtime/include/js_buffer.h +185 -0
  208. package/runtime/include/js_builtins.h +58 -0
  209. package/runtime/include/js_crypto.h +11 -0
  210. package/runtime/include/js_exception.h +3 -0
  211. package/runtime/include/js_function.h +1 -1
  212. package/runtime/include/js_gc.h +13 -10
  213. package/runtime/include/js_jobs.h +2 -0
  214. package/runtime/include/js_object.h +79 -3
  215. package/runtime/include/js_ops.h +27 -0
  216. package/runtime/include/js_runtime.h +1 -0
  217. package/runtime/include/js_web.h +0 -3
  218. package/runtime/include/jscontext.h +8 -0
  219. package/runtime/src/builtins.c +17 -4
  220. package/runtime/src/crypto_internal.h +1 -0
  221. package/runtime/src/crypto_subtle.c +66 -7
  222. package/runtime/src/crypto_tls.c +265 -19
  223. package/runtime/src/function.c +37 -10
  224. package/runtime/src/gc.c +76 -93
  225. package/runtime/src/inspect.c +18 -1
  226. package/runtime/src/iterator.c +5 -1
  227. package/runtime/src/jobs.c +37 -22
  228. package/runtime/src/object.c +91 -8
  229. package/runtime/src/os.c +16 -6
  230. package/runtime/src/os.h +2 -0
  231. package/runtime/src/process.c +97 -10
  232. package/runtime/src/typedarray.c +23 -0
@@ -0,0 +1,202 @@
1
+ /* MIT License
2
+ *
3
+ * Copyright (c) 2009 Daniel Stenberg
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice (including the next
13
+ * paragraph) shall be included in all copies or substantial portions of the
14
+ * Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ *
24
+ * SPDX-License-Identifier: MIT
25
+ */
26
+ #ifndef __CARES_BUILD_H
27
+ #define __CARES_BUILD_H
28
+
29
+
30
+ /* ================================================================ */
31
+ /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
32
+ /* ================================================================ */
33
+
34
+ /*
35
+ * NOTE 1:
36
+ * -------
37
+ *
38
+ * See file ares_build.h.in, run configure, and forget that this file
39
+ * exists it is only used for non-configure systems.
40
+ * But you can keep reading if you want ;-)
41
+ *
42
+ */
43
+
44
+ /* ================================================================ */
45
+ /* NOTES FOR NON-CONFIGURE SYSTEMS */
46
+ /* ================================================================ */
47
+
48
+ /*
49
+ * NOTE 1:
50
+ * -------
51
+ *
52
+ * Nothing in this file is intended to be modified or adjusted by the
53
+ * c-ares library user nor by the c-ares library builder.
54
+ *
55
+ * If you think that something actually needs to be changed, adjusted
56
+ * or fixed in this file, then, report it on the c-ares development
57
+ * mailing list: http://lists.haxx.se/listinfo/c-ares/
58
+ *
59
+ * Try to keep one section per platform, compiler and architecture,
60
+ * otherwise, if an existing section is reused for a different one and
61
+ * later on the original is adjusted, probably the piggybacking one can
62
+ * be adversely changed.
63
+ *
64
+ * In order to differentiate between platforms/compilers/architectures
65
+ * use only compiler built in predefined preprocessor symbols.
66
+ *
67
+ * This header file shall only export symbols which are 'cares' or 'CARES'
68
+ * prefixed, otherwise public name space would be polluted.
69
+ *
70
+ * NOTE 2:
71
+ * -------
72
+ *
73
+ * Right now you might be staring at file ares_build.h.dist or ares_build.h,
74
+ * this is due to the following reason: file ares_build.h.dist is renamed
75
+ * to ares_build.h when the c-ares source code distribution archive file is
76
+ * created.
77
+ *
78
+ * File ares_build.h.dist is not included in the distribution archive.
79
+ * File ares_build.h is not present in the git tree.
80
+ *
81
+ * The distributed ares_build.h file is only intended to be used on systems
82
+ * which can not run the also distributed configure script.
83
+ *
84
+ * On systems capable of running the configure script, the configure process
85
+ * will overwrite the distributed ares_build.h file with one that is suitable
86
+ * and specific to the library being configured and built, which is generated
87
+ * from the ares_build.h.in template file.
88
+ *
89
+ * If you check out from git on a non-configure platform, you must run the
90
+ * appropriate buildconf* script to set up ares_build.h and other local files.
91
+ *
92
+ */
93
+
94
+ /* ================================================================ */
95
+ /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
96
+ /* ================================================================ */
97
+
98
+ #ifdef CARES_TYPEOF_ARES_SOCKLEN_T
99
+ # error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
100
+ Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
101
+ #endif
102
+
103
+ /* ================================================================ */
104
+ /* EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY */
105
+ /* ================================================================ */
106
+
107
+ #if defined(__DJGPP__) || defined(__GO32__)
108
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
109
+
110
+ #elif defined(__SALFORDC__)
111
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
112
+
113
+ #elif defined(__BORLANDC__)
114
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
115
+
116
+ #elif defined(__TURBOC__)
117
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
118
+
119
+ #elif defined(__WATCOMC__)
120
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
121
+
122
+ #elif defined(__POCC__)
123
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
124
+
125
+ #elif defined(__LCC__)
126
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
127
+
128
+ #elif defined(__SYMBIAN32__)
129
+ # define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int
130
+
131
+ #elif defined(__MWERKS__)
132
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
133
+
134
+ #elif defined(_WIN32_WCE)
135
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
136
+
137
+ #elif defined(__VMS)
138
+ # define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int
139
+
140
+ #elif defined(__OS400__)
141
+ # if defined(__ILEC400__)
142
+ # define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
143
+ # define CARES_HAVE_SYS_TYPES_H 1
144
+ # define CARES_HAVE_SYS_SOCKET_H 1
145
+ # define CARES_HAVE_SYS_SELECT_H 1
146
+ # endif
147
+
148
+ #elif defined(__MVS__)
149
+ # if defined(__IBMC__) || defined(__IBMCPP__)
150
+ # define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
151
+ # define CARES_HAVE_SYS_TYPES_H 1
152
+ # define CARES_HAVE_SYS_SOCKET_H 1
153
+ # define CARES_HAVE_SYS_SELECT_H 1
154
+ # endif
155
+
156
+ #elif defined(__370__)
157
+ # if defined(__IBMC__) || defined(__IBMCPP__)
158
+ # define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
159
+ # define CARES_HAVE_SYS_TYPES_H 1
160
+ # define CARES_HAVE_SYS_SOCKET_H 1
161
+ # define CARES_HAVE_SYS_SELECT_H 1
162
+ # endif
163
+
164
+ #elif defined(TPF)
165
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
166
+
167
+ #elif defined(_WIN32)
168
+ # define CARES_TYPEOF_ARES_SOCKLEN_T int
169
+ # define CARES_HAVE_WINDOWS_H 1
170
+ # define CARES_HAVE_SYS_TYPES_H 1
171
+
172
+ # if defined(WATT32)
173
+ # define CARES_HAVE_SYS_SOCKET_H 1
174
+ # define CARES_HAVE_SYS_SELECT_H 1
175
+ # else
176
+ # define CARES_HAVE_WS2TCPIP_H 1
177
+ # define CARES_HAVE_WINSOCK2_H 1
178
+ # endif
179
+
180
+ #elif defined(__GNUC__)
181
+ # define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
182
+ # define CARES_HAVE_SYS_TYPES_H 1
183
+ # define CARES_HAVE_SYS_SOCKET_H 1
184
+ # define CARES_HAVE_SYS_SELECT_H 1
185
+
186
+ #else
187
+ # error "Unknown non-configure build target!"
188
+ Error Compilation_aborted_Unknown_non_configure_build_target
189
+ #endif
190
+
191
+ /* Data type definition of ares_ssize_t. */
192
+ #ifdef _WIN32
193
+ # ifdef _WIN64
194
+ # define CARES_TYPEOF_ARES_SSIZE_T __int64
195
+ # else
196
+ # define CARES_TYPEOF_ARES_SSIZE_T long
197
+ # endif
198
+ #else
199
+ # define CARES_TYPEOF_ARES_SSIZE_T ssize_t
200
+ #endif
201
+
202
+ #endif /* __CARES_BUILD_H */
@@ -0,0 +1,127 @@
1
+ /* MIT License
2
+ *
3
+ * Copyright (c) Massachusetts Institute of Technology
4
+ * Copyright (c) The c-ares project and its contributors
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice (including the next
14
+ * paragraph) shall be included in all copies or substantial portions of the
15
+ * Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ * SOFTWARE.
24
+ *
25
+ * SPDX-License-Identifier: MIT
26
+ */
27
+ #ifndef HEADER_CARES_DNS_H
28
+ #define HEADER_CARES_DNS_H
29
+
30
+ /*
31
+ * NOTE TO INTEGRATORS:
32
+ *
33
+ * This header is made public due to legacy projects relying on it.
34
+ * Please do not use the macros within this header, or include this
35
+ * header in your project as it may be removed in the future.
36
+ */
37
+
38
+
39
+ /*
40
+ * Macro DNS__16BIT reads a network short (16 bit) given in network
41
+ * byte order, and returns its value as an unsigned short.
42
+ */
43
+ #define DNS__16BIT(p) \
44
+ ((unsigned short)((unsigned int)0xffff & \
45
+ (((unsigned int)((unsigned char)(p)[0]) << 8U) | \
46
+ ((unsigned int)((unsigned char)(p)[1])))))
47
+
48
+ /*
49
+ * Macro DNS__32BIT reads a network long (32 bit) given in network
50
+ * byte order, and returns its value as an unsigned int.
51
+ */
52
+ #define DNS__32BIT(p) \
53
+ ((unsigned int)(((unsigned int)((unsigned char)(p)[0]) << 24U) | \
54
+ ((unsigned int)((unsigned char)(p)[1]) << 16U) | \
55
+ ((unsigned int)((unsigned char)(p)[2]) << 8U) | \
56
+ ((unsigned int)((unsigned char)(p)[3]))))
57
+
58
+ #define DNS__SET16BIT(p, v) \
59
+ (((p)[0] = (unsigned char)(((v) >> 8) & 0xff)), \
60
+ ((p)[1] = (unsigned char)((v) & 0xff)))
61
+ #define DNS__SET32BIT(p, v) \
62
+ (((p)[0] = (unsigned char)(((v) >> 24) & 0xff)), \
63
+ ((p)[1] = (unsigned char)(((v) >> 16) & 0xff)), \
64
+ ((p)[2] = (unsigned char)(((v) >> 8) & 0xff)), \
65
+ ((p)[3] = (unsigned char)((v) & 0xff)))
66
+
67
+ #if 0
68
+ /* we cannot use this approach on systems where we can't access 16/32 bit
69
+ data on un-aligned addresses */
70
+ # define DNS__16BIT(p) ntohs(*(unsigned short *)(p))
71
+ # define DNS__32BIT(p) ntohl(*(unsigned long *)(p))
72
+ # define DNS__SET16BIT(p, v) *(unsigned short *)(p) = htons(v)
73
+ # define DNS__SET32BIT(p, v) *(unsigned long *)(p) = htonl(v)
74
+ #endif
75
+
76
+ /* Macros for parsing a DNS header */
77
+ #define DNS_HEADER_QID(h) DNS__16BIT(h)
78
+ #define DNS_HEADER_QR(h) (((h)[2] >> 7) & 0x1)
79
+ #define DNS_HEADER_OPCODE(h) (((h)[2] >> 3) & 0xf)
80
+ #define DNS_HEADER_AA(h) (((h)[2] >> 2) & 0x1)
81
+ #define DNS_HEADER_TC(h) (((h)[2] >> 1) & 0x1)
82
+ #define DNS_HEADER_RD(h) ((h)[2] & 0x1)
83
+ #define DNS_HEADER_RA(h) (((h)[3] >> 7) & 0x1)
84
+ #define DNS_HEADER_Z(h) (((h)[3] >> 4) & 0x7)
85
+ #define DNS_HEADER_RCODE(h) ((h)[3] & 0xf)
86
+ #define DNS_HEADER_QDCOUNT(h) DNS__16BIT((h) + 4)
87
+ #define DNS_HEADER_ANCOUNT(h) DNS__16BIT((h) + 6)
88
+ #define DNS_HEADER_NSCOUNT(h) DNS__16BIT((h) + 8)
89
+ #define DNS_HEADER_ARCOUNT(h) DNS__16BIT((h) + 10)
90
+
91
+ /* Macros for constructing a DNS header */
92
+ #define DNS_HEADER_SET_QID(h, v) DNS__SET16BIT(h, v)
93
+ #define DNS_HEADER_SET_QR(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 7))
94
+ #define DNS_HEADER_SET_OPCODE(h, v) \
95
+ ((h)[2] |= (unsigned char)(((v) & 0xf) << 3))
96
+ #define DNS_HEADER_SET_AA(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 2))
97
+ #define DNS_HEADER_SET_TC(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 1))
98
+ #define DNS_HEADER_SET_RD(h, v) ((h)[2] |= (unsigned char)((v) & 0x1))
99
+ #define DNS_HEADER_SET_RA(h, v) ((h)[3] |= (unsigned char)(((v) & 0x1) << 7))
100
+ #define DNS_HEADER_SET_Z(h, v) ((h)[3] |= (unsigned char)(((v) & 0x7) << 4))
101
+ #define DNS_HEADER_SET_RCODE(h, v) ((h)[3] |= (unsigned char)((v) & 0xf))
102
+ #define DNS_HEADER_SET_QDCOUNT(h, v) DNS__SET16BIT((h) + 4, v)
103
+ #define DNS_HEADER_SET_ANCOUNT(h, v) DNS__SET16BIT((h) + 6, v)
104
+ #define DNS_HEADER_SET_NSCOUNT(h, v) DNS__SET16BIT((h) + 8, v)
105
+ #define DNS_HEADER_SET_ARCOUNT(h, v) DNS__SET16BIT((h) + 10, v)
106
+
107
+ /* Macros for parsing the fixed part of a DNS question */
108
+ #define DNS_QUESTION_TYPE(q) DNS__16BIT(q)
109
+ #define DNS_QUESTION_CLASS(q) DNS__16BIT((q) + 2)
110
+
111
+ /* Macros for constructing the fixed part of a DNS question */
112
+ #define DNS_QUESTION_SET_TYPE(q, v) DNS__SET16BIT(q, v)
113
+ #define DNS_QUESTION_SET_CLASS(q, v) DNS__SET16BIT((q) + 2, v)
114
+
115
+ /* Macros for parsing the fixed part of a DNS resource record */
116
+ #define DNS_RR_TYPE(r) DNS__16BIT(r)
117
+ #define DNS_RR_CLASS(r) DNS__16BIT((r) + 2)
118
+ #define DNS_RR_TTL(r) DNS__32BIT((r) + 4)
119
+ #define DNS_RR_LEN(r) DNS__16BIT((r) + 8)
120
+
121
+ /* Macros for constructing the fixed part of a DNS resource record */
122
+ #define DNS_RR_SET_TYPE(r, v) DNS__SET16BIT(r, v)
123
+ #define DNS_RR_SET_CLASS(r, v) DNS__SET16BIT((r) + 2, v)
124
+ #define DNS_RR_SET_TTL(r, v) DNS__SET32BIT((r) + 4, v)
125
+ #define DNS_RR_SET_LEN(r, v) DNS__SET16BIT((r) + 8, v)
126
+
127
+ #endif /* HEADER_CARES_DNS_H */