2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "02_Aug/rrc_15_3_asn.asn1"
5 * `asn1c -D ./Aug02 -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "CSI-ReportPeriodicityAndOffset.h"
11 memb_slots4_constraint_1(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 >= 0 && 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_slots5_constraint_1(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 value = *(const long *)sptr;
49 if((value >= 0 && value <= 4)) {
50 /* Constraint check succeeded */
53 ASN__CTFAIL(app_key, td, sptr,
54 "%s: constraint failed (%s:%d)",
55 td->name, __FILE__, __LINE__);
61 memb_slots8_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
62 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
66 ASN__CTFAIL(app_key, td, sptr,
67 "%s: value not given (%s:%d)",
68 td->name, __FILE__, __LINE__);
72 value = *(const long *)sptr;
74 if((value >= 0 && value <= 7)) {
75 /* Constraint check succeeded */
78 ASN__CTFAIL(app_key, td, sptr,
79 "%s: constraint failed (%s:%d)",
80 td->name, __FILE__, __LINE__);
86 memb_slots10_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
87 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
91 ASN__CTFAIL(app_key, td, sptr,
92 "%s: value not given (%s:%d)",
93 td->name, __FILE__, __LINE__);
97 value = *(const long *)sptr;
99 if((value >= 0 && value <= 9)) {
100 /* Constraint check succeeded */
103 ASN__CTFAIL(app_key, td, sptr,
104 "%s: constraint failed (%s:%d)",
105 td->name, __FILE__, __LINE__);
111 memb_slots16_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
112 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
116 ASN__CTFAIL(app_key, td, sptr,
117 "%s: value not given (%s:%d)",
118 td->name, __FILE__, __LINE__);
122 value = *(const long *)sptr;
124 if((value >= 0 && value <= 15)) {
125 /* Constraint check succeeded */
128 ASN__CTFAIL(app_key, td, sptr,
129 "%s: constraint failed (%s:%d)",
130 td->name, __FILE__, __LINE__);
136 memb_slots20_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
137 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
141 ASN__CTFAIL(app_key, td, sptr,
142 "%s: value not given (%s:%d)",
143 td->name, __FILE__, __LINE__);
147 value = *(const long *)sptr;
149 if((value >= 0 && value <= 19)) {
150 /* Constraint check succeeded */
153 ASN__CTFAIL(app_key, td, sptr,
154 "%s: constraint failed (%s:%d)",
155 td->name, __FILE__, __LINE__);
161 memb_slots40_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
162 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
166 ASN__CTFAIL(app_key, td, sptr,
167 "%s: value not given (%s:%d)",
168 td->name, __FILE__, __LINE__);
172 value = *(const long *)sptr;
174 if((value >= 0 && value <= 39)) {
175 /* Constraint check succeeded */
178 ASN__CTFAIL(app_key, td, sptr,
179 "%s: constraint failed (%s:%d)",
180 td->name, __FILE__, __LINE__);
186 memb_slots80_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
187 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
191 ASN__CTFAIL(app_key, td, sptr,
192 "%s: value not given (%s:%d)",
193 td->name, __FILE__, __LINE__);
197 value = *(const long *)sptr;
199 if((value >= 0 && value <= 79)) {
200 /* Constraint check succeeded */
203 ASN__CTFAIL(app_key, td, sptr,
204 "%s: constraint failed (%s:%d)",
205 td->name, __FILE__, __LINE__);
211 memb_slots160_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
212 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
216 ASN__CTFAIL(app_key, td, sptr,
217 "%s: value not given (%s:%d)",
218 td->name, __FILE__, __LINE__);
222 value = *(const long *)sptr;
224 if((value >= 0 && value <= 159)) {
225 /* Constraint check succeeded */
228 ASN__CTFAIL(app_key, td, sptr,
229 "%s: constraint failed (%s:%d)",
230 td->name, __FILE__, __LINE__);
236 memb_slots320_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
237 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
241 ASN__CTFAIL(app_key, td, sptr,
242 "%s: value not given (%s:%d)",
243 td->name, __FILE__, __LINE__);
247 value = *(const long *)sptr;
249 if((value >= 0 && value <= 319)) {
250 /* Constraint check succeeded */
253 ASN__CTFAIL(app_key, td, sptr,
254 "%s: constraint failed (%s:%d)",
255 td->name, __FILE__, __LINE__);
260 static asn_oer_constraints_t asn_OER_memb_slots4_constr_2 CC_NOTUSED = {
261 { 1, 1 } /* (0..3) */,
263 static asn_per_constraints_t asn_PER_memb_slots4_constr_2 CC_NOTUSED = {
264 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
265 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
266 0, 0 /* No PER value map */
268 static asn_oer_constraints_t asn_OER_memb_slots5_constr_3 CC_NOTUSED = {
269 { 1, 1 } /* (0..4) */,
271 static asn_per_constraints_t asn_PER_memb_slots5_constr_3 CC_NOTUSED = {
272 { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
273 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
274 0, 0 /* No PER value map */
276 static asn_oer_constraints_t asn_OER_memb_slots8_constr_4 CC_NOTUSED = {
277 { 1, 1 } /* (0..7) */,
279 static asn_per_constraints_t asn_PER_memb_slots8_constr_4 CC_NOTUSED = {
280 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
281 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
282 0, 0 /* No PER value map */
284 static asn_oer_constraints_t asn_OER_memb_slots10_constr_5 CC_NOTUSED = {
285 { 1, 1 } /* (0..9) */,
287 static asn_per_constraints_t asn_PER_memb_slots10_constr_5 CC_NOTUSED = {
288 { APC_CONSTRAINED, 4, 4, 0, 9 } /* (0..9) */,
289 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
290 0, 0 /* No PER value map */
292 static asn_oer_constraints_t asn_OER_memb_slots16_constr_6 CC_NOTUSED = {
293 { 1, 1 } /* (0..15) */,
295 static asn_per_constraints_t asn_PER_memb_slots16_constr_6 CC_NOTUSED = {
296 { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
297 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
298 0, 0 /* No PER value map */
300 static asn_oer_constraints_t asn_OER_memb_slots20_constr_7 CC_NOTUSED = {
301 { 1, 1 } /* (0..19) */,
303 static asn_per_constraints_t asn_PER_memb_slots20_constr_7 CC_NOTUSED = {
304 { APC_CONSTRAINED, 5, 5, 0, 19 } /* (0..19) */,
305 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
306 0, 0 /* No PER value map */
308 static asn_oer_constraints_t asn_OER_memb_slots40_constr_8 CC_NOTUSED = {
309 { 1, 1 } /* (0..39) */,
311 static asn_per_constraints_t asn_PER_memb_slots40_constr_8 CC_NOTUSED = {
312 { APC_CONSTRAINED, 6, 6, 0, 39 } /* (0..39) */,
313 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
314 0, 0 /* No PER value map */
316 static asn_oer_constraints_t asn_OER_memb_slots80_constr_9 CC_NOTUSED = {
317 { 1, 1 } /* (0..79) */,
319 static asn_per_constraints_t asn_PER_memb_slots80_constr_9 CC_NOTUSED = {
320 { APC_CONSTRAINED, 7, 7, 0, 79 } /* (0..79) */,
321 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
322 0, 0 /* No PER value map */
324 static asn_oer_constraints_t asn_OER_memb_slots160_constr_10 CC_NOTUSED = {
325 { 1, 1 } /* (0..159) */,
327 static asn_per_constraints_t asn_PER_memb_slots160_constr_10 CC_NOTUSED = {
328 { APC_CONSTRAINED, 8, 8, 0, 159 } /* (0..159) */,
329 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
330 0, 0 /* No PER value map */
332 static asn_oer_constraints_t asn_OER_memb_slots320_constr_11 CC_NOTUSED = {
333 { 2, 1 } /* (0..319) */,
335 static asn_per_constraints_t asn_PER_memb_slots320_constr_11 CC_NOTUSED = {
336 { APC_CONSTRAINED, 9, 9, 0, 319 } /* (0..319) */,
337 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
338 0, 0 /* No PER value map */
340 static asn_oer_constraints_t asn_OER_type_CSI_ReportPeriodicityAndOffset_constr_1 CC_NOTUSED = {
343 asn_per_constraints_t asn_PER_type_CSI_ReportPeriodicityAndOffset_constr_1 CC_NOTUSED = {
344 { APC_CONSTRAINED, 4, 4, 0, 9 } /* (0..9) */,
345 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
346 0, 0 /* No PER value map */
348 asn_TYPE_member_t asn_MBR_CSI_ReportPeriodicityAndOffset_1[] = {
349 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots4),
350 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
351 -1, /* IMPLICIT tag at current level */
352 &asn_DEF_NativeInteger,
354 { &asn_OER_memb_slots4_constr_2, &asn_PER_memb_slots4_constr_2, memb_slots4_constraint_1 },
355 0, 0, /* No default value */
358 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots5),
359 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
360 -1, /* IMPLICIT tag at current level */
361 &asn_DEF_NativeInteger,
363 { &asn_OER_memb_slots5_constr_3, &asn_PER_memb_slots5_constr_3, memb_slots5_constraint_1 },
364 0, 0, /* No default value */
367 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots8),
368 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
369 -1, /* IMPLICIT tag at current level */
370 &asn_DEF_NativeInteger,
372 { &asn_OER_memb_slots8_constr_4, &asn_PER_memb_slots8_constr_4, memb_slots8_constraint_1 },
373 0, 0, /* No default value */
376 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots10),
377 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
378 -1, /* IMPLICIT tag at current level */
379 &asn_DEF_NativeInteger,
381 { &asn_OER_memb_slots10_constr_5, &asn_PER_memb_slots10_constr_5, memb_slots10_constraint_1 },
382 0, 0, /* No default value */
385 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots16),
386 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
387 -1, /* IMPLICIT tag at current level */
388 &asn_DEF_NativeInteger,
390 { &asn_OER_memb_slots16_constr_6, &asn_PER_memb_slots16_constr_6, memb_slots16_constraint_1 },
391 0, 0, /* No default value */
394 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots20),
395 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
396 -1, /* IMPLICIT tag at current level */
397 &asn_DEF_NativeInteger,
399 { &asn_OER_memb_slots20_constr_7, &asn_PER_memb_slots20_constr_7, memb_slots20_constraint_1 },
400 0, 0, /* No default value */
403 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots40),
404 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
405 -1, /* IMPLICIT tag at current level */
406 &asn_DEF_NativeInteger,
408 { &asn_OER_memb_slots40_constr_8, &asn_PER_memb_slots40_constr_8, memb_slots40_constraint_1 },
409 0, 0, /* No default value */
412 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots80),
413 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
414 -1, /* IMPLICIT tag at current level */
415 &asn_DEF_NativeInteger,
417 { &asn_OER_memb_slots80_constr_9, &asn_PER_memb_slots80_constr_9, memb_slots80_constraint_1 },
418 0, 0, /* No default value */
421 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots160),
422 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
423 -1, /* IMPLICIT tag at current level */
424 &asn_DEF_NativeInteger,
426 { &asn_OER_memb_slots160_constr_10, &asn_PER_memb_slots160_constr_10, memb_slots160_constraint_1 },
427 0, 0, /* No default value */
430 { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportPeriodicityAndOffset, choice.slots320),
431 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
432 -1, /* IMPLICIT tag at current level */
433 &asn_DEF_NativeInteger,
435 { &asn_OER_memb_slots320_constr_11, &asn_PER_memb_slots320_constr_11, memb_slots320_constraint_1 },
436 0, 0, /* No default value */
440 static const asn_TYPE_tag2member_t asn_MAP_CSI_ReportPeriodicityAndOffset_tag2el_1[] = {
441 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* slots4 */
442 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* slots5 */
443 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* slots8 */
444 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* slots10 */
445 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* slots16 */
446 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* slots20 */
447 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* slots40 */
448 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* slots80 */
449 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* slots160 */
450 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* slots320 */
452 asn_CHOICE_specifics_t asn_SPC_CSI_ReportPeriodicityAndOffset_specs_1 = {
453 sizeof(struct CSI_ReportPeriodicityAndOffset),
454 offsetof(struct CSI_ReportPeriodicityAndOffset, _asn_ctx),
455 offsetof(struct CSI_ReportPeriodicityAndOffset, present),
456 sizeof(((struct CSI_ReportPeriodicityAndOffset *)0)->present),
457 asn_MAP_CSI_ReportPeriodicityAndOffset_tag2el_1,
458 10, /* Count of tags in the map */
460 -1 /* Extensions start */
462 asn_TYPE_descriptor_t asn_DEF_CSI_ReportPeriodicityAndOffset = {
463 "CSI-ReportPeriodicityAndOffset",
464 "CSI-ReportPeriodicityAndOffset",
466 0, /* No effective tags (pointer) */
467 0, /* No effective tags (count) */
468 0, /* No tags (pointer) */
469 0, /* No tags (count) */
470 { &asn_OER_type_CSI_ReportPeriodicityAndOffset_constr_1, &asn_PER_type_CSI_ReportPeriodicityAndOffset_constr_1, CHOICE_constraint },
471 asn_MBR_CSI_ReportPeriodicityAndOffset_1,
472 10, /* Elements count */
473 &asn_SPC_CSI_ReportPeriodicityAndOffset_specs_1 /* Additional specs */