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 #ifndef EDHOC_DECODE_PLAINTEXT2_TYPES_H__
8 #define EDHOC_DECODE_PLAINTEXT2_TYPES_H__
9 
10 #include <stdint.h>
11 #include <stdbool.h>
12 #include <stddef.h>
13 #include <zcbor_common.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /** Which value for --default-max-qty this file was created with.
20  *
21  *  The define is used in the other generated file to do a build-time
22  *  compatibility check.
23  *
24  *  See `zcbor --help` for more information about --default-max-qty
25  */
26 #define DEFAULT_MAX_QTY 3
27 
28 struct map2_kid_r {
29 	union {
30 		int32_t map2_kid_int;
31 		struct zcbor_string map2_kid_bstr;
32 	};
33 	enum {
34 		map2_kid_int_c,
35 		map2_kid_bstr_c,
36 	} map2_kid_choice;
37 };
38 
39 struct map2_x5bag {
40 	struct zcbor_string map2_x5bag;
41 };
42 
43 struct map2_x5chain {
44 	struct zcbor_string map2_x5chain;
45 };
46 
47 struct map2_x5t_r {
48 	union {
49 		int32_t map2_x5t_alg_int;
50 		struct zcbor_string map2_x5t_alg_tstr;
51 	};
52 	enum {
53 		map2_x5t_alg_int_c,
54 		map2_x5t_alg_tstr_c,
55 	} map2_x5t_alg_choice;
56 	struct zcbor_string map2_x5t_hash;
57 };
58 
59 struct map2_x5u {
60 	struct zcbor_string map2_x5u;
61 };
62 
63 struct map2_c5b {
64 	struct zcbor_string map2_c5b;
65 };
66 
67 struct map2_c5c {
68 	struct zcbor_string map2_c5c;
69 };
70 
71 struct map2_c5t_r {
72 	union {
73 		int32_t map2_c5t_alg_int;
74 		struct zcbor_string map2_c5t_alg_tstr;
75 	};
76 	enum {
77 		map2_c5t_alg_int_c,
78 		map2_c5t_alg_tstr_c,
79 	} map2_c5t_alg_choice;
80 	struct zcbor_string map2_c5t_hash;
81 };
82 
83 struct map2_c5u {
84 	struct zcbor_string map2_c5u;
85 };
86 
87 struct map2 {
88 	struct map2_kid_r map2_kid;
89 	bool map2_kid_present;
90 	struct map2_x5bag map2_x5bag;
91 	bool map2_x5bag_present;
92 	struct map2_x5chain map2_x5chain;
93 	bool map2_x5chain_present;
94 	struct map2_x5t_r map2_x5t;
95 	bool map2_x5t_present;
96 	struct map2_x5u map2_x5u;
97 	bool map2_x5u_present;
98 	struct map2_c5b map2_c5b;
99 	bool map2_c5b_present;
100 	struct map2_c5c map2_c5c;
101 	bool map2_c5c_present;
102 	struct map2_c5t_r map2_c5t;
103 	bool map2_c5t_present;
104 	struct map2_c5u map2_c5u;
105 	bool map2_c5u_present;
106 };
107 
108 struct ptxt2 {
109 	union {
110 		int32_t ptxt2_C_R_int;
111 		struct zcbor_string ptxt2_C_R_bstr;
112 	};
113 	enum {
114 		ptxt2_C_R_int_c,
115 		ptxt2_C_R_bstr_c,
116 	} ptxt2_C_R_choice;
117 	union {
118 		struct map2 ptxt2_ID_CRED_R_map2_m;
119 		struct zcbor_string ptxt2_ID_CRED_R_bstr;
120 		int32_t ptxt2_ID_CRED_R_int;
121 	};
122 	enum {
123 		ptxt2_ID_CRED_R_map2_m_c,
124 		ptxt2_ID_CRED_R_bstr_c,
125 		ptxt2_ID_CRED_R_int_c,
126 	} ptxt2_ID_CRED_R_choice;
127 	struct zcbor_string ptxt2_SGN_or_MAC_2;
128 	struct zcbor_string ptxt2_EAD_2;
129 	bool ptxt2_EAD_2_present;
130 };
131 
132 #ifdef __cplusplus
133 }
134 #endif
135 
136 #endif /* EDHOC_DECODE_PLAINTEXT2_TYPES_H__ */
137