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 "UL-DCCH-MessageType.h"
10 #include "MeasurementReport.h"
11 #include "RRCReconfigurationComplete.h"
12 #include "RRCSetupComplete.h"
13 #include "RRCReestablishmentComplete.h"
14 #include "RRCResumeComplete.h"
15 #include "SecurityModeComplete.h"
16 #include "SecurityModeFailure.h"
17 #include "ULInformationTransfer.h"
18 #include "LocationMeasurementIndication.h"
19 #include "UECapabilityInformation.h"
20 #include "CounterCheckResponse.h"
21 #include "UEAssistanceInformation.h"
22 #include "FailureInformation.h"
23 static asn_oer_constraints_t asn_OER_type_c1_constr_2 CC_NOTUSED = {
26 static asn_per_constraints_t asn_PER_type_c1_constr_2 CC_NOTUSED = {
27 { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
28 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
29 0, 0 /* No PER value map */
31 static asn_oer_constraints_t asn_OER_type_UL_DCCH_MessageType_constr_1 CC_NOTUSED = {
34 asn_per_constraints_t asn_PER_type_UL_DCCH_MessageType_constr_1 CC_NOTUSED = {
35 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
36 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
37 0, 0 /* No PER value map */
39 static asn_TYPE_member_t asn_MBR_c1_2[] = {
40 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.measurementReport),
41 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
42 -1, /* IMPLICIT tag at current level */
43 &asn_DEF_MeasurementReport,
46 0, 0, /* No default value */
49 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.rrcReconfigurationComplete),
50 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
51 -1, /* IMPLICIT tag at current level */
52 &asn_DEF_RRCReconfigurationComplete,
55 0, 0, /* No default value */
56 "rrcReconfigurationComplete"
58 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.rrcSetupComplete),
59 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
60 -1, /* IMPLICIT tag at current level */
61 &asn_DEF_RRCSetupComplete,
64 0, 0, /* No default value */
67 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.rrcReestablishmentComplete),
68 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
69 -1, /* IMPLICIT tag at current level */
70 &asn_DEF_RRCReestablishmentComplete,
73 0, 0, /* No default value */
74 "rrcReestablishmentComplete"
76 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.rrcResumeComplete),
77 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
78 -1, /* IMPLICIT tag at current level */
79 &asn_DEF_RRCResumeComplete,
82 0, 0, /* No default value */
85 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.securityModeComplete),
86 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
87 -1, /* IMPLICIT tag at current level */
88 &asn_DEF_SecurityModeComplete,
91 0, 0, /* No default value */
92 "securityModeComplete"
94 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.securityModeFailure),
95 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
96 -1, /* IMPLICIT tag at current level */
97 &asn_DEF_SecurityModeFailure,
100 0, 0, /* No default value */
101 "securityModeFailure"
103 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.ulInformationTransfer),
104 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
105 -1, /* IMPLICIT tag at current level */
106 &asn_DEF_ULInformationTransfer,
109 0, 0, /* No default value */
110 "ulInformationTransfer"
112 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.locationMeasurementIndication),
113 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
114 -1, /* IMPLICIT tag at current level */
115 &asn_DEF_LocationMeasurementIndication,
118 0, 0, /* No default value */
119 "locationMeasurementIndication"
121 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.ueCapabilityInformation),
122 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
123 -1, /* IMPLICIT tag at current level */
124 &asn_DEF_UECapabilityInformation,
127 0, 0, /* No default value */
128 "ueCapabilityInformation"
130 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.counterCheckResponse),
131 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
132 -1, /* IMPLICIT tag at current level */
133 &asn_DEF_CounterCheckResponse,
136 0, 0, /* No default value */
137 "counterCheckResponse"
139 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.ueAssistanceInformation),
140 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
141 -1, /* IMPLICIT tag at current level */
142 &asn_DEF_UEAssistanceInformation,
145 0, 0, /* No default value */
146 "ueAssistanceInformation"
148 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.failureInformation),
149 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
150 -1, /* IMPLICIT tag at current level */
151 &asn_DEF_FailureInformation,
154 0, 0, /* No default value */
157 { ATF_NOFLAGS, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.spare3),
158 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
159 -1, /* IMPLICIT tag at current level */
163 0, 0, /* No default value */
166 { ATF_NOFLAGS, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.spare2),
167 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
168 -1, /* IMPLICIT tag at current level */
172 0, 0, /* No default value */
175 { ATF_NOFLAGS, 0, offsetof(struct UL_DCCH_MessageType__c1, choice.spare1),
176 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
177 -1, /* IMPLICIT tag at current level */
181 0, 0, /* No default value */
185 static const asn_TYPE_tag2member_t asn_MAP_c1_tag2el_2[] = {
186 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementReport */
187 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rrcReconfigurationComplete */
188 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rrcSetupComplete */
189 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rrcReestablishmentComplete */
190 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* rrcResumeComplete */
191 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* securityModeComplete */
192 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* securityModeFailure */
193 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ulInformationTransfer */
194 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* locationMeasurementIndication */
195 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* ueCapabilityInformation */
196 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* counterCheckResponse */
197 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* ueAssistanceInformation */
198 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* failureInformation */
199 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* spare3 */
200 { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* spare2 */
201 { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* spare1 */
203 static asn_CHOICE_specifics_t asn_SPC_c1_specs_2 = {
204 sizeof(struct UL_DCCH_MessageType__c1),
205 offsetof(struct UL_DCCH_MessageType__c1, _asn_ctx),
206 offsetof(struct UL_DCCH_MessageType__c1, present),
207 sizeof(((struct UL_DCCH_MessageType__c1 *)0)->present),
209 16, /* Count of tags in the map */
211 -1 /* Extensions start */
213 static /* Use -fall-defs-global to expose */
214 asn_TYPE_descriptor_t asn_DEF_c1_2 = {
218 0, /* No effective tags (pointer) */
219 0, /* No effective tags (count) */
220 0, /* No tags (pointer) */
221 0, /* No tags (count) */
222 { &asn_OER_type_c1_constr_2, &asn_PER_type_c1_constr_2, CHOICE_constraint },
224 16, /* Elements count */
225 &asn_SPC_c1_specs_2 /* Additional specs */
228 static const ber_tlv_tag_t asn_DEF_messageClassExtension_tags_19[] = {
229 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
230 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
232 static asn_SEQUENCE_specifics_t asn_SPC_messageClassExtension_specs_19 = {
233 sizeof(struct UL_DCCH_MessageType__messageClassExtension),
234 offsetof(struct UL_DCCH_MessageType__messageClassExtension, _asn_ctx),
235 0, /* No top level tags */
236 0, /* No tags in the map */
237 0, 0, 0, /* Optional elements (not needed) */
238 -1, /* First extension addition */
240 static /* Use -fall-defs-global to expose */
241 asn_TYPE_descriptor_t asn_DEF_messageClassExtension_19 = {
242 "messageClassExtension",
243 "messageClassExtension",
245 asn_DEF_messageClassExtension_tags_19,
246 sizeof(asn_DEF_messageClassExtension_tags_19)
247 /sizeof(asn_DEF_messageClassExtension_tags_19[0]) - 1, /* 1 */
248 asn_DEF_messageClassExtension_tags_19, /* Same as above */
249 sizeof(asn_DEF_messageClassExtension_tags_19)
250 /sizeof(asn_DEF_messageClassExtension_tags_19[0]), /* 2 */
251 { 0, 0, SEQUENCE_constraint },
252 0, 0, /* No members */
253 &asn_SPC_messageClassExtension_specs_19 /* Additional specs */
256 asn_TYPE_member_t asn_MBR_UL_DCCH_MessageType_1[] = {
257 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType, choice.c1),
258 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
259 +1, /* EXPLICIT tag at current level */
263 0, 0, /* No default value */
266 { ATF_POINTER, 0, offsetof(struct UL_DCCH_MessageType, choice.messageClassExtension),
267 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
269 &asn_DEF_messageClassExtension_19,
272 0, 0, /* No default value */
273 "messageClassExtension"
276 static const asn_TYPE_tag2member_t asn_MAP_UL_DCCH_MessageType_tag2el_1[] = {
277 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c1 */
278 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageClassExtension */
280 asn_CHOICE_specifics_t asn_SPC_UL_DCCH_MessageType_specs_1 = {
281 sizeof(struct UL_DCCH_MessageType),
282 offsetof(struct UL_DCCH_MessageType, _asn_ctx),
283 offsetof(struct UL_DCCH_MessageType, present),
284 sizeof(((struct UL_DCCH_MessageType *)0)->present),
285 asn_MAP_UL_DCCH_MessageType_tag2el_1,
286 2, /* Count of tags in the map */
288 -1 /* Extensions start */
290 asn_TYPE_descriptor_t asn_DEF_UL_DCCH_MessageType = {
291 "UL-DCCH-MessageType",
292 "UL-DCCH-MessageType",
294 0, /* No effective tags (pointer) */
295 0, /* No effective tags (count) */
296 0, /* No tags (pointer) */
297 0, /* No tags (count) */
298 { &asn_OER_type_UL_DCCH_MessageType_constr_1, &asn_PER_type_UL_DCCH_MessageType_constr_1, CHOICE_constraint },
299 asn_MBR_UL_DCCH_MessageType_1,
300 2, /* Elements count */
301 &asn_SPC_UL_DCCH_MessageType_specs_1 /* Additional specs */