edhoc 1.0.1 → 1.0.3
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/binding.gyp +64 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
- package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
- package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
- package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
- package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
- package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
- package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
- package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
- package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
- package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
- package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
- package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
- package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
- package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
- package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
- package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
- package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
- package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
- package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
- package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
- package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
- package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
- package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
- package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
- package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
- package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
- package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
- package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
- package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
- package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
- package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
- package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
- package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
- package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
- package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
- package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
- package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
- package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
- package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
- package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
- package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
- package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
- package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
- package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
- package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
- package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
- package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
- package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
- package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
- package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
- package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
- package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
- package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
- package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
- package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
- package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
- package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
- package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
- package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
- package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
- package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
- package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
- package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
- package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
- package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
- package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
- package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
- package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
- package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
- package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
- package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
- package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
- package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
- package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
- package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
- package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
- package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
- package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
- package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
- package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
- package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
- package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
- package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
- package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
- package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
- package/external/libedhoc/include/edhoc.h +393 -0
- package/external/libedhoc/include/edhoc_context.h +318 -0
- package/external/libedhoc/include/edhoc_credentials.h +217 -0
- package/external/libedhoc/include/edhoc_crypto.h +331 -0
- package/external/libedhoc/include/edhoc_ead.h +99 -0
- package/external/libedhoc/include/edhoc_macros.h +51 -0
- package/external/libedhoc/include/edhoc_values.h +181 -0
- package/external/libedhoc/library/edhoc.c +219 -0
- package/external/libedhoc/library/edhoc_exporter.c +543 -0
- package/external/libedhoc/library/edhoc_message_1.c +439 -0
- package/external/libedhoc/library/edhoc_message_2.c +2994 -0
- package/external/libedhoc/library/edhoc_message_3.c +2658 -0
- package/external/libedhoc/library/edhoc_message_4.c +826 -0
- package/external/libedhoc/library/edhoc_message_error.c +238 -0
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
- package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
- package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
- package/external/libedhoc/tests/src/tests.c +228 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
- package/include/EdhocComposeAsyncWorker.h +61 -0
- package/include/EdhocCredentialManager.h +100 -0
- package/include/EdhocCryptoManager.h +504 -0
- package/include/EdhocEadManager.h +151 -0
- package/include/EdhocExportAsyncWorker.h +71 -0
- package/include/EdhocProcessAsyncWorker.h +76 -0
- package/include/LibEDHOC.h +304 -0
- package/include/Suites.h +27 -0
- package/include/UserContext.h +79 -0
- package/include/Utils.h +110 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +88 -0
- package/src/EdhocCredentialManager.cpp +360 -0
- package/src/EdhocCryptoManager.cpp +967 -0
- package/src/EdhocEadManager.cpp +156 -0
- package/src/EdhocExportAsyncWorker.cpp +82 -0
- package/src/EdhocProcessAsyncWorker.cpp +74 -0
- package/src/LibEDHOC.cpp +369 -0
- package/src/Suites.cpp +153 -0
- package/src/Utils.cpp +115 -0
- /package/prebuilds/{darwin-x64+arm64 → darwin-x64}/edhoc.node +0 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef ZCBOR_DECODE_H__
|
|
8
|
+
#define ZCBOR_DECODE_H__
|
|
9
|
+
|
|
10
|
+
#include <stdint.h>
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
#include "zcbor_common.h"
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
/** The zcbor_decode library provides functions for decoding CBOR data elements.
|
|
20
|
+
*
|
|
21
|
+
* See The README for an introduction to CBOR, including the meaning of pint,
|
|
22
|
+
* nint, bstr etc.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/** The following applies to all single-value decode functions that don't have docs.
|
|
27
|
+
*
|
|
28
|
+
* @param[inout] state The current state of the decoding.
|
|
29
|
+
* @param[out] result Where to place the decoded value.
|
|
30
|
+
*
|
|
31
|
+
* @retval true If the value was decoded correctly.
|
|
32
|
+
* @retval false If the value has the wrong type, the payload overflowed, the
|
|
33
|
+
* element count was exhausted, or the value was larger than can
|
|
34
|
+
* fit in the result variable.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/** Decode and consume a pint/nint. */
|
|
38
|
+
bool zcbor_int32_decode(zcbor_state_t *state, int32_t *result);
|
|
39
|
+
bool zcbor_int64_decode(zcbor_state_t *state, int64_t *result);
|
|
40
|
+
bool zcbor_uint32_decode(zcbor_state_t *state, uint32_t *result);
|
|
41
|
+
bool zcbor_uint64_decode(zcbor_state_t *state, uint64_t *result);
|
|
42
|
+
bool zcbor_size_decode(zcbor_state_t *state, size_t *result);
|
|
43
|
+
bool zcbor_int_decode(zcbor_state_t *state, void *result_int, size_t int_size);
|
|
44
|
+
bool zcbor_uint_decode(zcbor_state_t *state, void *result_uint, size_t uint_size);
|
|
45
|
+
|
|
46
|
+
/** The following applies to all _expect() functions that don't have docs.
|
|
47
|
+
*
|
|
48
|
+
* @param[inout] state The current state of the decoding.
|
|
49
|
+
* @param[in] result The expected value.
|
|
50
|
+
*
|
|
51
|
+
* @retval true If the result was decoded correctly and has the expected value.
|
|
52
|
+
* @retval false If the decoding failed or the result doesn't have the
|
|
53
|
+
* expected value.
|
|
54
|
+
*/
|
|
55
|
+
/** Consume and expect a pint/nint with a certain value. */
|
|
56
|
+
bool zcbor_int32_expect(zcbor_state_t *state, int32_t result);
|
|
57
|
+
bool zcbor_int64_expect(zcbor_state_t *state, int64_t result);
|
|
58
|
+
bool zcbor_uint32_expect(zcbor_state_t *state, uint32_t result);
|
|
59
|
+
bool zcbor_uint64_expect(zcbor_state_t *state, uint64_t result);
|
|
60
|
+
bool zcbor_size_expect(zcbor_state_t *state, size_t result);
|
|
61
|
+
|
|
62
|
+
/** Consume and expect a pint/nint with a certain value, within a union.
|
|
63
|
+
*
|
|
64
|
+
* Calls @ref zcbor_union_elem_code then @ref zcbor_[u]int[32|64]_expect.
|
|
65
|
+
*/
|
|
66
|
+
bool zcbor_int32_expect_union(zcbor_state_t *state, int32_t result);
|
|
67
|
+
bool zcbor_int64_expect_union(zcbor_state_t *state, int64_t result);
|
|
68
|
+
bool zcbor_uint32_expect_union(zcbor_state_t *state, uint32_t result);
|
|
69
|
+
bool zcbor_uint64_expect_union(zcbor_state_t *state, uint64_t result);
|
|
70
|
+
|
|
71
|
+
/** Decode and consume a bstr/tstr */
|
|
72
|
+
bool zcbor_bstr_decode(zcbor_state_t *state, struct zcbor_string *result);
|
|
73
|
+
bool zcbor_bstr_expect(zcbor_state_t *state, struct zcbor_string *result);
|
|
74
|
+
bool zcbor_tstr_decode(zcbor_state_t *state, struct zcbor_string *result);
|
|
75
|
+
bool zcbor_tstr_expect(zcbor_state_t *state, struct zcbor_string *result);
|
|
76
|
+
|
|
77
|
+
/** Consume and expect a bstr/tstr with the value of the provided string literal.
|
|
78
|
+
*
|
|
79
|
+
* @param[inout] state The current state of the encoding.
|
|
80
|
+
* @param[in] string The value to expect. A pointer to the string.
|
|
81
|
+
* @param[in] len The length of the string pointed to by @p string.
|
|
82
|
+
*/
|
|
83
|
+
static inline bool zcbor_bstr_expect_ptr(zcbor_state_t *state, char const *ptr, size_t len)
|
|
84
|
+
{
|
|
85
|
+
struct zcbor_string zs = { .value = (const uint8_t *)ptr, .len = len };
|
|
86
|
+
|
|
87
|
+
return zcbor_bstr_expect(state, &zs);
|
|
88
|
+
}
|
|
89
|
+
static inline bool zcbor_tstr_expect_ptr(zcbor_state_t *state, char const *ptr, size_t len)
|
|
90
|
+
{
|
|
91
|
+
struct zcbor_string zs = { .value = (const uint8_t *)ptr, .len = len };
|
|
92
|
+
|
|
93
|
+
return zcbor_tstr_expect(state, &zs);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
/** Consume and expect a bstr/tstr with the value of the provided string literal.
|
|
98
|
+
*
|
|
99
|
+
* @param[inout] state The current state of the encoding.
|
|
100
|
+
* @param[in] string The value to expect. A string literal, e.g. "Foo", so
|
|
101
|
+
* that sizeof(string) - 1 is the length of the string.
|
|
102
|
+
*/
|
|
103
|
+
#define zcbor_bstr_expect_lit(state, string) \
|
|
104
|
+
zcbor_bstr_expect_ptr(state, string, sizeof(string) - 1)
|
|
105
|
+
#define zcbor_tstr_expect_lit(state, string) \
|
|
106
|
+
zcbor_tstr_expect_ptr(state, string, sizeof(string) - 1)
|
|
107
|
+
|
|
108
|
+
/** Consume and expect a bstr/tstr with the value of the provided null-terminated string.
|
|
109
|
+
*
|
|
110
|
+
* @param[inout] state The current state of the encoding.
|
|
111
|
+
* @param[in] string The value to expect. Must be a null-terminated string,
|
|
112
|
+
* so that strlen can be used.
|
|
113
|
+
*/
|
|
114
|
+
#define zcbor_bstr_expect_term(state, string) \
|
|
115
|
+
zcbor_bstr_expect_ptr(state, string, strlen(string))
|
|
116
|
+
#define zcbor_tstr_expect_term(state, string) \
|
|
117
|
+
zcbor_tstr_expect_ptr(state, string, strlen(string))
|
|
118
|
+
|
|
119
|
+
/** Consume and expect a bstr/tstr with the value of the provided char array literal.
|
|
120
|
+
*
|
|
121
|
+
* @param[inout] state The current state of the encoding.
|
|
122
|
+
* @param[in] string The value to expect. An array literal, e.g. {'F', 'o', 'o'},
|
|
123
|
+
* so that sizeof(string) is the length of the string.
|
|
124
|
+
*/
|
|
125
|
+
#define zcbor_bstr_expect_arr(state, string) \
|
|
126
|
+
zcbor_bstr_expect_ptr(state, string, (sizeof(string)))
|
|
127
|
+
#define zcbor_tstr_expect_arr(state, string) \
|
|
128
|
+
zcbor_tstr_expect_ptr(state, string, (sizeof(string)))
|
|
129
|
+
|
|
130
|
+
/** Decode and consume a tag. */
|
|
131
|
+
bool zcbor_tag_decode(zcbor_state_t *state, uint32_t *result);
|
|
132
|
+
bool zcbor_tag_expect(zcbor_state_t *state, uint32_t result);
|
|
133
|
+
|
|
134
|
+
/** Decode and consume a simple value. */
|
|
135
|
+
bool zcbor_simple_decode(zcbor_state_t *state, uint8_t *result);
|
|
136
|
+
bool zcbor_simple_expect(zcbor_state_t *state, uint8_t result);
|
|
137
|
+
|
|
138
|
+
/** Decode and consume a boolean simple value. */
|
|
139
|
+
bool zcbor_bool_decode(zcbor_state_t *state, bool *result);
|
|
140
|
+
bool zcbor_bool_expect(zcbor_state_t *state, bool result);
|
|
141
|
+
|
|
142
|
+
/** Decode and consume an IEEE754 float */
|
|
143
|
+
bool zcbor_float16_decode(zcbor_state_t *state, float *result);
|
|
144
|
+
bool zcbor_float16_expect(zcbor_state_t *state, float result);
|
|
145
|
+
bool zcbor_float16_bytes_decode(zcbor_state_t *state, uint16_t *result);
|
|
146
|
+
bool zcbor_float16_bytes_expect(zcbor_state_t *state, uint16_t result);
|
|
147
|
+
bool zcbor_float16_32_decode(zcbor_state_t *state, float *result);
|
|
148
|
+
bool zcbor_float16_32_expect(zcbor_state_t *state, float result);
|
|
149
|
+
bool zcbor_float32_decode(zcbor_state_t *state, float *result);
|
|
150
|
+
bool zcbor_float32_expect(zcbor_state_t *state, float result);
|
|
151
|
+
bool zcbor_float32_64_decode(zcbor_state_t *state, double *result);
|
|
152
|
+
bool zcbor_float32_64_expect(zcbor_state_t *state, double result);
|
|
153
|
+
bool zcbor_float64_decode(zcbor_state_t *state, double *result);
|
|
154
|
+
bool zcbor_float64_expect(zcbor_state_t *state, double result);
|
|
155
|
+
bool zcbor_float_decode(zcbor_state_t *state, double *result);
|
|
156
|
+
bool zcbor_float_expect(zcbor_state_t *state, double result);
|
|
157
|
+
|
|
158
|
+
/** Consume and expect a "nil"/"undefined" simple value.
|
|
159
|
+
*
|
|
160
|
+
* @param[inout] state The current state of the encoding.
|
|
161
|
+
* @param[in] unused Unused parameter to maintain signature parity with
|
|
162
|
+
* @ref zcbor_decoder_t.
|
|
163
|
+
*/
|
|
164
|
+
bool zcbor_nil_expect(zcbor_state_t *state, void *unused);
|
|
165
|
+
bool zcbor_undefined_expect(zcbor_state_t *state, void *unused);
|
|
166
|
+
|
|
167
|
+
/** Skip a single element, regardless of type and value.
|
|
168
|
+
*
|
|
169
|
+
* @param[inout] state The current state of the encoding.
|
|
170
|
+
* @param[in] unused Unused parameter to maintain signature parity with
|
|
171
|
+
* @ref zcbor_decoder_t.
|
|
172
|
+
*/
|
|
173
|
+
bool zcbor_any_skip(zcbor_state_t *state, void *unused);
|
|
174
|
+
|
|
175
|
+
/** Decode and consume a bstr header.
|
|
176
|
+
*
|
|
177
|
+
* The rest of the string can be decoded as CBOR.
|
|
178
|
+
* A state backup is created to keep track of the element count.
|
|
179
|
+
* Call @ref zcbor_bstr_end_decode when done decoding the contents of the bstr.
|
|
180
|
+
*
|
|
181
|
+
* @retval true Header decoded correctly
|
|
182
|
+
* @retval false Header decoded incorrectly, or backup failed.
|
|
183
|
+
*/
|
|
184
|
+
bool zcbor_bstr_start_decode(zcbor_state_t *state, struct zcbor_string *result);
|
|
185
|
+
|
|
186
|
+
/** Finalize decoding a CBOR-encoded bstr.
|
|
187
|
+
*
|
|
188
|
+
* Restore element count from backup.
|
|
189
|
+
*/
|
|
190
|
+
bool zcbor_bstr_end_decode(zcbor_state_t *state);
|
|
191
|
+
|
|
192
|
+
/** Start decoding a bstr/tstr, even if the payload contains only part of it.
|
|
193
|
+
*
|
|
194
|
+
* This must be followed by a call to @ref zcbor_update_state, which can be
|
|
195
|
+
* followed by a call to @ref zcbor_next_fragment. Do not call this function
|
|
196
|
+
* again on subsequent fragments of the same string.
|
|
197
|
+
*
|
|
198
|
+
* This consumes the remaining payload as long as it belongs to the string.
|
|
199
|
+
*/
|
|
200
|
+
bool zcbor_bstr_decode_fragment(zcbor_state_t *state, struct zcbor_string_fragment *result);
|
|
201
|
+
bool zcbor_tstr_decode_fragment(zcbor_state_t *state, struct zcbor_string_fragment *result);
|
|
202
|
+
|
|
203
|
+
/** Extract the next fragment of a string.
|
|
204
|
+
*
|
|
205
|
+
* Use this function to extract all but the first fragment.
|
|
206
|
+
*/
|
|
207
|
+
void zcbor_next_fragment(zcbor_state_t *state,
|
|
208
|
+
struct zcbor_string_fragment *prev_fragment,
|
|
209
|
+
struct zcbor_string_fragment *result);
|
|
210
|
+
|
|
211
|
+
/** Decode and consume a bstr header, assuming the payload does not contain the whole bstr.
|
|
212
|
+
*
|
|
213
|
+
* The rest of the string can be decoded as CBOR.
|
|
214
|
+
* A state backup is created to keep track of the element count.
|
|
215
|
+
* Call @ref zcbor_update_state followed by @ref zcbor_bstr_next_fragment when
|
|
216
|
+
* the current payload has been exhausted.
|
|
217
|
+
* Call @ref zcbor_bstr_end_decode when done decoding the contents of the bstr.
|
|
218
|
+
*/
|
|
219
|
+
bool zcbor_bstr_start_decode_fragment(zcbor_state_t *state,
|
|
220
|
+
struct zcbor_string_fragment *result);
|
|
221
|
+
|
|
222
|
+
/** Start decoding the next fragment of a string.
|
|
223
|
+
*
|
|
224
|
+
* Use this function to extract all but the first fragment of a CBOR-encoded
|
|
225
|
+
* bstr.
|
|
226
|
+
*/
|
|
227
|
+
void zcbor_bstr_next_fragment(zcbor_state_t *state,
|
|
228
|
+
struct zcbor_string_fragment *prev_fragment,
|
|
229
|
+
struct zcbor_string_fragment *result);
|
|
230
|
+
|
|
231
|
+
/** Can be used on any fragment to tell if it is the final fragment of the string. */
|
|
232
|
+
bool zcbor_is_last_fragment(const struct zcbor_string_fragment *fragment);
|
|
233
|
+
|
|
234
|
+
/** Decode and consume a list/map header.
|
|
235
|
+
*
|
|
236
|
+
* The contents of the list can be decoded via subsequent function calls.
|
|
237
|
+
* A state backup is created to keep track of the element count.
|
|
238
|
+
* Call @ref zcbor_list_end_decode / @ref zcbor_map_end_decode when done
|
|
239
|
+
* decoding the contents of the list/map
|
|
240
|
+
*
|
|
241
|
+
* @retval true Header decoded correctly
|
|
242
|
+
* @retval false Header decoded incorrectly, or backup failed.
|
|
243
|
+
*/
|
|
244
|
+
bool zcbor_list_start_decode(zcbor_state_t *state);
|
|
245
|
+
bool zcbor_map_start_decode(zcbor_state_t *state);
|
|
246
|
+
|
|
247
|
+
/** Finalize decoding a list/map
|
|
248
|
+
*
|
|
249
|
+
* Check that the list/map had the correct number of elements, and restore the
|
|
250
|
+
* previous element count from the backup.
|
|
251
|
+
*
|
|
252
|
+
* Use @ref zcbor_list_map_end_force_decode to forcibly consume the backup if
|
|
253
|
+
* something has gone wrong.
|
|
254
|
+
*
|
|
255
|
+
* @retval true Everything ok.
|
|
256
|
+
* @retval false Element count not correct.
|
|
257
|
+
*/
|
|
258
|
+
bool zcbor_list_end_decode(zcbor_state_t *state);
|
|
259
|
+
bool zcbor_map_end_decode(zcbor_state_t *state);
|
|
260
|
+
bool zcbor_list_map_end_force_decode(zcbor_state_t *state);
|
|
261
|
+
|
|
262
|
+
/** Decode 0 or more elements with the same type and constraints.
|
|
263
|
+
*
|
|
264
|
+
* The decoded values will appear consecutively in the @p result array.
|
|
265
|
+
*
|
|
266
|
+
* The following is an example of decoding a list containing 3 INTS followed by
|
|
267
|
+
* 0 to 2 bstrs:
|
|
268
|
+
*
|
|
269
|
+
* @code{c}
|
|
270
|
+
* uint32_t ints[3];
|
|
271
|
+
* struct zcbor_string bstrs[2];
|
|
272
|
+
* uint32_t num_decode;
|
|
273
|
+
* bool res;
|
|
274
|
+
*
|
|
275
|
+
* res = zcbor_list_start_decode(state);
|
|
276
|
+
* res = res && zcbor_multi_decode(3, 3, &num_decode, zcbor_uint32_decode,
|
|
277
|
+
* state, ints, sizeof(ints[0]));
|
|
278
|
+
* res = res && zcbor_multi_decode(0, 2, &num_decode, zcbor_bstr_decode,
|
|
279
|
+
* state, bstrs, sizeof(bstrs[0]));
|
|
280
|
+
* res = res && zcbor_list_end_decode(state);
|
|
281
|
+
* // check res
|
|
282
|
+
* @endcode
|
|
283
|
+
*
|
|
284
|
+
* The @ref zcbor_decoder_t type is designed to be compatible with all single-
|
|
285
|
+
* value decoder functions in this library, e.g. @ref zcbor_uint32_decode,
|
|
286
|
+
* @ref zcbor_tstr_expect, @ref zcbor_nil_expect, etc. For _expect() functions,
|
|
287
|
+
* @p result will be used as a value instead of an array/pointer, so
|
|
288
|
+
* @p result_len will determine how much the value changes for each call.
|
|
289
|
+
* To decode the same value multiple times, use a @p result_len of 0.
|
|
290
|
+
* This function can also be used with custom decoder functions, such as those
|
|
291
|
+
* generated by the zcbor.py script, which for example decodes larger chunks of
|
|
292
|
+
* the data at once.
|
|
293
|
+
*
|
|
294
|
+
* @param[in] min_decode The minimum acceptable number of elements.
|
|
295
|
+
* @param[in] max_decode The maximum acceptable number of elements.
|
|
296
|
+
* @param[out] num_decode The actual number of elements decoded.
|
|
297
|
+
* @param[in] decoder The decoder function to call under the hood. This
|
|
298
|
+
* function will be called with the provided arguments
|
|
299
|
+
* repeatedly until the function fails (returns false)
|
|
300
|
+
* or until it has been called @p max_decode times.
|
|
301
|
+
* The result pointer is moved @p result_len bytes for
|
|
302
|
+
* each call to @p decoder, i.e. @p result refers to
|
|
303
|
+
* an array of result variables.
|
|
304
|
+
* @param[out] result Where to place the decoded values. Must be an array
|
|
305
|
+
* of at least @p max_decode elements.
|
|
306
|
+
* @param[in] result_len The length of each result variable. Must be the
|
|
307
|
+
* length of the individual elements of @p result.
|
|
308
|
+
*
|
|
309
|
+
* @retval true If at least @p min_decode variables were correctly decoded.
|
|
310
|
+
* @retval false If @p decoder failed before having decoded @p min_decode
|
|
311
|
+
* values.
|
|
312
|
+
*/
|
|
313
|
+
bool zcbor_multi_decode(size_t min_decode, size_t max_decode, size_t *num_decode,
|
|
314
|
+
zcbor_decoder_t decoder, zcbor_state_t *state, void *result,
|
|
315
|
+
size_t result_len);
|
|
316
|
+
|
|
317
|
+
/** Attempt to decode a value that might not be present in the data.
|
|
318
|
+
*
|
|
319
|
+
* Works like @ref zcbor_multi_decode, with @p present as num_decode.
|
|
320
|
+
* Will return true, even if the data is not present.
|
|
321
|
+
*
|
|
322
|
+
* @param[out] present Whether or not the data was present and successfully decoded.
|
|
323
|
+
* @param[in] decoder The decoder to attempt.
|
|
324
|
+
* @param[out] result The result, if present.
|
|
325
|
+
*
|
|
326
|
+
* @return Should always return true.
|
|
327
|
+
*/
|
|
328
|
+
bool zcbor_present_decode(bool *present,
|
|
329
|
+
zcbor_decoder_t decoder,
|
|
330
|
+
zcbor_state_t *state,
|
|
331
|
+
void *result);
|
|
332
|
+
|
|
333
|
+
/** See @ref zcbor_new_state() */
|
|
334
|
+
void zcbor_new_decode_state(zcbor_state_t *state_array, size_t n_states,
|
|
335
|
+
const uint8_t *payload, size_t payload_len, size_t elem_count);
|
|
336
|
+
|
|
337
|
+
/** Convenience macro for declaring and initializing a state with backups.
|
|
338
|
+
*
|
|
339
|
+
* This gives you a state variable named @p name. The variable functions like
|
|
340
|
+
* a pointer.
|
|
341
|
+
*
|
|
342
|
+
* @param[in] name The name of the new state variable.
|
|
343
|
+
* @param[in] num_backups The number of backup slots to keep in the state.
|
|
344
|
+
* @param[in] payload The payload to work on.
|
|
345
|
+
* @param[in] payload_size The size (in bytes) of @p payload.
|
|
346
|
+
* @param[in] elem_count The starting elem_count (typically 1).
|
|
347
|
+
*/
|
|
348
|
+
#define ZCBOR_STATE_D(name, num_backups, payload, payload_size, elem_count) \
|
|
349
|
+
zcbor_state_t name[((num_backups) + 2)]; \
|
|
350
|
+
do { \
|
|
351
|
+
zcbor_new_decode_state(name, ZCBOR_ARRAY_SIZE(name), payload, payload_size, elem_count); \
|
|
352
|
+
} while(0)
|
|
353
|
+
|
|
354
|
+
#ifdef __cplusplus
|
|
355
|
+
}
|
|
356
|
+
#endif
|
|
357
|
+
|
|
358
|
+
#endif /* ZCBOR_DECODE_H__ */
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef ZCBOR_ENCODE_H__
|
|
8
|
+
#define ZCBOR_ENCODE_H__
|
|
9
|
+
|
|
10
|
+
#include <stdint.h>
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
#include "zcbor_common.h"
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
/** The zcbor_encode library provides functions for encoding CBOR data elements.
|
|
20
|
+
*
|
|
21
|
+
* See The README for an introduction to CBOR, including the meaning of pint,
|
|
22
|
+
* nint, bstr etc.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/** The following param and retval docs apply to all single value encoding functions
|
|
27
|
+
*
|
|
28
|
+
* @param[inout] state The current state of the encoding.
|
|
29
|
+
* @param[in] input The value to encode.
|
|
30
|
+
*
|
|
31
|
+
* @retval true Everything is ok.
|
|
32
|
+
* @retval false If the payload is exhausted. Or an unexpected error happened.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/** Encode a pint/nint. */
|
|
36
|
+
bool zcbor_int32_put(zcbor_state_t *state, int32_t input);
|
|
37
|
+
bool zcbor_int64_put(zcbor_state_t *state, int64_t input);
|
|
38
|
+
bool zcbor_uint32_put(zcbor_state_t *state, uint32_t input);
|
|
39
|
+
bool zcbor_uint64_put(zcbor_state_t *state, uint64_t input);
|
|
40
|
+
bool zcbor_size_put(zcbor_state_t *state, size_t input);
|
|
41
|
+
|
|
42
|
+
/** Encode a pint/nint from a pointer.
|
|
43
|
+
*
|
|
44
|
+
* Can be used for bulk encoding with @ref zcbor_multi_encode.
|
|
45
|
+
*/
|
|
46
|
+
bool zcbor_int_encode(zcbor_state_t *state, const void *input_int, size_t int_size);
|
|
47
|
+
bool zcbor_int32_encode(zcbor_state_t *state, const int32_t *input);
|
|
48
|
+
bool zcbor_int64_encode(zcbor_state_t *state, const int64_t *input);
|
|
49
|
+
bool zcbor_uint_encode(zcbor_state_t *state, const void *input_uint, size_t uint_size);
|
|
50
|
+
bool zcbor_uint32_encode(zcbor_state_t *state, const uint32_t *input);
|
|
51
|
+
bool zcbor_uint64_encode(zcbor_state_t *state, const uint64_t *input);
|
|
52
|
+
bool zcbor_size_encode(zcbor_state_t *state, const size_t *input);
|
|
53
|
+
|
|
54
|
+
/** Encode a bstr. */
|
|
55
|
+
bool zcbor_bstr_encode(zcbor_state_t *state, const struct zcbor_string *input);
|
|
56
|
+
/** Encode a tstr. */
|
|
57
|
+
bool zcbor_tstr_encode(zcbor_state_t *state, const struct zcbor_string *input);
|
|
58
|
+
|
|
59
|
+
/** Encode a pointer to a string as a bstr/tstr.
|
|
60
|
+
*
|
|
61
|
+
* @param[inout] state The current state of the encoding.
|
|
62
|
+
* @param[in] string The value to encode. A pointer to the string
|
|
63
|
+
* @param[in] len The length of the string pointed to by @p string.
|
|
64
|
+
*/
|
|
65
|
+
static inline bool zcbor_bstr_encode_ptr(zcbor_state_t *state, const char *ptr, size_t len)
|
|
66
|
+
{
|
|
67
|
+
const struct zcbor_string zs = { .value = (const uint8_t *)ptr, .len = len };
|
|
68
|
+
|
|
69
|
+
return zcbor_bstr_encode(state, &zs);
|
|
70
|
+
}
|
|
71
|
+
static inline bool zcbor_tstr_encode_ptr(zcbor_state_t *state, const char *ptr, size_t len)
|
|
72
|
+
{
|
|
73
|
+
const struct zcbor_string zs = { .value = (const uint8_t *)ptr, .len = len };
|
|
74
|
+
|
|
75
|
+
return zcbor_tstr_encode(state, &zs);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Encode a string literal as a bstr/tstr.
|
|
79
|
+
*
|
|
80
|
+
* @param[inout] state The current state of the encoding.
|
|
81
|
+
* @param[in] string The value to encode. A string literal, e.g. "Foo", so
|
|
82
|
+
* that sizeof(string) - 1 is the length of the string.
|
|
83
|
+
*/
|
|
84
|
+
#define zcbor_bstr_put_lit(state, string) \
|
|
85
|
+
zcbor_bstr_encode_ptr(state, string, sizeof(string) - 1)
|
|
86
|
+
#define zcbor_tstr_put_lit(state, string) \
|
|
87
|
+
zcbor_tstr_encode_ptr(state, string, sizeof(string) - 1)
|
|
88
|
+
|
|
89
|
+
/** Encode null-terminated string as a bstr/tstr.
|
|
90
|
+
*
|
|
91
|
+
* @param[inout] state The current state of the encoding.
|
|
92
|
+
* @param[in] string The value to encode. Must be a null-terminated string,
|
|
93
|
+
* so that strlen can be used.
|
|
94
|
+
*/
|
|
95
|
+
#define zcbor_bstr_put_term(state, string) \
|
|
96
|
+
zcbor_bstr_encode_ptr(state, string, strlen(string))
|
|
97
|
+
#define zcbor_tstr_put_term(state, string) \
|
|
98
|
+
zcbor_tstr_encode_ptr(state, string, strlen(string))
|
|
99
|
+
|
|
100
|
+
/** Encode a char array literal as a bstr/tstr.
|
|
101
|
+
*
|
|
102
|
+
* @param[inout] state The current state of the encoding.
|
|
103
|
+
* @param[in] string The value to encode. An array literal, e.g. {'F', 'o', 'o'},
|
|
104
|
+
* so that sizeof(string) is the length of the string.
|
|
105
|
+
*/
|
|
106
|
+
#define zcbor_bstr_put_arr(state, string) \
|
|
107
|
+
zcbor_bstr_encode_ptr(state, string, sizeof(string))
|
|
108
|
+
#define zcbor_tstr_put_arr(state, string) \
|
|
109
|
+
zcbor_tstr_encode_ptr(state, string, sizeof(string))
|
|
110
|
+
|
|
111
|
+
/** Encode a tag. Must be called before encoding the value being tagged. */
|
|
112
|
+
bool zcbor_tag_encode(zcbor_state_t *state, uint32_t tag);
|
|
113
|
+
|
|
114
|
+
/** Encode a simple value. */
|
|
115
|
+
bool zcbor_simple_encode(zcbor_state_t *state, uint8_t *input);
|
|
116
|
+
bool zcbor_simple_put(zcbor_state_t *state, uint8_t input);
|
|
117
|
+
|
|
118
|
+
/** Encode a boolean simple value. */
|
|
119
|
+
bool zcbor_bool_put(zcbor_state_t *state, bool input);
|
|
120
|
+
bool zcbor_bool_encode(zcbor_state_t *state, const bool *input);
|
|
121
|
+
|
|
122
|
+
/** Encode an IEEE754 float */
|
|
123
|
+
bool zcbor_float16_put(zcbor_state_t *state, float input);
|
|
124
|
+
bool zcbor_float16_encode(zcbor_state_t *state, const float *input);
|
|
125
|
+
bool zcbor_float16_bytes_put(zcbor_state_t *state, uint16_t input);
|
|
126
|
+
bool zcbor_float16_bytes_encode(zcbor_state_t *state, const uint16_t *input);
|
|
127
|
+
bool zcbor_float32_put(zcbor_state_t *state, float input);
|
|
128
|
+
bool zcbor_float32_encode(zcbor_state_t *state, const float *input);
|
|
129
|
+
bool zcbor_float64_put(zcbor_state_t *state, double input);
|
|
130
|
+
bool zcbor_float64_encode(zcbor_state_t *state, const double *input);
|
|
131
|
+
|
|
132
|
+
/** Encode a "nil"/"undefined" simple value. @p unused should be NULL.
|
|
133
|
+
*
|
|
134
|
+
* @param[inout] state The current state of the encoding.
|
|
135
|
+
* @param[in] unused Unused parameter to maintain signature parity with
|
|
136
|
+
* @ref zcbor_encoder_t.
|
|
137
|
+
*/
|
|
138
|
+
bool zcbor_nil_put(zcbor_state_t *state, const void *unused);
|
|
139
|
+
bool zcbor_undefined_put(zcbor_state_t *state, const void *unused);
|
|
140
|
+
|
|
141
|
+
/** Encode a bstr header.
|
|
142
|
+
*
|
|
143
|
+
* The rest of the string can be encoded as CBOR.
|
|
144
|
+
* A state backup is created to keep track of the element count.
|
|
145
|
+
* Call @ref zcbor_bstr_end_encode when done encoding the contents of the bstr.
|
|
146
|
+
*
|
|
147
|
+
* @param[inout] state The current state of the encoding.
|
|
148
|
+
*
|
|
149
|
+
* @retval true Header encoded correctly
|
|
150
|
+
* @retval false Header encoded incorrectly, or backup failed.
|
|
151
|
+
*/
|
|
152
|
+
bool zcbor_bstr_start_encode(zcbor_state_t *state);
|
|
153
|
+
|
|
154
|
+
/** Finalize encoding a CBOR-encoded bstr.
|
|
155
|
+
*
|
|
156
|
+
* Restore element count from backup.
|
|
157
|
+
*/
|
|
158
|
+
bool zcbor_bstr_end_encode(zcbor_state_t *state, struct zcbor_string *result);
|
|
159
|
+
|
|
160
|
+
/** Encode a list/map header.
|
|
161
|
+
*
|
|
162
|
+
* The contents of the list/map can be encoded via subsequent function calls.
|
|
163
|
+
* If ZCBOR_CANONICAL is defined, a state backup is created to keep track of the
|
|
164
|
+
* element count.
|
|
165
|
+
* When all members have been encoded, call @ref zcbor_list_end_encode /
|
|
166
|
+
* @ref zcbor_map_end_encode to close the list/map.
|
|
167
|
+
*
|
|
168
|
+
* @param[inout] state The current state of the encoding.
|
|
169
|
+
* @param[in] max_num The maximum number of members in the list/map.
|
|
170
|
+
* This serves as a size hint for the header. Must be
|
|
171
|
+
* equal to the max_num provided to the corresponding
|
|
172
|
+
* @ref zcbor_list_end_encode / @ref zcbor_map_end_encode
|
|
173
|
+
* call.
|
|
174
|
+
* Only used when ZCBOR_CANONICAL is defined.
|
|
175
|
+
*/
|
|
176
|
+
bool zcbor_list_start_encode(zcbor_state_t *state, size_t max_num);
|
|
177
|
+
bool zcbor_map_start_encode(zcbor_state_t *state, size_t max_num);
|
|
178
|
+
|
|
179
|
+
/** Encode the end of a list/map. Do some checks and deallocate backup.
|
|
180
|
+
*
|
|
181
|
+
* - Default: Adds a list terminator (0xFF) to mark the
|
|
182
|
+
* end of the list/map.
|
|
183
|
+
* - If ZCBOR_CANONICAL is defined: Instead encodes the number of members in
|
|
184
|
+
* the list/map header. If the header ends up a different size than expected,
|
|
185
|
+
* the list/map contents are moved using memmove().
|
|
186
|
+
*
|
|
187
|
+
* Use @ref zcbor_list_map_end_force_encode to forcibly consume the backup if
|
|
188
|
+
* something has gone wrong.
|
|
189
|
+
*
|
|
190
|
+
* @param[inout] state The current state of the encoding.
|
|
191
|
+
* @param[in] max_num The maximum number of members in the list/map. Must be
|
|
192
|
+
* equal to the max_num provided to the corresponding
|
|
193
|
+
* @ref zcbor_list_start_encode call.
|
|
194
|
+
* Only used when ZCBOR_CANONICAL is defined.
|
|
195
|
+
*/
|
|
196
|
+
bool zcbor_list_end_encode(zcbor_state_t *state, size_t max_num);
|
|
197
|
+
bool zcbor_map_end_encode(zcbor_state_t *state, size_t max_num);
|
|
198
|
+
bool zcbor_list_map_end_force_encode(zcbor_state_t *state);
|
|
199
|
+
|
|
200
|
+
/** Encode 0 or more elements with the same type and constraints.
|
|
201
|
+
*
|
|
202
|
+
* The encoded values are taken from the @p input array.
|
|
203
|
+
*
|
|
204
|
+
* The following is an example of encoding a list containing 3 INTS followed by
|
|
205
|
+
* 0 to 2 bstrs:
|
|
206
|
+
*
|
|
207
|
+
* @code{c}
|
|
208
|
+
* uint32_t ints[3] = <initialize>;
|
|
209
|
+
* struct zcbor_string bstrs[2] = <initialize>;
|
|
210
|
+
* bool res;
|
|
211
|
+
*
|
|
212
|
+
* res = zcbor_list_start_encode(state, 5);
|
|
213
|
+
* res = res && zcbor_multi_encode(3, zcbor_uint32_encode, state,
|
|
214
|
+
* ints, sizeof(uint32_t));
|
|
215
|
+
* res = res && zcbor_multi_encode(2, zcbor_bstr_encode, state,
|
|
216
|
+
* bstrs, sizeof(struct zcbor_string));
|
|
217
|
+
* res = res && zcbor_list_end_encode(state, 5);
|
|
218
|
+
* // check res
|
|
219
|
+
* @endcode
|
|
220
|
+
*
|
|
221
|
+
* The @ref zcbor_encoder_t type is designed to be compatible with all single-
|
|
222
|
+
* value encoder functions in this library, e.g. @ref zcbor_uint32_encode,
|
|
223
|
+
* @ref zcbor_tstr_put, @ref zcbor_nil_put, etc. For _put() functions,
|
|
224
|
+
* @p input will be used as a value instead of an array/pointer, so
|
|
225
|
+
* @p input_len will determine how much the value changes for each call.
|
|
226
|
+
* To encode the same value multiple times, use a @p input_len of 0.
|
|
227
|
+
* This function can also be used with custom decoder functions, such as those
|
|
228
|
+
* generated by the zcbor.py script, which for example encodes larger chunks of
|
|
229
|
+
* the data at once.
|
|
230
|
+
*
|
|
231
|
+
* @param[in] num_encode The actual number of elements.
|
|
232
|
+
* @param[in] encoder The encoder function to call under the hood. This
|
|
233
|
+
* function will be called with the provided arguments
|
|
234
|
+
* repeatedly until the function fails (returns false)
|
|
235
|
+
* or until it has been called @p max_encode times.
|
|
236
|
+
* The input pointer is moved @p input_len bytes for
|
|
237
|
+
* each call to @p encoder, i.e. @p input refers to an
|
|
238
|
+
* array of input variables.
|
|
239
|
+
* @param[in] input Source of the encoded values. Must be an array of
|
|
240
|
+
* at least @p max_encode elements.
|
|
241
|
+
* @param[in] input_len The length of the input variables. Must be the
|
|
242
|
+
* length of the individual elements in input.
|
|
243
|
+
*
|
|
244
|
+
* @retval true If at least @p min_encode variables were correctly encoded.
|
|
245
|
+
* @retval false If @p encoder failed before having encoded @p min_encode
|
|
246
|
+
* values.
|
|
247
|
+
*/
|
|
248
|
+
bool zcbor_multi_encode(size_t num_encode,
|
|
249
|
+
zcbor_encoder_t encoder,
|
|
250
|
+
zcbor_state_t *state,
|
|
251
|
+
const void *input,
|
|
252
|
+
size_t result_len);
|
|
253
|
+
|
|
254
|
+
/** Works like @ref zcbor_multi_encode
|
|
255
|
+
*
|
|
256
|
+
* But first checks that @p num_encode is between @p min_encode and @p max_encode.
|
|
257
|
+
*/
|
|
258
|
+
bool zcbor_multi_encode_minmax(size_t min_encode, size_t max_encode, const size_t *num_encode,
|
|
259
|
+
zcbor_encoder_t encoder, zcbor_state_t *state, const void *input,
|
|
260
|
+
size_t input_len);
|
|
261
|
+
|
|
262
|
+
/** Runs @p encoder on @p state and @p input if @p present is true.
|
|
263
|
+
*
|
|
264
|
+
* Calls @ref zcbor_multi_encode under the hood.
|
|
265
|
+
*/
|
|
266
|
+
bool zcbor_present_encode(const bool *present,
|
|
267
|
+
zcbor_encoder_t encoder,
|
|
268
|
+
zcbor_state_t *state,
|
|
269
|
+
const void *input);
|
|
270
|
+
|
|
271
|
+
/** See @ref zcbor_new_state() */
|
|
272
|
+
void zcbor_new_encode_state(zcbor_state_t *state_array, size_t n_states,
|
|
273
|
+
uint8_t *payload, size_t payload_len, size_t elem_count);
|
|
274
|
+
|
|
275
|
+
/** Convenience macro for declaring and initializing a state with backups.
|
|
276
|
+
*
|
|
277
|
+
* This gives you a state variable named @p name. The variable functions like
|
|
278
|
+
* a pointer.
|
|
279
|
+
*
|
|
280
|
+
* @param[in] name The name of the new state variable.
|
|
281
|
+
* @param[in] num_backups The number of backup slots to keep in the state.
|
|
282
|
+
* @param[in] payload The payload to work on.
|
|
283
|
+
* @param[in] payload_size The size (in bytes) of @p payload.
|
|
284
|
+
* @param[in] elem_count The starting elem_count (typically 1).
|
|
285
|
+
*/
|
|
286
|
+
#define ZCBOR_STATE_E(name, num_backups, payload, payload_size, elem_count) \
|
|
287
|
+
zcbor_state_t name[((num_backups) + 2)]; \
|
|
288
|
+
do { \
|
|
289
|
+
zcbor_new_encode_state(name, ZCBOR_ARRAY_SIZE(name), payload, payload_size, elem_count); \
|
|
290
|
+
} while(0)
|
|
291
|
+
|
|
292
|
+
#ifdef __cplusplus
|
|
293
|
+
}
|
|
294
|
+
#endif
|
|
295
|
+
|
|
296
|
+
#endif /* ZCBOR_ENCODE_H__ */
|