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.
Files changed (659) hide show
  1. package/binding.gyp +64 -0
  2. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
  3. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
  4. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
  5. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
  6. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
  7. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
  8. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
  9. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
  10. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
  11. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
  12. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
  13. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
  14. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
  15. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
  16. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
  17. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
  38. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
  39. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
  40. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
  41. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
  42. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
  43. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
  44. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
  45. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
  46. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
  47. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
  48. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
  49. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
  50. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
  51. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
  52. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
  53. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
  68. package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
  69. package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
  70. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
  71. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
  72. package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
  73. package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
  74. package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
  75. package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
  76. package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
  77. package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
  78. package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
  79. package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
  80. package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
  81. package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
  82. package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
  83. package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
  84. package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
  85. package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
  86. package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
  87. package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
  88. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
  89. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
  90. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
  91. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
  92. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
  93. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
  94. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
  95. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
  96. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
  97. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
  98. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
  99. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
  100. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
  101. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
  102. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
  103. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
  104. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
  105. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
  106. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
  107. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
  108. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
  109. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
  110. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
  111. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
  112. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
  113. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
  114. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
  115. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
  116. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
  117. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
  118. package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
  119. package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
  120. package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
  121. package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
  122. package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
  123. package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
  124. package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
  125. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
  126. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
  127. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
  128. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
  129. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
  130. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
  131. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
  132. package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
  133. package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
  134. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
  135. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
  136. package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
  137. package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
  138. package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
  139. package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
  140. package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
  141. package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
  142. package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
  143. package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
  144. package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
  145. package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
  146. package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  147. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
  148. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
  149. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
  150. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
  151. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
  152. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
  153. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
  154. package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
  155. package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
  156. package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
  157. package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
  158. package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
  159. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
  160. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
  161. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
  162. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
  163. package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
  164. package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
  165. package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
  166. package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
  167. package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  168. package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
  169. package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
  170. package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
  171. package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
  172. package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  173. package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
  174. package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
  175. package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
  176. package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
  177. package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
  178. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
  179. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
  180. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
  181. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
  182. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
  183. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
  184. package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
  185. package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
  186. package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
  187. package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
  188. package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
  189. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
  190. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
  191. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
  192. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
  193. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
  194. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  195. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
  196. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  197. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
  198. package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
  199. package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
  200. package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
  201. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
  202. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
  203. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
  204. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
  205. package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
  206. package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
  207. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
  208. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
  209. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
  210. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
  211. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  212. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  213. package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
  214. package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
  215. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
  216. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  217. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  218. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  219. package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
  220. package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
  221. package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
  222. package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  223. package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
  224. package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
  225. package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
  226. package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
  227. package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
  228. package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
  229. package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
  230. package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
  231. package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
  232. package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
  233. package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
  234. package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
  235. package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
  236. package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
  237. package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
  238. package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
  239. package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
  240. package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
  241. package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
  242. package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
  243. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
  244. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
  245. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  246. package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
  247. package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
  248. package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
  249. package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
  250. package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
  251. package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
  252. package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
  253. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
  254. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
  255. package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
  256. package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
  257. package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
  258. package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
  259. package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
  260. package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
  261. package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
  262. package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
  263. package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
  264. package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
  265. package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
  266. package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
  267. package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
  268. package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
  269. package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
  270. package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
  271. package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
  272. package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
  273. package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
  274. package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
  275. package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
  276. package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
  277. package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
  278. package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
  279. package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
  280. package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
  281. package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
  282. package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
  283. package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
  284. package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
  285. package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
  286. package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
  287. package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
  288. package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
  289. package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
  290. package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
  291. package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
  292. package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
  293. package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
  294. package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
  295. package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
  296. package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
  297. package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
  298. package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
  299. package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
  300. package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
  301. package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
  302. package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
  303. package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
  304. package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
  305. package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
  306. package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
  307. package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
  308. package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
  309. package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
  310. package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
  311. package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
  312. package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
  313. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
  314. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
  315. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
  316. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
  317. package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
  318. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
  319. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
  320. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
  321. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  322. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  323. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
  324. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
  325. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
  326. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
  327. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
  328. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
  329. package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
  330. package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
  331. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
  332. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
  333. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
  334. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
  335. package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
  336. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
  337. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
  338. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
  339. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
  340. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
  341. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
  342. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
  343. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
  344. package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
  345. package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
  346. package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
  347. package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
  348. package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
  349. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
  350. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
  351. package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
  352. package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
  353. package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
  354. package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
  355. package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
  356. package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
  357. package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
  358. package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
  359. package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
  360. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
  361. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
  362. package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
  363. package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
  364. package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
  365. package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
  366. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
  367. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
  368. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
  369. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
  370. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
  371. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
  372. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
  373. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
  374. package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
  375. package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
  376. package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
  377. package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
  378. package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
  379. package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
  380. package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
  381. package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
  382. package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
  383. package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
  384. package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
  385. package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
  386. package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
  387. package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
  388. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
  389. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
  390. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
  391. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
  392. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
  393. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
  394. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
  395. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
  396. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
  397. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
  398. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
  399. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
  400. package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
  401. package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
  402. package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
  403. package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
  404. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
  405. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
  406. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
  407. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
  408. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
  409. package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
  410. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
  411. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
  412. package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
  413. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
  414. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
  415. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
  416. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
  417. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
  418. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
  419. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
  420. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
  421. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
  422. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
  423. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
  424. package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
  425. package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
  426. package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
  427. package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
  428. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
  429. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
  430. package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
  431. package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
  432. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
  433. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
  434. package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
  435. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
  436. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
  437. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
  438. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
  439. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
  440. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
  441. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
  442. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
  443. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
  444. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
  445. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
  446. package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
  447. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
  448. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
  449. package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
  450. package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
  451. package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
  452. package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
  453. package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
  454. package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
  455. package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
  456. package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
  457. package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
  458. package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
  459. package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
  460. package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
  461. package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
  462. package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
  463. package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
  464. package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
  465. package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
  466. package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
  467. package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
  468. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
  469. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
  470. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
  471. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
  472. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
  473. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
  474. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
  475. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
  476. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
  477. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
  478. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
  479. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
  480. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
  481. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
  482. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
  483. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
  484. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
  485. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
  486. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
  487. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
  488. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
  489. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
  490. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
  491. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
  492. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
  493. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
  494. package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
  495. package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
  496. package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
  497. package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
  498. package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
  499. package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
  500. package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
  501. package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
  502. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
  503. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
  504. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
  505. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
  506. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
  507. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
  508. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
  509. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
  510. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
  511. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
  512. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
  513. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
  514. package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
  515. package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
  516. package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
  517. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
  518. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
  519. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
  520. package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
  521. package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
  522. package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
  523. package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
  524. package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
  525. package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
  526. package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
  527. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
  528. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
  529. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
  530. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
  531. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
  532. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
  533. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
  534. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
  535. package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
  536. package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
  537. package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
  538. package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
  539. package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
  540. package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
  541. package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
  542. package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
  543. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
  544. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
  545. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
  546. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
  547. package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
  548. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
  549. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
  550. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
  551. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
  552. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
  553. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
  554. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
  555. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
  556. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
  557. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
  558. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
  559. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
  560. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
  561. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
  562. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
  563. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
  564. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
  565. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
  566. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
  567. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
  568. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
  569. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
  570. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
  571. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
  572. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
  573. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
  574. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
  575. package/external/libedhoc/include/edhoc.h +393 -0
  576. package/external/libedhoc/include/edhoc_context.h +318 -0
  577. package/external/libedhoc/include/edhoc_credentials.h +217 -0
  578. package/external/libedhoc/include/edhoc_crypto.h +331 -0
  579. package/external/libedhoc/include/edhoc_ead.h +99 -0
  580. package/external/libedhoc/include/edhoc_macros.h +51 -0
  581. package/external/libedhoc/include/edhoc_values.h +181 -0
  582. package/external/libedhoc/library/edhoc.c +219 -0
  583. package/external/libedhoc/library/edhoc_exporter.c +543 -0
  584. package/external/libedhoc/library/edhoc_message_1.c +439 -0
  585. package/external/libedhoc/library/edhoc_message_2.c +2994 -0
  586. package/external/libedhoc/library/edhoc_message_3.c +2658 -0
  587. package/external/libedhoc/library/edhoc_message_4.c +826 -0
  588. package/external/libedhoc/library/edhoc_message_error.c +238 -0
  589. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
  590. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
  591. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
  592. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
  593. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
  594. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
  595. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
  596. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
  597. package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
  598. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
  599. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
  600. package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
  601. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
  602. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
  603. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
  604. package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
  605. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
  606. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
  607. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
  608. package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
  609. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
  610. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
  611. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
  612. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
  613. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
  614. package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
  615. package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
  616. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
  617. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
  618. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
  619. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
  620. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
  621. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
  622. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
  623. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
  624. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
  625. package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
  626. package/external/libedhoc/tests/src/tests.c +228 -0
  627. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
  628. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
  629. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
  630. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
  631. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
  632. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
  633. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
  634. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
  635. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
  636. package/include/EdhocComposeAsyncWorker.h +61 -0
  637. package/include/EdhocCredentialManager.h +100 -0
  638. package/include/EdhocCryptoManager.h +504 -0
  639. package/include/EdhocEadManager.h +151 -0
  640. package/include/EdhocExportAsyncWorker.h +71 -0
  641. package/include/EdhocProcessAsyncWorker.h +76 -0
  642. package/include/LibEDHOC.h +304 -0
  643. package/include/Suites.h +27 -0
  644. package/include/UserContext.h +79 -0
  645. package/include/Utils.h +110 -0
  646. package/package.json +1 -1
  647. package/prebuilds/darwin-arm64/edhoc.node +0 -0
  648. package/prebuilds/win32-ia32/edhoc.node +0 -0
  649. package/prebuilds/win32-x64/edhoc.node +0 -0
  650. package/src/EdhocComposeAsyncWorker.cpp +88 -0
  651. package/src/EdhocCredentialManager.cpp +360 -0
  652. package/src/EdhocCryptoManager.cpp +967 -0
  653. package/src/EdhocEadManager.cpp +156 -0
  654. package/src/EdhocExportAsyncWorker.cpp +82 -0
  655. package/src/EdhocProcessAsyncWorker.cpp +74 -0
  656. package/src/LibEDHOC.cpp +369 -0
  657. package/src/Suites.cpp +153 -0
  658. package/src/Utils.cpp +115 -0
  659. /package/prebuilds/{darwin-x64+arm64 → darwin-x64}/edhoc.node +0 -0
@@ -0,0 +1,1527 @@
1
+ /*
2
+ * Copyright (c) 2020 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ #include <zephyr/ztest.h>
8
+ #include "corner_cases_encode.h"
9
+ #include "zcbor_debug.h" // Enables use of print functions when debugging tests.
10
+
11
+ #define CONCAT_BYTE(a,b) a ## b
12
+
13
+ #ifndef ZCBOR_CANONICAL
14
+ #define LIST(num) 0x9F
15
+ #define MAP(num) 0xBF
16
+ #define END 0xFF,
17
+ #else
18
+ #define LIST(num) CONCAT_BYTE(0x8, num)
19
+ #define MAP(num) CONCAT_BYTE(0xA, num)
20
+ #define END
21
+ #endif
22
+
23
+
24
+ ZTEST(cbor_encode_test3, test_numbers)
25
+ {
26
+ const uint8_t exp_payload_numbers1[] = {
27
+ LIST(A), // List start
28
+ 0x01, // 1
29
+ 0x21, // -2
30
+ 0x05, // 5
31
+ 0x19, 0x01, 0x00, // 256
32
+ 0x1A, 0x01, 0x02, 0x03, 0x04, // 0x01020304
33
+ 0x39, 0x13, 0x87, // -5000
34
+ 0x1A, 0xEE, 0x6B, 0x28, 0x00, // 4000000000
35
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF, // -2^31
36
+ 0x00, // 0
37
+ 0xD9, 0xFF, 0xFF, 0x01, // 1
38
+ END
39
+ };
40
+
41
+ struct Numbers numbers = {0};
42
+ uint8_t output[100];
43
+ size_t out_len;
44
+
45
+ numbers.fourtoten = 3; // Invalid
46
+ numbers.twobytes = 256;
47
+ numbers.onetofourbytes = 0x01020304;
48
+ numbers.minusfivektoplustwohundred = -5000;
49
+ numbers.negint = -2147483648;
50
+ numbers.posint = 0;
51
+ numbers.tagged_int = 1;
52
+
53
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Numbers(output,
54
+ sizeof(output), &numbers, &out_len), NULL);
55
+
56
+ numbers.fourtoten = 11; // Invalid
57
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Numbers(output,
58
+ sizeof(output), &numbers, &out_len), NULL);
59
+
60
+ numbers.fourtoten = 5; // Valid
61
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers(output,
62
+ sizeof(output), &numbers, &out_len), NULL);
63
+ zassert_equal(sizeof(exp_payload_numbers1), out_len, "%d != %d\r\n", sizeof(exp_payload_numbers1), out_len);
64
+ zassert_mem_equal(exp_payload_numbers1, output, sizeof(exp_payload_numbers1), NULL);
65
+
66
+ numbers.negint = 1; // Invalid
67
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Numbers(output,
68
+ sizeof(output), &numbers, &out_len), NULL);
69
+
70
+ numbers.negint = -1; // Valid
71
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers(output,
72
+ sizeof(output), &numbers, &out_len), NULL);
73
+
74
+ numbers.minusfivektoplustwohundred = -5001; // Invalid
75
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Numbers(output,
76
+ sizeof(output), &numbers, &out_len), NULL);
77
+
78
+ numbers.minusfivektoplustwohundred = 201; // Invalid
79
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Numbers(output,
80
+ sizeof(output), &numbers, &out_len), NULL);
81
+
82
+ numbers.minusfivektoplustwohundred = 200; // Valid
83
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers(output,
84
+ sizeof(output), &numbers, &out_len), NULL);
85
+ }
86
+
87
+ ZTEST(cbor_encode_test3, test_numbers2)
88
+ {
89
+ const uint8_t exp_payload_numbers2[] = {
90
+ LIST(7),
91
+ 0x1A, 0x00, 0x12, 0x34, 0x56, // 0x123456
92
+ 0x1B, 0x01, 2, 3, 4, 5, 6, 7, 8, // 0x0102030405060708
93
+ 0x1B, 0x11, 2, 3, 4, 5, 6, 7, 9, // 0x1102030405060709
94
+ 0x00, // 0
95
+ 0x3A, 0x80, 0x00, 0x00, 0x00, // -0x8000_0001
96
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF, // -0x8000_0000
97
+ 0xD9, 0x04, 0xD2, 0x03, // #6.1234(3)
98
+ END
99
+ };
100
+ struct Numbers2 numbers2 = {
101
+ .threebytes = 0x123456,
102
+ .big_int = 0x0102030405060708,
103
+ .big_uint = 0x1102030405060709,
104
+ .big_uint2 = 0,
105
+ .tagged_int = 3,
106
+ };
107
+ uint8_t output[100];
108
+ size_t out_len;
109
+
110
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers2(output,
111
+ sizeof(output), &numbers2, &out_len), NULL);
112
+ zassert_equal(sizeof(exp_payload_numbers2), out_len, "%d != %d\r\n",
113
+ sizeof(exp_payload_numbers2), out_len);
114
+ zassert_mem_equal(exp_payload_numbers2, output, sizeof(exp_payload_numbers2), NULL);
115
+ }
116
+
117
+ ZTEST(cbor_encode_test3, test_tagged_union)
118
+ {
119
+ size_t encode_len;
120
+ const uint8_t exp_payload_tagged_union1[] = {0xD9, 0x10, 0xE1, 0xF5};
121
+ const uint8_t exp_payload_tagged_union2[] = {0xD9, 0x09, 0x29, 0x10};
122
+
123
+ uint8_t output[5];
124
+
125
+ struct TaggedUnion_ input;
126
+ input.TaggedUnion_choice = _TaggedUnion_bool;
127
+ input._bool = true;
128
+
129
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_TaggedUnion(output,
130
+ sizeof(output), &input, &encode_len), "%d\r\n");
131
+
132
+ zassert_equal(sizeof(exp_payload_tagged_union1), encode_len, NULL);
133
+ zassert_mem_equal(exp_payload_tagged_union1, output, sizeof(exp_payload_tagged_union1), NULL);
134
+
135
+ input.TaggedUnion_choice = _TaggedUnion_uint;
136
+ input.uint = 0x10;
137
+
138
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_TaggedUnion(output,
139
+ sizeof(output), &input, &encode_len), NULL);
140
+
141
+ zassert_equal(sizeof(exp_payload_tagged_union2), encode_len, NULL);
142
+ zassert_mem_equal(exp_payload_tagged_union2, output, sizeof(exp_payload_tagged_union2), NULL);
143
+ }
144
+
145
+ ZTEST(cbor_encode_test3, test_number_map)
146
+ {
147
+ size_t encode_len = 0xFFFFFFFF;
148
+ const uint8_t exp_payload_number_map1[] = {
149
+ MAP(3),
150
+ 0x64, 'b', 'y', 't', 'e',
151
+ 0x18, 42,
152
+ 0x69, 'o', 'p', 't', '_', 's', 'h', 'o', 'r', 't',
153
+ 0x19, 0x12, 0x34,
154
+ 0x68, 'o', 'p', 't', '_', 'c', 'b', 'o', 'r',
155
+ 0x45, 0x1A, 0x12, 0x34, 0x56, 0x78,
156
+ END
157
+ };
158
+
159
+ const uint8_t exp_payload_number_map2[] = {
160
+ MAP(2),
161
+ 0x64, 'b', 'y', 't', 'e',
162
+ 0x18, 42,
163
+ 0x68, 'o', 'p', 't', '_', 'c', 'b', 'o', 'r',
164
+ 0x45, 0x1A, 0x12, 0x34, 0x56, 0x78,
165
+ END
166
+ };
167
+
168
+ uint8_t payload[80];
169
+
170
+ struct NumberMap number_map1 = {
171
+ .byte = 42,
172
+ .opt_short_present = true,
173
+ .opt_short.opt_short = 0x1234,
174
+ .opt_cbor_present = true,
175
+ .opt_cbor.opt_cbor_cbor = 0x12345678,
176
+ };
177
+
178
+ int res = cbor_encode_NumberMap(payload,
179
+ sizeof(payload), &number_map1, &encode_len);
180
+ zassert_equal(ZCBOR_SUCCESS, res, "%d\r\n", res);
181
+ zassert_equal(encode_len, sizeof(exp_payload_number_map1), NULL);
182
+ zassert_mem_equal(payload, exp_payload_number_map1, encode_len, NULL);
183
+
184
+ struct NumberMap number_map2 = {
185
+ .byte = 42,
186
+ .opt_short_present = false,
187
+ .opt_cbor_present = true,
188
+ .opt_cbor.opt_cbor_cbor = 0x12345678,
189
+ };
190
+
191
+ res = cbor_encode_NumberMap(payload,
192
+ sizeof(payload), &number_map2, &encode_len);
193
+ zassert_equal(ZCBOR_SUCCESS, res, "%d\r\n", res);
194
+ zassert_equal(encode_len, sizeof(exp_payload_number_map2), NULL);
195
+ zassert_mem_equal(payload, exp_payload_number_map2, encode_len, NULL);
196
+
197
+ struct NumberMap number_map3 = {
198
+ .byte = 42,
199
+ .opt_short_present = false,
200
+ .opt_cbor_present = true,
201
+ .opt_cbor.opt_cbor.value = (uint8_t[]){0x1A, 0x12, 0x34, 0x56, 0x78},
202
+ .opt_cbor.opt_cbor.len = 5,
203
+ };
204
+
205
+ res = cbor_encode_NumberMap(payload,
206
+ sizeof(payload), &number_map3, &encode_len);
207
+ zassert_equal(ZCBOR_SUCCESS, res, "%d\r\n", res);
208
+ zassert_equal(encode_len, sizeof(exp_payload_number_map2), NULL);
209
+ zassert_mem_equal(payload, exp_payload_number_map2, encode_len, NULL);
210
+
211
+ struct NumberMap number_map4_inv = {
212
+ .byte = 42,
213
+ .opt_short_present = false,
214
+ .opt_cbor_present = true,
215
+ .opt_cbor.opt_cbor.value = (uint8_t[]){0x19, 0x12, 0x34},
216
+ .opt_cbor.opt_cbor.len = 3,
217
+ };
218
+
219
+ res = cbor_encode_NumberMap(payload,
220
+ sizeof(payload), &number_map4_inv, &encode_len);
221
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, res, "%d\r\n", res);
222
+ }
223
+
224
+
225
+ ZTEST(cbor_encode_test3, test_strings)
226
+ {
227
+ const uint8_t exp_payload_strings1[] = {
228
+ LIST(6),
229
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
230
+ 0x59, 0x01, 0x2c, // 300 bytes
231
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
232
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
233
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
234
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
235
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
236
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
237
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
238
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
239
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
240
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
241
+ 0xC0, 0x78, 0x1E, // 30 bytes
242
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
243
+ #ifndef ZCBOR_CANONICAL
244
+ 0x58, 30, // Numbers (len: 30)
245
+ #else
246
+ 0x58, 29, // Numbers (len: 29)
247
+ #endif
248
+ LIST(A), // List start
249
+ 0x01, // 1
250
+ 0x21, // -2
251
+ 0x05, // 5
252
+ 0x19, 0xFF, 0xFF, // 0xFFFF
253
+ 0x18, 0x18, // 24
254
+ 0x00, // 0
255
+ 0x1A, 0xEE, 0x6B, 0x28, 0x00, // 4000000000
256
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF, // -2^31
257
+ 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, // 0xFFFFFFFF
258
+ 0xD9, 0xFF, 0xFF, 9, // 9
259
+ END
260
+ #ifndef ZCBOR_CANONICAL
261
+ 0x55, // Simples (len: 21)
262
+ #else
263
+ 0x52, // Simples (len: 18)
264
+ #endif
265
+ LIST(5), // List start
266
+ 0xF5, // True
267
+ 0xF4, // False
268
+ 0xF4, // False
269
+ 0xF6, // Nil
270
+ 0xF7, // Undefined
271
+ END
272
+ LIST(5), // List start
273
+ 0xF5, // True
274
+ 0xF4, // False
275
+ 0xF5, // True
276
+ 0xF6, // Nil
277
+ 0xF7, // Undefined
278
+ END
279
+ LIST(5), // List start
280
+ 0xF5, // True
281
+ 0xF4, // False
282
+ 0xF4, // False
283
+ 0xF6, // Nil
284
+ 0xF7, // Undefined
285
+ END
286
+ #ifndef ZCBOR_CANONICAL
287
+ 0x59, 0x01, 0x6B, // Strings (len: 363)
288
+ #else
289
+ 0x59, 0x01, 0x68, // Strings (len: 360)
290
+ #endif
291
+ LIST(5),
292
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
293
+ 0x59, 0x01, 0x2c, // 300 bytes
294
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
295
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
296
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
297
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
298
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
299
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
300
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
301
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
302
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
303
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
304
+ 0xC0, 0x6A, // 10 bytes
305
+ 0,1,2,3,4,5,6,7,8,9,
306
+ #ifndef ZCBOR_CANONICAL
307
+ 0x58, 30, // Numbers (len: 30)
308
+ #else
309
+ 0x58, 29, // Numbers (len: 29)
310
+ #endif
311
+ LIST(A), // List start
312
+ 0x01, // 1
313
+ 0x21, // -2
314
+ 0x05, // 5
315
+ 0x19, 0xFF, 0xFF, // 0xFFFF
316
+ 0x18, 0x18, // 24
317
+ 0x00, // 0
318
+ 0x1A, 0xEE, 0x6B, 0x28, 0x00, // 4000000000
319
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF, // -2^31
320
+ 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, // 0xFFFFFFFF
321
+ 0xD9, 0xFF, 0xFF, 0x29, // -10
322
+ END
323
+ #ifndef ZCBOR_CANONICAL
324
+ 0x47, // Simples (len: 7)
325
+ #else
326
+ 0x46, // Simples (len: 6)
327
+ #endif
328
+ LIST(5), // List start
329
+ 0xF5, // True
330
+ 0xF4, // False
331
+ 0xF4, // False
332
+ 0xF6, // Nil
333
+ 0xF7, // Undefined
334
+ END
335
+ END
336
+ END
337
+ };
338
+
339
+ const uint8_t bytes300[] = {
340
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
341
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
342
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
343
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
344
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
345
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
346
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
347
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
348
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
349
+ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,
350
+ };
351
+
352
+ struct Strings strings1 = {0};
353
+ struct Strings strings2 = {0};
354
+ struct Numbers numbers1 = {0};
355
+ uint8_t output1[100];
356
+ uint8_t output2[100];
357
+ uint8_t output3[400];
358
+ uint8_t output4[800];
359
+ size_t out_len;
360
+
361
+ numbers1.fourtoten = 5;
362
+ numbers1.twobytes = 0xFFFF;
363
+ numbers1.onetofourbytes = 24;
364
+ numbers1.minusfivektoplustwohundred = 0;
365
+ numbers1.negint = -2147483648;
366
+ numbers1.posint = 0xFFFFFFFF;
367
+ numbers1.tagged_int = 9;
368
+
369
+ strings1.optCborStrings_present = true;
370
+ strings1.threehundrebytebstr.len = 300;
371
+ strings1.threehundrebytebstr.value = bytes300;
372
+ strings1.tentothirtybytetstr.len = 30;
373
+ strings1.tentothirtybytetstr.value = bytes300;
374
+ strings1.cborseqSimples_cbor_count = 3;
375
+ strings1.cborseqSimples_cbor[0].boolval = false;
376
+ strings1.cborseqSimples_cbor[1].boolval = true;
377
+ strings1.cborseqSimples_cbor[2].boolval = false;
378
+
379
+ strings2.threehundrebytebstr.len = 300;
380
+ strings2.threehundrebytebstr.value = bytes300;
381
+ strings2.tentothirtybytetstr.len = 9; // Invalid
382
+ strings2.tentothirtybytetstr.value = bytes300;
383
+ strings2.cborseqSimples_cbor_count = 1;
384
+ strings2.cborseqSimples_cbor[0].boolval = false;
385
+
386
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers(output2, sizeof(output2), &numbers1, &out_len), NULL);
387
+ strings1.cborNumbers.value = output2;
388
+ strings1.cborNumbers.len = out_len;
389
+ numbers1.tagged_int = -10;
390
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Numbers(output1, sizeof(output1), &numbers1, &out_len), NULL);
391
+ strings2.cborNumbers.value = output1;
392
+ strings2.cborNumbers.len = out_len;
393
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Strings(output3, sizeof(output3), &strings2, &out_len), NULL);
394
+ strings2.tentothirtybytetstr.len = 31; // Invalid
395
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Strings(output3, sizeof(output3), &strings2, &out_len), NULL);
396
+ strings2.tentothirtybytetstr.len = 10; // Valid
397
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Strings(output3, sizeof(output3), &strings2, &out_len), NULL);
398
+ strings1.optCborStrings.value = output3;
399
+ strings1.optCborStrings.len = out_len;
400
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Strings(output4, sizeof(output4), &strings1, &out_len), NULL);
401
+ zassert_equal(sizeof(exp_payload_strings1), out_len, "expected: %d, actual: %d\r\n", sizeof(exp_payload_strings1), out_len);
402
+
403
+ zassert_mem_equal(exp_payload_strings1, output4, sizeof(exp_payload_strings1), NULL);
404
+ }
405
+
406
+ ZTEST(cbor_encode_test3, test_simples)
407
+ {
408
+ uint8_t exp_payload_simple1[] = {LIST(5), 0xF5, 0xF4, 0xF4, 0xF6, 0xF7, END};
409
+ uint8_t exp_payload_simple2[] = {LIST(5), 0xF5, 0xF4, 0xF5, 0xF6, 0xF7, END};
410
+
411
+ struct Simples input;
412
+ size_t len_encode;
413
+ uint8_t output[10];
414
+
415
+ input.boolval = false;
416
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Simple2(output, sizeof(output), &input, &len_encode), NULL);
417
+ zassert_equal(len_encode, sizeof(exp_payload_simple1), NULL);
418
+ zassert_mem_equal(exp_payload_simple1, output, sizeof(exp_payload_simple1), NULL);
419
+
420
+ input.boolval = true;
421
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Simple2(output, sizeof(output), &input, &len_encode), NULL);
422
+ zassert_equal(len_encode, sizeof(exp_payload_simple2), NULL);
423
+ zassert_mem_equal(exp_payload_simple2, output, sizeof(exp_payload_simple2), NULL);
424
+ }
425
+
426
+ ZTEST(cbor_encode_test3, test_optional)
427
+ {
428
+ const uint8_t exp_payload_optional1[] = {
429
+ LIST(3) /* List start */, 0xCA /* tag */, 0xF4 /* False */, 0x02, 0x03, END
430
+ };
431
+ const uint8_t exp_payload_optional2[] = {
432
+ LIST(2) /* List start */, 0xCA /* tag */, 0xF4 /* False */, 0x03, END
433
+ };
434
+ const uint8_t exp_payload_optional3[] = {
435
+ LIST(3) /* List start */, 0xCA /* tag */, 0xF4 /* False */, 0x02, 0x01, END
436
+ };
437
+ const uint8_t exp_payload_optional4[] = {
438
+ LIST(3) /* List start */, 0xCA /* tag */, 0xF5 /* True */, 0x02, 0x02, END
439
+ };
440
+ const uint8_t exp_payload_optional5[] = {
441
+ LIST(4) /* List start */, 0xCA /* tag */, 0xF5 /* True */, 0xF4 /* False */, 0x02, 0x02, END
442
+ };
443
+ const uint8_t exp_payload_optional6[] = {
444
+ LIST(5) /* List start */, 0xCA /* tag */, 0xF5 /* True */, 0xF4 /* False */, 0x02, 0x02, 0x08, END
445
+ };
446
+ const uint8_t exp_payload_optional7[] = {
447
+ LIST(7) /* List start */, 0xCA /* tag */, 0xF5 /* True */, 0xF4 /* False */, 0x02, 0x02, 0x08, 0x08, 0x08, END
448
+ };
449
+
450
+ struct Optional optional1 = {.opttwo_present = true, .manduint = 3};
451
+ struct Optional optional2 = {.manduint = 3};
452
+ struct Optional optional3 = {.opttwo_present = true, .manduint = 1};
453
+ struct Optional optional4 = {.boolval = true, .opttwo_present = true,
454
+ .manduint = 2};
455
+ struct Optional optional5 = {.boolval = true, .optbool_present = true,
456
+ .opttwo_present = true, .manduint = 2};
457
+ struct Optional optional6 = {.boolval = true, .optbool_present = true,
458
+ .opttwo_present = true, .manduint = 2,
459
+ .multi8_count = 1};
460
+ struct Optional optional7 = {.boolval = true, .optbool_present = true,
461
+ .opttwo_present = true, .manduint = 2,
462
+ .multi8_count = 3};
463
+ uint8_t output[10];
464
+ size_t out_len;
465
+
466
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
467
+ sizeof(output), &optional1, &out_len), NULL);
468
+ zassert_equal(sizeof(exp_payload_optional1), out_len, NULL);
469
+ zassert_mem_equal(exp_payload_optional1, output, sizeof(exp_payload_optional1), NULL);
470
+
471
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
472
+ sizeof(output), &optional2, &out_len), NULL);
473
+ zassert_equal(sizeof(exp_payload_optional2), out_len, NULL);
474
+ zassert_mem_equal(exp_payload_optional2, output, sizeof(exp_payload_optional2), NULL);
475
+
476
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
477
+ sizeof(output), &optional3, &out_len), NULL);
478
+ zassert_equal(sizeof(exp_payload_optional3), out_len, NULL);
479
+ zassert_mem_equal(exp_payload_optional3, output, sizeof(exp_payload_optional3), NULL);
480
+
481
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
482
+ sizeof(output), &optional4, &out_len), NULL);
483
+ zassert_equal(sizeof(exp_payload_optional4), out_len, NULL);
484
+ zassert_mem_equal(exp_payload_optional4, output, sizeof(exp_payload_optional4), NULL);
485
+
486
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
487
+ sizeof(output), &optional5, &out_len), NULL);
488
+ zassert_equal(sizeof(exp_payload_optional5), out_len, NULL);
489
+ zassert_mem_equal(exp_payload_optional5, output, sizeof(exp_payload_optional5), NULL);
490
+
491
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
492
+ sizeof(output), &optional6, &out_len), NULL);
493
+ zassert_equal(sizeof(exp_payload_optional6), out_len, NULL);
494
+ zassert_mem_equal(exp_payload_optional6, output, sizeof(exp_payload_optional6), NULL);
495
+
496
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Optional(output,
497
+ sizeof(output), &optional7, &out_len), NULL);
498
+ zassert_equal(sizeof(exp_payload_optional7), out_len, NULL);
499
+ zassert_mem_equal(exp_payload_optional7, output, sizeof(exp_payload_optional7), NULL);
500
+ }
501
+
502
+ ZTEST(cbor_encode_test3, test_union)
503
+ {
504
+ const uint8_t exp_payload_union1[] = {0x01, 0x21};
505
+ const uint8_t exp_payload_union2[] = {0x03, 0x23};
506
+ const uint8_t exp_payload_union3[] = {0x03, 0x04};
507
+ const uint8_t exp_payload_union4[] = {
508
+ 0x67, 0x22, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x22 // "\"hello\""
509
+ };
510
+ const uint8_t exp_payload_union5[] = {
511
+ 0x03, 0x23, 0x03, 0x23, 0x03, 0x23,
512
+ 0x03, 0x23, 0x03, 0x23, 0x03, 0x23
513
+ };
514
+
515
+ struct Union_ _union1 = {.Union_choice = _Union__Group};
516
+ struct Union_ _union2 = {.Union_choice = _Union__MultiGroup, ._MultiGroup.MultiGroup_count = 1};
517
+ struct Union_ _union3 = {.Union_choice = _Union__uint3};
518
+ struct Union_ _union4 = {.Union_choice = _Union_hello_tstr};
519
+ struct Union_ _union5 = {.Union_choice = _Union__MultiGroup, ._MultiGroup.MultiGroup_count = 6};
520
+ struct Union_ _union6_inv = {.Union_choice = _Union__MultiGroup, ._MultiGroup.MultiGroup_count = 7};
521
+
522
+ uint8_t output[15];
523
+ size_t out_len;
524
+
525
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Union(output, sizeof(output),
526
+ &_union1, &out_len), NULL);
527
+ zassert_equal(sizeof(exp_payload_union1), out_len, NULL);
528
+ zassert_mem_equal(exp_payload_union1, output, sizeof(exp_payload_union1), NULL);
529
+
530
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Union(output, sizeof(output),
531
+ &_union2, &out_len), NULL);
532
+ zassert_equal(sizeof(exp_payload_union2), out_len, NULL);
533
+ zassert_mem_equal(exp_payload_union2, output, sizeof(exp_payload_union2), NULL);
534
+
535
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Union(output, sizeof(output),
536
+ &_union3, &out_len), NULL);
537
+ zassert_equal(sizeof(exp_payload_union3), out_len, NULL);
538
+ zassert_mem_equal(exp_payload_union3, output, sizeof(exp_payload_union3), NULL);
539
+
540
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Union(output, sizeof(output),
541
+ &_union4, &out_len), NULL);
542
+ zassert_equal(sizeof(exp_payload_union4), out_len, NULL);
543
+ zassert_mem_equal(exp_payload_union4, output, sizeof(exp_payload_union4), NULL);
544
+
545
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Union(output, sizeof(output),
546
+ &_union5, &out_len), NULL);
547
+ zassert_equal(sizeof(exp_payload_union5), out_len, NULL);
548
+ zassert_mem_equal(exp_payload_union5, output, sizeof(exp_payload_union5), NULL);
549
+
550
+ zassert_equal(ZCBOR_ERR_ITERATIONS, cbor_encode_Union(output, sizeof(output),
551
+ &_union6_inv, &out_len), NULL);
552
+ }
553
+
554
+ ZTEST(cbor_encode_test3, test_levels)
555
+ {
556
+ const uint8_t exp_payload_levels1[] = {
557
+ LIST(1), // Level1
558
+ LIST(2), // Level2
559
+ LIST(4), // Level3 no 1
560
+ LIST(1), 0x00, END // Level4 no 1
561
+ LIST(1), 0x00, END // Level4 no 2
562
+ LIST(1), 0x00, END // Level4 no 3
563
+ LIST(1), 0x00, END // Level4 no 4
564
+ END
565
+ LIST(4), // Level3 no 2
566
+ LIST(1), 0x00, END // Level4 no 1
567
+ LIST(1), 0x00, END // Level4 no 2
568
+ LIST(1), 0x00, END // Level4 no 3
569
+ LIST(1), 0x00, END // Level4 no 4
570
+ END END END
571
+ };
572
+ uint8_t output[32];
573
+ size_t out_len;
574
+
575
+ struct Level2 level1 = {._Level3_count = 2, ._Level3 = {
576
+ {._Level4_count = 4}, {._Level4_count = 4}
577
+ }};
578
+ _Static_assert(sizeof(exp_payload_levels1) <= sizeof(output),
579
+ "Payload is larger than output");
580
+ zassert_equal(ZCBOR_ERR_NO_PAYLOAD, cbor_encode_Level1(output,
581
+ sizeof(exp_payload_levels1)-1, &level1, &out_len), NULL);
582
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Level1(output,
583
+ sizeof(output), &level1, &out_len), NULL);
584
+
585
+ zassert_equal(sizeof(exp_payload_levels1), out_len, "%d != %d", sizeof(exp_payload_levels1), out_len);
586
+ zassert_mem_equal(exp_payload_levels1, output, sizeof(exp_payload_levels1), NULL);
587
+ }
588
+
589
+
590
+ ZTEST(cbor_encode_test3, test_map)
591
+ {
592
+ const uint8_t exp_payload_map1[] = {
593
+ MAP(4), LIST(2), 0x05, 0x06, END 0xF4, // [5,6] => false
594
+ 0x07, 0x01, // 7 => 1
595
+ 0xf6, 0x45, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // nil => "hello"
596
+ 0xf6, 0x40, // nil => ""
597
+ END
598
+ };
599
+ const uint8_t exp_payload_map2[] = {
600
+ MAP(5), LIST(2), 0x05, 0x06, END 0xF5, // [5,6] => true
601
+ 0x07, 0x01, // 7 => 1
602
+ 0xf6, 0x45, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // nil => "hello"
603
+ 0xf6, 0x40, // nil => ""
604
+ 0xf6, 0x40, // nil => ""
605
+ END
606
+ };
607
+ const uint8_t exp_payload_map3[] = {
608
+ MAP(4), LIST(2), 0x05, 0x06, END 0xF4, // [5,6] => false
609
+ 0x27, 0x01, // -8 => 1
610
+ 0xf6, 0x45, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // nil => "hello"
611
+ 0xf6, 0x40, // nil => ""
612
+ END
613
+ };
614
+
615
+ struct Map map1 = {
616
+ .union_choice = _union_uint7uint,
617
+ .uint7uint = 1,
618
+ .twotothree_count = 2,
619
+ .twotothree = {
620
+ {.twotothree = {.value = "hello", .len = 5}},
621
+ {.twotothree = {.len = 0}},
622
+ }
623
+ };
624
+ struct Map map2 = {
625
+ .listkey = true,
626
+ .union_choice = _union_uint7uint,
627
+ .uint7uint = 1,
628
+ .twotothree_count = 3,
629
+ .twotothree = {
630
+ {.twotothree = {.value = "hello", .len = 5}},
631
+ {.twotothree = {.len = 0}},
632
+ {.twotothree = {.len = 0}},
633
+ }
634
+ };
635
+ struct Map map3 = {
636
+ .union_choice = _union_nintuint,
637
+ .nintuint = 1,
638
+ .twotothree_count = 2,
639
+ .twotothree = {
640
+ {.twotothree = {.value = "hello", .len = 5}},
641
+ {.twotothree = {.len = 0}},
642
+ }
643
+ };
644
+
645
+ uint8_t output[25];
646
+ size_t out_len;
647
+
648
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Map(output, sizeof(output),
649
+ &map1, &out_len), NULL);
650
+ zassert_equal(sizeof(exp_payload_map1), out_len, NULL);
651
+ zassert_mem_equal(exp_payload_map1, output, sizeof(exp_payload_map1), NULL);
652
+
653
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Map(output, sizeof(output),
654
+ &map2, &out_len), NULL);
655
+ zassert_equal(sizeof(exp_payload_map2), out_len, NULL);
656
+ zassert_mem_equal(exp_payload_map2, output, sizeof(exp_payload_map2), NULL);
657
+
658
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Map(output, sizeof(output),
659
+ &map3, &out_len), NULL);
660
+ zassert_equal(sizeof(exp_payload_map3), out_len, NULL);
661
+ zassert_mem_equal(exp_payload_map3, output, sizeof(exp_payload_map3), NULL);
662
+ }
663
+
664
+ ZTEST(cbor_encode_test3, test_nested_list_map)
665
+ {
666
+ const uint8_t exp_payload_nested_lm1[] = {LIST(0), END};
667
+ const uint8_t exp_payload_nested_lm2[] = {LIST(1), MAP(0), END END};
668
+ const uint8_t exp_payload_nested_lm3[] = {LIST(1), MAP(1), 0x01, 0x04, END END};
669
+ const uint8_t exp_payload_nested_lm4[] = {LIST(2), MAP(0), END MAP(1), 0x01, 0x04, END END};
670
+ const uint8_t exp_payload_nested_lm5[] = {LIST(3), MAP(0), END MAP(0), END MAP(0), END END};
671
+ struct NestedListMap listmap1 = {
672
+ .map_count = 0,
673
+ };
674
+ struct NestedListMap listmap2 = {
675
+ .map_count = 1,
676
+ .map = {
677
+ {.uint4_present = false},
678
+ }
679
+ };
680
+ struct NestedListMap listmap3 = {
681
+ .map_count = 1,
682
+ .map = {
683
+ {.uint4_present = true},
684
+ }
685
+ };
686
+ struct NestedListMap listmap4 = {
687
+ .map_count = 2,
688
+ .map = {
689
+ {.uint4_present = false},
690
+ {.uint4_present = true},
691
+ }
692
+ };
693
+ struct NestedListMap listmap5 = {
694
+ .map_count = 3,
695
+ .map = {
696
+ {.uint4_present = false},
697
+ {.uint4_present = false},
698
+ {.uint4_present = false},
699
+ }
700
+ };
701
+ uint8_t output[40];
702
+ size_t out_len;
703
+
704
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedListMap(output,
705
+ sizeof(output), &listmap1, &out_len), NULL);
706
+
707
+ zassert_equal(sizeof(exp_payload_nested_lm1), out_len, NULL);
708
+ zassert_mem_equal(exp_payload_nested_lm1, output, sizeof(exp_payload_nested_lm1), NULL);
709
+
710
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedListMap(output,
711
+ sizeof(output), &listmap2, &out_len), NULL);
712
+
713
+ zassert_equal(sizeof(exp_payload_nested_lm2), out_len, NULL);
714
+ zassert_mem_equal(exp_payload_nested_lm2, output, sizeof(exp_payload_nested_lm2), NULL);
715
+
716
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedListMap(output,
717
+ sizeof(output), &listmap3, &out_len), NULL);
718
+
719
+ zassert_equal(sizeof(exp_payload_nested_lm3), out_len, NULL);
720
+ zassert_mem_equal(exp_payload_nested_lm3, output, sizeof(exp_payload_nested_lm3), NULL);
721
+
722
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedListMap(output,
723
+ sizeof(output), &listmap4, &out_len), NULL);
724
+
725
+ zassert_equal(sizeof(exp_payload_nested_lm4), out_len, NULL);
726
+ zassert_mem_equal(exp_payload_nested_lm4, output, sizeof(exp_payload_nested_lm4), NULL);
727
+
728
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedListMap(output,
729
+ sizeof(output), &listmap5, &out_len), NULL);
730
+
731
+ zassert_equal(sizeof(exp_payload_nested_lm5), out_len, "%d != %d", sizeof(exp_payload_nested_lm5), out_len);
732
+ zassert_mem_equal(exp_payload_nested_lm5, output, sizeof(exp_payload_nested_lm5), NULL);
733
+ }
734
+
735
+ ZTEST(cbor_encode_test3, test_nested_map_list_map)
736
+ {
737
+ const uint8_t exp_payload_nested_mlm1[] = {MAP(1), LIST(0), END LIST(0), END END};
738
+ const uint8_t exp_payload_nested_mlm2[] = {MAP(1), LIST(0), END LIST(1), MAP(0), END END END};
739
+ const uint8_t exp_payload_nested_mlm3[] = {MAP(1), LIST(0), END LIST(2), MAP(0), END MAP(0), END END END};
740
+ const uint8_t exp_payload_nested_mlm4[] = {MAP(2), LIST(0), END LIST(0), END LIST(0), END LIST(0), END END};
741
+ const uint8_t exp_payload_nested_mlm5[] = {MAP(3), LIST(0), END LIST(0), END LIST(0), END LIST(0), END LIST(0), END LIST(2), MAP(0), END MAP(0), END END END};
742
+ struct NestedMapListMap maplistmap1 = {
743
+ ._map_count = 1,
744
+ ._map = {{0}}
745
+ };
746
+ struct NestedMapListMap maplistmap2 = {
747
+ ._map_count = 1,
748
+ ._map = {
749
+ {.map_count = 1}
750
+ }
751
+ };
752
+ struct NestedMapListMap maplistmap3 = {
753
+ ._map_count = 1,
754
+ ._map = {
755
+ {.map_count = 2}
756
+ }
757
+ };
758
+ struct NestedMapListMap maplistmap4 = {
759
+ ._map_count = 2,
760
+ ._map = {
761
+ {.map_count = 0},
762
+ {.map_count = 0},
763
+ }
764
+ };
765
+ struct NestedMapListMap maplistmap5 = {
766
+ ._map_count = 3,
767
+ ._map = {
768
+ {.map_count = 0},
769
+ {.map_count = 0},
770
+ {.map_count = 2},
771
+ }
772
+ };
773
+ uint8_t output[30];
774
+ size_t out_len;
775
+
776
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedMapListMap(output,
777
+ sizeof(output), &maplistmap1, &out_len), NULL);
778
+
779
+ zassert_equal(sizeof(exp_payload_nested_mlm1), out_len, NULL);
780
+ zassert_mem_equal(exp_payload_nested_mlm1, output, sizeof(exp_payload_nested_mlm1), NULL);
781
+
782
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedMapListMap(output,
783
+ sizeof(output), &maplistmap2, &out_len), NULL);
784
+
785
+ zassert_equal(sizeof(exp_payload_nested_mlm2), out_len, "%d != %d", sizeof(exp_payload_nested_mlm2), out_len);
786
+ zassert_mem_equal(exp_payload_nested_mlm2, output, sizeof(exp_payload_nested_mlm2), NULL);
787
+
788
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedMapListMap(output,
789
+ sizeof(output), &maplistmap3, &out_len), NULL);
790
+
791
+ zassert_equal(sizeof(exp_payload_nested_mlm3), out_len, "%d != %d", sizeof(exp_payload_nested_mlm3), out_len);
792
+ zassert_mem_equal(exp_payload_nested_mlm3, output, sizeof(exp_payload_nested_mlm3), NULL);
793
+
794
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedMapListMap(output,
795
+ sizeof(output), &maplistmap4, &out_len), NULL);
796
+
797
+ zassert_equal(sizeof(exp_payload_nested_mlm4), out_len, NULL);
798
+ zassert_mem_equal(exp_payload_nested_mlm4, output, sizeof(exp_payload_nested_mlm4), NULL);
799
+
800
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_NestedMapListMap(output,
801
+ sizeof(output), &maplistmap5, &out_len), NULL);
802
+
803
+ zassert_equal(sizeof(exp_payload_nested_mlm5), out_len, "%d != %d", sizeof(exp_payload_nested_mlm5), out_len);
804
+ zassert_mem_equal(exp_payload_nested_mlm5, output, sizeof(exp_payload_nested_mlm5), NULL);
805
+ }
806
+
807
+
808
+ ZTEST(cbor_encode_test3, test_range)
809
+ {
810
+ const uint8_t exp_payload_range1[] = {LIST(3),
811
+ 0x08,
812
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
813
+ 0x0,
814
+ END
815
+ };
816
+
817
+ const uint8_t exp_payload_range2[] = {LIST(6),
818
+ 0x05,
819
+ 0x08, 0x08,
820
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
821
+ 0x00, 0x0A,
822
+ END
823
+ };
824
+
825
+ const uint8_t exp_payload_range3[] = {LIST(5),
826
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
827
+ 0x08,
828
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
829
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
830
+ 0x07,
831
+ END
832
+ };
833
+ const uint8_t exp_payload_range4[] = {LIST(4),
834
+ 0x28,
835
+ 0x08,
836
+ 0x65, 0x68, 0x65, 0x6c, 0x6c, 0x6f, // "hello"
837
+ 0x0,
838
+ END
839
+ };
840
+
841
+ struct Range input1 = {
842
+ .optMinus5to5_present = false,
843
+ .optStr3to6_present = false,
844
+ .optMinus9toMinus6excl_present = false,
845
+ .multi8_count = 1,
846
+ .multiHello_count = 1,
847
+ .multi0to10_count = 1,
848
+ .multi0to10 = {0},
849
+ };
850
+ struct Range input2 = {
851
+ .optMinus5to5_present = true,
852
+ .optMinus5to5 = 5,
853
+ .optStr3to6_present = false,
854
+ .optMinus9toMinus6excl_present = false,
855
+ .multi8_count = 2,
856
+ .multiHello_count = 1,
857
+ .multi0to10_count = 2,
858
+ .multi0to10 = {0, 10},
859
+ };
860
+ struct Range input3 = {
861
+ .optMinus5to5_present = false,
862
+ .optStr3to6_present = true,
863
+ .optStr3to6 = {
864
+ .value = "hello",
865
+ .len = 5,
866
+ },
867
+ .optMinus9toMinus6excl_present = false,
868
+ .multi8_count = 1,
869
+ .multiHello_count = 2,
870
+ .multi0to10_count = 1,
871
+ .multi0to10 = {7},
872
+ };
873
+ struct Range input4 = {
874
+ .optMinus5to5_present = false,
875
+ .optStr3to6_present = false,
876
+ .optMinus9toMinus6excl_present = true,
877
+ .optMinus9toMinus6excl = -9,
878
+ .multi8_count = 1,
879
+ .multiHello_count = 1,
880
+ .multi0to10_count = 1,
881
+ .multi0to10 = {0},
882
+ };
883
+ struct Range input5_inv = {
884
+ .optMinus5to5_present = false,
885
+ .optStr3to6_present = false,
886
+ .optMinus9toMinus6excl_present = true,
887
+ .optMinus9toMinus6excl = -6,
888
+ .multi8_count = 1,
889
+ .multiHello_count = 1,
890
+ .multi0to10_count = 1,
891
+ .multi0to10 = {0},
892
+ };
893
+
894
+ uint8_t output[25];
895
+ size_t out_len;
896
+
897
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Range(output, sizeof(output), &input1,
898
+ &out_len), NULL);
899
+ zassert_equal(sizeof(exp_payload_range1), out_len, NULL);
900
+ zassert_mem_equal(exp_payload_range1, output, sizeof(exp_payload_range1), NULL);
901
+
902
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Range(output, sizeof(output), &input2,
903
+ &out_len), NULL);
904
+ zassert_equal(sizeof(exp_payload_range2), out_len, NULL);
905
+ zassert_mem_equal(exp_payload_range2, output, sizeof(exp_payload_range2), NULL);
906
+
907
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Range(output, sizeof(output), &input3,
908
+ &out_len), NULL);
909
+ zassert_equal(sizeof(exp_payload_range3), out_len, NULL);
910
+ zassert_mem_equal(exp_payload_range3, output, sizeof(exp_payload_range3), NULL);
911
+
912
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Range(output, sizeof(output), &input4,
913
+ &out_len), NULL);
914
+ zassert_equal(sizeof(exp_payload_range4), out_len, NULL);
915
+ zassert_mem_equal(exp_payload_range4, output, sizeof(exp_payload_range4), NULL);
916
+
917
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_Range(output, sizeof(output), &input5_inv,
918
+ &out_len), NULL);
919
+ }
920
+
921
+ ZTEST(cbor_encode_test3, test_value_range)
922
+ {
923
+ const uint8_t exp_payload_value_range1[] = {LIST(6),
924
+ 11,
925
+ 0x19, 0x03, 0xe7, // 999
926
+ 0x29, // -10
927
+ 1,
928
+ 0x18, 42, // 42
929
+ 0x65, 'w', 'o', 'r', 'l', 'd', // "world"
930
+ END
931
+ };
932
+
933
+ const uint8_t exp_payload_value_range2[] = {LIST(6),
934
+ 0x18, 100, // 100
935
+ 0x39, 0x03, 0xe8, // -1001
936
+ 0x18, 100, // 100
937
+ 0,
938
+ 0x18, 42, // 42
939
+ 0x65, 'w', 'o', 'r', 'l', 'd', // "world"
940
+ END
941
+ };
942
+
943
+ struct ValueRange input1 = {
944
+ .greater10 = 11,
945
+ .less1000 = 999,
946
+ .greatereqmin10 = -10,
947
+ .lesseq1 = 1,
948
+ };
949
+ struct ValueRange input2 = {
950
+ .greater10 = 100,
951
+ .less1000 = -1001,
952
+ .greatereqmin10 = 100,
953
+ .lesseq1 = 0,
954
+ };
955
+ struct ValueRange input3_inval = {
956
+ .greater10 = 10,
957
+ .less1000 = 999,
958
+ .greatereqmin10 = -10,
959
+ .lesseq1 = 1,
960
+ };
961
+ struct ValueRange input4_inval = {
962
+ .greater10 = 11,
963
+ .less1000 = 1000,
964
+ .greatereqmin10 = -10,
965
+ .lesseq1 = 1,
966
+ };
967
+ struct ValueRange input5_inval = {
968
+ .greater10 = 11,
969
+ .less1000 = 999,
970
+ .greatereqmin10 = -11,
971
+ .lesseq1 = 1,
972
+ };
973
+ struct ValueRange input6_inval = {
974
+ .greater10 = 11,
975
+ .less1000 = 999,
976
+ .greatereqmin10 = -10,
977
+ .lesseq1 = 2,
978
+ };
979
+ struct ValueRange input7_inval = {
980
+ .greater10 = 1,
981
+ .less1000 = 999,
982
+ .greatereqmin10 = -10,
983
+ .lesseq1 = 1,
984
+ };
985
+ struct ValueRange input8_inval = {
986
+ .greater10 = 11,
987
+ .less1000 = 10000,
988
+ .greatereqmin10 = -10,
989
+ .lesseq1 = 1,
990
+ };
991
+ struct ValueRange input9_inval = {
992
+ .greater10 = 11,
993
+ .less1000 = 999,
994
+ .greatereqmin10 = -100,
995
+ .lesseq1 = 1,
996
+ };
997
+ struct ValueRange input10_inval = {
998
+ .greater10 = 11,
999
+ .less1000 = 999,
1000
+ .greatereqmin10 = -10,
1001
+ .lesseq1 = 21,
1002
+ };
1003
+
1004
+ uint8_t output[25];
1005
+ size_t out_len;
1006
+
1007
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_ValueRange(output, sizeof(output), &input1,
1008
+ &out_len), NULL);
1009
+ zassert_equal(sizeof(exp_payload_value_range1), out_len, NULL);
1010
+ zassert_mem_equal(exp_payload_value_range1, output, sizeof(exp_payload_value_range1), NULL);
1011
+
1012
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_ValueRange(output, sizeof(output), &input2,
1013
+ &out_len), NULL);
1014
+ zassert_equal(sizeof(exp_payload_value_range2), out_len, NULL);
1015
+ zassert_mem_equal(exp_payload_value_range2, output, sizeof(exp_payload_value_range2), NULL);
1016
+
1017
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input3_inval,
1018
+ &out_len), NULL);
1019
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input4_inval,
1020
+ &out_len), NULL);
1021
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input5_inval,
1022
+ &out_len), NULL);
1023
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input6_inval,
1024
+ &out_len), NULL);
1025
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input7_inval,
1026
+ &out_len), NULL);
1027
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input8_inval,
1028
+ &out_len), NULL);
1029
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input9_inval,
1030
+ &out_len), NULL);
1031
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_ValueRange(output, sizeof(output), &input10_inval,
1032
+ &out_len), NULL);
1033
+ }
1034
+
1035
+ ZTEST(cbor_encode_test3, test_single)
1036
+ {
1037
+ uint8_t exp_payload_single0[] = {0x45, 'h', 'e', 'l', 'l', 'o'};
1038
+ uint8_t exp_payload_single1[] = {0x18, 52,};
1039
+ uint8_t exp_payload_single2[] = {9};
1040
+ uint8_t output[10];
1041
+ size_t out_len;
1042
+ struct zcbor_string input_single0 = {
1043
+ .value = "hello",
1044
+ .len = 5
1045
+ };
1046
+ size_t input_single1 = 52;
1047
+ size_t input_single2_ign = 53;
1048
+ size_t input_single3 = 9;
1049
+ size_t input_single4_inv = 10;
1050
+
1051
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_SingleBstr(output, sizeof(output), &input_single0, &out_len), NULL);
1052
+ zassert_equal(sizeof(exp_payload_single0), out_len, NULL);
1053
+ zassert_mem_equal(exp_payload_single0, output, sizeof(exp_payload_single0), NULL);
1054
+ zassert_equal(ZCBOR_ERR_NO_PAYLOAD, cbor_encode_SingleBstr(output, 5, &input_single0, &out_len), NULL);
1055
+
1056
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_SingleInt_uint52(output, sizeof(output), &input_single1, &out_len), NULL);
1057
+ zassert_equal(sizeof(exp_payload_single1), out_len, NULL);
1058
+ zassert_mem_equal(exp_payload_single1, output, sizeof(exp_payload_single1), NULL);
1059
+ zassert_equal(ZCBOR_ERR_NO_PAYLOAD, cbor_encode_SingleInt_uint52(output, 1, &input_single1, &out_len), NULL);
1060
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_SingleInt_uint52(output, sizeof(output), &input_single2_ign, &out_len), NULL);
1061
+ zassert_equal(sizeof(exp_payload_single1), out_len, NULL);
1062
+ zassert_mem_equal(exp_payload_single1, output, sizeof(exp_payload_single1), NULL);
1063
+
1064
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_SingleInt2(output, sizeof(output), &input_single3, &out_len), NULL);
1065
+ zassert_equal(sizeof(exp_payload_single2), out_len, NULL);
1066
+ zassert_mem_equal(exp_payload_single2, output, sizeof(exp_payload_single2), NULL);
1067
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_SingleInt2(output, sizeof(output), &input_single4_inv, &out_len), NULL);
1068
+ }
1069
+
1070
+ ZTEST(cbor_encode_test3, test_unabstracted)
1071
+ {
1072
+ uint8_t exp_payload_unabstracted0[] = {LIST(2), 0x01, 0x03, END};
1073
+ uint8_t exp_payload_unabstracted1[] = {LIST(2), 0x02, 0x04, END};
1074
+ struct Unabstracted result_unabstracted0 = {
1075
+ .unabstractedunion1_choice = _Unabstracted_unabstractedunion1_choice1,
1076
+ .unabstractedunion2_choice = _Unabstracted_unabstractedunion2_uint3,
1077
+ };
1078
+ struct Unabstracted result_unabstracted1 = {
1079
+ .unabstractedunion1_choice = _Unabstracted_unabstractedunion1_choice2,
1080
+ .unabstractedunion2_choice = _Unabstracted_unabstractedunion2_choice4,
1081
+ };
1082
+ uint8_t output[4];
1083
+ size_t out_len;
1084
+
1085
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Unabstracted(output, sizeof(output),
1086
+ &result_unabstracted0, &out_len), NULL);
1087
+ zassert_equal(sizeof(exp_payload_unabstracted0), out_len, "was %d\n", out_len);
1088
+ zassert_mem_equal(exp_payload_unabstracted0, output, sizeof(exp_payload_unabstracted0), NULL);
1089
+
1090
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Unabstracted(output, sizeof(output),
1091
+ &result_unabstracted1, &out_len), NULL);
1092
+ zassert_equal(sizeof(exp_payload_unabstracted1), out_len, NULL);
1093
+ zassert_mem_equal(exp_payload_unabstracted1, output, sizeof(exp_payload_unabstracted1), NULL);
1094
+ }
1095
+
1096
+ ZTEST(cbor_encode_test3, test_string_overflow)
1097
+ {
1098
+ struct zcbor_string input_overflow0 = {
1099
+ .value = "",
1100
+ .len = 0xFFFFFF00, /* overflows to before this object. */
1101
+ };
1102
+ uint8_t output[10];
1103
+ size_t out_len;
1104
+
1105
+ zassert_equal(ZCBOR_ERR_NO_PAYLOAD, cbor_encode_SingleBstr(output, sizeof(output), &input_overflow0, &out_len), NULL);
1106
+ }
1107
+
1108
+ ZTEST(cbor_encode_test3, test_quantity_range)
1109
+ {
1110
+ uint8_t exp_payload_qty_range1[] = {0xF5, 0xF5, 0xF5};
1111
+ uint8_t exp_payload_qty_range2[] = {0xF6, 0xF6, 0xF6, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5};
1112
+ struct QuantityRange result_qty_range1 = {
1113
+ .upto4nils_count = 0,
1114
+ .from3true_count = 3,
1115
+ };
1116
+ struct QuantityRange result_qty_range2 = {
1117
+ .upto4nils_count = 4,
1118
+ .from3true_count = 6,
1119
+ };
1120
+ struct QuantityRange result_qty_range3_inv = {
1121
+ .upto4nils_count = 5,
1122
+ .from3true_count = 3
1123
+ };
1124
+ struct QuantityRange result_qty_range4_inv = {
1125
+ .upto4nils_count = 0,
1126
+ .from3true_count = 2
1127
+ };
1128
+ uint8_t output[12];
1129
+ size_t out_len;
1130
+
1131
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_QuantityRange(output, sizeof(output),
1132
+ &result_qty_range1, &out_len), NULL);
1133
+ zassert_equal(sizeof(exp_payload_qty_range1), out_len, "was %d\n", out_len);
1134
+ zassert_mem_equal(exp_payload_qty_range1, output, sizeof(exp_payload_qty_range1), NULL);
1135
+
1136
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_QuantityRange(output, sizeof(output),
1137
+ &result_qty_range2, &out_len), NULL);
1138
+ zassert_equal(sizeof(exp_payload_qty_range2), out_len, "was %d\n", out_len);
1139
+ zassert_mem_equal(exp_payload_qty_range2, output, sizeof(exp_payload_qty_range2), NULL);
1140
+
1141
+ zassert_equal(ZCBOR_ERR_ITERATIONS, cbor_encode_QuantityRange(output, sizeof(output),
1142
+ &result_qty_range3_inv, &out_len), NULL);
1143
+
1144
+ zassert_equal(ZCBOR_ERR_ITERATIONS, cbor_encode_QuantityRange(output, sizeof(output),
1145
+ &result_qty_range4_inv, &out_len), NULL);
1146
+ }
1147
+
1148
+ ZTEST(cbor_encode_test3, test_doublemap)
1149
+ {
1150
+ uint8_t exp_payload_doublemap0[] = {MAP(2), 0x01, MAP(1), 0x01, 0x01, END 0x02, MAP(1), 0x02, 0x02, END END};
1151
+ struct DoubleMap result_doublemap = {
1152
+ .uintmap_count = 2,
1153
+ .uintmap = {
1154
+ {
1155
+ .uintmap_key = 1,
1156
+ ._MyKeys = {
1157
+ .uint1int_present = true,
1158
+ .uint1int = {.uint1int = 1},
1159
+ }
1160
+ },
1161
+ {
1162
+ .uintmap_key = 2,
1163
+ ._MyKeys = {
1164
+ .uint2int_present = true,
1165
+ .uint2int = {.uint2int = 2},
1166
+ }
1167
+ },
1168
+ }
1169
+ };
1170
+ uint8_t output[20];
1171
+ size_t out_len;
1172
+
1173
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_DoubleMap(output,
1174
+ sizeof(output),
1175
+ &result_doublemap, &out_len), NULL);
1176
+ zassert_equal(out_len, sizeof(exp_payload_doublemap0), "%d != %d\n",
1177
+ out_len, sizeof(exp_payload_doublemap0));
1178
+ zassert_mem_equal(exp_payload_doublemap0, output, out_len, NULL);
1179
+ }
1180
+
1181
+ ZTEST(cbor_encode_test3, test_floats)
1182
+ {
1183
+ uint8_t exp_floats_payload1[] = {LIST(5), 0xF9, 0, 0, /* 0.0 */
1184
+ 0xFA, 0, 0, 0, 0 /* 0.0 */,
1185
+ 0xFB, 0, 0, 0, 0, 0, 0, 0, 0 /* 0.0 */,
1186
+ 0xFB, 0x40, 0x9, 0x21, 0xca, 0xc0, 0x83, 0x12, 0x6f /* 3.1415 */,
1187
+ 0xFB, 0x40, 0x5, 0xbf, 0x9, 0x95, 0xaa, 0xf7, 0x90 /* 2.71828 */,
1188
+ END
1189
+ };
1190
+ uint8_t exp_floats_payload2[] = {LIST(5), 0xF9, 0x42, 0x48, /* 3.1415 */
1191
+ 0xFA, 0xc7, 0xc0, 0xe6, 0xb7 /* -98765.4321 */,
1192
+ 0xFB, 0x41, 0x32, 0xd6, 0x87, 0xe3, 0xd7, 0xa, 0x3d /* 1234567.89 */,
1193
+ 0xFB, 0x40, 0x9, 0x21, 0xca, 0xc0, 0x83, 0x12, 0x6f /* 3.1415 */,
1194
+ 0xFB, 0x40, 0x5, 0xbf, 0x9, 0x95, 0xaa, 0xf7, 0x90 /* 2.71828 */,
1195
+ END
1196
+ };
1197
+
1198
+ uint8_t exp_floats_payload3[] = {LIST(5), 0xF9, 0xfc, 0x0, /* -98765.4321 (-infinity) */
1199
+ 0xFA, 0x49, 0x96, 0xb4, 0x3f /* 1234567.89 */,
1200
+ 0xFB, 0xc0, 0xf8, 0x1c, 0xd6, 0xe9, 0xe1, 0xb0, 0x8a /* -98765.4321 */,
1201
+ 0xFB, 0x40, 0x9, 0x21, 0xca, 0xc0, 0x83, 0x12, 0x6f /* 3.1415 */,
1202
+ 0xFB, 0x40, 0x5, 0xbf, 0x9, 0x95, 0xaa, 0xf7, 0x90 /* 2.71828 */,
1203
+ END
1204
+ };
1205
+
1206
+ uint8_t exp_floats_payload4[] = {LIST(8), 0xF9, 0x42, 0x48, /* 3.1415 */
1207
+ 0xFA, 0x49, 0x96, 0xb4, 0x3f /* 1234567.89 */,
1208
+ 0xFB, 0xc0, 0xf8, 0x1c, 0xd6, 0xe9, 0xe1, 0xb0, 0x8a /* -98765.4321 */,
1209
+ 0xFB, 0x40, 0x9, 0x21, 0xca, 0xc0, 0x83, 0x12, 0x6f /* 3.1415 */,
1210
+ 0xFB, 0x40, 0x5, 0xbf, 0x9, 0x95, 0xaa, 0xf7, 0x90 /* 2.71828 */,
1211
+ 0xFB, 0x3f, 0x31, 0xa5, 0x9d, 0xe0, 0x0, 0x0, 0x0 /* 123/456789 */,
1212
+ 0xFB, 0x3f, 0x31, 0xa5, 0x9d, 0xd9, 0x57, 0x14, 0x64 /* 123/456789 */,
1213
+ 0xFB, 0xbd, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* -2^(-42) */,
1214
+ END
1215
+ };
1216
+
1217
+ struct Floats input;
1218
+ size_t num_encode;
1219
+ uint8_t output[70];
1220
+
1221
+ input.float_16 = (float)0.0;
1222
+ input.float_32 = (float)0.0;
1223
+ input.float_64 = (double)0.0;
1224
+ input.floats_count = 0;
1225
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats(
1226
+ output, sizeof(output), &input, &num_encode), NULL);
1227
+
1228
+ zassert_equal(sizeof(exp_floats_payload1), num_encode, NULL);
1229
+ zassert_mem_equal(exp_floats_payload1, output, num_encode, NULL);
1230
+
1231
+ input.float_16 = (float)3.1415;
1232
+ input.float_32 = (float)-98765.4321;
1233
+ input.float_64 = (double)1234567.89;
1234
+ input.floats_count = 0;
1235
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats(
1236
+ output, sizeof(output), &input, &num_encode), NULL);
1237
+ zassert_equal(sizeof(exp_floats_payload2), num_encode, NULL);
1238
+ zassert_mem_equal(exp_floats_payload2, output, num_encode, NULL);
1239
+
1240
+ input.float_16 = (float)-98765.4321;
1241
+ input.float_32 = (float)1234567.89;
1242
+ input.float_64 = (double)-98765.4321;
1243
+ input.floats_count = 0;
1244
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats(
1245
+ output, sizeof(output), &input, &num_encode), NULL);
1246
+ zassert_equal(sizeof(exp_floats_payload3), num_encode, NULL);
1247
+ zassert_mem_equal(exp_floats_payload3, output, num_encode, NULL);
1248
+
1249
+ input.float_16 = (float)3.1415;
1250
+ input.float_32 = (float)1234567.89;
1251
+ input.float_64 = (double)-98765.4321;
1252
+ input.floats_count = 3;
1253
+ input.floats[0] = (float)(123.0/456789.0);
1254
+ input.floats[1] = (double)(123.0/456789.0);
1255
+ input.floats[2] = (double)(-1.0/(1LL << 42));
1256
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats(
1257
+ output, sizeof(output), &input, &num_encode), NULL);
1258
+ zassert_equal(sizeof(exp_floats_payload4), num_encode, NULL);
1259
+ zassert_mem_equal(exp_floats_payload4, output, num_encode, NULL);
1260
+
1261
+ }
1262
+
1263
+
1264
+ /* Test using ranges (greater/less than) on floats. */
1265
+ ZTEST(cbor_encode_test3, test_floats2)
1266
+ {
1267
+ uint8_t exp_floats2_payload1[] = {LIST(2),
1268
+ 0xFB, 0xc0, 0xf8, 0x1c, 0xd6, 0xe9, 0xe1, 0xb0, 0x8a /* -98765.4321 */,
1269
+ 0xFB, 0xbd, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* -2^(-42) */,
1270
+ END
1271
+ };
1272
+ uint8_t exp_floats2_payload2[] = {LIST(2),
1273
+ 0xFB, 0xbd, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* -2^(-42) */,
1274
+ 0xFB, 0xc0, 0xc3, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0 /* -10000 */,
1275
+ END
1276
+ };
1277
+ size_t num_encode;
1278
+ struct Floats2 input;
1279
+ uint8_t output[40];
1280
+
1281
+ input.float_lt_1 = -98765.4321;
1282
+ input.float_ge_min_10000 = (-1.0/(1LL << 42));
1283
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats2(
1284
+ output, sizeof(output), &input, &num_encode), NULL);
1285
+ zassert_equal(sizeof(exp_floats2_payload1), num_encode, NULL);
1286
+ zassert_mem_equal(exp_floats2_payload1, output, num_encode, NULL);
1287
+
1288
+ input.float_lt_1 = (-1.0/(1LL << 42));
1289
+ input.float_ge_min_10000 = -10000;
1290
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Floats2(
1291
+ output, sizeof(output), &input, &num_encode), NULL);
1292
+ zassert_equal(sizeof(exp_floats2_payload2), num_encode, NULL);
1293
+ zassert_mem_equal(exp_floats2_payload2, output, num_encode, NULL);
1294
+ }
1295
+
1296
+ ZTEST(cbor_encode_test3, test_cbor_bstr)
1297
+ {
1298
+ uint8_t exp_cbor_bstr_payload1[] = {
1299
+ #ifdef ZCBOR_CANONICAL
1300
+ 0x58, 33,
1301
+ #else
1302
+ 0x58, 34,
1303
+ #endif
1304
+ LIST(4),
1305
+ 0x46, 0x65, 'H', 'e', 'l', 'l', 'o',
1306
+ 0x49, 0xFB, 0x40, 0x9, 0x21, 0xca, 0xc0, 0x83, 0x12, 0x6f /* 3.1415 */,
1307
+ 0x4C, 0xC2, 0x4A, 0x42, 2, 3, 4, 5, 6, 7, 8, 9, 10 /* 0x4202030405060708090A */,
1308
+ 0x41, 0xF6 /* nil */,
1309
+ END
1310
+ };
1311
+
1312
+ struct CBORBstr input = {0};
1313
+ size_t num_encode;
1314
+ uint8_t output[70];
1315
+
1316
+ input.big_uint_bstr_cbor.value = (uint8_t []){0x42, 2, 3, 4, 5, 6, 7, 8, 9, 10};
1317
+ input.big_uint_bstr_cbor.len = 10;
1318
+
1319
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_CBORBstr(output, sizeof(output), &input, &num_encode), NULL);
1320
+
1321
+ zassert_equal(sizeof(exp_cbor_bstr_payload1), num_encode, "%d != %d\r\n", sizeof(exp_cbor_bstr_payload1), num_encode);
1322
+ zassert_mem_equal(exp_cbor_bstr_payload1, output, num_encode, NULL);
1323
+ }
1324
+
1325
+
1326
+ ZTEST(cbor_encode_test3, test_map_length)
1327
+ {
1328
+ uint8_t exp_map_length_payload1[] = {MAP(2),
1329
+ 0x61, 'r', 0x01,
1330
+ 0x61, 'm', 0x46, 1, 2, 3, 4, 5, 6, END
1331
+ };
1332
+ uint8_t exp_map_length_payload2[] = {MAP(3),
1333
+ 0x61, 'r', 0x01,
1334
+ 0x61, 'm', 0x46, 1, 2, 3, 4, 5, 6,
1335
+ 0x61, 'e', LIST(0), END END
1336
+ };
1337
+ uint8_t exp_map_length_payload3[] = {MAP(3),
1338
+ 0x61, 'r', 0x01,
1339
+ 0x61, 'm', 0x46, 1, 2, 3, 4, 5, 6,
1340
+ 0x61, 'e', LIST(1), 0x50, 8, 7, 6, 5, 4, 3, 2, 1, 8, 7, 6, 5, 4, 3, 2, 1, END END
1341
+ };
1342
+ uint8_t exp_map_length_payload4[] = {MAP(3),
1343
+ 0x61, 'r', 0x01,
1344
+ 0x61, 'm', 0x46, 1, 2, 3, 4, 5, 6,
1345
+ 0x61, 'e', LIST(2), 0x50, 8, 7, 6, 5, 4, 3, 2, 1, 8, 7, 6, 5, 4, 3, 2, 1,
1346
+ 0x50, 8, 7, 6, 5, 4, 3, 2, 1, 8, 7, 6, 5, 4, 3, 2, 1, END END
1347
+ };
1348
+
1349
+ struct MapLength input;
1350
+ size_t num_encode;
1351
+ uint8_t output[60];
1352
+
1353
+ uint8_t mac[] = {1, 2, 3, 4, 5, 6};
1354
+ uint8_t uuid[] = {8, 7, 6, 5, 4, 3, 2, 1, 8, 7, 6, 5, 4, 3, 2, 1, 0};
1355
+
1356
+ input.result = 1;
1357
+ input.mac_addr.len = 6;
1358
+ input.mac_addr.value = mac;
1359
+ input.end_device_array_present = false;
1360
+
1361
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_MapLength(output,
1362
+ sizeof(output), &input, &num_encode), NULL);
1363
+ zassert_equal(sizeof(exp_map_length_payload1), num_encode, "%d != %d\r\n", sizeof(exp_map_length_payload1), num_encode);
1364
+ zassert_mem_equal(exp_map_length_payload1, output, num_encode, NULL);
1365
+
1366
+ input.end_device_array_present = true;
1367
+ input.end_device_array._uuid_count = 0;
1368
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_MapLength(output,
1369
+ sizeof(output), &input, &num_encode), NULL);
1370
+ zassert_equal(sizeof(exp_map_length_payload2), num_encode, "%d != %d\r\n", sizeof(exp_map_length_payload2), num_encode);
1371
+ zassert_mem_equal(exp_map_length_payload2, output, num_encode, NULL);
1372
+
1373
+ input.end_device_array._uuid_count = 1;
1374
+ input.end_device_array._uuid[0].len = 16;
1375
+ input.end_device_array._uuid[0].value = uuid;
1376
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_MapLength(output,
1377
+ sizeof(output), &input, &num_encode), NULL);
1378
+ zassert_equal(sizeof(exp_map_length_payload3), num_encode, "%d != %d\r\n", sizeof(exp_map_length_payload3), num_encode);
1379
+ zassert_mem_equal(exp_map_length_payload3, output, num_encode, NULL);
1380
+
1381
+ input.end_device_array._uuid_count = 2;
1382
+ input.end_device_array._uuid[1].len = 16;
1383
+ input.end_device_array._uuid[1].value = uuid;
1384
+ int err = cbor_encode_MapLength(output,
1385
+ sizeof(output), &input, &num_encode);
1386
+ zassert_equal(ZCBOR_SUCCESS, err, "%d\r\b", err);
1387
+ zassert_equal(sizeof(exp_map_length_payload4), num_encode, "%d != %d\r\n", sizeof(exp_map_length_payload4), num_encode);
1388
+ zassert_mem_equal(exp_map_length_payload4, output, num_encode, NULL);
1389
+
1390
+ input.mac_addr.len--;
1391
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, cbor_encode_MapLength(output,
1392
+ sizeof(output), &input, &num_encode), NULL);
1393
+
1394
+ input.mac_addr.len++;
1395
+ input.end_device_array._uuid[1].len++;
1396
+ err = cbor_encode_MapLength(output,
1397
+ sizeof(output), &input, &num_encode);
1398
+ zassert_equal(ZCBOR_ERR_WRONG_RANGE, err, "%d\r\b", err);
1399
+ }
1400
+
1401
+
1402
+ ZTEST(cbor_encode_test3, test_union_int)
1403
+ {
1404
+ uint8_t exp_union_int_payload1[] = {LIST(2),
1405
+ 0x05, 0x6E, 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 'f', 'i', 'v', 'e',
1406
+ END
1407
+ };
1408
+ uint8_t exp_union_int_payload2[] = {LIST(2),
1409
+ 0x19, 0x03, 0xE8, 0x50, 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 't', 'h', 'o', 'u', 's', 'a', 'n', 'd',
1410
+ END
1411
+ };
1412
+ uint8_t exp_union_int_payload3[] = {LIST(3),
1413
+ 0x3A, 0x00, 0x01, 0x86, 0x9F, 0xF6, 0x01,
1414
+ END
1415
+ };
1416
+ uint8_t exp_union_int_payload4[] = {LIST(2),
1417
+ 0x01, 0x42, 'h', 'i',
1418
+ END
1419
+ };
1420
+ struct UnionInt2 input;
1421
+ size_t num_encode;
1422
+ uint8_t output[60];
1423
+
1424
+ input.union_choice = _union__uint5;
1425
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_UnionInt2(output, sizeof(output),
1426
+ &input, &num_encode), NULL);
1427
+ zassert_equal(sizeof(exp_union_int_payload1), num_encode, NULL);
1428
+ zassert_mem_equal(exp_union_int_payload1, output, num_encode, NULL);
1429
+
1430
+ input.union_choice = _union__uint1000;
1431
+ input.bstr.len = 16;
1432
+ input.bstr.value = (uint8_t *)&"This is thousand";
1433
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_UnionInt2(output, sizeof(output),
1434
+ &input, &num_encode), NULL);
1435
+ zassert_equal(sizeof(exp_union_int_payload2), num_encode, NULL);
1436
+ zassert_mem_equal(exp_union_int_payload2, output, num_encode, NULL);
1437
+
1438
+ input.union_choice = _union__nint;
1439
+ input._number.number_choice = _number_int;
1440
+ input._number._int = 1;
1441
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_UnionInt2(output, sizeof(output),
1442
+ &input, &num_encode), NULL);
1443
+ zassert_equal(sizeof(exp_union_int_payload3), num_encode, NULL);
1444
+ zassert_mem_equal(exp_union_int_payload3, output, num_encode, NULL);
1445
+
1446
+ input.union_choice = _UnionInt2_union__Structure_One;
1447
+ input._Structure_One.some_array.value = (uint8_t *)&"hi";
1448
+ input._Structure_One.some_array.len = 2;
1449
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_UnionInt2(output, sizeof(output),
1450
+ &input, &num_encode), NULL);
1451
+ zassert_equal(sizeof(exp_union_int_payload4), num_encode, NULL);
1452
+ zassert_mem_equal(exp_union_int_payload4, output, num_encode, NULL);
1453
+ }
1454
+
1455
+
1456
+ ZTEST(cbor_encode_test3, test_intmax)
1457
+ {
1458
+ uint8_t exp_intmax1_payload1[] = {LIST(C),
1459
+ 0x38, 0x7F, 0x18, 0x7F, 0x18, 0xFF,
1460
+ 0x39, 0x7F, 0xFF,
1461
+ 0x19, 0x7F, 0xFF,
1462
+ 0x19, 0xFF, 0xFF,
1463
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF,
1464
+ 0x1A, 0x7F, 0xFF, 0xFF, 0xFF,
1465
+ 0x1A, 0xFF, 0xFF, 0xFF, 0xFF,
1466
+ 0x3B, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1467
+ 0x1B, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1468
+ 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1469
+ END
1470
+ };
1471
+ uint8_t exp_intmax2_payload1[] = {LIST(8),
1472
+ 0x38, 0x7F, 0x0,
1473
+ 0x39, 0x7F, 0xFF,
1474
+ 0x0,
1475
+ 0x3A, 0x7F, 0xFF, 0xFF, 0xFF,
1476
+ 0x0,
1477
+ 0x3B, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1478
+ 0x0,
1479
+ END
1480
+ };
1481
+ uint8_t exp_intmax2_payload2[] = {LIST(8),
1482
+ 0x18, 0x7F, 0x18, 0xFF,
1483
+ 0x19, 0x7F, 0xFF,
1484
+ 0x19, 0xFF, 0xFF,
1485
+ 0x1A, 0x7F, 0xFF, 0xFF, 0xFF,
1486
+ 0x1A, 0xFF, 0xFF, 0xFF, 0xFF,
1487
+ 0x1B, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1488
+ 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1489
+ END
1490
+ };
1491
+ struct Intmax2 intput2;
1492
+ size_t num_encode;
1493
+ uint8_t output[60];
1494
+
1495
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Intmax1(output,
1496
+ sizeof(output), NULL, &num_encode), NULL);
1497
+ zassert_equal(sizeof(exp_intmax1_payload1), num_encode, NULL);
1498
+ zassert_mem_equal(exp_intmax1_payload1, output, num_encode, NULL);
1499
+
1500
+ intput2.INT_8 = INT8_MIN;
1501
+ intput2.UINT_8 = 0;
1502
+ intput2.INT_16 = INT16_MIN;
1503
+ intput2.UINT_16 = 0;
1504
+ intput2.INT_32 = INT32_MIN;
1505
+ intput2.UINT_32 = 0;
1506
+ intput2.INT_64 = INT64_MIN;
1507
+ intput2.UINT_64 = 0;
1508
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Intmax2(output,
1509
+ sizeof(output), &intput2, &num_encode), NULL);
1510
+ zassert_equal(sizeof(exp_intmax2_payload1), num_encode, NULL);
1511
+ zassert_mem_equal(exp_intmax2_payload1, output, num_encode, NULL);
1512
+
1513
+ intput2.INT_8 = INT8_MAX;
1514
+ intput2.UINT_8 = UINT8_MAX;
1515
+ intput2.INT_16 = INT16_MAX;
1516
+ intput2.UINT_16 = UINT16_MAX;
1517
+ intput2.INT_32 = INT32_MAX;
1518
+ intput2.UINT_32 = UINT32_MAX;
1519
+ intput2.INT_64 = INT64_MAX;
1520
+ intput2.UINT_64 = UINT64_MAX;
1521
+ zassert_equal(ZCBOR_SUCCESS, cbor_encode_Intmax2(output,
1522
+ sizeof(output), &intput2, &num_encode), NULL);
1523
+ zassert_equal(sizeof(exp_intmax2_payload2), num_encode, NULL);
1524
+ zassert_mem_equal(exp_intmax2_payload2, output, num_encode, NULL);
1525
+ }
1526
+
1527
+ ZTEST_SUITE(cbor_encode_test3, NULL, NULL, NULL, NULL, NULL);