[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / DL-DCCH-MessageType.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "../../../rrc_15.3_asn.asn1"
5  *      `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "DL-DCCH-MessageType.h"
9
10 #include "RRCReconfiguration.h"
11 #include "RRCResume.h"
12 #include "RRCRelease.h"
13 #include "RRCReestablishment.h"
14 #include "SecurityModeCommand.h"
15 #include "DLInformationTransfer.h"
16 #include "UECapabilityEnquiry.h"
17 #include "CounterCheck.h"
18 #include "MobilityFromNRCommand.h"
19 static asn_oer_constraints_t asn_OER_type_c1_constr_2 CC_NOTUSED = {
20         { 0, 0 },
21         -1};
22 static asn_per_constraints_t asn_PER_type_c1_constr_2 CC_NOTUSED = {
23         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
24         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
25         0, 0    /* No PER value map */
26 };
27 static asn_oer_constraints_t asn_OER_type_DL_DCCH_MessageType_constr_1 CC_NOTUSED = {
28         { 0, 0 },
29         -1};
30 asn_per_constraints_t asn_PER_type_DL_DCCH_MessageType_constr_1 CC_NOTUSED = {
31         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
32         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
33         0, 0    /* No PER value map */
34 };
35 static asn_TYPE_member_t asn_MBR_c1_2[] = {
36         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.rrcReconfiguration),
37                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
38                 -1,     /* IMPLICIT tag at current level */
39                 &asn_DEF_RRCReconfiguration,
40                 0,
41                 { 0, 0, 0 },
42                 0, 0, /* No default value */
43                 "rrcReconfiguration"
44                 },
45         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.rrcResume),
46                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
47                 -1,     /* IMPLICIT tag at current level */
48                 &asn_DEF_RRCResume,
49                 0,
50                 { 0, 0, 0 },
51                 0, 0, /* No default value */
52                 "rrcResume"
53                 },
54         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.rrcRelease),
55                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
56                 -1,     /* IMPLICIT tag at current level */
57                 &asn_DEF_RRCRelease,
58                 0,
59                 { 0, 0, 0 },
60                 0, 0, /* No default value */
61                 "rrcRelease"
62                 },
63         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.rrcReestablishment),
64                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
65                 -1,     /* IMPLICIT tag at current level */
66                 &asn_DEF_RRCReestablishment,
67                 0,
68                 { 0, 0, 0 },
69                 0, 0, /* No default value */
70                 "rrcReestablishment"
71                 },
72         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.securityModeCommand),
73                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
74                 -1,     /* IMPLICIT tag at current level */
75                 &asn_DEF_SecurityModeCommand,
76                 0,
77                 { 0, 0, 0 },
78                 0, 0, /* No default value */
79                 "securityModeCommand"
80                 },
81         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.dlInformationTransfer),
82                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
83                 -1,     /* IMPLICIT tag at current level */
84                 &asn_DEF_DLInformationTransfer,
85                 0,
86                 { 0, 0, 0 },
87                 0, 0, /* No default value */
88                 "dlInformationTransfer"
89                 },
90         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.ueCapabilityEnquiry),
91                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
92                 -1,     /* IMPLICIT tag at current level */
93                 &asn_DEF_UECapabilityEnquiry,
94                 0,
95                 { 0, 0, 0 },
96                 0, 0, /* No default value */
97                 "ueCapabilityEnquiry"
98                 },
99         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.counterCheck),
100                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
101                 -1,     /* IMPLICIT tag at current level */
102                 &asn_DEF_CounterCheck,
103                 0,
104                 { 0, 0, 0 },
105                 0, 0, /* No default value */
106                 "counterCheck"
107                 },
108         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.mobilityFromNRCommand),
109                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
110                 -1,     /* IMPLICIT tag at current level */
111                 &asn_DEF_MobilityFromNRCommand,
112                 0,
113                 { 0, 0, 0 },
114                 0, 0, /* No default value */
115                 "mobilityFromNRCommand"
116                 },
117         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare7),
118                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
119                 -1,     /* IMPLICIT tag at current level */
120                 &asn_DEF_NULL,
121                 0,
122                 { 0, 0, 0 },
123                 0, 0, /* No default value */
124                 "spare7"
125                 },
126         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare6),
127                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
128                 -1,     /* IMPLICIT tag at current level */
129                 &asn_DEF_NULL,
130                 0,
131                 { 0, 0, 0 },
132                 0, 0, /* No default value */
133                 "spare6"
134                 },
135         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare5),
136                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
137                 -1,     /* IMPLICIT tag at current level */
138                 &asn_DEF_NULL,
139                 0,
140                 { 0, 0, 0 },
141                 0, 0, /* No default value */
142                 "spare5"
143                 },
144         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare4),
145                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
146                 -1,     /* IMPLICIT tag at current level */
147                 &asn_DEF_NULL,
148                 0,
149                 { 0, 0, 0 },
150                 0, 0, /* No default value */
151                 "spare4"
152                 },
153         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare3),
154                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
155                 -1,     /* IMPLICIT tag at current level */
156                 &asn_DEF_NULL,
157                 0,
158                 { 0, 0, 0 },
159                 0, 0, /* No default value */
160                 "spare3"
161                 },
162         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare2),
163                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
164                 -1,     /* IMPLICIT tag at current level */
165                 &asn_DEF_NULL,
166                 0,
167                 { 0, 0, 0 },
168                 0, 0, /* No default value */
169                 "spare2"
170                 },
171         { ATF_NOFLAGS, 0, offsetof(struct DL_DCCH_MessageType__c1, choice.spare1),
172                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
173                 -1,     /* IMPLICIT tag at current level */
174                 &asn_DEF_NULL,
175                 0,
176                 { 0, 0, 0 },
177                 0, 0, /* No default value */
178                 "spare1"
179                 },
180 };
181 static const asn_TYPE_tag2member_t asn_MAP_c1_tag2el_2[] = {
182     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcReconfiguration */
183     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rrcResume */
184     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rrcRelease */
185     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rrcReestablishment */
186     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* securityModeCommand */
187     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* dlInformationTransfer */
188     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ueCapabilityEnquiry */
189     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* counterCheck */
190     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* mobilityFromNRCommand */
191     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* spare7 */
192     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* spare6 */
193     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* spare5 */
194     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* spare4 */
195     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* spare3 */
196     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* spare2 */
197     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* spare1 */
198 };
199 static asn_CHOICE_specifics_t asn_SPC_c1_specs_2 = {
200         sizeof(struct DL_DCCH_MessageType__c1),
201         offsetof(struct DL_DCCH_MessageType__c1, _asn_ctx),
202         offsetof(struct DL_DCCH_MessageType__c1, present),
203         sizeof(((struct DL_DCCH_MessageType__c1 *)0)->present),
204         asn_MAP_c1_tag2el_2,
205         16,     /* Count of tags in the map */
206         0, 0,
207         -1      /* Extensions start */
208 };
209 static /* Use -fall-defs-global to expose */
210 asn_TYPE_descriptor_t asn_DEF_c1_2 = {
211         "c1",
212         "c1",
213         &asn_OP_CHOICE,
214         0,      /* No effective tags (pointer) */
215         0,      /* No effective tags (count) */
216         0,      /* No tags (pointer) */
217         0,      /* No tags (count) */
218         { &asn_OER_type_c1_constr_2, &asn_PER_type_c1_constr_2, CHOICE_constraint },
219         asn_MBR_c1_2,
220         16,     /* Elements count */
221         &asn_SPC_c1_specs_2     /* Additional specs */
222 };
223
224 static const ber_tlv_tag_t asn_DEF_messageClassExtension_tags_19[] = {
225         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
226         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
227 };
228 static asn_SEQUENCE_specifics_t asn_SPC_messageClassExtension_specs_19 = {
229         sizeof(struct DL_DCCH_MessageType__messageClassExtension),
230         offsetof(struct DL_DCCH_MessageType__messageClassExtension, _asn_ctx),
231         0,      /* No top level tags */
232         0,      /* No tags in the map */
233         0, 0, 0,        /* Optional elements (not needed) */
234         -1,     /* First extension addition */
235 };
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_messageClassExtension_19 = {
238         "messageClassExtension",
239         "messageClassExtension",
240         &asn_OP_SEQUENCE,
241         asn_DEF_messageClassExtension_tags_19,
242         sizeof(asn_DEF_messageClassExtension_tags_19)
243                 /sizeof(asn_DEF_messageClassExtension_tags_19[0]) - 1, /* 1 */
244         asn_DEF_messageClassExtension_tags_19,  /* Same as above */
245         sizeof(asn_DEF_messageClassExtension_tags_19)
246                 /sizeof(asn_DEF_messageClassExtension_tags_19[0]), /* 2 */
247         { 0, 0, SEQUENCE_constraint },
248         0, 0,   /* No members */
249         &asn_SPC_messageClassExtension_specs_19 /* Additional specs */
250 };
251
252 asn_TYPE_member_t asn_MBR_DL_DCCH_MessageType_1[] = {
253         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType, choice.c1),
254                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
255                 +1,     /* EXPLICIT tag at current level */
256                 &asn_DEF_c1_2,
257                 0,
258                 { 0, 0, 0 },
259                 0, 0, /* No default value */
260                 "c1"
261                 },
262         { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType, choice.messageClassExtension),
263                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
264                 0,
265                 &asn_DEF_messageClassExtension_19,
266                 0,
267                 { 0, 0, 0 },
268                 0, 0, /* No default value */
269                 "messageClassExtension"
270                 },
271 };
272 static const asn_TYPE_tag2member_t asn_MAP_DL_DCCH_MessageType_tag2el_1[] = {
273     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c1 */
274     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageClassExtension */
275 };
276 asn_CHOICE_specifics_t asn_SPC_DL_DCCH_MessageType_specs_1 = {
277         sizeof(struct DL_DCCH_MessageType),
278         offsetof(struct DL_DCCH_MessageType, _asn_ctx),
279         offsetof(struct DL_DCCH_MessageType, present),
280         sizeof(((struct DL_DCCH_MessageType *)0)->present),
281         asn_MAP_DL_DCCH_MessageType_tag2el_1,
282         2,      /* Count of tags in the map */
283         0, 0,
284         -1      /* Extensions start */
285 };
286 asn_TYPE_descriptor_t asn_DEF_DL_DCCH_MessageType = {
287         "DL-DCCH-MessageType",
288         "DL-DCCH-MessageType",
289         &asn_OP_CHOICE,
290         0,      /* No effective tags (pointer) */
291         0,      /* No effective tags (count) */
292         0,      /* No tags (pointer) */
293         0,      /* No tags (count) */
294         { &asn_OER_type_DL_DCCH_MessageType_constr_1, &asn_PER_type_DL_DCCH_MessageType_constr_1, CHOICE_constraint },
295         asn_MBR_DL_DCCH_MessageType_1,
296         2,      /* Elements count */
297         &asn_SPC_DL_DCCH_MessageType_specs_1    /* Additional specs */
298 };
299