2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-InterNodeDefinitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #include "CG-ConfigInfo-IEs.h"
10 #include "MeasResultList2NR.h"
11 #include "MeasResultCellListSFTD.h"
12 #include "ConfigRestrictInfoSCG.h"
14 #include "MeasConfigMN.h"
15 #include "MRDC-AssistanceInfo.h"
17 * This type is implemented using NativeEnumerated,
18 * so here we adjust the DEF accordingly.
21 memb_measResultSCG_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
22 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
23 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
26 ASN__CTFAIL(app_key, td, sptr,
27 "%s: value not given (%s:%d)",
28 td->name, __FILE__, __LINE__);
33 if(1 /* No applicable constraints whatsoever */) {
34 (void)st; /* Unused variable */
35 /* Nothing is here. See below */
38 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
42 memb_ue_CapabilityInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
43 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
44 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
47 ASN__CTFAIL(app_key, td, sptr,
48 "%s: value not given (%s:%d)",
49 td->name, __FILE__, __LINE__);
54 if(1 /* No applicable constraints whatsoever */) {
55 (void)st; /* Unused variable */
56 /* Nothing is here. See below */
59 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
63 memb_candidateCellInfoListSN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
64 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
65 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
68 ASN__CTFAIL(app_key, td, sptr,
69 "%s: value not given (%s:%d)",
70 td->name, __FILE__, __LINE__);
75 if(1 /* No applicable constraints whatsoever */) {
76 (void)st; /* Unused variable */
77 /* Nothing is here. See below */
80 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
84 memb_sourceConfigSCG_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
85 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
86 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
89 ASN__CTFAIL(app_key, td, sptr,
90 "%s: value not given (%s:%d)",
91 td->name, __FILE__, __LINE__);
96 if(1 /* No applicable constraints whatsoever */) {
97 (void)st; /* Unused variable */
98 /* Nothing is here. See below */
101 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
105 memb_scg_RB_Config_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
106 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
107 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
110 ASN__CTFAIL(app_key, td, sptr,
111 "%s: value not given (%s:%d)",
112 td->name, __FILE__, __LINE__);
117 if(1 /* No applicable constraints whatsoever */) {
118 (void)st; /* Unused variable */
119 /* Nothing is here. See below */
122 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
126 memb_mcg_RB_Config_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
127 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
128 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
131 ASN__CTFAIL(app_key, td, sptr,
132 "%s: value not given (%s:%d)",
133 td->name, __FILE__, __LINE__);
138 if(1 /* No applicable constraints whatsoever */) {
139 (void)st; /* Unused variable */
140 /* Nothing is here. See below */
143 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
146 static asn_oer_constraints_t asn_OER_type_failureType_constr_7 CC_NOTUSED = {
149 static asn_per_constraints_t asn_PER_type_failureType_constr_7 CC_NOTUSED = {
150 { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */,
151 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
152 0, 0 /* No PER value map */
154 static asn_oer_constraints_t asn_OER_memb_measResultSCG_constr_14 CC_NOTUSED = {
156 -1 /* (SIZE(0..MAX)) */};
157 static asn_per_constraints_t asn_PER_memb_measResultSCG_constr_14 CC_NOTUSED = {
158 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
159 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
160 0, 0 /* No PER value map */
162 static asn_oer_constraints_t asn_OER_memb_ue_CapabilityInfo_constr_2 CC_NOTUSED = {
164 -1 /* (SIZE(0..MAX)) */};
165 static asn_per_constraints_t asn_PER_memb_ue_CapabilityInfo_constr_2 CC_NOTUSED = {
166 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
167 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
168 0, 0 /* No PER value map */
170 static asn_oer_constraints_t asn_OER_memb_candidateCellInfoListSN_constr_4 CC_NOTUSED = {
172 -1 /* (SIZE(0..MAX)) */};
173 static asn_per_constraints_t asn_PER_memb_candidateCellInfoListSN_constr_4 CC_NOTUSED = {
174 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
175 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
176 0, 0 /* No PER value map */
178 static asn_oer_constraints_t asn_OER_memb_sourceConfigSCG_constr_18 CC_NOTUSED = {
180 -1 /* (SIZE(0..MAX)) */};
181 static asn_per_constraints_t asn_PER_memb_sourceConfigSCG_constr_18 CC_NOTUSED = {
182 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
183 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
184 0, 0 /* No PER value map */
186 static asn_oer_constraints_t asn_OER_memb_scg_RB_Config_constr_19 CC_NOTUSED = {
188 -1 /* (SIZE(0..MAX)) */};
189 static asn_per_constraints_t asn_PER_memb_scg_RB_Config_constr_19 CC_NOTUSED = {
190 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
191 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
192 0, 0 /* No PER value map */
194 static asn_oer_constraints_t asn_OER_memb_mcg_RB_Config_constr_20 CC_NOTUSED = {
196 -1 /* (SIZE(0..MAX)) */};
197 static asn_per_constraints_t asn_PER_memb_mcg_RB_Config_constr_20 CC_NOTUSED = {
198 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
199 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
200 0, 0 /* No PER value map */
202 static const asn_INTEGER_enum_map_t asn_MAP_failureType_value2enum_7[] = {
203 { 0, 11, "t310-Expiry" },
204 { 1, 19, "randomAccessProblem" },
205 { 2, 14, "rlc-MaxNumRetx" },
206 { 3, 24, "synchReconfigFailure-SCG" },
207 { 4, 19, "scg-reconfigFailure" },
208 { 5, 21, "srb3-IntegrityFailure" }
210 static const unsigned int asn_MAP_failureType_enum2value_7[] = {
211 1, /* randomAccessProblem(1) */
212 2, /* rlc-MaxNumRetx(2) */
213 4, /* scg-reconfigFailure(4) */
214 5, /* srb3-IntegrityFailure(5) */
215 3, /* synchReconfigFailure-SCG(3) */
216 0 /* t310-Expiry(0) */
218 static const asn_INTEGER_specifics_t asn_SPC_failureType_specs_7 = {
219 asn_MAP_failureType_value2enum_7, /* "tag" => N; sorted by tag */
220 asn_MAP_failureType_enum2value_7, /* N => "tag"; sorted by N */
221 6, /* Number of elements in the maps */
222 0, /* Enumeration is not extensible */
223 1, /* Strict enumeration */
224 0, /* Native long size */
227 static const ber_tlv_tag_t asn_DEF_failureType_tags_7[] = {
228 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
229 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
231 static /* Use -fall-defs-global to expose */
232 asn_TYPE_descriptor_t asn_DEF_failureType_7 = {
235 &asn_OP_NativeEnumerated,
236 asn_DEF_failureType_tags_7,
237 sizeof(asn_DEF_failureType_tags_7)
238 /sizeof(asn_DEF_failureType_tags_7[0]) - 1, /* 1 */
239 asn_DEF_failureType_tags_7, /* Same as above */
240 sizeof(asn_DEF_failureType_tags_7)
241 /sizeof(asn_DEF_failureType_tags_7[0]), /* 2 */
242 { &asn_OER_type_failureType_constr_7, &asn_PER_type_failureType_constr_7, NativeEnumerated_constraint },
243 0, 0, /* Defined elsewhere */
244 &asn_SPC_failureType_specs_7 /* Additional specs */
247 static asn_TYPE_member_t asn_MBR_scgFailureInfo_6[] = {
248 { ATF_NOFLAGS, 0, offsetof(struct CG_ConfigInfo_IEs__scgFailureInfo, failureType),
249 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
250 -1, /* IMPLICIT tag at current level */
251 &asn_DEF_failureType_7,
254 0, 0, /* No default value */
257 { ATF_NOFLAGS, 0, offsetof(struct CG_ConfigInfo_IEs__scgFailureInfo, measResultSCG),
258 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
259 -1, /* IMPLICIT tag at current level */
260 &asn_DEF_OCTET_STRING,
262 { &asn_OER_memb_measResultSCG_constr_14, &asn_PER_memb_measResultSCG_constr_14, memb_measResultSCG_constraint_6 },
263 0, 0, /* No default value */
267 static const ber_tlv_tag_t asn_DEF_scgFailureInfo_tags_6[] = {
268 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
269 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
271 static const asn_TYPE_tag2member_t asn_MAP_scgFailureInfo_tag2el_6[] = {
272 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* failureType */
273 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResultSCG */
275 static asn_SEQUENCE_specifics_t asn_SPC_scgFailureInfo_specs_6 = {
276 sizeof(struct CG_ConfigInfo_IEs__scgFailureInfo),
277 offsetof(struct CG_ConfigInfo_IEs__scgFailureInfo, _asn_ctx),
278 asn_MAP_scgFailureInfo_tag2el_6,
279 2, /* Count of tags in the map */
280 0, 0, 0, /* Optional elements (not needed) */
281 -1, /* First extension addition */
283 static /* Use -fall-defs-global to expose */
284 asn_TYPE_descriptor_t asn_DEF_scgFailureInfo_6 = {
288 asn_DEF_scgFailureInfo_tags_6,
289 sizeof(asn_DEF_scgFailureInfo_tags_6)
290 /sizeof(asn_DEF_scgFailureInfo_tags_6[0]) - 1, /* 1 */
291 asn_DEF_scgFailureInfo_tags_6, /* Same as above */
292 sizeof(asn_DEF_scgFailureInfo_tags_6)
293 /sizeof(asn_DEF_scgFailureInfo_tags_6[0]), /* 2 */
294 { 0, 0, SEQUENCE_constraint },
295 asn_MBR_scgFailureInfo_6,
296 2, /* Elements count */
297 &asn_SPC_scgFailureInfo_specs_6 /* Additional specs */
300 static const ber_tlv_tag_t asn_DEF_nonCriticalExtension_tags_22[] = {
301 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
302 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
304 static asn_SEQUENCE_specifics_t asn_SPC_nonCriticalExtension_specs_22 = {
305 sizeof(struct CG_ConfigInfo_IEs__nonCriticalExtension),
306 offsetof(struct CG_ConfigInfo_IEs__nonCriticalExtension, _asn_ctx),
307 0, /* No top level tags */
308 0, /* No tags in the map */
309 0, 0, 0, /* Optional elements (not needed) */
310 -1, /* First extension addition */
312 static /* Use -fall-defs-global to expose */
313 asn_TYPE_descriptor_t asn_DEF_nonCriticalExtension_22 = {
314 "nonCriticalExtension",
315 "nonCriticalExtension",
317 asn_DEF_nonCriticalExtension_tags_22,
318 sizeof(asn_DEF_nonCriticalExtension_tags_22)
319 /sizeof(asn_DEF_nonCriticalExtension_tags_22[0]) - 1, /* 1 */
320 asn_DEF_nonCriticalExtension_tags_22, /* Same as above */
321 sizeof(asn_DEF_nonCriticalExtension_tags_22)
322 /sizeof(asn_DEF_nonCriticalExtension_tags_22[0]), /* 2 */
323 { 0, 0, SEQUENCE_constraint },
324 0, 0, /* No members */
325 &asn_SPC_nonCriticalExtension_specs_22 /* Additional specs */
328 asn_TYPE_member_t asn_MBR_CG_ConfigInfo_IEs_1[] = {
329 { ATF_POINTER, 13, offsetof(struct CG_ConfigInfo_IEs, ue_CapabilityInfo),
330 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
331 -1, /* IMPLICIT tag at current level */
332 &asn_DEF_OCTET_STRING,
334 { &asn_OER_memb_ue_CapabilityInfo_constr_2, &asn_PER_memb_ue_CapabilityInfo_constr_2, memb_ue_CapabilityInfo_constraint_1 },
335 0, 0, /* No default value */
338 { ATF_POINTER, 12, offsetof(struct CG_ConfigInfo_IEs, candidateCellInfoListMN),
339 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
340 -1, /* IMPLICIT tag at current level */
341 &asn_DEF_MeasResultList2NR,
344 0, 0, /* No default value */
345 "candidateCellInfoListMN"
347 { ATF_POINTER, 11, offsetof(struct CG_ConfigInfo_IEs, candidateCellInfoListSN),
348 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
349 -1, /* IMPLICIT tag at current level */
350 &asn_DEF_OCTET_STRING,
352 { &asn_OER_memb_candidateCellInfoListSN_constr_4, &asn_PER_memb_candidateCellInfoListSN_constr_4, memb_candidateCellInfoListSN_constraint_1 },
353 0, 0, /* No default value */
354 "candidateCellInfoListSN"
356 { ATF_POINTER, 10, offsetof(struct CG_ConfigInfo_IEs, measResultCellListSFTD),
357 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
358 -1, /* IMPLICIT tag at current level */
359 &asn_DEF_MeasResultCellListSFTD,
362 0, 0, /* No default value */
363 "measResultCellListSFTD"
365 { ATF_POINTER, 9, offsetof(struct CG_ConfigInfo_IEs, scgFailureInfo),
366 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
368 &asn_DEF_scgFailureInfo_6,
371 0, 0, /* No default value */
374 { ATF_POINTER, 8, offsetof(struct CG_ConfigInfo_IEs, configRestrictInfo),
375 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
376 -1, /* IMPLICIT tag at current level */
377 &asn_DEF_ConfigRestrictInfoSCG,
380 0, 0, /* No default value */
383 { ATF_POINTER, 7, offsetof(struct CG_ConfigInfo_IEs, drx_InfoMCG),
384 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
385 -1, /* IMPLICIT tag at current level */
389 0, 0, /* No default value */
392 { ATF_POINTER, 6, offsetof(struct CG_ConfigInfo_IEs, measConfigMN),
393 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
394 -1, /* IMPLICIT tag at current level */
395 &asn_DEF_MeasConfigMN,
398 0, 0, /* No default value */
401 { ATF_POINTER, 5, offsetof(struct CG_ConfigInfo_IEs, sourceConfigSCG),
402 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
403 -1, /* IMPLICIT tag at current level */
404 &asn_DEF_OCTET_STRING,
406 { &asn_OER_memb_sourceConfigSCG_constr_18, &asn_PER_memb_sourceConfigSCG_constr_18, memb_sourceConfigSCG_constraint_1 },
407 0, 0, /* No default value */
410 { ATF_POINTER, 4, offsetof(struct CG_ConfigInfo_IEs, scg_RB_Config),
411 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
412 -1, /* IMPLICIT tag at current level */
413 &asn_DEF_OCTET_STRING,
415 { &asn_OER_memb_scg_RB_Config_constr_19, &asn_PER_memb_scg_RB_Config_constr_19, memb_scg_RB_Config_constraint_1 },
416 0, 0, /* No default value */
419 { ATF_POINTER, 3, offsetof(struct CG_ConfigInfo_IEs, mcg_RB_Config),
420 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
421 -1, /* IMPLICIT tag at current level */
422 &asn_DEF_OCTET_STRING,
424 { &asn_OER_memb_mcg_RB_Config_constr_20, &asn_PER_memb_mcg_RB_Config_constr_20, memb_mcg_RB_Config_constraint_1 },
425 0, 0, /* No default value */
428 { ATF_POINTER, 2, offsetof(struct CG_ConfigInfo_IEs, mrdc_AssistanceInfo),
429 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
430 -1, /* IMPLICIT tag at current level */
431 &asn_DEF_MRDC_AssistanceInfo,
434 0, 0, /* No default value */
435 "mrdc-AssistanceInfo"
437 { ATF_POINTER, 1, offsetof(struct CG_ConfigInfo_IEs, nonCriticalExtension),
438 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
440 &asn_DEF_nonCriticalExtension_22,
443 0, 0, /* No default value */
444 "nonCriticalExtension"
447 static const int asn_MAP_CG_ConfigInfo_IEs_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
448 static const ber_tlv_tag_t asn_DEF_CG_ConfigInfo_IEs_tags_1[] = {
449 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
451 static const asn_TYPE_tag2member_t asn_MAP_CG_ConfigInfo_IEs_tag2el_1[] = {
452 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ue-CapabilityInfo */
453 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* candidateCellInfoListMN */
454 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* candidateCellInfoListSN */
455 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* measResultCellListSFTD */
456 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* scgFailureInfo */
457 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* configRestrictInfo */
458 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* drx-InfoMCG */
459 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* measConfigMN */
460 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sourceConfigSCG */
461 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* scg-RB-Config */
462 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* mcg-RB-Config */
463 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* mrdc-AssistanceInfo */
464 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* nonCriticalExtension */
466 asn_SEQUENCE_specifics_t asn_SPC_CG_ConfigInfo_IEs_specs_1 = {
467 sizeof(struct CG_ConfigInfo_IEs),
468 offsetof(struct CG_ConfigInfo_IEs, _asn_ctx),
469 asn_MAP_CG_ConfigInfo_IEs_tag2el_1,
470 13, /* Count of tags in the map */
471 asn_MAP_CG_ConfigInfo_IEs_oms_1, /* Optional members */
472 13, 0, /* Root/Additions */
473 -1, /* First extension addition */
475 asn_TYPE_descriptor_t asn_DEF_CG_ConfigInfo_IEs = {
479 asn_DEF_CG_ConfigInfo_IEs_tags_1,
480 sizeof(asn_DEF_CG_ConfigInfo_IEs_tags_1)
481 /sizeof(asn_DEF_CG_ConfigInfo_IEs_tags_1[0]), /* 1 */
482 asn_DEF_CG_ConfigInfo_IEs_tags_1, /* Same as above */
483 sizeof(asn_DEF_CG_ConfigInfo_IEs_tags_1)
484 /sizeof(asn_DEF_CG_ConfigInfo_IEs_tags_1[0]), /* 1 */
485 { 0, 0, SEQUENCE_constraint },
486 asn_MBR_CG_ConfigInfo_IEs_1,
487 13, /* Elements count */
488 &asn_SPC_CG_ConfigInfo_IEs_specs_1 /* Additional specs */