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 : : }
|