@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.
- package/LICENSE +202 -0
- package/package.json +16 -6
- package/src/scr_array.c +488 -0
- package/src/scr_assert.c +1393 -0
- package/src/scr_async.c +2593 -0
- package/src/scr_async_dyn.c +607 -0
- package/src/scr_bytes.c +1425 -0
- package/src/scr_bytes_io.c +161 -0
- package/src/scr_child.c +3587 -0
- package/src/scr_closure.c +214 -0
- package/src/scr_console.c +143 -0
- package/src/scr_cycle.c +218 -0
- package/src/scr_dc.c +805 -0
- package/src/scr_dgram.c +1007 -0
- package/src/scr_dyn_handle.c +154 -0
- package/src/scr_dyn_invoke.c +644 -0
- package/src/scr_error.c +332 -0
- package/src/scr_events.c +714 -0
- package/src/scr_events_emitter.c +699 -0
- package/src/scr_exception.c +242 -0
- package/src/scr_fetch.c +1130 -0
- package/src/scr_fetch_curl.c +654 -0
- package/src/scr_http.c +3482 -0
- package/src/scr_http2.c +3030 -0
- package/src/scr_inspect.c +803 -0
- package/src/scr_inspect_island.c +51 -0
- package/src/scr_island.c +9363 -0
- package/src/scr_json.c +2151 -0
- package/src/scr_lib.c +3612 -0
- package/src/scr_loop_epoll.c +241 -0
- package/src/scr_loop_kqueue.c +121 -0
- package/src/scr_loop_wsapoll.c +208 -0
- package/src/scr_map.c +591 -0
- package/src/scr_net.c +3017 -0
- package/src/scr_net_island.c +458 -0
- package/src/scr_number.c +115 -0
- package/src/scr_object.c +25 -0
- package/src/scr_path.c +1266 -0
- package/src/scr_platform.h +119 -0
- package/src/scr_readline.c +287 -0
- package/src/scr_regex.c +1080 -0
- package/src/scr_runtime.h +5046 -0
- package/src/scr_stream.c +2877 -0
- package/src/scr_string.c +1264 -0
- package/src/scr_symbol.c +132 -0
- package/src/scr_test.c +662 -0
- package/src/scr_tls.c +1520 -0
- package/src/scr_union.c +105 -0
- package/src/scr_url.c +911 -0
- package/src/scr_url_internal.h +29 -0
- package/src/scr_url_params.c +561 -0
- package/src/scr_watch.c +568 -0
- package/src/scr_web.c +1778 -0
- package/src/scr_win.c +76 -0
- package/src/scr_zlib.c +197 -0
- package/src/scr_zlib_island.c +15 -0
- package/vendor/README.md +52 -0
- package/vendor/curl/COPYRIGHT +534 -0
- package/vendor/curl/include/curl/curl.h +3214 -0
- package/vendor/curl/include/curl/curlver.h +79 -0
- package/vendor/curl/include/curl/easy.h +125 -0
- package/vendor/curl/include/curl/header.h +74 -0
- package/vendor/curl/include/curl/mprintf.h +52 -0
- package/vendor/curl/include/curl/multi.h +460 -0
- package/vendor/curl/include/curl/options.h +70 -0
- package/vendor/curl/include/curl/stdcheaders.h +35 -0
- package/vendor/curl/include/curl/system.h +508 -0
- package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
- package/vendor/curl/include/curl/urlapi.h +149 -0
- package/vendor/curl/include/curl/websockets.h +84 -0
- package/vendor/mbedtls/LICENSE +553 -0
- package/vendor/mbedtls/include/CMakeLists.txt +22 -0
- package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
- package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
- package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
- package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
- package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
- package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
- package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
- package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
- package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
- package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
- package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
- package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
- package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
- package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
- package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
- package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
- package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
- package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
- package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
- package/vendor/mbedtls/include/mbedtls/des.h +385 -0
- package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
- package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
- package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
- package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
- package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
- package/vendor/mbedtls/include/mbedtls/error.h +201 -0
- package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
- package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
- package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
- package/vendor/mbedtls/include/mbedtls/md.h +526 -0
- package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
- package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
- package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
- package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
- package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
- package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
- package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
- package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
- package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
- package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
- package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
- package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
- package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
- package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
- package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
- package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
- package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
- package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
- package/vendor/mbedtls/include/mbedtls/version.h +78 -0
- package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
- package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
- package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
- package/vendor/mbedtls/include/psa/build_info.h +20 -0
- package/vendor/mbedtls/include/psa/crypto.h +4998 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
- package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
- package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
- package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
- package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
- package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
- package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
- package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
- package/vendor/mbedtls/library/aes.c +2294 -0
- package/vendor/mbedtls/library/aesce.c +624 -0
- package/vendor/mbedtls/library/aesce.h +136 -0
- package/vendor/mbedtls/library/aesni.c +846 -0
- package/vendor/mbedtls/library/aesni.h +162 -0
- package/vendor/mbedtls/library/alignment.h +704 -0
- package/vendor/mbedtls/library/aria.c +969 -0
- package/vendor/mbedtls/library/asn1parse.c +468 -0
- package/vendor/mbedtls/library/asn1write.c +440 -0
- package/vendor/mbedtls/library/base64.c +322 -0
- package/vendor/mbedtls/library/base64_internal.h +45 -0
- package/vendor/mbedtls/library/bignum.c +2583 -0
- package/vendor/mbedtls/library/bignum_core.c +1240 -0
- package/vendor/mbedtls/library/bignum_core.h +872 -0
- package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
- package/vendor/mbedtls/library/bignum_internal.h +122 -0
- package/vendor/mbedtls/library/bignum_mod.c +394 -0
- package/vendor/mbedtls/library/bignum_mod.h +452 -0
- package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
- package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
- package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/vendor/mbedtls/library/block_cipher.c +207 -0
- package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
- package/vendor/mbedtls/library/bn_mul.h +1094 -0
- package/vendor/mbedtls/library/camellia.c +1058 -0
- package/vendor/mbedtls/library/ccm.c +777 -0
- package/vendor/mbedtls/library/chacha20.c +563 -0
- package/vendor/mbedtls/library/chacha20_internal.h +23 -0
- package/vendor/mbedtls/library/chachapoly.c +487 -0
- package/vendor/mbedtls/library/check_crypto_config.h +136 -0
- package/vendor/mbedtls/library/cipher.c +1712 -0
- package/vendor/mbedtls/library/cipher_invasive.h +28 -0
- package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
- package/vendor/mbedtls/library/cipher_wrap.h +178 -0
- package/vendor/mbedtls/library/cmac.c +1067 -0
- package/vendor/mbedtls/library/common.h +487 -0
- package/vendor/mbedtls/library/constant_time.c +247 -0
- package/vendor/mbedtls/library/constant_time_impl.h +541 -0
- package/vendor/mbedtls/library/constant_time_internal.h +579 -0
- package/vendor/mbedtls/library/ctr.h +35 -0
- package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
- package/vendor/mbedtls/library/debug.c +475 -0
- package/vendor/mbedtls/library/debug_internal.h +185 -0
- package/vendor/mbedtls/library/des.c +1042 -0
- package/vendor/mbedtls/library/dhm.c +700 -0
- package/vendor/mbedtls/library/ecdh.c +696 -0
- package/vendor/mbedtls/library/ecdsa.c +858 -0
- package/vendor/mbedtls/library/ecjpake.c +1216 -0
- package/vendor/mbedtls/library/ecp.c +3674 -0
- package/vendor/mbedtls/library/ecp_curves.c +6125 -0
- package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
- package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
- package/vendor/mbedtls/library/ecp_invasive.h +305 -0
- package/vendor/mbedtls/library/entropy.c +680 -0
- package/vendor/mbedtls/library/entropy_poll.c +233 -0
- package/vendor/mbedtls/library/entropy_poll.h +64 -0
- package/vendor/mbedtls/library/error.c +878 -0
- package/vendor/mbedtls/library/gcm.c +1330 -0
- package/vendor/mbedtls/library/hkdf.c +161 -0
- package/vendor/mbedtls/library/hmac_drbg.c +633 -0
- package/vendor/mbedtls/library/lmots.c +789 -0
- package/vendor/mbedtls/library/lmots.h +288 -0
- package/vendor/mbedtls/library/lms.c +778 -0
- package/vendor/mbedtls/library/md.c +1108 -0
- package/vendor/mbedtls/library/md5.c +426 -0
- package/vendor/mbedtls/library/md_psa.h +26 -0
- package/vendor/mbedtls/library/md_wrap.h +46 -0
- package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
- package/vendor/mbedtls/library/mps_common.h +181 -0
- package/vendor/mbedtls/library/mps_error.h +89 -0
- package/vendor/mbedtls/library/mps_reader.c +538 -0
- package/vendor/mbedtls/library/mps_reader.h +366 -0
- package/vendor/mbedtls/library/mps_trace.c +112 -0
- package/vendor/mbedtls/library/mps_trace.h +154 -0
- package/vendor/mbedtls/library/net_sockets.c +694 -0
- package/vendor/mbedtls/library/nist_kw.c +729 -0
- package/vendor/mbedtls/library/oid.c +1166 -0
- package/vendor/mbedtls/library/padlock.c +157 -0
- package/vendor/mbedtls/library/padlock.h +111 -0
- package/vendor/mbedtls/library/pem.c +554 -0
- package/vendor/mbedtls/library/pk.c +1602 -0
- package/vendor/mbedtls/library/pk_ecc.c +261 -0
- package/vendor/mbedtls/library/pk_internal.h +241 -0
- package/vendor/mbedtls/library/pk_wrap.c +1618 -0
- package/vendor/mbedtls/library/pk_wrap.h +138 -0
- package/vendor/mbedtls/library/pkcs12.c +437 -0
- package/vendor/mbedtls/library/pkcs5.c +500 -0
- package/vendor/mbedtls/library/pkcs7.c +787 -0
- package/vendor/mbedtls/library/pkparse.c +1392 -0
- package/vendor/mbedtls/library/pkwrite.c +631 -0
- package/vendor/mbedtls/library/pkwrite.h +121 -0
- package/vendor/mbedtls/library/platform.c +402 -0
- package/vendor/mbedtls/library/platform_util.c +258 -0
- package/vendor/mbedtls/library/poly1305.c +492 -0
- package/vendor/mbedtls/library/psa_crypto.c +9532 -0
- package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
- package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
- package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
- package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
- package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
- package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
- package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
- package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
- package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
- package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
- package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
- package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
- package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
- package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
- package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
- package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
- package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
- package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
- package/vendor/mbedtls/library/psa_its_file.c +254 -0
- package/vendor/mbedtls/library/psa_util.c +614 -0
- package/vendor/mbedtls/library/psa_util_internal.h +100 -0
- package/vendor/mbedtls/library/ripemd160.c +490 -0
- package/vendor/mbedtls/library/rsa.c +3121 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
- package/vendor/mbedtls/library/rsa_internal.h +188 -0
- package/vendor/mbedtls/library/sha1.c +480 -0
- package/vendor/mbedtls/library/sha256.c +983 -0
- package/vendor/mbedtls/library/sha3.c +721 -0
- package/vendor/mbedtls/library/sha512.c +1115 -0
- package/vendor/mbedtls/library/ssl_cache.c +410 -0
- package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
- package/vendor/mbedtls/library/ssl_client.c +1023 -0
- package/vendor/mbedtls/library/ssl_client.h +22 -0
- package/vendor/mbedtls/library/ssl_cookie.c +384 -0
- package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
- package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
- package/vendor/mbedtls/library/ssl_misc.h +3198 -0
- package/vendor/mbedtls/library/ssl_msg.c +6619 -0
- package/vendor/mbedtls/library/ssl_ticket.c +556 -0
- package/vendor/mbedtls/library/ssl_tls.c +10234 -0
- package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
- package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
- package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
- package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
- package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
- package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
- package/vendor/mbedtls/library/threading.c +193 -0
- package/vendor/mbedtls/library/threading_internal.h +28 -0
- package/vendor/mbedtls/library/timing.c +152 -0
- package/vendor/mbedtls/library/version.c +32 -0
- package/vendor/mbedtls/library/version_features.c +856 -0
- package/vendor/mbedtls/library/x509.c +1776 -0
- package/vendor/mbedtls/library/x509_create.c +570 -0
- package/vendor/mbedtls/library/x509_crl.c +708 -0
- package/vendor/mbedtls/library/x509_crt.c +3311 -0
- package/vendor/mbedtls/library/x509_csr.c +648 -0
- package/vendor/mbedtls/library/x509_internal.h +101 -0
- package/vendor/mbedtls/library/x509write.c +174 -0
- package/vendor/mbedtls/library/x509write_crt.c +688 -0
- package/vendor/mbedtls/library/x509write_csr.c +336 -0
- package/vendor/quickjs-ng/CMakeLists.txt +566 -0
- package/vendor/quickjs-ng/LICENSE +24 -0
- package/vendor/quickjs-ng/README.md +24 -0
- package/vendor/quickjs-ng/api-test.c +1195 -0
- package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
- package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
- package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
- package/vendor/quickjs-ng/cutils.h +1998 -0
- package/vendor/quickjs-ng/dtoa.c +1619 -0
- package/vendor/quickjs-ng/dtoa.h +87 -0
- package/vendor/quickjs-ng/gen/function_source.c +81 -0
- package/vendor/quickjs-ng/gen/hello.c +53 -0
- package/vendor/quickjs-ng/gen/hello_module.c +106 -0
- package/vendor/quickjs-ng/gen/repl.c +3036 -0
- package/vendor/quickjs-ng/gen/standalone.c +323 -0
- package/vendor/quickjs-ng/gen/test_fib.c +81 -0
- package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
- package/vendor/quickjs-ng/libregexp.c +3474 -0
- package/vendor/quickjs-ng/libregexp.h +101 -0
- package/vendor/quickjs-ng/libunicode-table.h +5173 -0
- package/vendor/quickjs-ng/libunicode.c +2069 -0
- package/vendor/quickjs-ng/libunicode.h +172 -0
- package/vendor/quickjs-ng/list.h +107 -0
- package/vendor/quickjs-ng/lre-test.c +52 -0
- package/vendor/quickjs-ng/qjs.c +762 -0
- package/vendor/quickjs-ng/qjsc.c +673 -0
- package/vendor/quickjs-ng/quickjs-atom.h +280 -0
- package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
- package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
- package/vendor/quickjs-ng/quickjs-libc.h +87 -0
- package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
- package/vendor/quickjs-ng/quickjs.c +64041 -0
- package/vendor/quickjs-ng/quickjs.h +1447 -0
- package/vendor/quickjs-ng/run-test262.c +2374 -0
- package/vendor/quickjs-ng/unicode_gen.c +3121 -0
- package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
- package/vendor/ryu/LICENSE-Boost +23 -0
- package/vendor/ryu/common.h +114 -0
- package/vendor/ryu/d2s.c +509 -0
- package/vendor/ryu/d2s_full_table.h +367 -0
- package/vendor/ryu/d2s_intrinsics.h +357 -0
- package/vendor/ryu/d2s_small_table.h +186 -0
- package/vendor/ryu/digit_table.h +35 -0
- package/vendor/ryu/ryu.h +46 -0
- package/vendor/zlib/LICENSE +22 -0
- package/vendor/zlib/adler32.c +164 -0
- package/vendor/zlib/compress.c +75 -0
- package/vendor/zlib/crc32.c +1049 -0
- package/vendor/zlib/crc32.h +9446 -0
- package/vendor/zlib/deflate.c +2139 -0
- package/vendor/zlib/deflate.h +377 -0
- package/vendor/zlib/gzclose.c +23 -0
- package/vendor/zlib/gzguts.h +214 -0
- package/vendor/zlib/gzlib.c +582 -0
- package/vendor/zlib/gzread.c +602 -0
- package/vendor/zlib/gzwrite.c +631 -0
- package/vendor/zlib/infback.c +628 -0
- package/vendor/zlib/inffast.c +320 -0
- package/vendor/zlib/inffast.h +11 -0
- package/vendor/zlib/inffixed.h +94 -0
- package/vendor/zlib/inflate.c +1526 -0
- package/vendor/zlib/inflate.h +126 -0
- package/vendor/zlib/inftrees.c +299 -0
- package/vendor/zlib/inftrees.h +62 -0
- package/vendor/zlib/trees.c +1117 -0
- package/vendor/zlib/trees.h +128 -0
- package/vendor/zlib/uncompr.c +85 -0
- package/vendor/zlib/zconf.h +543 -0
- package/vendor/zlib/zlib.h +1938 -0
- package/vendor/zlib/zutil.c +299 -0
- package/vendor/zlib/zutil.h +254 -0
- package/README.md +0 -3
- 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 */
|