2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.5.1_asn.asn1"
5 * `asn1c -D ./rrc_out_hlal -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "DL-DCCH-MessageType.h"
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 = {
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 */
27 static asn_oer_constraints_t asn_OER_type_DL_DCCH_MessageType_constr_1 CC_NOTUSED = {
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 */
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,
42 0, 0, /* No default value */
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 */
51 0, 0, /* No default value */
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 */
60 0, 0, /* No default value */
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,
69 0, 0, /* No default value */
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,
78 0, 0, /* No default value */
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,
87 0, 0, /* No default value */
88 "dlInformationTransfer"
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,
96 0, 0, /* No default value */
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,
105 0, 0, /* No default value */
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,
114 0, 0, /* No default value */
115 "mobilityFromNRCommand"
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 */
123 0, 0, /* No default value */
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 */
132 0, 0, /* No default value */
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 */
141 0, 0, /* No default value */
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 */
150 0, 0, /* No default value */
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 */
159 0, 0, /* No default value */
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 */
168 0, 0, /* No default value */
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 */
177 0, 0, /* No default value */
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 */
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),
205 16, /* Count of tags in the map */
207 -1 /* Extensions start */
209 static /* Use -fall-defs-global to expose */
210 asn_TYPE_descriptor_t asn_DEF_c1_2 = {
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 },
220 16, /* Elements count */
221 &asn_SPC_c1_specs_2 /* Additional specs */
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))
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 */
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_messageClassExtension_19 = {
238 "messageClassExtension",
239 "messageClassExtension",
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 */
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 */
259 0, 0, /* No default value */
262 { ATF_POINTER, 0, offsetof(struct DL_DCCH_MessageType, choice.messageClassExtension),
263 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
265 &asn_DEF_messageClassExtension_19,
268 0, 0, /* No default value */
269 "messageClassExtension"
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 */
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 */
284 -1 /* Extensions start */
286 asn_TYPE_descriptor_t asn_DEF_DL_DCCH_MessageType = {
287 "DL-DCCH-MessageType",
288 "DL-DCCH-MessageType",
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 */