d2663b8e8c233fbdd1756b4e42dbe3c63e98785f
[o-du/l2.git] / src / codec_utils / RRC / RateMatchPattern.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "RateMatchPattern.h"
9
10 static int
11 memb_oneSlot_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
14         size_t size;
15         
16         if(!sptr) {
17                 ASN__CTFAIL(app_key, td, sptr,
18                         "%s: value not given (%s:%d)",
19                         td->name, __FILE__, __LINE__);
20                 return -1;
21         }
22         
23         if(st->size > 0) {
24                 /* Size in bits */
25                 size = 8 * st->size - (st->bits_unused & 0x07);
26         } else {
27                 size = 0;
28         }
29         
30         if((size == 14)) {
31                 /* Constraint check succeeded */
32                 return 0;
33         } else {
34                 ASN__CTFAIL(app_key, td, sptr,
35                         "%s: constraint failed (%s:%d)",
36                         td->name, __FILE__, __LINE__);
37                 return -1;
38         }
39 }
40
41 static int
42 memb_twoSlots_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
43                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
44         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
45         size_t size;
46         
47         if(!sptr) {
48                 ASN__CTFAIL(app_key, td, sptr,
49                         "%s: value not given (%s:%d)",
50                         td->name, __FILE__, __LINE__);
51                 return -1;
52         }
53         
54         if(st->size > 0) {
55                 /* Size in bits */
56                 size = 8 * st->size - (st->bits_unused & 0x07);
57         } else {
58                 size = 0;
59         }
60         
61         if((size == 28)) {
62                 /* Constraint check succeeded */
63                 return 0;
64         } else {
65                 ASN__CTFAIL(app_key, td, sptr,
66                         "%s: constraint failed (%s:%d)",
67                         td->name, __FILE__, __LINE__);
68                 return -1;
69         }
70 }
71
72 static int
73 memb_n2_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
74                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
75         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
76         size_t size;
77         
78         if(!sptr) {
79                 ASN__CTFAIL(app_key, td, sptr,
80                         "%s: value not given (%s:%d)",
81                         td->name, __FILE__, __LINE__);
82                 return -1;
83         }
84         
85         if(st->size > 0) {
86                 /* Size in bits */
87                 size = 8 * st->size - (st->bits_unused & 0x07);
88         } else {
89                 size = 0;
90         }
91         
92         if((size == 2)) {
93                 /* Constraint check succeeded */
94                 return 0;
95         } else {
96                 ASN__CTFAIL(app_key, td, sptr,
97                         "%s: constraint failed (%s:%d)",
98                         td->name, __FILE__, __LINE__);
99                 return -1;
100         }
101 }
102
103 static int
104 memb_n4_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
105                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
106         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
107         size_t size;
108         
109         if(!sptr) {
110                 ASN__CTFAIL(app_key, td, sptr,
111                         "%s: value not given (%s:%d)",
112                         td->name, __FILE__, __LINE__);
113                 return -1;
114         }
115         
116         if(st->size > 0) {
117                 /* Size in bits */
118                 size = 8 * st->size - (st->bits_unused & 0x07);
119         } else {
120                 size = 0;
121         }
122         
123         if((size == 4)) {
124                 /* Constraint check succeeded */
125                 return 0;
126         } else {
127                 ASN__CTFAIL(app_key, td, sptr,
128                         "%s: constraint failed (%s:%d)",
129                         td->name, __FILE__, __LINE__);
130                 return -1;
131         }
132 }
133
134 static int
135 memb_n5_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
136                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
137         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
138         size_t size;
139         
140         if(!sptr) {
141                 ASN__CTFAIL(app_key, td, sptr,
142                         "%s: value not given (%s:%d)",
143                         td->name, __FILE__, __LINE__);
144                 return -1;
145         }
146         
147         if(st->size > 0) {
148                 /* Size in bits */
149                 size = 8 * st->size - (st->bits_unused & 0x07);
150         } else {
151                 size = 0;
152         }
153         
154         if((size == 5)) {
155                 /* Constraint check succeeded */
156                 return 0;
157         } else {
158                 ASN__CTFAIL(app_key, td, sptr,
159                         "%s: constraint failed (%s:%d)",
160                         td->name, __FILE__, __LINE__);
161                 return -1;
162         }
163 }
164
165 static int
166 memb_n8_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
167                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
168         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
169         size_t size;
170         
171         if(!sptr) {
172                 ASN__CTFAIL(app_key, td, sptr,
173                         "%s: value not given (%s:%d)",
174                         td->name, __FILE__, __LINE__);
175                 return -1;
176         }
177         
178         if(st->size > 0) {
179                 /* Size in bits */
180                 size = 8 * st->size - (st->bits_unused & 0x07);
181         } else {
182                 size = 0;
183         }
184         
185         if((size == 8)) {
186                 /* Constraint check succeeded */
187                 return 0;
188         } else {
189                 ASN__CTFAIL(app_key, td, sptr,
190                         "%s: constraint failed (%s:%d)",
191                         td->name, __FILE__, __LINE__);
192                 return -1;
193         }
194 }
195
196 static int
197 memb_n10_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
198                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
199         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
200         size_t size;
201         
202         if(!sptr) {
203                 ASN__CTFAIL(app_key, td, sptr,
204                         "%s: value not given (%s:%d)",
205                         td->name, __FILE__, __LINE__);
206                 return -1;
207         }
208         
209         if(st->size > 0) {
210                 /* Size in bits */
211                 size = 8 * st->size - (st->bits_unused & 0x07);
212         } else {
213                 size = 0;
214         }
215         
216         if((size == 10)) {
217                 /* Constraint check succeeded */
218                 return 0;
219         } else {
220                 ASN__CTFAIL(app_key, td, sptr,
221                         "%s: constraint failed (%s:%d)",
222                         td->name, __FILE__, __LINE__);
223                 return -1;
224         }
225 }
226
227 static int
228 memb_n20_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
229                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
230         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
231         size_t size;
232         
233         if(!sptr) {
234                 ASN__CTFAIL(app_key, td, sptr,
235                         "%s: value not given (%s:%d)",
236                         td->name, __FILE__, __LINE__);
237                 return -1;
238         }
239         
240         if(st->size > 0) {
241                 /* Size in bits */
242                 size = 8 * st->size - (st->bits_unused & 0x07);
243         } else {
244                 size = 0;
245         }
246         
247         if((size == 20)) {
248                 /* Constraint check succeeded */
249                 return 0;
250         } else {
251                 ASN__CTFAIL(app_key, td, sptr,
252                         "%s: constraint failed (%s:%d)",
253                         td->name, __FILE__, __LINE__);
254                 return -1;
255         }
256 }
257
258 static int
259 memb_n40_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
260                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
261         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
262         size_t size;
263         
264         if(!sptr) {
265                 ASN__CTFAIL(app_key, td, sptr,
266                         "%s: value not given (%s:%d)",
267                         td->name, __FILE__, __LINE__);
268                 return -1;
269         }
270         
271         if(st->size > 0) {
272                 /* Size in bits */
273                 size = 8 * st->size - (st->bits_unused & 0x07);
274         } else {
275                 size = 0;
276         }
277         
278         if((size == 40)) {
279                 /* Constraint check succeeded */
280                 return 0;
281         } else {
282                 ASN__CTFAIL(app_key, td, sptr,
283                         "%s: constraint failed (%s:%d)",
284                         td->name, __FILE__, __LINE__);
285                 return -1;
286         }
287 }
288
289 static int
290 memb_resourceBlocks_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
291                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
292         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
293         size_t size;
294         
295         if(!sptr) {
296                 ASN__CTFAIL(app_key, td, sptr,
297                         "%s: value not given (%s:%d)",
298                         td->name, __FILE__, __LINE__);
299                 return -1;
300         }
301         
302         if(st->size > 0) {
303                 /* Size in bits */
304                 size = 8 * st->size - (st->bits_unused & 0x07);
305         } else {
306                 size = 0;
307         }
308         
309         if((size == 275)) {
310                 /* Constraint check succeeded */
311                 return 0;
312         } else {
313                 ASN__CTFAIL(app_key, td, sptr,
314                         "%s: constraint failed (%s:%d)",
315                         td->name, __FILE__, __LINE__);
316                 return -1;
317         }
318 }
319
320 /*
321  * This type is implemented using NativeEnumerated,
322  * so here we adjust the DEF accordingly.
323  */
324 static asn_oer_constraints_t asn_OER_memb_oneSlot_constr_7 CC_NOTUSED = {
325         { 0, 0 },
326         14      /* (SIZE(14..14)) */};
327 static asn_per_constraints_t asn_PER_memb_oneSlot_constr_7 CC_NOTUSED = {
328         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
329         { APC_CONSTRAINED,       0,  0,  14,  14 }      /* (SIZE(14..14)) */,
330         0, 0    /* No PER value map */
331 };
332 static asn_oer_constraints_t asn_OER_memb_twoSlots_constr_8 CC_NOTUSED = {
333         { 0, 0 },
334         28      /* (SIZE(28..28)) */};
335 static asn_per_constraints_t asn_PER_memb_twoSlots_constr_8 CC_NOTUSED = {
336         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
337         { APC_CONSTRAINED,       0,  0,  28,  28 }      /* (SIZE(28..28)) */,
338         0, 0    /* No PER value map */
339 };
340 static asn_oer_constraints_t asn_OER_type_symbolsInResourceBlock_constr_6 CC_NOTUSED = {
341         { 0, 0 },
342         -1};
343 static asn_per_constraints_t asn_PER_type_symbolsInResourceBlock_constr_6 CC_NOTUSED = {
344         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
345         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
346         0, 0    /* No PER value map */
347 };
348 static asn_oer_constraints_t asn_OER_memb_n2_constr_10 CC_NOTUSED = {
349         { 0, 0 },
350         2       /* (SIZE(2..2)) */};
351 static asn_per_constraints_t asn_PER_memb_n2_constr_10 CC_NOTUSED = {
352         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
353         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
354         0, 0    /* No PER value map */
355 };
356 static asn_oer_constraints_t asn_OER_memb_n4_constr_11 CC_NOTUSED = {
357         { 0, 0 },
358         4       /* (SIZE(4..4)) */};
359 static asn_per_constraints_t asn_PER_memb_n4_constr_11 CC_NOTUSED = {
360         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
361         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
362         0, 0    /* No PER value map */
363 };
364 static asn_oer_constraints_t asn_OER_memb_n5_constr_12 CC_NOTUSED = {
365         { 0, 0 },
366         5       /* (SIZE(5..5)) */};
367 static asn_per_constraints_t asn_PER_memb_n5_constr_12 CC_NOTUSED = {
368         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
369         { APC_CONSTRAINED,       0,  0,  5,  5 }        /* (SIZE(5..5)) */,
370         0, 0    /* No PER value map */
371 };
372 static asn_oer_constraints_t asn_OER_memb_n8_constr_13 CC_NOTUSED = {
373         { 0, 0 },
374         8       /* (SIZE(8..8)) */};
375 static asn_per_constraints_t asn_PER_memb_n8_constr_13 CC_NOTUSED = {
376         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
377         { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
378         0, 0    /* No PER value map */
379 };
380 static asn_oer_constraints_t asn_OER_memb_n10_constr_14 CC_NOTUSED = {
381         { 0, 0 },
382         10      /* (SIZE(10..10)) */};
383 static asn_per_constraints_t asn_PER_memb_n10_constr_14 CC_NOTUSED = {
384         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
385         { APC_CONSTRAINED,       0,  0,  10,  10 }      /* (SIZE(10..10)) */,
386         0, 0    /* No PER value map */
387 };
388 static asn_oer_constraints_t asn_OER_memb_n20_constr_15 CC_NOTUSED = {
389         { 0, 0 },
390         20      /* (SIZE(20..20)) */};
391 static asn_per_constraints_t asn_PER_memb_n20_constr_15 CC_NOTUSED = {
392         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
393         { APC_CONSTRAINED,       0,  0,  20,  20 }      /* (SIZE(20..20)) */,
394         0, 0    /* No PER value map */
395 };
396 static asn_oer_constraints_t asn_OER_memb_n40_constr_16 CC_NOTUSED = {
397         { 0, 0 },
398         40      /* (SIZE(40..40)) */};
399 static asn_per_constraints_t asn_PER_memb_n40_constr_16 CC_NOTUSED = {
400         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
401         { APC_CONSTRAINED,       0,  0,  40,  40 }      /* (SIZE(40..40)) */,
402         0, 0    /* No PER value map */
403 };
404 static asn_oer_constraints_t asn_OER_type_periodicityAndPattern_constr_9 CC_NOTUSED = {
405         { 0, 0 },
406         -1};
407 static asn_per_constraints_t asn_PER_type_periodicityAndPattern_constr_9 CC_NOTUSED = {
408         { APC_CONSTRAINED,       3,  3,  0,  6 }        /* (0..6) */,
409         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
410         0, 0    /* No PER value map */
411 };
412 static asn_oer_constraints_t asn_OER_memb_resourceBlocks_constr_5 CC_NOTUSED = {
413         { 0, 0 },
414         275     /* (SIZE(275..275)) */};
415 static asn_per_constraints_t asn_PER_memb_resourceBlocks_constr_5 CC_NOTUSED = {
416         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
417         { APC_CONSTRAINED,       0,  0,  275,  275 }    /* (SIZE(275..275)) */,
418         0, 0    /* No PER value map */
419 };
420 static asn_oer_constraints_t asn_OER_type_patternType_constr_3 CC_NOTUSED = {
421         { 0, 0 },
422         -1};
423 static asn_per_constraints_t asn_PER_type_patternType_constr_3 CC_NOTUSED = {
424         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
425         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
426         0, 0    /* No PER value map */
427 };
428 static asn_oer_constraints_t asn_OER_type_dummy_constr_20 CC_NOTUSED = {
429         { 0, 0 },
430         -1};
431 static asn_per_constraints_t asn_PER_type_dummy_constr_20 CC_NOTUSED = {
432         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
433         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
434         0, 0    /* No PER value map */
435 };
436 static asn_TYPE_member_t asn_MBR_symbolsInResourceBlock_6[] = {
437         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock, choice.oneSlot),
438                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
439                 -1,     /* IMPLICIT tag at current level */
440                 &asn_DEF_BIT_STRING,
441                 0,
442                 { &asn_OER_memb_oneSlot_constr_7, &asn_PER_memb_oneSlot_constr_7,  memb_oneSlot_constraint_6 },
443                 0, 0, /* No default value */
444                 "oneSlot"
445                 },
446         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock, choice.twoSlots),
447                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
448                 -1,     /* IMPLICIT tag at current level */
449                 &asn_DEF_BIT_STRING,
450                 0,
451                 { &asn_OER_memb_twoSlots_constr_8, &asn_PER_memb_twoSlots_constr_8,  memb_twoSlots_constraint_6 },
452                 0, 0, /* No default value */
453                 "twoSlots"
454                 },
455 };
456 static const asn_TYPE_tag2member_t asn_MAP_symbolsInResourceBlock_tag2el_6[] = {
457     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oneSlot */
458     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* twoSlots */
459 };
460 static asn_CHOICE_specifics_t asn_SPC_symbolsInResourceBlock_specs_6 = {
461         sizeof(struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock),
462         offsetof(struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock, _asn_ctx),
463         offsetof(struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock, present),
464         sizeof(((struct RateMatchPattern__patternType__bitmaps__symbolsInResourceBlock *)0)->present),
465         asn_MAP_symbolsInResourceBlock_tag2el_6,
466         2,      /* Count of tags in the map */
467         0, 0,
468         -1      /* Extensions start */
469 };
470 static /* Use -fall-defs-global to expose */
471 asn_TYPE_descriptor_t asn_DEF_symbolsInResourceBlock_6 = {
472         "symbolsInResourceBlock",
473         "symbolsInResourceBlock",
474         &asn_OP_CHOICE,
475         0,      /* No effective tags (pointer) */
476         0,      /* No effective tags (count) */
477         0,      /* No tags (pointer) */
478         0,      /* No tags (count) */
479         { &asn_OER_type_symbolsInResourceBlock_constr_6, &asn_PER_type_symbolsInResourceBlock_constr_6, CHOICE_constraint },
480         asn_MBR_symbolsInResourceBlock_6,
481         2,      /* Elements count */
482         &asn_SPC_symbolsInResourceBlock_specs_6 /* Additional specs */
483 };
484
485 static asn_TYPE_member_t asn_MBR_periodicityAndPattern_9[] = {
486         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n2),
487                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
488                 -1,     /* IMPLICIT tag at current level */
489                 &asn_DEF_BIT_STRING,
490                 0,
491                 { &asn_OER_memb_n2_constr_10, &asn_PER_memb_n2_constr_10,  memb_n2_constraint_9 },
492                 0, 0, /* No default value */
493                 "n2"
494                 },
495         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n4),
496                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
497                 -1,     /* IMPLICIT tag at current level */
498                 &asn_DEF_BIT_STRING,
499                 0,
500                 { &asn_OER_memb_n4_constr_11, &asn_PER_memb_n4_constr_11,  memb_n4_constraint_9 },
501                 0, 0, /* No default value */
502                 "n4"
503                 },
504         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n5),
505                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
506                 -1,     /* IMPLICIT tag at current level */
507                 &asn_DEF_BIT_STRING,
508                 0,
509                 { &asn_OER_memb_n5_constr_12, &asn_PER_memb_n5_constr_12,  memb_n5_constraint_9 },
510                 0, 0, /* No default value */
511                 "n5"
512                 },
513         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n8),
514                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
515                 -1,     /* IMPLICIT tag at current level */
516                 &asn_DEF_BIT_STRING,
517                 0,
518                 { &asn_OER_memb_n8_constr_13, &asn_PER_memb_n8_constr_13,  memb_n8_constraint_9 },
519                 0, 0, /* No default value */
520                 "n8"
521                 },
522         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n10),
523                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
524                 -1,     /* IMPLICIT tag at current level */
525                 &asn_DEF_BIT_STRING,
526                 0,
527                 { &asn_OER_memb_n10_constr_14, &asn_PER_memb_n10_constr_14,  memb_n10_constraint_9 },
528                 0, 0, /* No default value */
529                 "n10"
530                 },
531         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n20),
532                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
533                 -1,     /* IMPLICIT tag at current level */
534                 &asn_DEF_BIT_STRING,
535                 0,
536                 { &asn_OER_memb_n20_constr_15, &asn_PER_memb_n20_constr_15,  memb_n20_constraint_9 },
537                 0, 0, /* No default value */
538                 "n20"
539                 },
540         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, choice.n40),
541                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
542                 -1,     /* IMPLICIT tag at current level */
543                 &asn_DEF_BIT_STRING,
544                 0,
545                 { &asn_OER_memb_n40_constr_16, &asn_PER_memb_n40_constr_16,  memb_n40_constraint_9 },
546                 0, 0, /* No default value */
547                 "n40"
548                 },
549 };
550 static const asn_TYPE_tag2member_t asn_MAP_periodicityAndPattern_tag2el_9[] = {
551     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n2 */
552     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* n4 */
553     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* n5 */
554     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* n8 */
555     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* n10 */
556     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* n20 */
557     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* n40 */
558 };
559 static asn_CHOICE_specifics_t asn_SPC_periodicityAndPattern_specs_9 = {
560         sizeof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern),
561         offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, _asn_ctx),
562         offsetof(struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern, present),
563         sizeof(((struct RateMatchPattern__patternType__bitmaps__periodicityAndPattern *)0)->present),
564         asn_MAP_periodicityAndPattern_tag2el_9,
565         7,      /* Count of tags in the map */
566         0, 0,
567         -1      /* Extensions start */
568 };
569 static /* Use -fall-defs-global to expose */
570 asn_TYPE_descriptor_t asn_DEF_periodicityAndPattern_9 = {
571         "periodicityAndPattern",
572         "periodicityAndPattern",
573         &asn_OP_CHOICE,
574         0,      /* No effective tags (pointer) */
575         0,      /* No effective tags (count) */
576         0,      /* No tags (pointer) */
577         0,      /* No tags (count) */
578         { &asn_OER_type_periodicityAndPattern_constr_9, &asn_PER_type_periodicityAndPattern_constr_9, CHOICE_constraint },
579         asn_MBR_periodicityAndPattern_9,
580         7,      /* Elements count */
581         &asn_SPC_periodicityAndPattern_specs_9  /* Additional specs */
582 };
583
584 static asn_TYPE_member_t asn_MBR_bitmaps_4[] = {
585         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps, resourceBlocks),
586                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
587                 -1,     /* IMPLICIT tag at current level */
588                 &asn_DEF_BIT_STRING,
589                 0,
590                 { &asn_OER_memb_resourceBlocks_constr_5, &asn_PER_memb_resourceBlocks_constr_5,  memb_resourceBlocks_constraint_4 },
591                 0, 0, /* No default value */
592                 "resourceBlocks"
593                 },
594         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType__bitmaps, symbolsInResourceBlock),
595                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
596                 +1,     /* EXPLICIT tag at current level */
597                 &asn_DEF_symbolsInResourceBlock_6,
598                 0,
599                 { 0, 0, 0 },
600                 0, 0, /* No default value */
601                 "symbolsInResourceBlock"
602                 },
603         { ATF_POINTER, 1, offsetof(struct RateMatchPattern__patternType__bitmaps, periodicityAndPattern),
604                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
605                 +1,     /* EXPLICIT tag at current level */
606                 &asn_DEF_periodicityAndPattern_9,
607                 0,
608                 { 0, 0, 0 },
609                 0, 0, /* No default value */
610                 "periodicityAndPattern"
611                 },
612 };
613 static const int asn_MAP_bitmaps_oms_4[] = { 2 };
614 static const ber_tlv_tag_t asn_DEF_bitmaps_tags_4[] = {
615         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
616         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
617 };
618 static const asn_TYPE_tag2member_t asn_MAP_bitmaps_tag2el_4[] = {
619     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resourceBlocks */
620     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* symbolsInResourceBlock */
621     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* periodicityAndPattern */
622 };
623 static asn_SEQUENCE_specifics_t asn_SPC_bitmaps_specs_4 = {
624         sizeof(struct RateMatchPattern__patternType__bitmaps),
625         offsetof(struct RateMatchPattern__patternType__bitmaps, _asn_ctx),
626         asn_MAP_bitmaps_tag2el_4,
627         3,      /* Count of tags in the map */
628         asn_MAP_bitmaps_oms_4,  /* Optional members */
629         1, 0,   /* Root/Additions */
630         3,      /* First extension addition */
631 };
632 static /* Use -fall-defs-global to expose */
633 asn_TYPE_descriptor_t asn_DEF_bitmaps_4 = {
634         "bitmaps",
635         "bitmaps",
636         &asn_OP_SEQUENCE,
637         asn_DEF_bitmaps_tags_4,
638         sizeof(asn_DEF_bitmaps_tags_4)
639                 /sizeof(asn_DEF_bitmaps_tags_4[0]) - 1, /* 1 */
640         asn_DEF_bitmaps_tags_4, /* Same as above */
641         sizeof(asn_DEF_bitmaps_tags_4)
642                 /sizeof(asn_DEF_bitmaps_tags_4[0]), /* 2 */
643         { 0, 0, SEQUENCE_constraint },
644         asn_MBR_bitmaps_4,
645         3,      /* Elements count */
646         &asn_SPC_bitmaps_specs_4        /* Additional specs */
647 };
648
649 static asn_TYPE_member_t asn_MBR_patternType_3[] = {
650         { ATF_POINTER, 0, offsetof(struct RateMatchPattern__patternType, choice.bitmaps),
651                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
652                 0,
653                 &asn_DEF_bitmaps_4,
654                 0,
655                 { 0, 0, 0 },
656                 0, 0, /* No default value */
657                 "bitmaps"
658                 },
659         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern__patternType, choice.controlResourceSet),
660                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
661                 -1,     /* IMPLICIT tag at current level */
662                 &asn_DEF_ControlResourceSetId,
663                 0,
664                 { 0, 0, 0 },
665                 0, 0, /* No default value */
666                 "controlResourceSet"
667                 },
668 };
669 static const asn_TYPE_tag2member_t asn_MAP_patternType_tag2el_3[] = {
670     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bitmaps */
671     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* controlResourceSet */
672 };
673 static asn_CHOICE_specifics_t asn_SPC_patternType_specs_3 = {
674         sizeof(struct RateMatchPattern__patternType),
675         offsetof(struct RateMatchPattern__patternType, _asn_ctx),
676         offsetof(struct RateMatchPattern__patternType, present),
677         sizeof(((struct RateMatchPattern__patternType *)0)->present),
678         asn_MAP_patternType_tag2el_3,
679         2,      /* Count of tags in the map */
680         0, 0,
681         -1      /* Extensions start */
682 };
683 static /* Use -fall-defs-global to expose */
684 asn_TYPE_descriptor_t asn_DEF_patternType_3 = {
685         "patternType",
686         "patternType",
687         &asn_OP_CHOICE,
688         0,      /* No effective tags (pointer) */
689         0,      /* No effective tags (count) */
690         0,      /* No tags (pointer) */
691         0,      /* No tags (count) */
692         { &asn_OER_type_patternType_constr_3, &asn_PER_type_patternType_constr_3, CHOICE_constraint },
693         asn_MBR_patternType_3,
694         2,      /* Elements count */
695         &asn_SPC_patternType_specs_3    /* Additional specs */
696 };
697
698 static const asn_INTEGER_enum_map_t asn_MAP_dummy_value2enum_20[] = {
699         { 0,    7,      "dynamic" },
700         { 1,    10,     "semiStatic" }
701 };
702 static const unsigned int asn_MAP_dummy_enum2value_20[] = {
703         0,      /* dynamic(0) */
704         1       /* semiStatic(1) */
705 };
706 static const asn_INTEGER_specifics_t asn_SPC_dummy_specs_20 = {
707         asn_MAP_dummy_value2enum_20,    /* "tag" => N; sorted by tag */
708         asn_MAP_dummy_enum2value_20,    /* N => "tag"; sorted by N */
709         2,      /* Number of elements in the maps */
710         0,      /* Enumeration is not extensible */
711         1,      /* Strict enumeration */
712         0,      /* Native long size */
713         0
714 };
715 static const ber_tlv_tag_t asn_DEF_dummy_tags_20[] = {
716         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
717         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
718 };
719 static /* Use -fall-defs-global to expose */
720 asn_TYPE_descriptor_t asn_DEF_dummy_20 = {
721         "dummy",
722         "dummy",
723         &asn_OP_NativeEnumerated,
724         asn_DEF_dummy_tags_20,
725         sizeof(asn_DEF_dummy_tags_20)
726                 /sizeof(asn_DEF_dummy_tags_20[0]) - 1, /* 1 */
727         asn_DEF_dummy_tags_20,  /* Same as above */
728         sizeof(asn_DEF_dummy_tags_20)
729                 /sizeof(asn_DEF_dummy_tags_20[0]), /* 2 */
730         { &asn_OER_type_dummy_constr_20, &asn_PER_type_dummy_constr_20, NativeEnumerated_constraint },
731         0, 0,   /* Defined elsewhere */
732         &asn_SPC_dummy_specs_20 /* Additional specs */
733 };
734
735 asn_TYPE_member_t asn_MBR_RateMatchPattern_1[] = {
736         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern, rateMatchPatternId),
737                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
738                 -1,     /* IMPLICIT tag at current level */
739                 &asn_DEF_RateMatchPatternId,
740                 0,
741                 { 0, 0, 0 },
742                 0, 0, /* No default value */
743                 "rateMatchPatternId"
744                 },
745         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern, patternType),
746                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
747                 +1,     /* EXPLICIT tag at current level */
748                 &asn_DEF_patternType_3,
749                 0,
750                 { 0, 0, 0 },
751                 0, 0, /* No default value */
752                 "patternType"
753                 },
754         { ATF_POINTER, 1, offsetof(struct RateMatchPattern, subcarrierSpacing),
755                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
756                 -1,     /* IMPLICIT tag at current level */
757                 &asn_DEF_SubcarrierSpacing,
758                 0,
759                 { 0, 0, 0 },
760                 0, 0, /* No default value */
761                 "subcarrierSpacing"
762                 },
763         { ATF_NOFLAGS, 0, offsetof(struct RateMatchPattern, dummy),
764                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
765                 -1,     /* IMPLICIT tag at current level */
766                 &asn_DEF_dummy_20,
767                 0,
768                 { 0, 0, 0 },
769                 0, 0, /* No default value */
770                 "dummy"
771                 },
772 };
773 static const int asn_MAP_RateMatchPattern_oms_1[] = { 2 };
774 static const ber_tlv_tag_t asn_DEF_RateMatchPattern_tags_1[] = {
775         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
776 };
777 static const asn_TYPE_tag2member_t asn_MAP_RateMatchPattern_tag2el_1[] = {
778     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rateMatchPatternId */
779     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* patternType */
780     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subcarrierSpacing */
781     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* dummy */
782 };
783 asn_SEQUENCE_specifics_t asn_SPC_RateMatchPattern_specs_1 = {
784         sizeof(struct RateMatchPattern),
785         offsetof(struct RateMatchPattern, _asn_ctx),
786         asn_MAP_RateMatchPattern_tag2el_1,
787         4,      /* Count of tags in the map */
788         asn_MAP_RateMatchPattern_oms_1, /* Optional members */
789         1, 0,   /* Root/Additions */
790         4,      /* First extension addition */
791 };
792 asn_TYPE_descriptor_t asn_DEF_RateMatchPattern = {
793         "RateMatchPattern",
794         "RateMatchPattern",
795         &asn_OP_SEQUENCE,
796         asn_DEF_RateMatchPattern_tags_1,
797         sizeof(asn_DEF_RateMatchPattern_tags_1)
798                 /sizeof(asn_DEF_RateMatchPattern_tags_1[0]), /* 1 */
799         asn_DEF_RateMatchPattern_tags_1,        /* Same as above */
800         sizeof(asn_DEF_RateMatchPattern_tags_1)
801                 /sizeof(asn_DEF_RateMatchPattern_tags_1[0]), /* 1 */
802         { 0, 0, SEQUENCE_constraint },
803         asn_MBR_RateMatchPattern_1,
804         4,      /* Elements count */
805         &asn_SPC_RateMatchPattern_specs_1       /* Additional specs */
806 };
807