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 -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "SRS-Resources.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 * This type is implemented using NativeEnumerated,
20 * so here we adjust the DEF accordingly.
23 * This type is implemented using NativeEnumerated,
24 * so here we adjust the DEF accordingly.
27 memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
28 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: value not given (%s:%d)",
34 td->name, __FILE__, __LINE__);
38 value = *(const long *)sptr;
40 if((value >= 1 && value <= 6)) {
41 /* Constraint check succeeded */
44 ASN__CTFAIL(app_key, td, sptr,
45 "%s: constraint failed (%s:%d)",
46 td->name, __FILE__, __LINE__);
52 memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
53 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
57 ASN__CTFAIL(app_key, td, sptr,
58 "%s: value not given (%s:%d)",
59 td->name, __FILE__, __LINE__);
63 value = *(const long *)sptr;
65 if((value >= 1 && value <= 6)) {
66 /* Constraint check succeeded */
69 ASN__CTFAIL(app_key, td, sptr,
70 "%s: constraint failed (%s:%d)",
71 td->name, __FILE__, __LINE__);
77 memb_maxNumberSP_SRS_PerBWP_PerSlot_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
78 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
82 ASN__CTFAIL(app_key, td, sptr,
83 "%s: value not given (%s:%d)",
84 td->name, __FILE__, __LINE__);
88 value = *(const long *)sptr;
90 if((value >= 1 && value <= 6)) {
91 /* Constraint check succeeded */
94 ASN__CTFAIL(app_key, td, sptr,
95 "%s: constraint failed (%s:%d)",
96 td->name, __FILE__, __LINE__);
101 static asn_oer_constraints_t asn_OER_type_maxNumberAperiodicSRS_PerBWP_constr_2 CC_NOTUSED = {
104 static asn_per_constraints_t asn_PER_type_maxNumberAperiodicSRS_PerBWP_constr_2 CC_NOTUSED = {
105 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
106 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
107 0, 0 /* No PER value map */
109 static asn_oer_constraints_t asn_OER_type_maxNumberPeriodicSRS_PerBWP_constr_9 CC_NOTUSED = {
112 static asn_per_constraints_t asn_PER_type_maxNumberPeriodicSRS_PerBWP_constr_9 CC_NOTUSED = {
113 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
114 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
115 0, 0 /* No PER value map */
117 static asn_oer_constraints_t asn_OER_type_maxNumberSemiPersitentSRS_PerBWP_constr_16 CC_NOTUSED = {
120 static asn_per_constraints_t asn_PER_type_maxNumberSemiPersitentSRS_PerBWP_constr_16 CC_NOTUSED = {
121 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
122 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
123 0, 0 /* No PER value map */
125 static asn_oer_constraints_t asn_OER_type_maxNumberSRS_Ports_PerResource_constr_23 CC_NOTUSED = {
128 static asn_per_constraints_t asn_PER_type_maxNumberSRS_Ports_PerResource_constr_23 CC_NOTUSED = {
129 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
130 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
131 0, 0 /* No PER value map */
133 static asn_oer_constraints_t asn_OER_memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constr_8 CC_NOTUSED = {
134 { 1, 1 } /* (1..6) */,
136 static asn_per_constraints_t asn_PER_memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constr_8 CC_NOTUSED = {
137 { APC_CONSTRAINED, 3, 3, 1, 6 } /* (1..6) */,
138 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
139 0, 0 /* No PER value map */
141 static asn_oer_constraints_t asn_OER_memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constr_15 CC_NOTUSED = {
142 { 1, 1 } /* (1..6) */,
144 static asn_per_constraints_t asn_PER_memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constr_15 CC_NOTUSED = {
145 { APC_CONSTRAINED, 3, 3, 1, 6 } /* (1..6) */,
146 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
147 0, 0 /* No PER value map */
149 static asn_oer_constraints_t asn_OER_memb_maxNumberSP_SRS_PerBWP_PerSlot_constr_22 CC_NOTUSED = {
150 { 1, 1 } /* (1..6) */,
152 static asn_per_constraints_t asn_PER_memb_maxNumberSP_SRS_PerBWP_PerSlot_constr_22 CC_NOTUSED = {
153 { APC_CONSTRAINED, 3, 3, 1, 6 } /* (1..6) */,
154 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
155 0, 0 /* No PER value map */
157 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberAperiodicSRS_PerBWP_value2enum_2[] = {
164 static const unsigned int asn_MAP_maxNumberAperiodicSRS_PerBWP_enum2value_2[] = {
171 static const asn_INTEGER_specifics_t asn_SPC_maxNumberAperiodicSRS_PerBWP_specs_2 = {
172 asn_MAP_maxNumberAperiodicSRS_PerBWP_value2enum_2, /* "tag" => N; sorted by tag */
173 asn_MAP_maxNumberAperiodicSRS_PerBWP_enum2value_2, /* N => "tag"; sorted by N */
174 5, /* Number of elements in the maps */
175 0, /* Enumeration is not extensible */
176 1, /* Strict enumeration */
177 0, /* Native long size */
180 static const ber_tlv_tag_t asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2[] = {
181 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
182 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
184 static /* Use -fall-defs-global to expose */
185 asn_TYPE_descriptor_t asn_DEF_maxNumberAperiodicSRS_PerBWP_2 = {
186 "maxNumberAperiodicSRS-PerBWP",
187 "maxNumberAperiodicSRS-PerBWP",
188 &asn_OP_NativeEnumerated,
189 asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2,
190 sizeof(asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2)
191 /sizeof(asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2[0]) - 1, /* 1 */
192 asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2, /* Same as above */
193 sizeof(asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2)
194 /sizeof(asn_DEF_maxNumberAperiodicSRS_PerBWP_tags_2[0]), /* 2 */
195 { &asn_OER_type_maxNumberAperiodicSRS_PerBWP_constr_2, &asn_PER_type_maxNumberAperiodicSRS_PerBWP_constr_2, NativeEnumerated_constraint },
196 0, 0, /* Defined elsewhere */
197 &asn_SPC_maxNumberAperiodicSRS_PerBWP_specs_2 /* Additional specs */
200 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberPeriodicSRS_PerBWP_value2enum_9[] = {
207 static const unsigned int asn_MAP_maxNumberPeriodicSRS_PerBWP_enum2value_9[] = {
214 static const asn_INTEGER_specifics_t asn_SPC_maxNumberPeriodicSRS_PerBWP_specs_9 = {
215 asn_MAP_maxNumberPeriodicSRS_PerBWP_value2enum_9, /* "tag" => N; sorted by tag */
216 asn_MAP_maxNumberPeriodicSRS_PerBWP_enum2value_9, /* N => "tag"; sorted by N */
217 5, /* Number of elements in the maps */
218 0, /* Enumeration is not extensible */
219 1, /* Strict enumeration */
220 0, /* Native long size */
223 static const ber_tlv_tag_t asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9[] = {
224 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
225 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
227 static /* Use -fall-defs-global to expose */
228 asn_TYPE_descriptor_t asn_DEF_maxNumberPeriodicSRS_PerBWP_9 = {
229 "maxNumberPeriodicSRS-PerBWP",
230 "maxNumberPeriodicSRS-PerBWP",
231 &asn_OP_NativeEnumerated,
232 asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9,
233 sizeof(asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9)
234 /sizeof(asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9[0]) - 1, /* 1 */
235 asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9, /* Same as above */
236 sizeof(asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9)
237 /sizeof(asn_DEF_maxNumberPeriodicSRS_PerBWP_tags_9[0]), /* 2 */
238 { &asn_OER_type_maxNumberPeriodicSRS_PerBWP_constr_9, &asn_PER_type_maxNumberPeriodicSRS_PerBWP_constr_9, NativeEnumerated_constraint },
239 0, 0, /* Defined elsewhere */
240 &asn_SPC_maxNumberPeriodicSRS_PerBWP_specs_9 /* Additional specs */
243 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberSemiPersitentSRS_PerBWP_value2enum_16[] = {
250 static const unsigned int asn_MAP_maxNumberSemiPersitentSRS_PerBWP_enum2value_16[] = {
257 static const asn_INTEGER_specifics_t asn_SPC_maxNumberSemiPersitentSRS_PerBWP_specs_16 = {
258 asn_MAP_maxNumberSemiPersitentSRS_PerBWP_value2enum_16, /* "tag" => N; sorted by tag */
259 asn_MAP_maxNumberSemiPersitentSRS_PerBWP_enum2value_16, /* N => "tag"; sorted by N */
260 5, /* Number of elements in the maps */
261 0, /* Enumeration is not extensible */
262 1, /* Strict enumeration */
263 0, /* Native long size */
266 static const ber_tlv_tag_t asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16[] = {
267 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
268 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
270 static /* Use -fall-defs-global to expose */
271 asn_TYPE_descriptor_t asn_DEF_maxNumberSemiPersitentSRS_PerBWP_16 = {
272 "maxNumberSemiPersitentSRS-PerBWP",
273 "maxNumberSemiPersitentSRS-PerBWP",
274 &asn_OP_NativeEnumerated,
275 asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16,
276 sizeof(asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16)
277 /sizeof(asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16[0]) - 1, /* 1 */
278 asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16, /* Same as above */
279 sizeof(asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16)
280 /sizeof(asn_DEF_maxNumberSemiPersitentSRS_PerBWP_tags_16[0]), /* 2 */
281 { &asn_OER_type_maxNumberSemiPersitentSRS_PerBWP_constr_16, &asn_PER_type_maxNumberSemiPersitentSRS_PerBWP_constr_16, NativeEnumerated_constraint },
282 0, 0, /* Defined elsewhere */
283 &asn_SPC_maxNumberSemiPersitentSRS_PerBWP_specs_16 /* Additional specs */
286 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberSRS_Ports_PerResource_value2enum_23[] = {
291 static const unsigned int asn_MAP_maxNumberSRS_Ports_PerResource_enum2value_23[] = {
296 static const asn_INTEGER_specifics_t asn_SPC_maxNumberSRS_Ports_PerResource_specs_23 = {
297 asn_MAP_maxNumberSRS_Ports_PerResource_value2enum_23, /* "tag" => N; sorted by tag */
298 asn_MAP_maxNumberSRS_Ports_PerResource_enum2value_23, /* N => "tag"; sorted by N */
299 3, /* Number of elements in the maps */
300 0, /* Enumeration is not extensible */
301 1, /* Strict enumeration */
302 0, /* Native long size */
305 static const ber_tlv_tag_t asn_DEF_maxNumberSRS_Ports_PerResource_tags_23[] = {
306 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
307 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
309 static /* Use -fall-defs-global to expose */
310 asn_TYPE_descriptor_t asn_DEF_maxNumberSRS_Ports_PerResource_23 = {
311 "maxNumberSRS-Ports-PerResource",
312 "maxNumberSRS-Ports-PerResource",
313 &asn_OP_NativeEnumerated,
314 asn_DEF_maxNumberSRS_Ports_PerResource_tags_23,
315 sizeof(asn_DEF_maxNumberSRS_Ports_PerResource_tags_23)
316 /sizeof(asn_DEF_maxNumberSRS_Ports_PerResource_tags_23[0]) - 1, /* 1 */
317 asn_DEF_maxNumberSRS_Ports_PerResource_tags_23, /* Same as above */
318 sizeof(asn_DEF_maxNumberSRS_Ports_PerResource_tags_23)
319 /sizeof(asn_DEF_maxNumberSRS_Ports_PerResource_tags_23[0]), /* 2 */
320 { &asn_OER_type_maxNumberSRS_Ports_PerResource_constr_23, &asn_PER_type_maxNumberSRS_Ports_PerResource_constr_23, NativeEnumerated_constraint },
321 0, 0, /* Defined elsewhere */
322 &asn_SPC_maxNumberSRS_Ports_PerResource_specs_23 /* Additional specs */
325 asn_TYPE_member_t asn_MBR_SRS_Resources_1[] = {
326 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberAperiodicSRS_PerBWP),
327 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
328 -1, /* IMPLICIT tag at current level */
329 &asn_DEF_maxNumberAperiodicSRS_PerBWP_2,
332 0, 0, /* No default value */
333 "maxNumberAperiodicSRS-PerBWP"
335 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberAperiodicSRS_PerBWP_PerSlot),
336 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
337 -1, /* IMPLICIT tag at current level */
338 &asn_DEF_NativeInteger,
340 { &asn_OER_memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constr_8, &asn_PER_memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constr_8, memb_maxNumberAperiodicSRS_PerBWP_PerSlot_constraint_1 },
341 0, 0, /* No default value */
342 "maxNumberAperiodicSRS-PerBWP-PerSlot"
344 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberPeriodicSRS_PerBWP),
345 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
346 -1, /* IMPLICIT tag at current level */
347 &asn_DEF_maxNumberPeriodicSRS_PerBWP_9,
350 0, 0, /* No default value */
351 "maxNumberPeriodicSRS-PerBWP"
353 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberPeriodicSRS_PerBWP_PerSlot),
354 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
355 -1, /* IMPLICIT tag at current level */
356 &asn_DEF_NativeInteger,
358 { &asn_OER_memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constr_15, &asn_PER_memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constr_15, memb_maxNumberPeriodicSRS_PerBWP_PerSlot_constraint_1 },
359 0, 0, /* No default value */
360 "maxNumberPeriodicSRS-PerBWP-PerSlot"
362 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberSemiPersitentSRS_PerBWP),
363 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
364 -1, /* IMPLICIT tag at current level */
365 &asn_DEF_maxNumberSemiPersitentSRS_PerBWP_16,
368 0, 0, /* No default value */
369 "maxNumberSemiPersitentSRS-PerBWP"
371 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberSP_SRS_PerBWP_PerSlot),
372 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
373 -1, /* IMPLICIT tag at current level */
374 &asn_DEF_NativeInteger,
376 { &asn_OER_memb_maxNumberSP_SRS_PerBWP_PerSlot_constr_22, &asn_PER_memb_maxNumberSP_SRS_PerBWP_PerSlot_constr_22, memb_maxNumberSP_SRS_PerBWP_PerSlot_constraint_1 },
377 0, 0, /* No default value */
378 "maxNumberSP-SRS-PerBWP-PerSlot"
380 { ATF_NOFLAGS, 0, offsetof(struct SRS_Resources, maxNumberSRS_Ports_PerResource),
381 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
382 -1, /* IMPLICIT tag at current level */
383 &asn_DEF_maxNumberSRS_Ports_PerResource_23,
386 0, 0, /* No default value */
387 "maxNumberSRS-Ports-PerResource"
390 static const ber_tlv_tag_t asn_DEF_SRS_Resources_tags_1[] = {
391 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
393 static const asn_TYPE_tag2member_t asn_MAP_SRS_Resources_tag2el_1[] = {
394 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberAperiodicSRS-PerBWP */
395 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* maxNumberAperiodicSRS-PerBWP-PerSlot */
396 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxNumberPeriodicSRS-PerBWP */
397 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxNumberPeriodicSRS-PerBWP-PerSlot */
398 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* maxNumberSemiPersitentSRS-PerBWP */
399 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* maxNumberSP-SRS-PerBWP-PerSlot */
400 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* maxNumberSRS-Ports-PerResource */
402 asn_SEQUENCE_specifics_t asn_SPC_SRS_Resources_specs_1 = {
403 sizeof(struct SRS_Resources),
404 offsetof(struct SRS_Resources, _asn_ctx),
405 asn_MAP_SRS_Resources_tag2el_1,
406 7, /* Count of tags in the map */
407 0, 0, 0, /* Optional elements (not needed) */
408 -1, /* First extension addition */
410 asn_TYPE_descriptor_t asn_DEF_SRS_Resources = {
414 asn_DEF_SRS_Resources_tags_1,
415 sizeof(asn_DEF_SRS_Resources_tags_1)
416 /sizeof(asn_DEF_SRS_Resources_tags_1[0]), /* 1 */
417 asn_DEF_SRS_Resources_tags_1, /* Same as above */
418 sizeof(asn_DEF_SRS_Resources_tags_1)
419 /sizeof(asn_DEF_SRS_Resources_tags_1[0]), /* 1 */
420 { 0, 0, SEQUENCE_constraint },
421 asn_MBR_SRS_Resources_1,
422 7, /* Elements count */
423 &asn_SPC_SRS_Resources_specs_1 /* Additional specs */