2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
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 "SRS-ResourceSet.h"
11 memb_NativeInteger_constraint_12(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
22 value = *(const long *)sptr;
24 if((value >= 1 && value <= 3)) {
25 /* Constraint check succeeded */
28 ASN__CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
36 memb_aperiodicSRS_ResourceTriggerList_v1530_constraint_11(const asn_TYPE_descriptor_t *td, const void *sptr,
37 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: value not given (%s:%d)",
43 td->name, __FILE__, __LINE__);
47 /* Determine the number of elements */
48 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
50 if((size >= 1 && size <= 2)) {
51 /* Perform validation of the inner elements */
52 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
54 ASN__CTFAIL(app_key, td, sptr,
55 "%s: constraint failed (%s:%d)",
56 td->name, __FILE__, __LINE__);
62 memb_aperiodicSRS_ResourceTrigger_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
63 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
67 ASN__CTFAIL(app_key, td, sptr,
68 "%s: value not given (%s:%d)",
69 td->name, __FILE__, __LINE__);
73 value = *(const long *)sptr;
75 if((value >= 1 && value <= 3)) {
76 /* Constraint check succeeded */
79 ASN__CTFAIL(app_key, td, sptr,
80 "%s: constraint failed (%s:%d)",
81 td->name, __FILE__, __LINE__);
87 memb_slotOffset_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
88 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
92 ASN__CTFAIL(app_key, td, sptr,
93 "%s: value not given (%s:%d)",
94 td->name, __FILE__, __LINE__);
98 value = *(const long *)sptr;
100 if((value >= 1 && value <= 32)) {
101 /* Constraint check succeeded */
104 ASN__CTFAIL(app_key, td, sptr,
105 "%s: constraint failed (%s:%d)",
106 td->name, __FILE__, __LINE__);
112 * This type is implemented using NativeEnumerated,
113 * so here we adjust the DEF accordingly.
116 * This type is implemented using NativeEnumerated,
117 * so here we adjust the DEF accordingly.
120 memb_srs_ResourceIdList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
121 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
125 ASN__CTFAIL(app_key, td, sptr,
126 "%s: value not given (%s:%d)",
127 td->name, __FILE__, __LINE__);
131 /* Determine the number of elements */
132 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
134 if((size >= 1 && size <= 16)) {
135 /* Perform validation of the inner elements */
136 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
138 ASN__CTFAIL(app_key, td, sptr,
139 "%s: constraint failed (%s:%d)",
140 td->name, __FILE__, __LINE__);
146 memb_p0_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
147 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
151 ASN__CTFAIL(app_key, td, sptr,
152 "%s: value not given (%s:%d)",
153 td->name, __FILE__, __LINE__);
157 value = *(const long *)sptr;
159 if((value >= -202 && value <= 24)) {
160 /* Constraint check succeeded */
163 ASN__CTFAIL(app_key, td, sptr,
164 "%s: constraint failed (%s:%d)",
165 td->name, __FILE__, __LINE__);
170 static asn_oer_constraints_t asn_OER_type_srs_ResourceIdList_constr_3 CC_NOTUSED = {
172 -1 /* (SIZE(1..16)) */};
173 static asn_per_constraints_t asn_PER_type_srs_ResourceIdList_constr_3 CC_NOTUSED = {
174 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
175 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
176 0, 0 /* No PER value map */
178 static asn_oer_constraints_t asn_OER_memb_Member_constr_13 CC_NOTUSED = {
179 { 1, 1 } /* (1..3) */,
181 static asn_per_constraints_t asn_PER_memb_Member_constr_13 CC_NOTUSED = {
182 { APC_CONSTRAINED, 2, 2, 1, 3 } /* (1..3) */,
183 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
184 0, 0 /* No PER value map */
186 static asn_oer_constraints_t asn_OER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
188 -1 /* (SIZE(1..2)) */};
189 static asn_per_constraints_t asn_PER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
190 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
191 { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */,
192 0, 0 /* No PER value map */
194 static asn_oer_constraints_t asn_OER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
196 -1 /* (SIZE(1..2)) */};
197 static asn_per_constraints_t asn_PER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
198 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
199 { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */,
200 0, 0 /* No PER value map */
202 static asn_oer_constraints_t asn_OER_memb_aperiodicSRS_ResourceTrigger_constr_7 CC_NOTUSED = {
203 { 1, 1 } /* (1..3) */,
205 static asn_per_constraints_t asn_PER_memb_aperiodicSRS_ResourceTrigger_constr_7 CC_NOTUSED = {
206 { APC_CONSTRAINED, 2, 2, 1, 3 } /* (1..3) */,
207 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
208 0, 0 /* No PER value map */
210 static asn_oer_constraints_t asn_OER_memb_slotOffset_constr_9 CC_NOTUSED = {
211 { 1, 1 } /* (1..32) */,
213 static asn_per_constraints_t asn_PER_memb_slotOffset_constr_9 CC_NOTUSED = {
214 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */,
215 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
216 0, 0 /* No PER value map */
218 static asn_oer_constraints_t asn_OER_type_resourceType_constr_5 CC_NOTUSED = {
221 static asn_per_constraints_t asn_PER_type_resourceType_constr_5 CC_NOTUSED = {
222 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
223 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
224 0, 0 /* No PER value map */
226 static asn_oer_constraints_t asn_OER_type_usage_constr_20 CC_NOTUSED = {
229 static asn_per_constraints_t asn_PER_type_usage_constr_20 CC_NOTUSED = {
230 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
231 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
232 0, 0 /* No PER value map */
234 static asn_oer_constraints_t asn_OER_type_pathlossReferenceRS_constr_27 CC_NOTUSED = {
237 static asn_per_constraints_t asn_PER_type_pathlossReferenceRS_constr_27 CC_NOTUSED = {
238 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
239 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
240 0, 0 /* No PER value map */
242 static asn_oer_constraints_t asn_OER_type_srs_PowerControlAdjustmentStates_constr_30 CC_NOTUSED = {
245 static asn_per_constraints_t asn_PER_type_srs_PowerControlAdjustmentStates_constr_30 CC_NOTUSED = {
246 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
247 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
248 0, 0 /* No PER value map */
250 static asn_oer_constraints_t asn_OER_memb_srs_ResourceIdList_constr_3 CC_NOTUSED = {
252 -1 /* (SIZE(1..16)) */};
253 static asn_per_constraints_t asn_PER_memb_srs_ResourceIdList_constr_3 CC_NOTUSED = {
254 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
255 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
256 0, 0 /* No PER value map */
258 static asn_oer_constraints_t asn_OER_memb_p0_constr_26 CC_NOTUSED = {
259 { 2, 0 } /* (-202..24) */,
261 static asn_per_constraints_t asn_PER_memb_p0_constr_26 CC_NOTUSED = {
262 { APC_CONSTRAINED, 8, 8, -202, 24 } /* (-202..24) */,
263 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
264 0, 0 /* No PER value map */
266 static asn_TYPE_member_t asn_MBR_srs_ResourceIdList_3[] = {
268 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
270 &asn_DEF_SRS_ResourceId,
273 0, 0, /* No default value */
277 static const ber_tlv_tag_t asn_DEF_srs_ResourceIdList_tags_3[] = {
278 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
279 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
281 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceIdList_specs_3 = {
282 sizeof(struct SRS_ResourceSet__srs_ResourceIdList),
283 offsetof(struct SRS_ResourceSet__srs_ResourceIdList, _asn_ctx),
284 0, /* XER encoding is XMLDelimitedItemList */
286 static /* Use -fall-defs-global to expose */
287 asn_TYPE_descriptor_t asn_DEF_srs_ResourceIdList_3 = {
288 "srs-ResourceIdList",
289 "srs-ResourceIdList",
291 asn_DEF_srs_ResourceIdList_tags_3,
292 sizeof(asn_DEF_srs_ResourceIdList_tags_3)
293 /sizeof(asn_DEF_srs_ResourceIdList_tags_3[0]) - 1, /* 1 */
294 asn_DEF_srs_ResourceIdList_tags_3, /* Same as above */
295 sizeof(asn_DEF_srs_ResourceIdList_tags_3)
296 /sizeof(asn_DEF_srs_ResourceIdList_tags_3[0]), /* 2 */
297 { &asn_OER_type_srs_ResourceIdList_constr_3, &asn_PER_type_srs_ResourceIdList_constr_3, SEQUENCE_OF_constraint },
298 asn_MBR_srs_ResourceIdList_3,
299 1, /* Single element */
300 &asn_SPC_srs_ResourceIdList_specs_3 /* Additional specs */
303 static asn_TYPE_member_t asn_MBR_aperiodicSRS_ResourceTriggerList_v1530_12[] = {
305 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
307 &asn_DEF_NativeInteger,
309 { &asn_OER_memb_Member_constr_13, &asn_PER_memb_Member_constr_13, memb_NativeInteger_constraint_12 },
310 0, 0, /* No default value */
314 static const ber_tlv_tag_t asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[] = {
315 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
316 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
318 static asn_SET_OF_specifics_t asn_SPC_aperiodicSRS_ResourceTriggerList_v1530_specs_12 = {
319 sizeof(struct SRS_ResourceSet__resourceType__aperiodic__ext1__aperiodicSRS_ResourceTriggerList_v1530),
320 offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1__aperiodicSRS_ResourceTriggerList_v1530, _asn_ctx),
321 0, /* XER encoding is XMLDelimitedItemList */
323 static /* Use -fall-defs-global to expose */
324 asn_TYPE_descriptor_t asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_12 = {
325 "aperiodicSRS-ResourceTriggerList-v1530",
326 "aperiodicSRS-ResourceTriggerList-v1530",
328 asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12,
329 sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12)
330 /sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[0]) - 1, /* 1 */
331 asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12, /* Same as above */
332 sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12)
333 /sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[0]), /* 2 */
334 { &asn_OER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12, &asn_PER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12, SEQUENCE_OF_constraint },
335 asn_MBR_aperiodicSRS_ResourceTriggerList_v1530_12,
336 1, /* Single element */
337 &asn_SPC_aperiodicSRS_ResourceTriggerList_v1530_specs_12 /* Additional specs */
340 static asn_TYPE_member_t asn_MBR_ext1_11[] = {
341 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1, aperiodicSRS_ResourceTriggerList_v1530),
342 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
344 &asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_12,
346 { &asn_OER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12, &asn_PER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12, memb_aperiodicSRS_ResourceTriggerList_v1530_constraint_11 },
347 0, 0, /* No default value */
348 "aperiodicSRS-ResourceTriggerList-v1530"
351 static const int asn_MAP_ext1_oms_11[] = { 0 };
352 static const ber_tlv_tag_t asn_DEF_ext1_tags_11[] = {
353 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
354 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
356 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_11[] = {
357 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aperiodicSRS-ResourceTriggerList-v1530 */
359 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_11 = {
360 sizeof(struct SRS_ResourceSet__resourceType__aperiodic__ext1),
361 offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1, _asn_ctx),
362 asn_MAP_ext1_tag2el_11,
363 1, /* Count of tags in the map */
364 asn_MAP_ext1_oms_11, /* Optional members */
365 1, 0, /* Root/Additions */
366 -1, /* First extension addition */
368 static /* Use -fall-defs-global to expose */
369 asn_TYPE_descriptor_t asn_DEF_ext1_11 = {
373 asn_DEF_ext1_tags_11,
374 sizeof(asn_DEF_ext1_tags_11)
375 /sizeof(asn_DEF_ext1_tags_11[0]) - 1, /* 1 */
376 asn_DEF_ext1_tags_11, /* Same as above */
377 sizeof(asn_DEF_ext1_tags_11)
378 /sizeof(asn_DEF_ext1_tags_11[0]), /* 2 */
379 { 0, 0, SEQUENCE_constraint },
381 1, /* Elements count */
382 &asn_SPC_ext1_specs_11 /* Additional specs */
385 static asn_TYPE_member_t asn_MBR_aperiodic_6[] = {
386 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, aperiodicSRS_ResourceTrigger),
387 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
388 -1, /* IMPLICIT tag at current level */
389 &asn_DEF_NativeInteger,
391 { &asn_OER_memb_aperiodicSRS_ResourceTrigger_constr_7, &asn_PER_memb_aperiodicSRS_ResourceTrigger_constr_7, memb_aperiodicSRS_ResourceTrigger_constraint_6 },
392 0, 0, /* No default value */
393 "aperiodicSRS-ResourceTrigger"
395 { ATF_POINTER, 3, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, csi_RS),
396 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
397 -1, /* IMPLICIT tag at current level */
398 &asn_DEF_NZP_CSI_RS_ResourceId,
401 0, 0, /* No default value */
404 { ATF_POINTER, 2, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, slotOffset),
405 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
406 -1, /* IMPLICIT tag at current level */
407 &asn_DEF_NativeInteger,
409 { &asn_OER_memb_slotOffset_constr_9, &asn_PER_memb_slotOffset_constr_9, memb_slotOffset_constraint_6 },
410 0, 0, /* No default value */
413 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, ext1),
414 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
419 0, 0, /* No default value */
423 static const int asn_MAP_aperiodic_oms_6[] = { 1, 2, 3 };
424 static const ber_tlv_tag_t asn_DEF_aperiodic_tags_6[] = {
425 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
426 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
428 static const asn_TYPE_tag2member_t asn_MAP_aperiodic_tag2el_6[] = {
429 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodicSRS-ResourceTrigger */
430 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* csi-RS */
431 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* slotOffset */
432 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ext1 */
434 static asn_SEQUENCE_specifics_t asn_SPC_aperiodic_specs_6 = {
435 sizeof(struct SRS_ResourceSet__resourceType__aperiodic),
436 offsetof(struct SRS_ResourceSet__resourceType__aperiodic, _asn_ctx),
437 asn_MAP_aperiodic_tag2el_6,
438 4, /* Count of tags in the map */
439 asn_MAP_aperiodic_oms_6, /* Optional members */
440 2, 1, /* Root/Additions */
441 3, /* First extension addition */
443 static /* Use -fall-defs-global to expose */
444 asn_TYPE_descriptor_t asn_DEF_aperiodic_6 = {
448 asn_DEF_aperiodic_tags_6,
449 sizeof(asn_DEF_aperiodic_tags_6)
450 /sizeof(asn_DEF_aperiodic_tags_6[0]) - 1, /* 1 */
451 asn_DEF_aperiodic_tags_6, /* Same as above */
452 sizeof(asn_DEF_aperiodic_tags_6)
453 /sizeof(asn_DEF_aperiodic_tags_6[0]), /* 2 */
454 { 0, 0, SEQUENCE_constraint },
456 4, /* Elements count */
457 &asn_SPC_aperiodic_specs_6 /* Additional specs */
460 static asn_TYPE_member_t asn_MBR_semi_persistent_14[] = {
461 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__semi_persistent, associatedCSI_RS),
462 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
463 -1, /* IMPLICIT tag at current level */
464 &asn_DEF_NZP_CSI_RS_ResourceId,
467 0, 0, /* No default value */
471 static const int asn_MAP_semi_persistent_oms_14[] = { 0 };
472 static const ber_tlv_tag_t asn_DEF_semi_persistent_tags_14[] = {
473 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
474 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
476 static const asn_TYPE_tag2member_t asn_MAP_semi_persistent_tag2el_14[] = {
477 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedCSI-RS */
479 static asn_SEQUENCE_specifics_t asn_SPC_semi_persistent_specs_14 = {
480 sizeof(struct SRS_ResourceSet__resourceType__semi_persistent),
481 offsetof(struct SRS_ResourceSet__resourceType__semi_persistent, _asn_ctx),
482 asn_MAP_semi_persistent_tag2el_14,
483 1, /* Count of tags in the map */
484 asn_MAP_semi_persistent_oms_14, /* Optional members */
485 1, 0, /* Root/Additions */
486 1, /* First extension addition */
488 static /* Use -fall-defs-global to expose */
489 asn_TYPE_descriptor_t asn_DEF_semi_persistent_14 = {
493 asn_DEF_semi_persistent_tags_14,
494 sizeof(asn_DEF_semi_persistent_tags_14)
495 /sizeof(asn_DEF_semi_persistent_tags_14[0]) - 1, /* 1 */
496 asn_DEF_semi_persistent_tags_14, /* Same as above */
497 sizeof(asn_DEF_semi_persistent_tags_14)
498 /sizeof(asn_DEF_semi_persistent_tags_14[0]), /* 2 */
499 { 0, 0, SEQUENCE_constraint },
500 asn_MBR_semi_persistent_14,
501 1, /* Elements count */
502 &asn_SPC_semi_persistent_specs_14 /* Additional specs */
505 static asn_TYPE_member_t asn_MBR_periodic_17[] = {
506 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__periodic, associatedCSI_RS),
507 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
508 -1, /* IMPLICIT tag at current level */
509 &asn_DEF_NZP_CSI_RS_ResourceId,
512 0, 0, /* No default value */
516 static const int asn_MAP_periodic_oms_17[] = { 0 };
517 static const ber_tlv_tag_t asn_DEF_periodic_tags_17[] = {
518 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
519 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
521 static const asn_TYPE_tag2member_t asn_MAP_periodic_tag2el_17[] = {
522 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedCSI-RS */
524 static asn_SEQUENCE_specifics_t asn_SPC_periodic_specs_17 = {
525 sizeof(struct SRS_ResourceSet__resourceType__periodic),
526 offsetof(struct SRS_ResourceSet__resourceType__periodic, _asn_ctx),
527 asn_MAP_periodic_tag2el_17,
528 1, /* Count of tags in the map */
529 asn_MAP_periodic_oms_17, /* Optional members */
530 1, 0, /* Root/Additions */
531 1, /* First extension addition */
533 static /* Use -fall-defs-global to expose */
534 asn_TYPE_descriptor_t asn_DEF_periodic_17 = {
538 asn_DEF_periodic_tags_17,
539 sizeof(asn_DEF_periodic_tags_17)
540 /sizeof(asn_DEF_periodic_tags_17[0]) - 1, /* 1 */
541 asn_DEF_periodic_tags_17, /* Same as above */
542 sizeof(asn_DEF_periodic_tags_17)
543 /sizeof(asn_DEF_periodic_tags_17[0]), /* 2 */
544 { 0, 0, SEQUENCE_constraint },
546 1, /* Elements count */
547 &asn_SPC_periodic_specs_17 /* Additional specs */
550 static asn_TYPE_member_t asn_MBR_resourceType_5[] = {
551 { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.aperiodic),
552 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
554 &asn_DEF_aperiodic_6,
557 0, 0, /* No default value */
560 { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.semi_persistent),
561 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
563 &asn_DEF_semi_persistent_14,
566 0, 0, /* No default value */
569 { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.periodic),
570 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
572 &asn_DEF_periodic_17,
575 0, 0, /* No default value */
579 static const asn_TYPE_tag2member_t asn_MAP_resourceType_tag2el_5[] = {
580 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodic */
581 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semi-persistent */
582 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* periodic */
584 static asn_CHOICE_specifics_t asn_SPC_resourceType_specs_5 = {
585 sizeof(struct SRS_ResourceSet__resourceType),
586 offsetof(struct SRS_ResourceSet__resourceType, _asn_ctx),
587 offsetof(struct SRS_ResourceSet__resourceType, present),
588 sizeof(((struct SRS_ResourceSet__resourceType *)0)->present),
589 asn_MAP_resourceType_tag2el_5,
590 3, /* Count of tags in the map */
592 -1 /* Extensions start */
594 static /* Use -fall-defs-global to expose */
595 asn_TYPE_descriptor_t asn_DEF_resourceType_5 = {
599 0, /* No effective tags (pointer) */
600 0, /* No effective tags (count) */
601 0, /* No tags (pointer) */
602 0, /* No tags (count) */
603 { &asn_OER_type_resourceType_constr_5, &asn_PER_type_resourceType_constr_5, CHOICE_constraint },
604 asn_MBR_resourceType_5,
605 3, /* Elements count */
606 &asn_SPC_resourceType_specs_5 /* Additional specs */
609 static const asn_INTEGER_enum_map_t asn_MAP_usage_value2enum_20[] = {
610 { 0, 14, "beamManagement" },
611 { 1, 8, "codebook" },
612 { 2, 11, "nonCodebook" },
613 { 3, 16, "antennaSwitching" }
615 static const unsigned int asn_MAP_usage_enum2value_20[] = {
616 3, /* antennaSwitching(3) */
617 0, /* beamManagement(0) */
619 2 /* nonCodebook(2) */
621 static const asn_INTEGER_specifics_t asn_SPC_usage_specs_20 = {
622 asn_MAP_usage_value2enum_20, /* "tag" => N; sorted by tag */
623 asn_MAP_usage_enum2value_20, /* N => "tag"; sorted by N */
624 4, /* Number of elements in the maps */
625 0, /* Enumeration is not extensible */
626 1, /* Strict enumeration */
627 0, /* Native long size */
630 static const ber_tlv_tag_t asn_DEF_usage_tags_20[] = {
631 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
632 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
634 static /* Use -fall-defs-global to expose */
635 asn_TYPE_descriptor_t asn_DEF_usage_20 = {
638 &asn_OP_NativeEnumerated,
639 asn_DEF_usage_tags_20,
640 sizeof(asn_DEF_usage_tags_20)
641 /sizeof(asn_DEF_usage_tags_20[0]) - 1, /* 1 */
642 asn_DEF_usage_tags_20, /* Same as above */
643 sizeof(asn_DEF_usage_tags_20)
644 /sizeof(asn_DEF_usage_tags_20[0]), /* 2 */
645 { &asn_OER_type_usage_constr_20, &asn_PER_type_usage_constr_20, NativeEnumerated_constraint },
646 0, 0, /* Defined elsewhere */
647 &asn_SPC_usage_specs_20 /* Additional specs */
650 static asn_TYPE_member_t asn_MBR_pathlossReferenceRS_27[] = {
651 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__pathlossReferenceRS, choice.ssb_Index),
652 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
653 -1, /* IMPLICIT tag at current level */
657 0, 0, /* No default value */
660 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__pathlossReferenceRS, choice.csi_RS_Index),
661 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
662 -1, /* IMPLICIT tag at current level */
663 &asn_DEF_NZP_CSI_RS_ResourceId,
666 0, 0, /* No default value */
670 static const asn_TYPE_tag2member_t asn_MAP_pathlossReferenceRS_tag2el_27[] = {
671 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssb-Index */
672 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* csi-RS-Index */
674 static asn_CHOICE_specifics_t asn_SPC_pathlossReferenceRS_specs_27 = {
675 sizeof(struct SRS_ResourceSet__pathlossReferenceRS),
676 offsetof(struct SRS_ResourceSet__pathlossReferenceRS, _asn_ctx),
677 offsetof(struct SRS_ResourceSet__pathlossReferenceRS, present),
678 sizeof(((struct SRS_ResourceSet__pathlossReferenceRS *)0)->present),
679 asn_MAP_pathlossReferenceRS_tag2el_27,
680 2, /* Count of tags in the map */
682 -1 /* Extensions start */
684 static /* Use -fall-defs-global to expose */
685 asn_TYPE_descriptor_t asn_DEF_pathlossReferenceRS_27 = {
686 "pathlossReferenceRS",
687 "pathlossReferenceRS",
689 0, /* No effective tags (pointer) */
690 0, /* No effective tags (count) */
691 0, /* No tags (pointer) */
692 0, /* No tags (count) */
693 { &asn_OER_type_pathlossReferenceRS_constr_27, &asn_PER_type_pathlossReferenceRS_constr_27, CHOICE_constraint },
694 asn_MBR_pathlossReferenceRS_27,
695 2, /* Elements count */
696 &asn_SPC_pathlossReferenceRS_specs_27 /* Additional specs */
699 static const asn_INTEGER_enum_map_t asn_MAP_srs_PowerControlAdjustmentStates_value2enum_30[] = {
700 { 0, 10, "sameAsFci2" },
701 { 1, 18, "separateClosedLoop" }
703 static const unsigned int asn_MAP_srs_PowerControlAdjustmentStates_enum2value_30[] = {
704 0, /* sameAsFci2(0) */
705 1 /* separateClosedLoop(1) */
707 static const asn_INTEGER_specifics_t asn_SPC_srs_PowerControlAdjustmentStates_specs_30 = {
708 asn_MAP_srs_PowerControlAdjustmentStates_value2enum_30, /* "tag" => N; sorted by tag */
709 asn_MAP_srs_PowerControlAdjustmentStates_enum2value_30, /* N => "tag"; sorted by N */
710 2, /* Number of elements in the maps */
711 0, /* Enumeration is not extensible */
712 1, /* Strict enumeration */
713 0, /* Native long size */
716 static const ber_tlv_tag_t asn_DEF_srs_PowerControlAdjustmentStates_tags_30[] = {
717 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
718 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
720 static /* Use -fall-defs-global to expose */
721 asn_TYPE_descriptor_t asn_DEF_srs_PowerControlAdjustmentStates_30 = {
722 "srs-PowerControlAdjustmentStates",
723 "srs-PowerControlAdjustmentStates",
724 &asn_OP_NativeEnumerated,
725 asn_DEF_srs_PowerControlAdjustmentStates_tags_30,
726 sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30)
727 /sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30[0]) - 1, /* 1 */
728 asn_DEF_srs_PowerControlAdjustmentStates_tags_30, /* Same as above */
729 sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30)
730 /sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30[0]), /* 2 */
731 { &asn_OER_type_srs_PowerControlAdjustmentStates_constr_30, &asn_PER_type_srs_PowerControlAdjustmentStates_constr_30, NativeEnumerated_constraint },
732 0, 0, /* Defined elsewhere */
733 &asn_SPC_srs_PowerControlAdjustmentStates_specs_30 /* Additional specs */
736 asn_TYPE_member_t asn_MBR_SRS_ResourceSet_1[] = {
737 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, srs_ResourceSetId),
738 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
739 -1, /* IMPLICIT tag at current level */
740 &asn_DEF_SRS_ResourceSetId,
743 0, 0, /* No default value */
746 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet, srs_ResourceIdList),
747 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
749 &asn_DEF_srs_ResourceIdList_3,
751 { &asn_OER_memb_srs_ResourceIdList_constr_3, &asn_PER_memb_srs_ResourceIdList_constr_3, memb_srs_ResourceIdList_constraint_1 },
752 0, 0, /* No default value */
755 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, resourceType),
756 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
757 +1, /* EXPLICIT tag at current level */
758 &asn_DEF_resourceType_5,
761 0, 0, /* No default value */
764 { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, usage),
765 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
766 -1, /* IMPLICIT tag at current level */
770 0, 0, /* No default value */
773 { ATF_POINTER, 4, offsetof(struct SRS_ResourceSet, alpha),
774 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
775 -1, /* IMPLICIT tag at current level */
779 0, 0, /* No default value */
782 { ATF_POINTER, 3, offsetof(struct SRS_ResourceSet, p0),
783 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
784 -1, /* IMPLICIT tag at current level */
785 &asn_DEF_NativeInteger,
787 { &asn_OER_memb_p0_constr_26, &asn_PER_memb_p0_constr_26, memb_p0_constraint_1 },
788 0, 0, /* No default value */
791 { ATF_POINTER, 2, offsetof(struct SRS_ResourceSet, pathlossReferenceRS),
792 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
793 +1, /* EXPLICIT tag at current level */
794 &asn_DEF_pathlossReferenceRS_27,
797 0, 0, /* No default value */
798 "pathlossReferenceRS"
800 { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet, srs_PowerControlAdjustmentStates),
801 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
802 -1, /* IMPLICIT tag at current level */
803 &asn_DEF_srs_PowerControlAdjustmentStates_30,
806 0, 0, /* No default value */
807 "srs-PowerControlAdjustmentStates"
810 static const int asn_MAP_SRS_ResourceSet_oms_1[] = { 1, 4, 5, 6, 7 };
811 static const ber_tlv_tag_t asn_DEF_SRS_ResourceSet_tags_1[] = {
812 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
814 static const asn_TYPE_tag2member_t asn_MAP_SRS_ResourceSet_tag2el_1[] = {
815 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* srs-ResourceSetId */
816 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* srs-ResourceIdList */
817 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resourceType */
818 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* usage */
819 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* alpha */
820 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* p0 */
821 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* pathlossReferenceRS */
822 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* srs-PowerControlAdjustmentStates */
824 asn_SEQUENCE_specifics_t asn_SPC_SRS_ResourceSet_specs_1 = {
825 sizeof(struct SRS_ResourceSet),
826 offsetof(struct SRS_ResourceSet, _asn_ctx),
827 asn_MAP_SRS_ResourceSet_tag2el_1,
828 8, /* Count of tags in the map */
829 asn_MAP_SRS_ResourceSet_oms_1, /* Optional members */
830 5, 0, /* Root/Additions */
831 8, /* First extension addition */
833 asn_TYPE_descriptor_t asn_DEF_SRS_ResourceSet = {
837 asn_DEF_SRS_ResourceSet_tags_1,
838 sizeof(asn_DEF_SRS_ResourceSet_tags_1)
839 /sizeof(asn_DEF_SRS_ResourceSet_tags_1[0]), /* 1 */
840 asn_DEF_SRS_ResourceSet_tags_1, /* Same as above */
841 sizeof(asn_DEF_SRS_ResourceSet_tags_1)
842 /sizeof(asn_DEF_SRS_ResourceSet_tags_1[0]), /* 1 */
843 { 0, 0, SEQUENCE_constraint },
844 asn_MBR_SRS_ResourceSet_1,
845 8, /* Elements count */
846 &asn_SPC_SRS_ResourceSet_specs_1 /* Additional specs */