LCOV - code coverage report
Current view: top level - src/cbor - edhoc_decode_plaintext2.c (source / functions) Hit Total Coverage
Test: lcov.info Lines: 70 74 94.6 %
Date: 2024-09-16 20:15:30 Functions: 12 12 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 38 110 34.5 %

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * Generated using zcbor version 0.8.99
       3                 :            :  * https://github.com/NordicSemiconductor/zcbor
       4                 :            :  * Generated with a --default-max-qty of 3
       5                 :            :  */
       6                 :            : 
       7                 :            : #include <stdint.h>
       8                 :            : #include <stdbool.h>
       9                 :            : #include <stddef.h>
      10                 :            : #include <string.h>
      11                 :            : #include "zcbor_decode.h"
      12                 :            : #include "cbor/edhoc_decode_plaintext2.h"
      13                 :            : #include "zcbor_print.h"
      14                 :            : 
      15                 :            : #if DEFAULT_MAX_QTY != 3
      16                 :            : #error "The type file was generated with a different default_max_qty than this file"
      17                 :            : #endif
      18                 :            : 
      19                 :            : static bool decode_repeated_map2_kid(zcbor_state_t *state, struct map2_kid_r *result);
      20                 :            : static bool decode_repeated_map2_x5bag(zcbor_state_t *state, struct map2_x5bag *result);
      21                 :            : static bool decode_repeated_map2_x5chain(zcbor_state_t *state, struct map2_x5chain *result);
      22                 :            : static bool decode_repeated_map2_x5t(zcbor_state_t *state, struct map2_x5t_r *result);
      23                 :            : static bool decode_repeated_map2_x5u(zcbor_state_t *state, struct map2_x5u *result);
      24                 :            : static bool decode_repeated_map2_c5b(zcbor_state_t *state, struct map2_c5b *result);
      25                 :            : static bool decode_repeated_map2_c5c(zcbor_state_t *state, struct map2_c5c *result);
      26                 :            : static bool decode_repeated_map2_c5t(zcbor_state_t *state, struct map2_c5t_r *result);
      27                 :            : static bool decode_repeated_map2_c5u(zcbor_state_t *state, struct map2_c5u *result);
      28                 :            : static bool decode_map2(zcbor_state_t *state, struct map2 *result);
      29                 :            : static bool decode_ptxt2(zcbor_state_t *state, struct ptxt2 *result);
      30                 :            : 
      31                 :            : 
      32                 :          3 : static bool decode_repeated_map2_kid(
      33                 :            :                 zcbor_state_t *state, struct map2_kid_r *result)
      34                 :            : {
      35                 :            :         zcbor_log("%s\r\n", __func__);
      36                 :            :         bool int_res;
      37                 :            : 
      38                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (4))))
      39   [ -  +  -  -  :          3 :         && (zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).map2_kid_int)))) && (((*result).map2_kid_choice = map2_kid_int_c), true))
                   -  - ]
      40   [ #  #  #  # ]:          0 :         || (((zcbor_bstr_decode(state, (&(*result).map2_kid_bstr)))) && (((*result).map2_kid_choice = map2_kid_bstr_c), true))), zcbor_union_end_code(state), int_res))));
      41                 :            : 
      42                 :          3 :         if (!tmp_result) {
      43                 :            :                 zcbor_trace_file(state);
      44                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
      45                 :            :         } else {
      46                 :            :                 zcbor_log("%s success\r\n", __func__);
      47                 :            :         }
      48                 :            : 
      49                 :          3 :         return tmp_result;
      50                 :            : }
      51                 :            : 
      52                 :          3 : static bool decode_repeated_map2_x5bag(
      53                 :            :                 zcbor_state_t *state, struct map2_x5bag *result)
      54                 :            : {
      55                 :            :         zcbor_log("%s\r\n", __func__);
      56                 :            : 
      57                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (32))))
      58   [ -  +  -  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_x5bag)))));
      59                 :            : 
      60                 :          3 :         if (!tmp_result) {
      61                 :            :                 zcbor_trace_file(state);
      62                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
      63                 :            :         } else {
      64                 :            :                 zcbor_log("%s success\r\n", __func__);
      65                 :            :         }
      66                 :            : 
      67                 :          3 :         return tmp_result;
      68                 :            : }
      69                 :            : 
      70                 :          3 : static bool decode_repeated_map2_x5chain(
      71                 :            :                 zcbor_state_t *state, struct map2_x5chain *result)
      72                 :            : {
      73                 :            :         zcbor_log("%s\r\n", __func__);
      74                 :            : 
      75                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (33))))
      76   [ +  +  +  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_x5chain)))));
      77                 :            : 
      78                 :          3 :         if (!tmp_result) {
      79                 :            :                 zcbor_trace_file(state);
      80                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
      81                 :            :         } else {
      82                 :            :                 zcbor_log("%s success\r\n", __func__);
      83                 :            :         }
      84                 :            : 
      85                 :          3 :         return tmp_result;
      86                 :            : }
      87                 :            : 
      88                 :          3 : static bool decode_repeated_map2_x5t(
      89                 :            :                 zcbor_state_t *state, struct map2_x5t_r *result)
      90                 :            : {
      91                 :            :         zcbor_log("%s\r\n", __func__);
      92                 :            :         bool int_res;
      93                 :            : 
      94                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (34))))
      95   [ +  +  +  -  :          9 :         && (zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).map2_x5t_alg_int)))) && (((*result).map2_x5t_alg_choice = map2_x5t_alg_int_c), true))
             +  -  +  - ]
      96   [ +  -  -  - ]:          4 :         || (((zcbor_tstr_decode(state, (&(*result).map2_x5t_alg_tstr)))) && (((*result).map2_x5t_alg_choice = map2_x5t_alg_tstr_c), true))), zcbor_union_end_code(state), int_res)))
      97   [ -  +  +  - ]:          2 :         && ((zcbor_bstr_decode(state, (&(*result).map2_x5t_hash))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
      98                 :            : 
      99                 :          3 :         if (!tmp_result) {
     100                 :            :                 zcbor_trace_file(state);
     101                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     102                 :            :         } else {
     103                 :            :                 zcbor_log("%s success\r\n", __func__);
     104                 :            :         }
     105                 :            : 
     106                 :          3 :         return tmp_result;
     107                 :            : }
     108                 :            : 
     109                 :          3 : static bool decode_repeated_map2_x5u(
     110                 :            :                 zcbor_state_t *state, struct map2_x5u *result)
     111                 :            : {
     112                 :            :         zcbor_log("%s\r\n", __func__);
     113                 :            : 
     114                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (35))))
     115   [ -  +  -  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_x5u)))));
     116                 :            : 
     117                 :          3 :         if (!tmp_result) {
     118                 :            :                 zcbor_trace_file(state);
     119                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     120                 :            :         } else {
     121                 :            :                 zcbor_log("%s success\r\n", __func__);
     122                 :            :         }
     123                 :            : 
     124                 :          3 :         return tmp_result;
     125                 :            : }
     126                 :            : 
     127                 :          3 : static bool decode_repeated_map2_c5b(
     128                 :            :                 zcbor_state_t *state, struct map2_c5b *result)
     129                 :            : {
     130                 :            :         zcbor_log("%s\r\n", __func__);
     131                 :            : 
     132                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (52))))
     133   [ -  +  -  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_c5b)))));
     134                 :            : 
     135                 :          3 :         if (!tmp_result) {
     136                 :            :                 zcbor_trace_file(state);
     137                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     138                 :            :         } else {
     139                 :            :                 zcbor_log("%s success\r\n", __func__);
     140                 :            :         }
     141                 :            : 
     142                 :          3 :         return tmp_result;
     143                 :            : }
     144                 :            : 
     145                 :          3 : static bool decode_repeated_map2_c5c(
     146                 :            :                 zcbor_state_t *state, struct map2_c5c *result)
     147                 :            : {
     148                 :            :         zcbor_log("%s\r\n", __func__);
     149                 :            : 
     150                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (53))))
     151   [ -  +  -  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_c5c)))));
     152                 :            : 
     153                 :          3 :         if (!tmp_result) {
     154                 :            :                 zcbor_trace_file(state);
     155                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     156                 :            :         } else {
     157                 :            :                 zcbor_log("%s success\r\n", __func__);
     158                 :            :         }
     159                 :            : 
     160                 :          3 :         return tmp_result;
     161                 :            : }
     162                 :            : 
     163                 :          3 : static bool decode_repeated_map2_c5t(
     164                 :            :                 zcbor_state_t *state, struct map2_c5t_r *result)
     165                 :            : {
     166                 :            :         zcbor_log("%s\r\n", __func__);
     167                 :            :         bool int_res;
     168                 :            : 
     169                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (54))))
     170   [ -  +  -  -  :          3 :         && (zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).map2_c5t_alg_int)))) && (((*result).map2_c5t_alg_choice = map2_c5t_alg_int_c), true))
             -  -  -  - ]
     171   [ #  #  #  # ]:          0 :         || (((zcbor_tstr_decode(state, (&(*result).map2_c5t_alg_tstr)))) && (((*result).map2_c5t_alg_choice = map2_c5t_alg_tstr_c), true))), zcbor_union_end_code(state), int_res)))
     172   [ #  #  #  # ]:          0 :         && ((zcbor_bstr_decode(state, (&(*result).map2_c5t_hash))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
     173                 :            : 
     174                 :          3 :         if (!tmp_result) {
     175                 :            :                 zcbor_trace_file(state);
     176                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     177                 :            :         } else {
     178                 :            :                 zcbor_log("%s success\r\n", __func__);
     179                 :            :         }
     180                 :            : 
     181                 :          3 :         return tmp_result;
     182                 :            : }
     183                 :            : 
     184                 :          3 : static bool decode_repeated_map2_c5u(
     185                 :            :                 zcbor_state_t *state, struct map2_c5u *result)
     186                 :            : {
     187                 :            :         zcbor_log("%s\r\n", __func__);
     188                 :            : 
     189                 :          3 :         bool tmp_result = ((((zcbor_uint32_expect(state, (55))))
     190   [ -  +  -  - ]:          3 :         && (zcbor_bstr_decode(state, (&(*result).map2_c5u)))));
     191                 :            : 
     192                 :          3 :         if (!tmp_result) {
     193                 :            :                 zcbor_trace_file(state);
     194                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     195                 :            :         } else {
     196                 :            :                 zcbor_log("%s success\r\n", __func__);
     197                 :            :         }
     198                 :            : 
     199                 :          3 :         return tmp_result;
     200                 :            : }
     201                 :            : 
     202                 :          3 : static bool decode_map2(
     203                 :            :                 zcbor_state_t *state, struct map2 *result)
     204                 :            : {
     205                 :            :         zcbor_log("%s\r\n", __func__);
     206                 :            : 
     207         [ +  - ]:          6 :         bool tmp_result = (((zcbor_map_start_decode(state) && ((zcbor_present_decode(&((*result).map2_kid_present), (zcbor_decoder_t *)decode_repeated_map2_kid, state, (&(*result).map2_kid))
     208         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_x5bag_present), (zcbor_decoder_t *)decode_repeated_map2_x5bag, state, (&(*result).map2_x5bag))
     209         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_x5chain_present), (zcbor_decoder_t *)decode_repeated_map2_x5chain, state, (&(*result).map2_x5chain))
     210         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_x5t_present), (zcbor_decoder_t *)decode_repeated_map2_x5t, state, (&(*result).map2_x5t))
     211         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_x5u_present), (zcbor_decoder_t *)decode_repeated_map2_x5u, state, (&(*result).map2_x5u))
     212         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_c5b_present), (zcbor_decoder_t *)decode_repeated_map2_c5b, state, (&(*result).map2_c5b))
     213         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_c5c_present), (zcbor_decoder_t *)decode_repeated_map2_c5c, state, (&(*result).map2_c5c))
     214         [ +  - ]:          3 :         && zcbor_present_decode(&((*result).map2_c5t_present), (zcbor_decoder_t *)decode_repeated_map2_c5t, state, (&(*result).map2_c5t))
     215   [ +  -  -  +  :          6 :         && zcbor_present_decode(&((*result).map2_c5u_present), (zcbor_decoder_t *)decode_repeated_map2_c5u, state, (&(*result).map2_c5u))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_map_end_decode(state))));
                   +  - ]
     216                 :            : 
     217                 :          3 :         if (!tmp_result) {
     218                 :            :                 zcbor_trace_file(state);
     219                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     220                 :            :         } else {
     221                 :            :                 zcbor_log("%s success\r\n", __func__);
     222                 :            :         }
     223                 :            : 
     224                 :          3 :         return tmp_result;
     225                 :            : }
     226                 :            : 
     227                 :          3 : static bool decode_ptxt2(
     228                 :            :                 zcbor_state_t *state, struct ptxt2 *result)
     229                 :            : {
     230                 :            :         zcbor_log("%s\r\n", __func__);
     231                 :            :         bool int_res;
     232                 :            : 
     233         [ +  - ]:         11 :         bool tmp_result = (((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).ptxt2_C_R_int)))) && (((*result).ptxt2_C_R_choice = ptxt2_C_R_int_c), true))
     234   [ +  +  +  - ]:          5 :         || (((zcbor_bstr_decode(state, (&(*result).ptxt2_C_R_bstr)))) && (((*result).ptxt2_C_R_choice = ptxt2_C_R_bstr_c), true))), zcbor_union_end_code(state), int_res)))
     235   [ +  -  +  - ]:          9 :         && ((zcbor_union_start_code(state) && (int_res = ((((decode_map2(state, (&(*result).ptxt2_ID_CRED_R_map2_m)))) && (((*result).ptxt2_ID_CRED_R_choice = ptxt2_ID_CRED_R_map2_m_c), true))
     236   [ #  #  #  # ]:          0 :         || (zcbor_union_elem_code(state) && (((zcbor_bstr_decode(state, (&(*result).ptxt2_ID_CRED_R_bstr)))) && (((*result).ptxt2_ID_CRED_R_choice = ptxt2_ID_CRED_R_bstr_c), true)))
     237   [ +  -  -  - ]:          6 :         || (((zcbor_int32_decode(state, (&(*result).ptxt2_ID_CRED_R_int)))) && (((*result).ptxt2_ID_CRED_R_choice = ptxt2_ID_CRED_R_int_c), true))), zcbor_union_end_code(state), int_res)))
     238         [ +  - ]:          3 :         && ((zcbor_bstr_decode(state, (&(*result).ptxt2_SGN_or_MAC_2))))
     239         [ +  - ]:          6 :         && ((*result).ptxt2_EAD_2_present = ((zcbor_bstr_decode(state, (&(*result).ptxt2_EAD_2)))), 1))));
     240                 :            : 
     241                 :          3 :         if (!tmp_result) {
     242                 :            :                 zcbor_trace_file(state);
     243                 :            :                 zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
     244                 :            :         } else {
     245                 :            :                 zcbor_log("%s success\r\n", __func__);
     246                 :            :         }
     247                 :            : 
     248                 :          3 :         return tmp_result;
     249                 :            : }
     250                 :            : 
     251                 :            : 
     252                 :            : 
     253                 :          3 : int cbor_decode_ptxt2(
     254                 :            :                 const uint8_t *payload, size_t payload_len,
     255                 :            :                 struct ptxt2 *result,
     256                 :            :                 size_t *payload_len_out)
     257                 :            : {
     258                 :            :         zcbor_state_t states[6];
     259                 :            : 
     260                 :          3 :         return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
     261                 :            :                 (zcbor_decoder_t *)decode_ptxt2, sizeof(states) / sizeof(zcbor_state_t), 4);
     262                 :            : }

Generated by: LCOV version 1.14