@encharm/cws 4.0.2 → 4.3.0

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 (410) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/LICENSE +3 -2
  3. package/README.md +9 -2
  4. package/binding.gyp +2 -2
  5. package/dist/bindings/cws_darwin_arm64_node108.node +0 -0
  6. package/dist/bindings/cws_darwin_arm64_node64.node +0 -0
  7. package/dist/bindings/cws_darwin_arm64_node72.node +0 -0
  8. package/dist/bindings/cws_darwin_arm64_node79.node +0 -0
  9. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  10. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  11. package/dist/bindings/cws_darwin_x64_node108.node +0 -0
  12. package/dist/bindings/cws_darwin_x64_node64.node +0 -0
  13. package/dist/bindings/cws_darwin_x64_node72.node +0 -0
  14. package/dist/bindings/cws_darwin_x64_node79.node +0 -0
  15. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  16. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  17. package/dist/bindings/cws_linux_x64_node108.node +0 -0
  18. package/dist/bindings/cws_linux_x64_node64.node +0 -0
  19. package/dist/bindings/cws_linux_x64_node72.node +0 -0
  20. package/dist/bindings/cws_linux_x64_node79.node +0 -0
  21. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  22. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  23. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  24. package/dist/bindings/cws_win32_x64_node64.node +0 -0
  25. package/dist/bindings/cws_win32_x64_node72.node +0 -0
  26. package/dist/bindings/cws_win32_x64_node79.node +0 -0
  27. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  28. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  29. package/dist/client.d.ts +1 -0
  30. package/dist/client.js +4 -0
  31. package/dist/index.js +3 -2
  32. package/dist/server.js +1 -0
  33. package/dist/shared.js +2 -1
  34. package/package.json +1 -1
  35. package/src/Addon.cpp +1 -0
  36. package/src/Addon.h +35 -2
  37. package/src/HTTPSocket.cpp +1 -1
  38. package/src/LICENSE +4 -0
  39. package/src/Socket.h +12 -3
  40. package/src/headers/{13 → 18}/aliased_buffer.h +61 -9
  41. package/src/headers/18/aliased_struct-inl.h +54 -0
  42. package/src/headers/18/aliased_struct.h +63 -0
  43. package/src/headers/{12 → 18}/async_wrap-inl.h +0 -0
  44. package/src/headers/{12 → 18}/async_wrap.h +26 -2
  45. package/src/headers/{12/base64.h → 18/base64-inl.h} +78 -86
  46. package/src/headers/18/base64.h +69 -0
  47. package/src/headers/{12 → 18}/base_object-inl.h +46 -25
  48. package/src/headers/{12 → 18}/base_object.h +82 -17
  49. package/src/headers/{12 → 18}/callback_queue-inl.h +9 -9
  50. package/src/headers/{12 → 18}/callback_queue.h +13 -5
  51. package/src/headers/18/cares_wrap.h +523 -0
  52. package/src/headers/{12 → 18}/connect_wrap.h +0 -0
  53. package/src/headers/{12 → 18}/connection_wrap.h +0 -0
  54. package/src/headers/18/crypto/crypto_aes.h +89 -0
  55. package/src/headers/{13/node_crypto_bio.h → 18/crypto/crypto_bio.h} +3 -4
  56. package/src/headers/18/crypto/crypto_cipher.h +291 -0
  57. package/src/headers/{13/node_crypto_clienthello-inl.h → 18/crypto/crypto_clienthello-inl.h} +4 -5
  58. package/src/headers/{13/node_crypto_clienthello.h → 18/crypto/crypto_clienthello.h} +3 -4
  59. package/src/headers/{12/node_crypto_common.h → 18/crypto/crypto_common.h} +49 -36
  60. package/src/headers/18/crypto/crypto_context.h +147 -0
  61. package/src/headers/18/crypto/crypto_dh.h +156 -0
  62. package/src/headers/18/crypto/crypto_dsa.h +77 -0
  63. package/src/headers/18/crypto/crypto_ec.h +170 -0
  64. package/src/headers/{12/node_crypto_groups.h → 18/crypto/crypto_groups.h} +3 -3
  65. package/src/headers/18/crypto/crypto_hash.h +89 -0
  66. package/src/headers/18/crypto/crypto_hkdf.h +65 -0
  67. package/src/headers/18/crypto/crypto_hmac.h +94 -0
  68. package/src/headers/18/crypto/crypto_keygen.h +305 -0
  69. package/src/headers/18/crypto/crypto_keys.h +420 -0
  70. package/src/headers/18/crypto/crypto_pbkdf2.h +76 -0
  71. package/src/headers/18/crypto/crypto_random.h +130 -0
  72. package/src/headers/18/crypto/crypto_rsa.h +141 -0
  73. package/src/headers/18/crypto/crypto_scrypt.h +87 -0
  74. package/src/headers/18/crypto/crypto_sig.h +168 -0
  75. package/src/headers/18/crypto/crypto_spkac.h +21 -0
  76. package/src/headers/18/crypto/crypto_timing.h +20 -0
  77. package/src/headers/{12/tls_wrap.h → 18/crypto/crypto_tls.h} +137 -66
  78. package/src/headers/18/crypto/crypto_util.h +791 -0
  79. package/src/headers/18/crypto/crypto_x509.h +143 -0
  80. package/src/headers/{12 → 18}/debug_utils-inl.h +0 -0
  81. package/src/headers/{13 → 18}/debug_utils.h +7 -4
  82. package/src/headers/{12 → 18}/diagnosticfilename-inl.h +0 -0
  83. package/src/headers/{12 → 18}/env-inl.h +397 -304
  84. package/src/headers/{12 → 18}/env.h +397 -172
  85. package/src/headers/{12 → 18}/handle_wrap.h +7 -3
  86. package/src/headers/18/histogram-inl.h +107 -0
  87. package/src/headers/18/histogram.h +239 -0
  88. package/src/headers/{13 → 18}/inspector_agent.h +4 -7
  89. package/src/headers/{12 → 18}/inspector_io.h +0 -0
  90. package/src/headers/{13 → 18}/inspector_profiler.h +17 -5
  91. package/src/headers/{12 → 18}/inspector_socket.h +0 -0
  92. package/src/headers/{12 → 18}/inspector_socket_server.h +0 -0
  93. package/src/headers/18/js_native_api.h +571 -0
  94. package/src/headers/{13 → 18}/js_native_api_types.h +30 -7
  95. package/src/headers/{12 → 18}/js_native_api_v8.h +220 -83
  96. package/src/headers/{12 → 18}/js_native_api_v8_internals.h +6 -5
  97. package/src/headers/{12 → 18}/js_stream.h +0 -0
  98. package/src/headers/{12 → 18}/json_utils.h +0 -0
  99. package/src/headers/{13 → 18}/memory_tracker-inl.h +6 -5
  100. package/src/headers/{13 → 18}/memory_tracker.h +0 -7
  101. package/src/headers/{13 → 18}/module_wrap.h +24 -7
  102. package/src/headers/{13 → 18}/node.h +329 -68
  103. package/src/headers/18/node_api.h +288 -0
  104. package/src/headers/18/node_api_internals.h +38 -0
  105. package/src/headers/{12 → 18}/node_api_types.h +12 -9
  106. package/src/headers/{12 → 18}/node_binding.h +0 -0
  107. package/src/headers/18/node_blob.h +191 -0
  108. package/src/headers/18/node_bob-inl.h +37 -0
  109. package/src/headers/18/node_bob.h +111 -0
  110. package/src/headers/{13 → 18}/node_buffer.h +0 -0
  111. package/src/headers/{13 → 18}/node_constants.h +5 -1
  112. package/src/headers/{12 → 18}/node_context_data.h +5 -0
  113. package/src/headers/{12 → 18}/node_contextify.h +37 -2
  114. package/src/headers/{10/node_javascript.h → 18/node_crypto.h} +30 -14
  115. package/src/headers/{12 → 18}/node_dir.h +0 -0
  116. package/src/headers/{12 → 18}/node_dtrace.h +0 -0
  117. package/src/headers/{12 → 18}/node_errors.h +90 -24
  118. package/src/headers/18/node_external_reference.h +145 -0
  119. package/src/headers/{13 → 18}/node_file-inl.h +38 -21
  120. package/src/headers/{12 → 18}/node_file.h +74 -13
  121. package/src/headers/{13 → 18}/node_http2.h +365 -269
  122. package/src/headers/{12 → 18}/node_http2_state.h +40 -50
  123. package/src/headers/{13 → 18}/node_http_common-inl.h +25 -5
  124. package/src/headers/{13 → 18}/node_http_common.h +24 -20
  125. package/src/headers/{13 → 18}/node_i18n.h +2 -1
  126. package/src/headers/{12 → 18}/node_internals.h +39 -41
  127. package/src/headers/{12 → 18}/node_main_instance.h +15 -18
  128. package/src/headers/{12 → 18}/node_mem-inl.h +0 -0
  129. package/src/headers/{12 → 18}/node_mem.h +1 -1
  130. package/src/headers/{13 → 18}/node_messaging.h +170 -23
  131. package/src/headers/{12 → 18}/node_metadata.h +17 -4
  132. package/src/headers/{12 → 18}/node_mutex.h +77 -1
  133. package/src/headers/{12 → 18}/node_native_module.h +11 -1
  134. package/src/headers/{12 → 18}/node_native_module_env.h +14 -8
  135. package/src/headers/{12 → 18}/node_object_wrap.h +0 -0
  136. package/src/headers/{13 → 18}/node_options-inl.h +51 -21
  137. package/src/headers/{13 → 18}/node_options.h +46 -14
  138. package/src/headers/18/node_perf.h +168 -0
  139. package/src/headers/{12 → 18}/node_perf_common.h +16 -22
  140. package/src/headers/{12 → 18}/node_platform.h +21 -16
  141. package/src/headers/18/node_process-inl.h +26 -0
  142. package/src/headers/18/node_process.h +97 -0
  143. package/src/headers/{13 → 18}/node_report.h +2 -2
  144. package/src/headers/{13 → 18}/node_revert.h +10 -0
  145. package/src/headers/{12 → 18}/node_root_certs.h +439 -651
  146. package/src/headers/18/node_snapshot_builder.h +43 -0
  147. package/src/headers/18/node_snapshotable.h +130 -0
  148. package/src/headers/{12 → 18}/node_sockaddr-inl.h +100 -4
  149. package/src/headers/18/node_sockaddr.h +405 -0
  150. package/src/headers/{13 → 18}/node_stat_watcher.h +7 -1
  151. package/src/headers/{12 → 18}/node_union_bytes.h +0 -0
  152. package/src/headers/{13 → 18}/node_url.h +18 -1
  153. package/src/headers/18/node_v8.h +41 -0
  154. package/src/headers/{12 → 18}/node_v8_platform-inl.h +10 -0
  155. package/src/headers/{13 → 18}/node_version.h +7 -7
  156. package/src/headers/{12 → 18}/node_wasi.h +0 -0
  157. package/src/headers/18/node_wasm_web_api.h +55 -0
  158. package/src/headers/{13 → 18}/node_watchdog.h +0 -0
  159. package/src/headers/{10 → 18}/node_win32_etw_provider-inl.h +7 -6
  160. package/src/headers/{10 → 18}/node_win32_etw_provider.h +0 -0
  161. package/src/headers/{13 → 18}/node_worker.h +24 -17
  162. package/src/headers/{12 → 18}/pipe_wrap.h +2 -0
  163. package/src/headers/{12 → 18}/req_wrap-inl.h +0 -0
  164. package/src/headers/{13 → 18}/req_wrap.h +1 -1
  165. package/src/headers/{12 → 18}/spawn_sync.h +0 -0
  166. package/src/headers/{13 → 18}/stream_base-inl.h +58 -22
  167. package/src/headers/{13 → 18}/stream_base.h +29 -3
  168. package/src/headers/{13 → 18}/stream_pipe.h +8 -3
  169. package/src/headers/{12 → 18}/stream_wrap.h +4 -1
  170. package/src/headers/{13 → 18}/string_bytes.h +0 -7
  171. package/src/headers/{12 → 18}/string_decoder-inl.h +0 -0
  172. package/src/headers/{10 → 18}/string_decoder.h +0 -0
  173. package/src/headers/{13 → 18}/string_search.h +2 -2
  174. package/src/headers/{12 → 18}/tcp_wrap.h +4 -0
  175. package/src/headers/{12 → 18}/threadpoolwork-inl.h +0 -0
  176. package/src/headers/18/timer_wrap-inl.h +32 -0
  177. package/src/headers/18/timer_wrap.h +85 -0
  178. package/src/headers/{13 → 18}/tracing/agent.h +1 -1
  179. package/src/headers/{12 → 18}/tracing/node_trace_buffer.h +0 -0
  180. package/src/headers/{12 → 18}/tracing/node_trace_writer.h +0 -0
  181. package/src/headers/{13 → 18}/tracing/trace_event.h +23 -13
  182. package/src/headers/{12 → 18}/tracing/trace_event_common.h +0 -0
  183. package/src/headers/{12 → 18}/tracing/traced_value.h +0 -0
  184. package/src/headers/{13 → 18}/tty_wrap.h +2 -1
  185. package/src/headers/{13 → 18}/udp_wrap.h +5 -0
  186. package/src/headers/{13 → 18}/util-inl.h +69 -15
  187. package/src/headers/{13 → 18}/util.h +93 -31
  188. package/src/headers/18/v8-fast-api-calls.h +939 -0
  189. package/src/headers/{12 → 18}/v8abbr.h +2 -2
  190. package/dist/bindings/cws_darwin_64.node +0 -0
  191. package/dist/bindings/cws_darwin_72.node +0 -0
  192. package/dist/bindings/cws_darwin_79.node +0 -0
  193. package/dist/bindings/cws_darwin_83.node +0 -0
  194. package/dist/bindings/cws_darwin_93.node +0 -0
  195. package/dist/bindings/cws_linux_64.node +0 -0
  196. package/dist/bindings/cws_linux_72.node +0 -0
  197. package/dist/bindings/cws_linux_79.node +0 -0
  198. package/dist/bindings/cws_linux_83.node +0 -0
  199. package/dist/bindings/cws_linux_93.node +0 -0
  200. package/dist/bindings/cws_win32_64.node +0 -0
  201. package/dist/bindings/cws_win32_72.node +0 -0
  202. package/dist/bindings/cws_win32_79.node +0 -0
  203. package/dist/bindings/cws_win32_83.node +0 -0
  204. package/dist/bindings/cws_win32_93.node +0 -0
  205. package/src/headers/10/aliased_buffer.h +0 -241
  206. package/src/headers/10/async_wrap-inl.h +0 -106
  207. package/src/headers/10/async_wrap.h +0 -218
  208. package/src/headers/10/base64.h +0 -197
  209. package/src/headers/10/base_object-inl.h +0 -132
  210. package/src/headers/10/base_object.h +0 -115
  211. package/src/headers/10/connect_wrap.h +0 -28
  212. package/src/headers/10/connection_wrap.h +0 -30
  213. package/src/headers/10/debug_utils.h +0 -128
  214. package/src/headers/10/env-inl.h +0 -906
  215. package/src/headers/10/env.h +0 -1046
  216. package/src/headers/10/handle_wrap.h +0 -114
  217. package/src/headers/10/inspector_agent.h +0 -137
  218. package/src/headers/10/inspector_io.h +0 -97
  219. package/src/headers/10/inspector_socket.h +0 -59
  220. package/src/headers/10/inspector_socket_server.h +0 -104
  221. package/src/headers/10/js_stream.h +0 -57
  222. package/src/headers/10/memory_tracker-inl.h +0 -318
  223. package/src/headers/10/memory_tracker.h +0 -246
  224. package/src/headers/10/module_wrap.h +0 -100
  225. package/src/headers/10/node.h +0 -863
  226. package/src/headers/10/node_api.h +0 -752
  227. package/src/headers/10/node_api_types.h +0 -171
  228. package/src/headers/10/node_buffer.h +0 -90
  229. package/src/headers/10/node_code_cache.h +0 -17
  230. package/src/headers/10/node_constants.h +0 -74
  231. package/src/headers/10/node_context_data.h +0 -39
  232. package/src/headers/10/node_contextify.h +0 -141
  233. package/src/headers/10/node_counters.h +0 -59
  234. package/src/headers/10/node_crypto.h +0 -699
  235. package/src/headers/10/node_crypto_bio.h +0 -177
  236. package/src/headers/10/node_crypto_clienthello-inl.h +0 -92
  237. package/src/headers/10/node_crypto_clienthello.h +0 -131
  238. package/src/headers/10/node_crypto_groups.h +0 -416
  239. package/src/headers/10/node_dtrace.h +0 -84
  240. package/src/headers/10/node_errors.h +0 -118
  241. package/src/headers/10/node_file.h +0 -373
  242. package/src/headers/10/node_http2.h +0 -1304
  243. package/src/headers/10/node_http2_state.h +0 -158
  244. package/src/headers/10/node_i18n.h +0 -69
  245. package/src/headers/10/node_internals.h +0 -952
  246. package/src/headers/10/node_messaging.h +0 -219
  247. package/src/headers/10/node_mutex.h +0 -191
  248. package/src/headers/10/node_object_wrap.h +0 -130
  249. package/src/headers/10/node_options-inl.h +0 -444
  250. package/src/headers/10/node_options.h +0 -397
  251. package/src/headers/10/node_perf.h +0 -134
  252. package/src/headers/10/node_perf_common.h +0 -96
  253. package/src/headers/10/node_persistent.h +0 -30
  254. package/src/headers/10/node_platform.h +0 -170
  255. package/src/headers/10/node_revert.h +0 -75
  256. package/src/headers/10/node_root_certs.h +0 -3393
  257. package/src/headers/10/node_stat_watcher.h +0 -65
  258. package/src/headers/10/node_url.h +0 -193
  259. package/src/headers/10/node_version.h +0 -120
  260. package/src/headers/10/node_watchdog.h +0 -114
  261. package/src/headers/10/node_win32_perfctr_provider.h +0 -58
  262. package/src/headers/10/node_worker.h +0 -94
  263. package/src/headers/10/pipe_wrap.h +0 -76
  264. package/src/headers/10/req_wrap-inl.h +0 -166
  265. package/src/headers/10/req_wrap.h +0 -61
  266. package/src/headers/10/sharedarraybuffer_metadata.h +0 -67
  267. package/src/headers/10/spawn_sync.h +0 -240
  268. package/src/headers/10/stream_base-inl.h +0 -458
  269. package/src/headers/10/stream_base.h +0 -378
  270. package/src/headers/10/stream_pipe.h +0 -72
  271. package/src/headers/10/stream_wrap.h +0 -130
  272. package/src/headers/10/string_bytes.h +0 -126
  273. package/src/headers/10/string_decoder-inl.h +0 -38
  274. package/src/headers/10/string_search.h +0 -620
  275. package/src/headers/10/tcp_wrap.h +0 -99
  276. package/src/headers/10/tls_wrap.h +0 -195
  277. package/src/headers/10/tracing/agent.h +0 -178
  278. package/src/headers/10/tracing/node_trace_buffer.h +0 -83
  279. package/src/headers/10/tracing/node_trace_writer.h +0 -75
  280. package/src/headers/10/tracing/trace_event.h +0 -706
  281. package/src/headers/10/tracing/trace_event_common.h +0 -1102
  282. package/src/headers/10/tracing/traced_value.h +0 -68
  283. package/src/headers/10/tty_wrap.h +0 -63
  284. package/src/headers/10/udp_wrap.h +0 -102
  285. package/src/headers/10/util-inl.h +0 -459
  286. package/src/headers/10/util.h +0 -508
  287. package/src/headers/10/v8abbr.h +0 -121
  288. package/src/headers/12/aliased_buffer.h +0 -263
  289. package/src/headers/12/debug_utils.h +0 -181
  290. package/src/headers/12/histogram-inl.h +0 -83
  291. package/src/headers/12/histogram.h +0 -98
  292. package/src/headers/12/http_parser_adaptor.h +0 -24
  293. package/src/headers/12/inspector_agent.h +0 -147
  294. package/src/headers/12/inspector_profiler.h +0 -137
  295. package/src/headers/12/js_native_api.h +0 -541
  296. package/src/headers/12/js_native_api_types.h +0 -139
  297. package/src/headers/12/memory_tracker-inl.h +0 -339
  298. package/src/headers/12/memory_tracker.h +0 -283
  299. package/src/headers/12/module_wrap.h +0 -99
  300. package/src/headers/12/node.h +0 -887
  301. package/src/headers/12/node_api.h +0 -239
  302. package/src/headers/12/node_buffer.h +0 -92
  303. package/src/headers/12/node_constants.h +0 -80
  304. package/src/headers/12/node_crypto.h +0 -800
  305. package/src/headers/12/node_crypto_bio.h +0 -195
  306. package/src/headers/12/node_crypto_clienthello-inl.h +0 -91
  307. package/src/headers/12/node_crypto_clienthello.h +0 -132
  308. package/src/headers/12/node_file-inl.h +0 -289
  309. package/src/headers/12/node_http2.h +0 -1311
  310. package/src/headers/12/node_http_parser_impl.h +0 -994
  311. package/src/headers/12/node_i18n.h +0 -144
  312. package/src/headers/12/node_messaging.h +0 -227
  313. package/src/headers/12/node_options-inl.h +0 -447
  314. package/src/headers/12/node_options.h +0 -479
  315. package/src/headers/12/node_perf.h +0 -181
  316. package/src/headers/12/node_process.h +0 -41
  317. package/src/headers/12/node_report.h +0 -47
  318. package/src/headers/12/node_revert.h +0 -78
  319. package/src/headers/12/node_sockaddr.h +0 -123
  320. package/src/headers/12/node_stat_watcher.h +0 -66
  321. package/src/headers/12/node_url.h +0 -188
  322. package/src/headers/12/node_version.h +0 -98
  323. package/src/headers/12/node_watchdog.h +0 -152
  324. package/src/headers/12/node_win32_etw_provider-inl.h +0 -287
  325. package/src/headers/12/node_win32_etw_provider.h +0 -99
  326. package/src/headers/12/node_worker.h +0 -142
  327. package/src/headers/12/req_wrap.h +0 -77
  328. package/src/headers/12/sharedarraybuffer_metadata.h +0 -72
  329. package/src/headers/12/stream_base-inl.h +0 -323
  330. package/src/headers/12/stream_base.h +0 -431
  331. package/src/headers/12/stream_pipe.h +0 -72
  332. package/src/headers/12/string_bytes.h +0 -142
  333. package/src/headers/12/string_decoder.h +0 -50
  334. package/src/headers/12/string_search.h +0 -638
  335. package/src/headers/12/tracing/agent.h +0 -195
  336. package/src/headers/12/tracing/trace_event.h +0 -710
  337. package/src/headers/12/tty_wrap.h +0 -64
  338. package/src/headers/12/udp_wrap.h +0 -222
  339. package/src/headers/12/util-inl.h +0 -529
  340. package/src/headers/12/util.h +0 -765
  341. package/src/headers/13/async_wrap-inl.h +0 -94
  342. package/src/headers/13/async_wrap.h +0 -224
  343. package/src/headers/13/base64.h +0 -197
  344. package/src/headers/13/base_object-inl.h +0 -353
  345. package/src/headers/13/base_object.h +0 -229
  346. package/src/headers/13/connect_wrap.h +0 -26
  347. package/src/headers/13/connection_wrap.h +0 -30
  348. package/src/headers/13/debug_utils-inl.h +0 -223
  349. package/src/headers/13/diagnosticfilename-inl.h +0 -33
  350. package/src/headers/13/env-inl.h +0 -1293
  351. package/src/headers/13/env.h +0 -1469
  352. package/src/headers/13/handle_wrap.h +0 -117
  353. package/src/headers/13/histogram-inl.h +0 -83
  354. package/src/headers/13/histogram.h +0 -98
  355. package/src/headers/13/inspector_io.h +0 -78
  356. package/src/headers/13/inspector_socket.h +0 -60
  357. package/src/headers/13/inspector_socket_server.h +0 -110
  358. package/src/headers/13/js_native_api.h +0 -541
  359. package/src/headers/13/js_native_api_v8.h +0 -303
  360. package/src/headers/13/js_native_api_v8_internals.h +0 -38
  361. package/src/headers/13/js_stream.h +0 -52
  362. package/src/headers/13/json_utils.h +0 -160
  363. package/src/headers/13/node_api.h +0 -239
  364. package/src/headers/13/node_api_types.h +0 -44
  365. package/src/headers/13/node_binding.h +0 -99
  366. package/src/headers/13/node_context_data.h +0 -39
  367. package/src/headers/13/node_contextify.h +0 -161
  368. package/src/headers/13/node_crypto.h +0 -800
  369. package/src/headers/13/node_crypto_common.h +0 -138
  370. package/src/headers/13/node_crypto_groups.h +0 -415
  371. package/src/headers/13/node_dir.h +0 -52
  372. package/src/headers/13/node_dtrace.h +0 -86
  373. package/src/headers/13/node_errors.h +0 -210
  374. package/src/headers/13/node_file.h +0 -364
  375. package/src/headers/13/node_http2_state.h +0 -144
  376. package/src/headers/13/node_internals.h +0 -405
  377. package/src/headers/13/node_main_instance.h +0 -97
  378. package/src/headers/13/node_mem-inl.h +0 -112
  379. package/src/headers/13/node_mem.h +0 -41
  380. package/src/headers/13/node_metadata.h +0 -109
  381. package/src/headers/13/node_mutex.h +0 -247
  382. package/src/headers/13/node_native_module.h +0 -99
  383. package/src/headers/13/node_native_module_env.h +0 -65
  384. package/src/headers/13/node_object_wrap.h +0 -132
  385. package/src/headers/13/node_perf.h +0 -181
  386. package/src/headers/13/node_perf_common.h +0 -97
  387. package/src/headers/13/node_platform.h +0 -190
  388. package/src/headers/13/node_process.h +0 -41
  389. package/src/headers/13/node_root_certs.h +0 -3424
  390. package/src/headers/13/node_sockaddr-inl.h +0 -170
  391. package/src/headers/13/node_sockaddr.h +0 -123
  392. package/src/headers/13/node_union_bytes.h +0 -103
  393. package/src/headers/13/node_v8_platform-inl.h +0 -184
  394. package/src/headers/13/node_wasi.h +0 -108
  395. package/src/headers/13/node_win32_etw_provider-inl.h +0 -287
  396. package/src/headers/13/node_win32_etw_provider.h +0 -99
  397. package/src/headers/13/pipe_wrap.h +0 -78
  398. package/src/headers/13/req_wrap-inl.h +0 -170
  399. package/src/headers/13/spawn_sync.h +0 -242
  400. package/src/headers/13/stream_wrap.h +0 -130
  401. package/src/headers/13/string_decoder-inl.h +0 -37
  402. package/src/headers/13/string_decoder.h +0 -50
  403. package/src/headers/13/tcp_wrap.h +0 -101
  404. package/src/headers/13/threadpoolwork-inl.h +0 -57
  405. package/src/headers/13/tls_wrap.h +0 -221
  406. package/src/headers/13/tracing/node_trace_buffer.h +0 -83
  407. package/src/headers/13/tracing/node_trace_writer.h +0 -75
  408. package/src/headers/13/tracing/trace_event_common.h +0 -1109
  409. package/src/headers/13/tracing/traced_value.h +0 -70
  410. package/src/headers/13/v8abbr.h +0 -124
@@ -1,508 +0,0 @@
1
- // Copyright Joyent, Inc. and other Node contributors.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a
4
- // copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to permit
8
- // persons to whom the Software is furnished to do so, subject to the
9
- // following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be included
12
- // in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- #ifndef SRC_UTIL_H_
23
- #define SRC_UTIL_H_
24
-
25
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
26
-
27
- #include "node_persistent.h"
28
- #include "v8.h"
29
-
30
- #include <assert.h>
31
- #include <signal.h>
32
- #include <stddef.h>
33
- #include <stdio.h>
34
- #include <stdlib.h>
35
- #include <string.h>
36
-
37
- #include <functional> // std::function
38
- #include <set>
39
- #include <string>
40
- #include <array>
41
- #include <unordered_map>
42
-
43
- namespace node {
44
-
45
- // These should be used in our code as opposed to the native
46
- // versions as they abstract out some platform and or
47
- // compiler version specific functionality
48
- // malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
49
- // that the standard allows them to either return a unique pointer or a
50
- // nullptr for zero-sized allocation requests. Normalize by always using
51
- // a nullptr.
52
- template <typename T>
53
- inline T* UncheckedRealloc(T* pointer, size_t n);
54
- template <typename T>
55
- inline T* UncheckedMalloc(size_t n);
56
- template <typename T>
57
- inline T* UncheckedCalloc(size_t n);
58
-
59
- // Same things, but aborts immediately instead of returning nullptr when
60
- // no memory is available.
61
- template <typename T>
62
- inline T* Realloc(T* pointer, size_t n);
63
- template <typename T>
64
- inline T* Malloc(size_t n);
65
- template <typename T>
66
- inline T* Calloc(size_t n);
67
-
68
- inline char* Malloc(size_t n);
69
- inline char* Calloc(size_t n);
70
- inline char* UncheckedMalloc(size_t n);
71
- inline char* UncheckedCalloc(size_t n);
72
-
73
- template <typename T>
74
- inline T MultiplyWithOverflowCheck(T a, T b);
75
-
76
- // Used by the allocation functions when allocation fails.
77
- // Thin wrapper around v8::Isolate::LowMemoryNotification() that checks
78
- // whether V8 is initialized.
79
- void LowMemoryNotification();
80
-
81
- // The slightly odd function signature for Assert() is to ease
82
- // instruction cache pressure in calls from CHECK.
83
- [[noreturn]] void Abort();
84
- [[noreturn]] void Assert(const char* const (*args)[4]);
85
- void DumpBacktrace(FILE* fp);
86
-
87
- #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
88
- TypeName(const TypeName&) = delete; \
89
- TypeName& operator=(const TypeName&) = delete
90
-
91
- // Windows 8+ does not like abort() in Release mode
92
- #ifdef _WIN32
93
- #define ABORT_NO_BACKTRACE() _exit(134)
94
- #else
95
- #define ABORT_NO_BACKTRACE() abort()
96
- #endif
97
-
98
- #define ABORT() node::Abort()
99
-
100
- #ifdef __GNUC__
101
- #define LIKELY(expr) __builtin_expect(!!(expr), 1)
102
- #define UNLIKELY(expr) __builtin_expect(!!(expr), 0)
103
- #define PRETTY_FUNCTION_NAME __PRETTY_FUNCTION__
104
- #else
105
- #define LIKELY(expr) expr
106
- #define UNLIKELY(expr) expr
107
- #define PRETTY_FUNCTION_NAME ""
108
- #endif
109
-
110
- #define STRINGIFY_(x) #x
111
- #define STRINGIFY(x) STRINGIFY_(x)
112
-
113
- #define CHECK(expr) \
114
- do { \
115
- if (UNLIKELY(!(expr))) { \
116
- static const char* const args[] = { __FILE__, STRINGIFY(__LINE__), \
117
- #expr, PRETTY_FUNCTION_NAME }; \
118
- node::Assert(&args); \
119
- } \
120
- } while (0)
121
-
122
- #define CHECK_EQ(a, b) CHECK((a) == (b))
123
- #define CHECK_GE(a, b) CHECK((a) >= (b))
124
- #define CHECK_GT(a, b) CHECK((a) > (b))
125
- #define CHECK_LE(a, b) CHECK((a) <= (b))
126
- #define CHECK_LT(a, b) CHECK((a) < (b))
127
- #define CHECK_NE(a, b) CHECK((a) != (b))
128
- #define CHECK_NULL(val) CHECK((val) == nullptr)
129
- #define CHECK_NOT_NULL(val) CHECK((val) != nullptr)
130
- #define CHECK_IMPLIES(a, b) CHECK(!(a) || (b))
131
-
132
- #define UNREACHABLE() ABORT()
133
-
134
- // TAILQ-style intrusive list node.
135
- template <typename T>
136
- class ListNode;
137
-
138
- // TAILQ-style intrusive list head.
139
- template <typename T, ListNode<T> (T::*M)>
140
- class ListHead;
141
-
142
- template <typename T>
143
- class ListNode {
144
- public:
145
- inline ListNode();
146
- inline ~ListNode();
147
- inline void Remove();
148
- inline bool IsEmpty() const;
149
-
150
- private:
151
- template <typename U, ListNode<U> (U::*M)> friend class ListHead;
152
- friend int GenDebugSymbols();
153
- ListNode* prev_;
154
- ListNode* next_;
155
- DISALLOW_COPY_AND_ASSIGN(ListNode);
156
- };
157
-
158
- template <typename T, ListNode<T> (T::*M)>
159
- class ListHead {
160
- public:
161
- class Iterator {
162
- public:
163
- inline T* operator*() const;
164
- inline const Iterator& operator++();
165
- inline bool operator!=(const Iterator& that) const;
166
-
167
- private:
168
- friend class ListHead;
169
- inline explicit Iterator(ListNode<T>* node);
170
- ListNode<T>* node_;
171
- };
172
-
173
- inline ListHead() = default;
174
- inline ~ListHead();
175
- inline void PushBack(T* element);
176
- inline void PushFront(T* element);
177
- inline bool IsEmpty() const;
178
- inline T* PopFront();
179
- inline Iterator begin() const;
180
- inline Iterator end() const;
181
-
182
- private:
183
- friend int GenDebugSymbols();
184
- ListNode<T> head_;
185
- DISALLOW_COPY_AND_ASSIGN(ListHead);
186
- };
187
-
188
- // The helper is for doing safe downcasts from base types to derived types.
189
- template <typename Inner, typename Outer>
190
- class ContainerOfHelper {
191
- public:
192
- inline ContainerOfHelper(Inner Outer::*field, Inner* pointer);
193
- template <typename TypeName>
194
- inline operator TypeName*() const;
195
- private:
196
- Outer* const pointer_;
197
- };
198
-
199
- // Calculate the address of the outer (i.e. embedding) struct from
200
- // the interior pointer to a data member.
201
- template <typename Inner, typename Outer>
202
- inline ContainerOfHelper<Inner, Outer> ContainerOf(Inner Outer::*field,
203
- Inner* pointer);
204
-
205
- // If persistent.IsWeak() == false, then do not call persistent.Reset()
206
- // while the returned Local<T> is still in scope, it will destroy the
207
- // reference to the object.
208
- template <class TypeName>
209
- inline v8::Local<TypeName> PersistentToLocal(
210
- v8::Isolate* isolate,
211
- const Persistent<TypeName>& persistent);
212
-
213
- // Unchecked conversion from a non-weak Persistent<T> to Local<T>,
214
- // use with care!
215
- //
216
- // Do not call persistent.Reset() while the returned Local<T> is still in
217
- // scope, it will destroy the reference to the object.
218
- template <class TypeName>
219
- inline v8::Local<TypeName> StrongPersistentToLocal(
220
- const Persistent<TypeName>& persistent);
221
-
222
- template <class TypeName>
223
- inline v8::Local<TypeName> WeakPersistentToLocal(
224
- v8::Isolate* isolate,
225
- const Persistent<TypeName>& persistent);
226
-
227
- // Convenience wrapper around v8::String::NewFromOneByte().
228
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
229
- const char* data,
230
- int length = -1);
231
-
232
- // For the people that compile with -funsigned-char.
233
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
234
- const signed char* data,
235
- int length = -1);
236
-
237
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
238
- const unsigned char* data,
239
- int length = -1);
240
-
241
- // Used to be a macro, hence the uppercase name.
242
- template <int N>
243
- inline v8::Local<v8::String> FIXED_ONE_BYTE_STRING(
244
- v8::Isolate* isolate,
245
- const char(&data)[N]) {
246
- return OneByteString(isolate, data, N - 1);
247
- }
248
-
249
- template <std::size_t N>
250
- inline v8::Local<v8::String> FIXED_ONE_BYTE_STRING(
251
- v8::Isolate* isolate,
252
- const std::array<char, N>& arr) {
253
- return OneByteString(isolate, arr.data(), N - 1);
254
- }
255
-
256
-
257
-
258
- // Swaps bytes in place. nbytes is the number of bytes to swap and must be a
259
- // multiple of the word size (checked by function).
260
- inline void SwapBytes16(char* data, size_t nbytes);
261
- inline void SwapBytes32(char* data, size_t nbytes);
262
- inline void SwapBytes64(char* data, size_t nbytes);
263
-
264
- // tolower() is locale-sensitive. Use ToLower() instead.
265
- inline char ToLower(char c);
266
- inline std::string ToLower(const std::string& in);
267
-
268
- // strcasecmp() is locale-sensitive. Use StringEqualNoCase() instead.
269
- inline bool StringEqualNoCase(const char* a, const char* b);
270
-
271
- // strncasecmp() is locale-sensitive. Use StringEqualNoCaseN() instead.
272
- inline bool StringEqualNoCaseN(const char* a, const char* b, size_t length);
273
-
274
- // Allocates an array of member type T. For up to kStackStorageSize items,
275
- // the stack is used, otherwise malloc().
276
- template <typename T, size_t kStackStorageSize = 1024>
277
- class MaybeStackBuffer {
278
- public:
279
- const T* out() const {
280
- return buf_;
281
- }
282
-
283
- T* out() {
284
- return buf_;
285
- }
286
-
287
- // operator* for compatibility with `v8::String::(Utf8)Value`
288
- T* operator*() {
289
- return buf_;
290
- }
291
-
292
- const T* operator*() const {
293
- return buf_;
294
- }
295
-
296
- T& operator[](size_t index) {
297
- CHECK_LT(index, length());
298
- return buf_[index];
299
- }
300
-
301
- const T& operator[](size_t index) const {
302
- CHECK_LT(index, length());
303
- return buf_[index];
304
- }
305
-
306
- size_t length() const {
307
- return length_;
308
- }
309
-
310
- // Current maximum capacity of the buffer with which SetLength() can be used
311
- // without first calling AllocateSufficientStorage().
312
- size_t capacity() const {
313
- return IsAllocated() ? capacity_ :
314
- IsInvalidated() ? 0 : kStackStorageSize;
315
- }
316
-
317
- // Make sure enough space for `storage` entries is available.
318
- // This method can be called multiple times throughout the lifetime of the
319
- // buffer, but once this has been called Invalidate() cannot be used.
320
- // Content of the buffer in the range [0, length()) is preserved.
321
- void AllocateSufficientStorage(size_t storage) {
322
- CHECK(!IsInvalidated());
323
- if (storage > capacity()) {
324
- bool was_allocated = IsAllocated();
325
- T* allocated_ptr = was_allocated ? buf_ : nullptr;
326
- buf_ = Realloc(allocated_ptr, storage);
327
- capacity_ = storage;
328
- if (!was_allocated && length_ > 0)
329
- memcpy(buf_, buf_st_, length_ * sizeof(buf_[0]));
330
- }
331
-
332
- length_ = storage;
333
- }
334
-
335
- void SetLength(size_t length) {
336
- // capacity() returns how much memory is actually available.
337
- CHECK_LE(length, capacity());
338
- length_ = length;
339
- }
340
-
341
- void SetLengthAndZeroTerminate(size_t length) {
342
- // capacity() returns how much memory is actually available.
343
- CHECK_LE(length + 1, capacity());
344
- SetLength(length);
345
-
346
- // T() is 0 for integer types, nullptr for pointers, etc.
347
- buf_[length] = T();
348
- }
349
-
350
- // Make derefencing this object return nullptr.
351
- // This method can be called multiple times throughout the lifetime of the
352
- // buffer, but once this has been called AllocateSufficientStorage() cannot
353
- // be used.
354
- void Invalidate() {
355
- CHECK(!IsAllocated());
356
- length_ = 0;
357
- buf_ = nullptr;
358
- }
359
-
360
- // If the buffer is stored in the heap rather than on the stack.
361
- bool IsAllocated() const {
362
- return !IsInvalidated() && buf_ != buf_st_;
363
- }
364
-
365
- // If Invalidate() has been called.
366
- bool IsInvalidated() const {
367
- return buf_ == nullptr;
368
- }
369
-
370
- // Release ownership of the malloc'd buffer.
371
- // Note: This does not free the buffer.
372
- void Release() {
373
- CHECK(IsAllocated());
374
- buf_ = buf_st_;
375
- length_ = 0;
376
- capacity_ = 0;
377
- }
378
-
379
- MaybeStackBuffer() : length_(0), capacity_(0), buf_(buf_st_) {
380
- // Default to a zero-length, null-terminated buffer.
381
- buf_[0] = T();
382
- }
383
-
384
- explicit MaybeStackBuffer(size_t storage) : MaybeStackBuffer() {
385
- AllocateSufficientStorage(storage);
386
- }
387
-
388
- ~MaybeStackBuffer() {
389
- if (IsAllocated())
390
- free(buf_);
391
- }
392
-
393
- private:
394
- size_t length_;
395
- // capacity of the malloc'ed buf_
396
- size_t capacity_;
397
- T* buf_;
398
- T buf_st_[kStackStorageSize];
399
- };
400
-
401
- class Utf8Value : public MaybeStackBuffer<char> {
402
- public:
403
- explicit Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> value);
404
- };
405
-
406
- class TwoByteValue : public MaybeStackBuffer<uint16_t> {
407
- public:
408
- explicit TwoByteValue(v8::Isolate* isolate, v8::Local<v8::Value> value);
409
- };
410
-
411
- class BufferValue : public MaybeStackBuffer<char> {
412
- public:
413
- explicit BufferValue(v8::Isolate* isolate, v8::Local<v8::Value> value);
414
- };
415
-
416
- #define SPREAD_BUFFER_ARG(val, name) \
417
- CHECK((val)->IsArrayBufferView()); \
418
- v8::Local<v8::ArrayBufferView> name = (val).As<v8::ArrayBufferView>(); \
419
- v8::ArrayBuffer::Contents name##_c = name->Buffer()->GetContents(); \
420
- const size_t name##_offset = name->ByteOffset(); \
421
- const size_t name##_length = name->ByteLength(); \
422
- char* const name##_data = \
423
- static_cast<char*>(name##_c.Data()) + name##_offset; \
424
- if (name##_length > 0) \
425
- CHECK_NE(name##_data, nullptr);
426
-
427
- // Use this when a variable or parameter is unused in order to explicitly
428
- // silence a compiler warning about that.
429
- template <typename T> inline void USE(T&&) {}
430
-
431
- // Run a function when exiting the current scope.
432
- struct OnScopeLeave {
433
- std::function<void()> fn_;
434
-
435
- explicit OnScopeLeave(std::function<void()> fn) : fn_(fn) {}
436
- ~OnScopeLeave() { fn_(); }
437
- };
438
-
439
- // Simple RAII wrapper for contiguous data that uses malloc()/free().
440
- template <typename T>
441
- struct MallocedBuffer {
442
- T* data;
443
- size_t size;
444
-
445
- T* release() {
446
- T* ret = data;
447
- data = nullptr;
448
- return ret;
449
- }
450
-
451
- void Truncate(size_t new_size) {
452
- CHECK(new_size <= size);
453
- size = new_size;
454
- }
455
-
456
- inline bool is_empty() const { return data == nullptr; }
457
-
458
- MallocedBuffer() : data(nullptr), size(0) {}
459
- explicit MallocedBuffer(size_t size) : data(Malloc<T>(size)), size(size) {}
460
- MallocedBuffer(T* data, size_t size) : data(data), size(size) {}
461
- MallocedBuffer(MallocedBuffer&& other) : data(other.data), size(other.size) {
462
- other.data = nullptr;
463
- }
464
- MallocedBuffer& operator=(MallocedBuffer&& other) {
465
- this->~MallocedBuffer();
466
- return *new(this) MallocedBuffer(std::move(other));
467
- }
468
- ~MallocedBuffer() {
469
- free(data);
470
- }
471
- MallocedBuffer(const MallocedBuffer&) = delete;
472
- MallocedBuffer& operator=(const MallocedBuffer&) = delete;
473
- };
474
-
475
- // Test whether some value can be called with ().
476
- template <typename T, typename = void>
477
- struct is_callable : std::is_function<T> { };
478
-
479
- template <typename T>
480
- struct is_callable<T, typename std::enable_if<
481
- std::is_same<decltype(void(&T::operator())), void>::value
482
- >::type> : std::true_type { };
483
-
484
- template <typename T, void (*function)(T*)>
485
- struct FunctionDeleter {
486
- void operator()(T* pointer) const { function(pointer); }
487
- typedef std::unique_ptr<T, FunctionDeleter> Pointer;
488
- };
489
-
490
- template <typename T, void (*function)(T*)>
491
- using DeleteFnPtr = typename FunctionDeleter<T, function>::Pointer;
492
-
493
- std::set<std::string> ParseCommaSeparatedSet(const std::string& in);
494
-
495
- inline v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
496
- const std::string& str);
497
- template <typename T>
498
- inline v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
499
- const std::vector<T>& vec);
500
- template <typename T, typename U>
501
- inline v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
502
- const std::unordered_map<T, U>& map);
503
-
504
- } // namespace node
505
-
506
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
507
-
508
- #endif // SRC_UTIL_H_
@@ -1,121 +0,0 @@
1
- /** Copyright Joyent, Inc. and other Node contributors.
2
- *
3
- * Permission is hereby granted, free of charge, to any person obtaining a
4
- * copy of this software and associated documentation files (the
5
- * "Software"), to deal in the Software without restriction, including
6
- * without limitation the rights to use, copy, modify, merge, publish,
7
- * distribute, sublicense, and/or sell copies of the Software, and to permit
8
- * persons to whom the Software is furnished to do so, subject to the
9
- * following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included
12
- * in all copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
21
- */
22
-
23
- /*
24
- * This header defines short names for V8 constants for use by the ustack
25
- * helper.
26
- */
27
-
28
- #ifndef SRC_V8ABBR_H_
29
- #define SRC_V8ABBR_H_
30
-
31
- /* Frame pointer offsets */
32
- #define V8_OFF_FP_FUNC V8DBG_OFF_FP_FUNCTION
33
- #define V8_OFF_FP_CONTEXT V8DBG_OFF_FP_CONTEXT
34
- #define V8_OFF_FP_MARKER V8DBG_OFF_FP_MARKER
35
-
36
- /* Stack frame types */
37
- #define V8_FT_ENTRY V8DBG_FRAMETYPE_ENTRYFRAME
38
- #define V8_FT_ENTRYCONSTRUCT V8DBG_FRAMETYPE_CONSTRUCTENTRYFRAME
39
- #define V8_FT_EXIT V8DBG_FRAMETYPE_EXITFRAME
40
- #define V8_FT_JAVASCRIPT V8DBG_FRAMETYPE_JAVASCRIPTFRAME
41
- #define V8_FT_OPTIMIZED V8DBG_FRAMETYPE_OPTIMIZEDFRAME
42
- #define V8_FT_INTERNAL V8DBG_FRAMETYPE_INTERNALFRAME
43
- #define V8_FT_CONSTRUCT V8DBG_FRAMETYPE_CONSTRUCTFRAME
44
- #define V8_FT_ADAPTOR V8DBG_FRAMETYPE_ARGUMENTSADAPTORFRAME
45
- #define V8_FT_STUB V8DBG_FRAMETYPE_STUBFRAME
46
-
47
- /* Identification masks and tags */
48
- #define V8_SmiTagMask (V8DBG_SMITAGMASK)
49
- #define V8_SmiTag (V8DBG_SMITAG)
50
- #define V8_SmiValueShift (V8DBG_SMISHIFTSIZE + V8DBG_SMITAGMASK)
51
-
52
- #define V8_HeapObjectTagMask V8DBG_HEAPOBJECTTAGMASK
53
- #define V8_HeapObjectTag V8DBG_HEAPOBJECTTAG
54
-
55
- #define V8_IsNotStringMask V8DBG_ISNOTSTRINGMASK
56
- #define V8_StringTag V8DBG_STRINGTAG
57
-
58
- #define V8_StringEncodingMask V8DBG_STRINGENCODINGMASK
59
- #define V8_AsciiStringTag V8DBG_ONEBYTESTRINGTAG
60
-
61
- #define V8_StringRepresentationMask V8DBG_STRINGREPRESENTATIONMASK
62
- #define V8_SeqStringTag V8DBG_SEQSTRINGTAG
63
- #define V8_ConsStringTag V8DBG_CONSSTRINGTAG
64
- #define V8_ExternalStringTag V8DBG_EXTERNALSTRINGTAG
65
-
66
- /* Instance types */
67
- #define V8_IT_FIXEDARRAY V8DBG_TYPE_FIXEDARRAY__FIXED_ARRAY_TYPE
68
- #define V8_IT_CODE V8DBG_TYPE_CODE__CODE_TYPE
69
- #define V8_IT_SCRIPT V8DBG_TYPE_SCRIPT__SCRIPT_TYPE
70
-
71
- /* Node-specific offsets */
72
- #define NODE_OFF_EXTSTR_DATA sizeof(void*)
73
-
74
- /*
75
- * Not all versions of V8 have the offset for the "chars" array in the
76
- * SeqTwoByteString class, but it's the same as the one for SeqOneByteString.
77
- */
78
- #ifndef V8DBG_CLASS_SEQTWOBYTESTRING__CHARS__CHAR
79
- #define V8DBG_CLASS_SEQTWOBYTESTRING__CHARS__CHAR \
80
- V8DBG_CLASS_SEQONEBYTESTRING__CHARS__CHAR
81
- #endif
82
-
83
- /* Heap class->field offsets */
84
- #define V8_OFF_HEAP(off) ((off) - 1)
85
-
86
- #define V8_OFF_FUNC_SHARED \
87
- V8_OFF_HEAP(V8DBG_CLASS_JSFUNCTION__SHARED__SHAREDFUNCTIONINFO)
88
- #define V8_OFF_RAW_NAME \
89
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__NAME_OR_SCOPE_INFO__OBJECT)
90
- #define V8_OFF_SHARED_IDENT \
91
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__FUNCTION_IDENTIFIER__OBJECT)
92
- #define V8_OFF_SHARED_SCRIPT \
93
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__SCRIPT__OBJECT)
94
- #define V8_OFF_SHARED_FUNIDENT \
95
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__FUNCTION_IDENTIFIER__OBJECT)
96
- #define V8_OFF_SCRIPT_NAME \
97
- V8_OFF_HEAP(V8DBG_CLASS_SCRIPT__NAME__OBJECT)
98
- #define V8_OFF_SCRIPT_LENDS \
99
- V8_OFF_HEAP(V8DBG_CLASS_SCRIPT__LINE_ENDS__OBJECT)
100
- #define V8_OFF_STR_LENGTH \
101
- V8_OFF_HEAP(V8DBG_CLASS_STRING__LENGTH__SMI)
102
- #define V8_OFF_STR_CHARS \
103
- V8_OFF_HEAP(V8DBG_CLASS_SEQONEBYTESTRING__CHARS__CHAR)
104
- #define V8_OFF_CONSSTR_CAR \
105
- V8_OFF_HEAP(V8DBG_CLASS_CONSSTRING__FIRST__STRING)
106
- #define V8_OFF_CONSSTR_CDR \
107
- V8_OFF_HEAP(V8DBG_CLASS_CONSSTRING__SECOND__STRING)
108
- #define V8_OFF_EXTSTR_RSRC \
109
- V8_OFF_HEAP(V8DBG_CLASS_EXTERNALSTRING__RESOURCE__OBJECT)
110
- #define V8_OFF_FA_SIZE \
111
- V8_OFF_HEAP(V8DBG_CLASS_FIXEDARRAYBASE__LENGTH__SMI)
112
- #define V8_OFF_FA_DATA \
113
- V8_OFF_HEAP(V8DBG_CLASS_FIXEDARRAY__DATA__UINTPTR_T)
114
- #define V8_OFF_HEAPOBJ_MAP \
115
- V8_OFF_HEAP(V8DBG_CLASS_HEAPOBJECT__MAP__MAP)
116
- #define V8_OFF_MAP_ATTRS \
117
- V8_OFF_HEAP(V8DBG_CLASS_MAP__INSTANCE_TYPE__UINT16_T)
118
- #define V8_OFF_TWOBYTESTR_CHARS \
119
- V8_OFF_HEAP(V8DBG_CLASS_SEQTWOBYTESTRING__CHARS__CHAR)
120
-
121
- #endif /* SRC_V8ABBR_H_ */