@scriptc/runtime 0.0.0 → 0.0.2

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 (416) hide show
  1. package/LICENSE +202 -0
  2. package/package.json +16 -6
  3. package/src/scr_array.c +488 -0
  4. package/src/scr_assert.c +1393 -0
  5. package/src/scr_async.c +2593 -0
  6. package/src/scr_async_dyn.c +607 -0
  7. package/src/scr_bytes.c +1425 -0
  8. package/src/scr_bytes_io.c +161 -0
  9. package/src/scr_child.c +3587 -0
  10. package/src/scr_closure.c +214 -0
  11. package/src/scr_console.c +143 -0
  12. package/src/scr_cycle.c +218 -0
  13. package/src/scr_dc.c +805 -0
  14. package/src/scr_dgram.c +1007 -0
  15. package/src/scr_dyn_handle.c +154 -0
  16. package/src/scr_dyn_invoke.c +644 -0
  17. package/src/scr_error.c +332 -0
  18. package/src/scr_events.c +714 -0
  19. package/src/scr_events_emitter.c +699 -0
  20. package/src/scr_exception.c +242 -0
  21. package/src/scr_fetch.c +1130 -0
  22. package/src/scr_fetch_curl.c +654 -0
  23. package/src/scr_http.c +3482 -0
  24. package/src/scr_http2.c +3030 -0
  25. package/src/scr_inspect.c +803 -0
  26. package/src/scr_inspect_island.c +51 -0
  27. package/src/scr_island.c +9363 -0
  28. package/src/scr_json.c +2151 -0
  29. package/src/scr_lib.c +3612 -0
  30. package/src/scr_loop_epoll.c +241 -0
  31. package/src/scr_loop_kqueue.c +121 -0
  32. package/src/scr_loop_wsapoll.c +208 -0
  33. package/src/scr_map.c +591 -0
  34. package/src/scr_net.c +3017 -0
  35. package/src/scr_net_island.c +458 -0
  36. package/src/scr_number.c +115 -0
  37. package/src/scr_object.c +25 -0
  38. package/src/scr_path.c +1266 -0
  39. package/src/scr_platform.h +119 -0
  40. package/src/scr_readline.c +287 -0
  41. package/src/scr_regex.c +1080 -0
  42. package/src/scr_runtime.h +5046 -0
  43. package/src/scr_stream.c +2877 -0
  44. package/src/scr_string.c +1264 -0
  45. package/src/scr_symbol.c +132 -0
  46. package/src/scr_test.c +662 -0
  47. package/src/scr_tls.c +1520 -0
  48. package/src/scr_union.c +105 -0
  49. package/src/scr_url.c +911 -0
  50. package/src/scr_url_internal.h +29 -0
  51. package/src/scr_url_params.c +561 -0
  52. package/src/scr_watch.c +568 -0
  53. package/src/scr_web.c +1778 -0
  54. package/src/scr_win.c +76 -0
  55. package/src/scr_zlib.c +197 -0
  56. package/src/scr_zlib_island.c +15 -0
  57. package/vendor/README.md +52 -0
  58. package/vendor/curl/COPYRIGHT +534 -0
  59. package/vendor/curl/include/curl/curl.h +3214 -0
  60. package/vendor/curl/include/curl/curlver.h +79 -0
  61. package/vendor/curl/include/curl/easy.h +125 -0
  62. package/vendor/curl/include/curl/header.h +74 -0
  63. package/vendor/curl/include/curl/mprintf.h +52 -0
  64. package/vendor/curl/include/curl/multi.h +460 -0
  65. package/vendor/curl/include/curl/options.h +70 -0
  66. package/vendor/curl/include/curl/stdcheaders.h +35 -0
  67. package/vendor/curl/include/curl/system.h +508 -0
  68. package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
  69. package/vendor/curl/include/curl/urlapi.h +149 -0
  70. package/vendor/curl/include/curl/websockets.h +84 -0
  71. package/vendor/mbedtls/LICENSE +553 -0
  72. package/vendor/mbedtls/include/CMakeLists.txt +22 -0
  73. package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
  74. package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
  75. package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
  76. package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
  77. package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
  78. package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
  79. package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
  80. package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
  81. package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
  82. package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
  83. package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
  84. package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
  85. package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
  86. package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
  87. package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
  88. package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  89. package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
  90. package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
  91. package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
  92. package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
  93. package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
  94. package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
  95. package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
  96. package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
  97. package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
  98. package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
  99. package/vendor/mbedtls/include/mbedtls/des.h +385 -0
  100. package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
  101. package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
  102. package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
  103. package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
  104. package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
  105. package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
  106. package/vendor/mbedtls/include/mbedtls/error.h +201 -0
  107. package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
  108. package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
  109. package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  110. package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
  111. package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
  112. package/vendor/mbedtls/include/mbedtls/md.h +526 -0
  113. package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
  114. package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  115. package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
  116. package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
  117. package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
  118. package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
  119. package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
  120. package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
  121. package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
  122. package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
  123. package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
  124. package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
  125. package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
  126. package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
  127. package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
  128. package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
  129. package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
  130. package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
  131. package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
  132. package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
  133. package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
  134. package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
  135. package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
  136. package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  137. package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
  138. package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  139. package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
  140. package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
  141. package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
  142. package/vendor/mbedtls/include/mbedtls/version.h +78 -0
  143. package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
  144. package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
  145. package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
  146. package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
  147. package/vendor/mbedtls/include/psa/build_info.h +20 -0
  148. package/vendor/mbedtls/include/psa/crypto.h +4998 -0
  149. package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
  150. package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
  151. package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
  152. package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
  153. package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
  154. package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  155. package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  156. package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
  157. package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
  158. package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
  159. package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  160. package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  161. package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  162. package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
  163. package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
  164. package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
  165. package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  166. package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
  167. package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
  168. package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
  169. package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
  170. package/vendor/mbedtls/library/aes.c +2294 -0
  171. package/vendor/mbedtls/library/aesce.c +624 -0
  172. package/vendor/mbedtls/library/aesce.h +136 -0
  173. package/vendor/mbedtls/library/aesni.c +846 -0
  174. package/vendor/mbedtls/library/aesni.h +162 -0
  175. package/vendor/mbedtls/library/alignment.h +704 -0
  176. package/vendor/mbedtls/library/aria.c +969 -0
  177. package/vendor/mbedtls/library/asn1parse.c +468 -0
  178. package/vendor/mbedtls/library/asn1write.c +440 -0
  179. package/vendor/mbedtls/library/base64.c +322 -0
  180. package/vendor/mbedtls/library/base64_internal.h +45 -0
  181. package/vendor/mbedtls/library/bignum.c +2583 -0
  182. package/vendor/mbedtls/library/bignum_core.c +1240 -0
  183. package/vendor/mbedtls/library/bignum_core.h +872 -0
  184. package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
  185. package/vendor/mbedtls/library/bignum_internal.h +122 -0
  186. package/vendor/mbedtls/library/bignum_mod.c +394 -0
  187. package/vendor/mbedtls/library/bignum_mod.h +452 -0
  188. package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
  189. package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
  190. package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  191. package/vendor/mbedtls/library/block_cipher.c +207 -0
  192. package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
  193. package/vendor/mbedtls/library/bn_mul.h +1094 -0
  194. package/vendor/mbedtls/library/camellia.c +1058 -0
  195. package/vendor/mbedtls/library/ccm.c +777 -0
  196. package/vendor/mbedtls/library/chacha20.c +563 -0
  197. package/vendor/mbedtls/library/chacha20_internal.h +23 -0
  198. package/vendor/mbedtls/library/chachapoly.c +487 -0
  199. package/vendor/mbedtls/library/check_crypto_config.h +136 -0
  200. package/vendor/mbedtls/library/cipher.c +1712 -0
  201. package/vendor/mbedtls/library/cipher_invasive.h +28 -0
  202. package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
  203. package/vendor/mbedtls/library/cipher_wrap.h +178 -0
  204. package/vendor/mbedtls/library/cmac.c +1067 -0
  205. package/vendor/mbedtls/library/common.h +487 -0
  206. package/vendor/mbedtls/library/constant_time.c +247 -0
  207. package/vendor/mbedtls/library/constant_time_impl.h +541 -0
  208. package/vendor/mbedtls/library/constant_time_internal.h +579 -0
  209. package/vendor/mbedtls/library/ctr.h +35 -0
  210. package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
  211. package/vendor/mbedtls/library/debug.c +475 -0
  212. package/vendor/mbedtls/library/debug_internal.h +185 -0
  213. package/vendor/mbedtls/library/des.c +1042 -0
  214. package/vendor/mbedtls/library/dhm.c +700 -0
  215. package/vendor/mbedtls/library/ecdh.c +696 -0
  216. package/vendor/mbedtls/library/ecdsa.c +858 -0
  217. package/vendor/mbedtls/library/ecjpake.c +1216 -0
  218. package/vendor/mbedtls/library/ecp.c +3674 -0
  219. package/vendor/mbedtls/library/ecp_curves.c +6125 -0
  220. package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
  221. package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
  222. package/vendor/mbedtls/library/ecp_invasive.h +305 -0
  223. package/vendor/mbedtls/library/entropy.c +680 -0
  224. package/vendor/mbedtls/library/entropy_poll.c +233 -0
  225. package/vendor/mbedtls/library/entropy_poll.h +64 -0
  226. package/vendor/mbedtls/library/error.c +878 -0
  227. package/vendor/mbedtls/library/gcm.c +1330 -0
  228. package/vendor/mbedtls/library/hkdf.c +161 -0
  229. package/vendor/mbedtls/library/hmac_drbg.c +633 -0
  230. package/vendor/mbedtls/library/lmots.c +789 -0
  231. package/vendor/mbedtls/library/lmots.h +288 -0
  232. package/vendor/mbedtls/library/lms.c +778 -0
  233. package/vendor/mbedtls/library/md.c +1108 -0
  234. package/vendor/mbedtls/library/md5.c +426 -0
  235. package/vendor/mbedtls/library/md_psa.h +26 -0
  236. package/vendor/mbedtls/library/md_wrap.h +46 -0
  237. package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
  238. package/vendor/mbedtls/library/mps_common.h +181 -0
  239. package/vendor/mbedtls/library/mps_error.h +89 -0
  240. package/vendor/mbedtls/library/mps_reader.c +538 -0
  241. package/vendor/mbedtls/library/mps_reader.h +366 -0
  242. package/vendor/mbedtls/library/mps_trace.c +112 -0
  243. package/vendor/mbedtls/library/mps_trace.h +154 -0
  244. package/vendor/mbedtls/library/net_sockets.c +694 -0
  245. package/vendor/mbedtls/library/nist_kw.c +729 -0
  246. package/vendor/mbedtls/library/oid.c +1166 -0
  247. package/vendor/mbedtls/library/padlock.c +157 -0
  248. package/vendor/mbedtls/library/padlock.h +111 -0
  249. package/vendor/mbedtls/library/pem.c +554 -0
  250. package/vendor/mbedtls/library/pk.c +1602 -0
  251. package/vendor/mbedtls/library/pk_ecc.c +261 -0
  252. package/vendor/mbedtls/library/pk_internal.h +241 -0
  253. package/vendor/mbedtls/library/pk_wrap.c +1618 -0
  254. package/vendor/mbedtls/library/pk_wrap.h +138 -0
  255. package/vendor/mbedtls/library/pkcs12.c +437 -0
  256. package/vendor/mbedtls/library/pkcs5.c +500 -0
  257. package/vendor/mbedtls/library/pkcs7.c +787 -0
  258. package/vendor/mbedtls/library/pkparse.c +1392 -0
  259. package/vendor/mbedtls/library/pkwrite.c +631 -0
  260. package/vendor/mbedtls/library/pkwrite.h +121 -0
  261. package/vendor/mbedtls/library/platform.c +402 -0
  262. package/vendor/mbedtls/library/platform_util.c +258 -0
  263. package/vendor/mbedtls/library/poly1305.c +492 -0
  264. package/vendor/mbedtls/library/psa_crypto.c +9532 -0
  265. package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
  266. package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
  267. package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
  268. package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
  269. package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
  270. package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
  271. package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
  272. package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
  273. package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  274. package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  275. package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
  276. package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
  277. package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
  278. package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
  279. package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
  280. package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
  281. package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
  282. package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
  283. package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
  284. package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
  285. package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
  286. package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
  287. package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
  288. package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
  289. package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
  290. package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
  291. package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
  292. package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
  293. package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
  294. package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
  295. package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
  296. package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
  297. package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
  298. package/vendor/mbedtls/library/psa_its_file.c +254 -0
  299. package/vendor/mbedtls/library/psa_util.c +614 -0
  300. package/vendor/mbedtls/library/psa_util_internal.h +100 -0
  301. package/vendor/mbedtls/library/ripemd160.c +490 -0
  302. package/vendor/mbedtls/library/rsa.c +3121 -0
  303. package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
  304. package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
  305. package/vendor/mbedtls/library/rsa_internal.h +188 -0
  306. package/vendor/mbedtls/library/sha1.c +480 -0
  307. package/vendor/mbedtls/library/sha256.c +983 -0
  308. package/vendor/mbedtls/library/sha3.c +721 -0
  309. package/vendor/mbedtls/library/sha512.c +1115 -0
  310. package/vendor/mbedtls/library/ssl_cache.c +410 -0
  311. package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
  312. package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
  313. package/vendor/mbedtls/library/ssl_client.c +1023 -0
  314. package/vendor/mbedtls/library/ssl_client.h +22 -0
  315. package/vendor/mbedtls/library/ssl_cookie.c +384 -0
  316. package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
  317. package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
  318. package/vendor/mbedtls/library/ssl_misc.h +3198 -0
  319. package/vendor/mbedtls/library/ssl_msg.c +6619 -0
  320. package/vendor/mbedtls/library/ssl_ticket.c +556 -0
  321. package/vendor/mbedtls/library/ssl_tls.c +10234 -0
  322. package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
  323. package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
  324. package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
  325. package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
  326. package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
  327. package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
  328. package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
  329. package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
  330. package/vendor/mbedtls/library/threading.c +193 -0
  331. package/vendor/mbedtls/library/threading_internal.h +28 -0
  332. package/vendor/mbedtls/library/timing.c +152 -0
  333. package/vendor/mbedtls/library/version.c +32 -0
  334. package/vendor/mbedtls/library/version_features.c +856 -0
  335. package/vendor/mbedtls/library/x509.c +1776 -0
  336. package/vendor/mbedtls/library/x509_create.c +570 -0
  337. package/vendor/mbedtls/library/x509_crl.c +708 -0
  338. package/vendor/mbedtls/library/x509_crt.c +3311 -0
  339. package/vendor/mbedtls/library/x509_csr.c +648 -0
  340. package/vendor/mbedtls/library/x509_internal.h +101 -0
  341. package/vendor/mbedtls/library/x509write.c +174 -0
  342. package/vendor/mbedtls/library/x509write_crt.c +688 -0
  343. package/vendor/mbedtls/library/x509write_csr.c +336 -0
  344. package/vendor/quickjs-ng/CMakeLists.txt +566 -0
  345. package/vendor/quickjs-ng/LICENSE +24 -0
  346. package/vendor/quickjs-ng/README.md +24 -0
  347. package/vendor/quickjs-ng/api-test.c +1195 -0
  348. package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
  349. package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
  350. package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
  351. package/vendor/quickjs-ng/cutils.h +1998 -0
  352. package/vendor/quickjs-ng/dtoa.c +1619 -0
  353. package/vendor/quickjs-ng/dtoa.h +87 -0
  354. package/vendor/quickjs-ng/gen/function_source.c +81 -0
  355. package/vendor/quickjs-ng/gen/hello.c +53 -0
  356. package/vendor/quickjs-ng/gen/hello_module.c +106 -0
  357. package/vendor/quickjs-ng/gen/repl.c +3036 -0
  358. package/vendor/quickjs-ng/gen/standalone.c +323 -0
  359. package/vendor/quickjs-ng/gen/test_fib.c +81 -0
  360. package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
  361. package/vendor/quickjs-ng/libregexp.c +3474 -0
  362. package/vendor/quickjs-ng/libregexp.h +101 -0
  363. package/vendor/quickjs-ng/libunicode-table.h +5173 -0
  364. package/vendor/quickjs-ng/libunicode.c +2069 -0
  365. package/vendor/quickjs-ng/libunicode.h +172 -0
  366. package/vendor/quickjs-ng/list.h +107 -0
  367. package/vendor/quickjs-ng/lre-test.c +52 -0
  368. package/vendor/quickjs-ng/qjs.c +762 -0
  369. package/vendor/quickjs-ng/qjsc.c +673 -0
  370. package/vendor/quickjs-ng/quickjs-atom.h +280 -0
  371. package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
  372. package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
  373. package/vendor/quickjs-ng/quickjs-libc.h +87 -0
  374. package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
  375. package/vendor/quickjs-ng/quickjs.c +64041 -0
  376. package/vendor/quickjs-ng/quickjs.h +1447 -0
  377. package/vendor/quickjs-ng/run-test262.c +2374 -0
  378. package/vendor/quickjs-ng/unicode_gen.c +3121 -0
  379. package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
  380. package/vendor/ryu/LICENSE-Boost +23 -0
  381. package/vendor/ryu/common.h +114 -0
  382. package/vendor/ryu/d2s.c +509 -0
  383. package/vendor/ryu/d2s_full_table.h +367 -0
  384. package/vendor/ryu/d2s_intrinsics.h +357 -0
  385. package/vendor/ryu/d2s_small_table.h +186 -0
  386. package/vendor/ryu/digit_table.h +35 -0
  387. package/vendor/ryu/ryu.h +46 -0
  388. package/vendor/zlib/LICENSE +22 -0
  389. package/vendor/zlib/adler32.c +164 -0
  390. package/vendor/zlib/compress.c +75 -0
  391. package/vendor/zlib/crc32.c +1049 -0
  392. package/vendor/zlib/crc32.h +9446 -0
  393. package/vendor/zlib/deflate.c +2139 -0
  394. package/vendor/zlib/deflate.h +377 -0
  395. package/vendor/zlib/gzclose.c +23 -0
  396. package/vendor/zlib/gzguts.h +214 -0
  397. package/vendor/zlib/gzlib.c +582 -0
  398. package/vendor/zlib/gzread.c +602 -0
  399. package/vendor/zlib/gzwrite.c +631 -0
  400. package/vendor/zlib/infback.c +628 -0
  401. package/vendor/zlib/inffast.c +320 -0
  402. package/vendor/zlib/inffast.h +11 -0
  403. package/vendor/zlib/inffixed.h +94 -0
  404. package/vendor/zlib/inflate.c +1526 -0
  405. package/vendor/zlib/inflate.h +126 -0
  406. package/vendor/zlib/inftrees.c +299 -0
  407. package/vendor/zlib/inftrees.h +62 -0
  408. package/vendor/zlib/trees.c +1117 -0
  409. package/vendor/zlib/trees.h +128 -0
  410. package/vendor/zlib/uncompr.c +85 -0
  411. package/vendor/zlib/zconf.h +543 -0
  412. package/vendor/zlib/zlib.h +1938 -0
  413. package/vendor/zlib/zutil.c +299 -0
  414. package/vendor/zlib/zutil.h +254 -0
  415. package/README.md +0 -3
  416. package/index.js +0 -2
@@ -0,0 +1,211 @@
1
+ /*
2
+ * PSA hashing layer on top of Mbed TLS software crypto
3
+ */
4
+ /*
5
+ * Copyright The Mbed TLS Contributors
6
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7
+ */
8
+
9
+ #ifndef PSA_CRYPTO_HASH_H
10
+ #define PSA_CRYPTO_HASH_H
11
+
12
+ #include <psa/crypto.h>
13
+
14
+ /** Calculate the hash (digest) of a message using Mbed TLS routines.
15
+ *
16
+ * \note The signature of this function is that of a PSA driver hash_compute
17
+ * entry point. This function behaves as a hash_compute entry point as
18
+ * defined in the PSA driver interface specification for transparent
19
+ * drivers.
20
+ *
21
+ * \param alg The hash algorithm to compute (\c PSA_ALG_XXX value
22
+ * such that #PSA_ALG_IS_HASH(\p alg) is true).
23
+ * \param[in] input Buffer containing the message to hash.
24
+ * \param input_length Size of the \p input buffer in bytes.
25
+ * \param[out] hash Buffer where the hash is to be written.
26
+ * \param hash_size Size of the \p hash buffer in bytes.
27
+ * \param[out] hash_length On success, the number of bytes
28
+ * that make up the hash value. This is always
29
+ * #PSA_HASH_LENGTH(\p alg).
30
+ *
31
+ * \retval #PSA_SUCCESS
32
+ * Success.
33
+ * \retval #PSA_ERROR_NOT_SUPPORTED
34
+ * \p alg is not supported
35
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
36
+ * \p hash_size is too small
37
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
38
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
39
+ */
40
+ psa_status_t mbedtls_psa_hash_compute(
41
+ psa_algorithm_t alg,
42
+ const uint8_t *input,
43
+ size_t input_length,
44
+ uint8_t *hash,
45
+ size_t hash_size,
46
+ size_t *hash_length);
47
+
48
+ /** Set up a multipart hash operation using Mbed TLS routines.
49
+ *
50
+ * \note The signature of this function is that of a PSA driver hash_setup
51
+ * entry point. This function behaves as a hash_setup entry point as
52
+ * defined in the PSA driver interface specification for transparent
53
+ * drivers.
54
+ *
55
+ * If an error occurs at any step after a call to mbedtls_psa_hash_setup(), the
56
+ * operation will need to be reset by a call to mbedtls_psa_hash_abort(). The
57
+ * core may call mbedtls_psa_hash_abort() at any time after the operation
58
+ * has been initialized.
59
+ *
60
+ * After a successful call to mbedtls_psa_hash_setup(), the core must
61
+ * eventually terminate the operation. The following events terminate an
62
+ * operation:
63
+ * - A successful call to mbedtls_psa_hash_finish() or mbedtls_psa_hash_verify().
64
+ * - A call to mbedtls_psa_hash_abort().
65
+ *
66
+ * \param[in,out] operation The operation object to set up. It must have
67
+ * been initialized to all-zero and not yet be in use.
68
+ * \param alg The hash algorithm to compute (\c PSA_ALG_XXX value
69
+ * such that #PSA_ALG_IS_HASH(\p alg) is true).
70
+ *
71
+ * \retval #PSA_SUCCESS
72
+ * Success.
73
+ * \retval #PSA_ERROR_NOT_SUPPORTED
74
+ * \p alg is not supported
75
+ * \retval #PSA_ERROR_BAD_STATE
76
+ * The operation state is not valid (it must be inactive).
77
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
78
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
79
+ */
80
+ psa_status_t mbedtls_psa_hash_setup(
81
+ mbedtls_psa_hash_operation_t *operation,
82
+ psa_algorithm_t alg);
83
+
84
+ /** Clone an Mbed TLS hash operation.
85
+ *
86
+ * \note The signature of this function is that of a PSA driver hash_clone
87
+ * entry point. This function behaves as a hash_clone entry point as
88
+ * defined in the PSA driver interface specification for transparent
89
+ * drivers.
90
+ *
91
+ * This function copies the state of an ongoing hash operation to
92
+ * a new operation object. In other words, this function is equivalent
93
+ * to calling mbedtls_psa_hash_setup() on \p target_operation with the same
94
+ * algorithm that \p source_operation was set up for, then
95
+ * mbedtls_psa_hash_update() on \p target_operation with the same input that
96
+ * that was passed to \p source_operation. After this function returns, the
97
+ * two objects are independent, i.e. subsequent calls involving one of
98
+ * the objects do not affect the other object.
99
+ *
100
+ * \param[in] source_operation The active hash operation to clone.
101
+ * \param[in,out] target_operation The operation object to set up.
102
+ * It must be initialized but not active.
103
+ *
104
+ * \retval #PSA_SUCCESS \emptydescription
105
+ * \retval #PSA_ERROR_BAD_STATE
106
+ * The \p source_operation state is not valid (it must be active).
107
+ * \retval #PSA_ERROR_BAD_STATE
108
+ * The \p target_operation state is not valid (it must be inactive).
109
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
110
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
111
+ */
112
+ psa_status_t mbedtls_psa_hash_clone(
113
+ const mbedtls_psa_hash_operation_t *source_operation,
114
+ mbedtls_psa_hash_operation_t *target_operation);
115
+
116
+ /** Add a message fragment to a multipart Mbed TLS hash operation.
117
+ *
118
+ * \note The signature of this function is that of a PSA driver hash_update
119
+ * entry point. This function behaves as a hash_update entry point as
120
+ * defined in the PSA driver interface specification for transparent
121
+ * drivers.
122
+ *
123
+ * The application must call mbedtls_psa_hash_setup() before calling this function.
124
+ *
125
+ * If this function returns an error status, the operation enters an error
126
+ * state and must be aborted by calling mbedtls_psa_hash_abort().
127
+ *
128
+ * \param[in,out] operation Active hash operation.
129
+ * \param[in] input Buffer containing the message fragment to hash.
130
+ * \param input_length Size of the \p input buffer in bytes.
131
+ *
132
+ * \retval #PSA_SUCCESS
133
+ * Success.
134
+ * \retval #PSA_ERROR_BAD_STATE
135
+ * The operation state is not valid (it must be active).
136
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
137
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
138
+ */
139
+ psa_status_t mbedtls_psa_hash_update(
140
+ mbedtls_psa_hash_operation_t *operation,
141
+ const uint8_t *input,
142
+ size_t input_length);
143
+
144
+ /** Finish the calculation of the Mbed TLS-calculated hash of a message.
145
+ *
146
+ * \note The signature of this function is that of a PSA driver hash_finish
147
+ * entry point. This function behaves as a hash_finish entry point as
148
+ * defined in the PSA driver interface specification for transparent
149
+ * drivers.
150
+ *
151
+ * The application must call mbedtls_psa_hash_setup() before calling this function.
152
+ * This function calculates the hash of the message formed by concatenating
153
+ * the inputs passed to preceding calls to mbedtls_psa_hash_update().
154
+ *
155
+ * When this function returns successfully, the operation becomes inactive.
156
+ * If this function returns an error status, the operation enters an error
157
+ * state and must be aborted by calling mbedtls_psa_hash_abort().
158
+ *
159
+ * \param[in,out] operation Active hash operation.
160
+ * \param[out] hash Buffer where the hash is to be written.
161
+ * \param hash_size Size of the \p hash buffer in bytes.
162
+ * \param[out] hash_length On success, the number of bytes
163
+ * that make up the hash value. This is always
164
+ * #PSA_HASH_LENGTH(\c alg) where \c alg is the
165
+ * hash algorithm that is calculated.
166
+ *
167
+ * \retval #PSA_SUCCESS
168
+ * Success.
169
+ * \retval #PSA_ERROR_BAD_STATE
170
+ * The operation state is not valid (it must be active).
171
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
172
+ * The size of the \p hash buffer is too small. You can determine a
173
+ * sufficient buffer size by calling #PSA_HASH_LENGTH(\c alg)
174
+ * where \c alg is the hash algorithm that is calculated.
175
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
176
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
177
+ */
178
+ psa_status_t mbedtls_psa_hash_finish(
179
+ mbedtls_psa_hash_operation_t *operation,
180
+ uint8_t *hash,
181
+ size_t hash_size,
182
+ size_t *hash_length);
183
+
184
+ /** Abort an Mbed TLS hash operation.
185
+ *
186
+ * \note The signature of this function is that of a PSA driver hash_abort
187
+ * entry point. This function behaves as a hash_abort entry point as
188
+ * defined in the PSA driver interface specification for transparent
189
+ * drivers.
190
+ *
191
+ * Aborting an operation frees all associated resources except for the
192
+ * \p operation structure itself. Once aborted, the operation object
193
+ * can be reused for another operation by calling
194
+ * mbedtls_psa_hash_setup() again.
195
+ *
196
+ * You may call this function any time after the operation object has
197
+ * been initialized by one of the methods described in #psa_hash_operation_t.
198
+ *
199
+ * In particular, calling mbedtls_psa_hash_abort() after the operation has been
200
+ * terminated by a call to mbedtls_psa_hash_abort(), mbedtls_psa_hash_finish() or
201
+ * mbedtls_psa_hash_verify() is safe and has no effect.
202
+ *
203
+ * \param[in,out] operation Initialized hash operation.
204
+ *
205
+ * \retval #PSA_SUCCESS \emptydescription
206
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
207
+ */
208
+ psa_status_t mbedtls_psa_hash_abort(
209
+ mbedtls_psa_hash_operation_t *operation);
210
+
211
+ #endif /* PSA_CRYPTO_HASH_H */
@@ -0,0 +1,92 @@
1
+ /**
2
+ * \file psa_crypto_invasive.h
3
+ *
4
+ * \brief PSA cryptography module: invasive interfaces for test only.
5
+ *
6
+ * The interfaces in this file are intended for testing purposes only.
7
+ * They MUST NOT be made available to clients over IPC in integrations
8
+ * with isolation, and they SHOULD NOT be made available in library
9
+ * integrations except when building the library for testing.
10
+ */
11
+ /*
12
+ * Copyright The Mbed TLS Contributors
13
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
14
+ */
15
+
16
+ #ifndef PSA_CRYPTO_INVASIVE_H
17
+ #define PSA_CRYPTO_INVASIVE_H
18
+
19
+ /*
20
+ * Include the build-time configuration information header. Here, we do not
21
+ * include `"mbedtls/build_info.h"` directly but `"psa/build_info.h"`, which
22
+ * is basically just an alias to it. This is to ease the maintenance of the
23
+ * TF-PSA-Crypto repository which has a different build system and
24
+ * configuration.
25
+ */
26
+ #include "psa/build_info.h"
27
+
28
+ #include "psa/crypto.h"
29
+ #include "common.h"
30
+
31
+ #include "mbedtls/entropy.h"
32
+
33
+ #if !defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
34
+ /** \brief Configure entropy sources.
35
+ *
36
+ * This function may only be called before a call to psa_crypto_init(),
37
+ * or after a call to mbedtls_psa_crypto_free() and before any
38
+ * subsequent call to psa_crypto_init().
39
+ *
40
+ * This function is only intended for test purposes. The functionality
41
+ * it provides is also useful for system integrators, but
42
+ * system integrators should configure entropy drivers instead of
43
+ * breaking through to the Mbed TLS API.
44
+ *
45
+ * \param entropy_init Function to initialize the entropy context
46
+ * and set up the desired entropy sources.
47
+ * It is called by psa_crypto_init().
48
+ * By default this is mbedtls_entropy_init().
49
+ * This function cannot report failures directly.
50
+ * To indicate a failure, set the entropy context
51
+ * to a state where mbedtls_entropy_func() will
52
+ * return an error.
53
+ * \param entropy_free Function to free the entropy context
54
+ * and associated resources.
55
+ * It is called by mbedtls_psa_crypto_free().
56
+ * By default this is mbedtls_entropy_free().
57
+ *
58
+ * \retval #PSA_SUCCESS
59
+ * Success.
60
+ * \retval #PSA_ERROR_NOT_PERMITTED
61
+ * The caller does not have the permission to configure
62
+ * entropy sources.
63
+ * \retval #PSA_ERROR_BAD_STATE
64
+ * The library has already been initialized.
65
+ */
66
+ psa_status_t mbedtls_psa_crypto_configure_entropy_sources(
67
+ void (* entropy_init)(mbedtls_entropy_context *ctx),
68
+ void (* entropy_free)(mbedtls_entropy_context *ctx));
69
+ #endif /* !defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) */
70
+
71
+ #if defined(MBEDTLS_TEST_HOOKS) && defined(MBEDTLS_PSA_CRYPTO_C)
72
+ psa_status_t psa_mac_key_can_do(
73
+ psa_algorithm_t algorithm,
74
+ psa_key_type_t key_type);
75
+
76
+ psa_status_t psa_crypto_copy_input(const uint8_t *input, size_t input_len,
77
+ uint8_t *input_copy, size_t input_copy_len);
78
+
79
+ psa_status_t psa_crypto_copy_output(const uint8_t *output_copy, size_t output_copy_len,
80
+ uint8_t *output, size_t output_len);
81
+
82
+ /*
83
+ * Test hooks to use for memory unpoisoning/poisoning in copy functions.
84
+ */
85
+ extern void (*psa_input_pre_copy_hook)(const uint8_t *input, size_t input_len);
86
+ extern void (*psa_input_post_copy_hook)(const uint8_t *input, size_t input_len);
87
+ extern void (*psa_output_pre_copy_hook)(const uint8_t *output, size_t output_len);
88
+ extern void (*psa_output_post_copy_hook)(const uint8_t *output, size_t output_len);
89
+
90
+ #endif /* MBEDTLS_TEST_HOOKS && MBEDTLS_PSA_CRYPTO_C */
91
+
92
+ #endif /* PSA_CRYPTO_INVASIVE_H */
@@ -0,0 +1,131 @@
1
+ /** \file psa_crypto_its.h
2
+ * \brief Interface of trusted storage that crypto is built on.
3
+ */
4
+ /*
5
+ * Copyright The Mbed TLS Contributors
6
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7
+ */
8
+
9
+ #ifndef PSA_CRYPTO_ITS_H
10
+ #define PSA_CRYPTO_ITS_H
11
+
12
+ #include <stddef.h>
13
+ #include <stdint.h>
14
+
15
+ #include <psa/crypto_types.h>
16
+ #include <psa/crypto_values.h>
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /** \brief Flags used when creating a data entry
23
+ */
24
+ typedef uint32_t psa_storage_create_flags_t;
25
+
26
+ /** \brief A type for UIDs used for identifying data
27
+ */
28
+ typedef uint64_t psa_storage_uid_t;
29
+
30
+ #define PSA_STORAGE_FLAG_NONE 0 /**< No flags to pass */
31
+ #define PSA_STORAGE_FLAG_WRITE_ONCE (1 << 0) /**< The data associated with the uid will not be able to be modified or deleted. Intended to be used to set bits in `psa_storage_create_flags_t`*/
32
+
33
+ /**
34
+ * \brief A container for metadata associated with a specific uid
35
+ */
36
+ struct psa_storage_info_t {
37
+ uint32_t size; /**< The size of the data associated with a uid **/
38
+ psa_storage_create_flags_t flags; /**< The flags set when the uid was created **/
39
+ };
40
+
41
+ /** Flag indicating that \ref psa_storage_create and \ref psa_storage_set_extended are supported */
42
+ #define PSA_STORAGE_SUPPORT_SET_EXTENDED (1 << 0)
43
+
44
+ #define PSA_ITS_API_VERSION_MAJOR 1 /**< The major version number of the PSA ITS API. It will be incremented on significant updates that may include breaking changes */
45
+ #define PSA_ITS_API_VERSION_MINOR 1 /**< The minor version number of the PSA ITS API. It will be incremented in small updates that are unlikely to include breaking changes */
46
+
47
+ /**
48
+ * \brief create a new or modify an existing uid/value pair
49
+ *
50
+ * \param[in] uid the identifier for the data
51
+ * \param[in] data_length The size in bytes of the data in `p_data`
52
+ * \param[in] p_data A buffer containing the data
53
+ * \param[in] create_flags The flags that the data will be stored with
54
+ *
55
+ * \return A status indicating the success/failure of the operation
56
+ *
57
+ * \retval #PSA_SUCCESS The operation completed successfully
58
+ * \retval #PSA_ERROR_NOT_PERMITTED The operation failed because the provided `uid` value was already created with PSA_STORAGE_FLAG_WRITE_ONCE
59
+ * \retval #PSA_ERROR_NOT_SUPPORTED The operation failed because one or more of the flags provided in `create_flags` is not supported or is not valid
60
+ * \retval #PSA_ERROR_INSUFFICIENT_STORAGE The operation failed because there was insufficient space on the storage medium
61
+ * \retval #PSA_ERROR_STORAGE_FAILURE The operation failed because the physical storage has failed (Fatal error)
62
+ * \retval #PSA_ERROR_INVALID_ARGUMENT The operation failed because one of the provided pointers(`p_data`)
63
+ * is invalid, for example is `NULL` or references memory the caller cannot access
64
+ */
65
+ psa_status_t psa_its_set(psa_storage_uid_t uid,
66
+ uint32_t data_length,
67
+ const void *p_data,
68
+ psa_storage_create_flags_t create_flags);
69
+
70
+ /**
71
+ * \brief Retrieve the value associated with a provided uid
72
+ *
73
+ * \param[in] uid The uid value
74
+ * \param[in] data_offset The starting offset of the data requested
75
+ * \param[in] data_length the amount of data requested (and the minimum allocated size of the `p_data` buffer)
76
+ * \param[out] p_data The buffer where the data will be placed upon successful completion
77
+ * \param[out] p_data_length The amount of data returned in the p_data buffer
78
+ *
79
+ *
80
+ * \return A status indicating the success/failure of the operation
81
+ *
82
+ * \retval #PSA_SUCCESS The operation completed successfully
83
+ * \retval #PSA_ERROR_DOES_NOT_EXIST The operation failed because the provided `uid` value was not found in the storage
84
+ * \retval #PSA_ERROR_STORAGE_FAILURE The operation failed because the physical storage has failed (Fatal error)
85
+ * \retval #PSA_ERROR_DATA_CORRUPT The operation failed because stored data has been corrupted
86
+ * \retval #PSA_ERROR_INVALID_ARGUMENT The operation failed because one of the provided pointers(`p_data`, `p_data_length`)
87
+ * is invalid. For example is `NULL` or references memory the caller cannot access.
88
+ * In addition, this can also happen if an invalid offset was provided.
89
+ */
90
+ psa_status_t psa_its_get(psa_storage_uid_t uid,
91
+ uint32_t data_offset,
92
+ uint32_t data_length,
93
+ void *p_data,
94
+ size_t *p_data_length);
95
+
96
+ /**
97
+ * \brief Retrieve the metadata about the provided uid
98
+ *
99
+ * \param[in] uid The uid value
100
+ * \param[out] p_info A pointer to the `psa_storage_info_t` struct that will be populated with the metadata
101
+ *
102
+ * \return A status indicating the success/failure of the operation
103
+ *
104
+ * \retval #PSA_SUCCESS The operation completed successfully
105
+ * \retval #PSA_ERROR_DOES_NOT_EXIST The operation failed because the provided uid value was not found in the storage
106
+ * \retval #PSA_ERROR_DATA_CORRUPT The operation failed because stored data has been corrupted
107
+ * \retval #PSA_ERROR_INVALID_ARGUMENT The operation failed because one of the provided pointers(`p_info`)
108
+ * is invalid, for example is `NULL` or references memory the caller cannot access
109
+ */
110
+ psa_status_t psa_its_get_info(psa_storage_uid_t uid,
111
+ struct psa_storage_info_t *p_info);
112
+
113
+ /**
114
+ * \brief Remove the provided key and its associated data from the storage
115
+ *
116
+ * \param[in] uid The uid value
117
+ *
118
+ * \return A status indicating the success/failure of the operation
119
+ *
120
+ * \retval #PSA_SUCCESS The operation completed successfully
121
+ * \retval #PSA_ERROR_DOES_NOT_EXIST The operation failed because the provided key value was not found in the storage
122
+ * \retval #PSA_ERROR_NOT_PERMITTED The operation failed because the provided key value was created with PSA_STORAGE_FLAG_WRITE_ONCE
123
+ * \retval #PSA_ERROR_STORAGE_FAILURE The operation failed because the physical storage has failed (Fatal error)
124
+ */
125
+ psa_status_t psa_its_remove(psa_storage_uid_t uid);
126
+
127
+ #ifdef __cplusplus
128
+ }
129
+ #endif
130
+
131
+ #endif /* PSA_CRYPTO_ITS_H */