8682985e8f18fe258f2538dc327132b5588c00ec
[o-du/l2.git] / src / codec_utils / RRC / DRX-Config.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 "DRX-Config.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 static int
15 memb_subMilliSeconds_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
16                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
17         long value;
18         
19         if(!sptr) {
20                 ASN__CTFAIL(app_key, td, sptr,
21                         "%s: value not given (%s:%d)",
22                         td->name, __FILE__, __LINE__);
23                 return -1;
24         }
25         
26         value = *(const long *)sptr;
27         
28         if((value >= 1 && value <= 31)) {
29                 /* Constraint check succeeded */
30                 return 0;
31         } else {
32                 ASN__CTFAIL(app_key, td, sptr,
33                         "%s: constraint failed (%s:%d)",
34                         td->name, __FILE__, __LINE__);
35                 return -1;
36         }
37 }
38
39 /*
40  * This type is implemented using NativeEnumerated,
41  * so here we adjust the DEF accordingly.
42  */
43 /*
44  * This type is implemented using NativeEnumerated,
45  * so here we adjust the DEF accordingly.
46  */
47 /*
48  * This type is implemented using NativeEnumerated,
49  * so here we adjust the DEF accordingly.
50  */
51 static int
52 memb_ms10_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
53                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
54         long value;
55         
56         if(!sptr) {
57                 ASN__CTFAIL(app_key, td, sptr,
58                         "%s: value not given (%s:%d)",
59                         td->name, __FILE__, __LINE__);
60                 return -1;
61         }
62         
63         value = *(const long *)sptr;
64         
65         if((value >= 0 && value <= 9)) {
66                 /* Constraint check succeeded */
67                 return 0;
68         } else {
69                 ASN__CTFAIL(app_key, td, sptr,
70                         "%s: constraint failed (%s:%d)",
71                         td->name, __FILE__, __LINE__);
72                 return -1;
73         }
74 }
75
76 static int
77 memb_ms20_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
78                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
79         long value;
80         
81         if(!sptr) {
82                 ASN__CTFAIL(app_key, td, sptr,
83                         "%s: value not given (%s:%d)",
84                         td->name, __FILE__, __LINE__);
85                 return -1;
86         }
87         
88         value = *(const long *)sptr;
89         
90         if((value >= 0 && value <= 19)) {
91                 /* Constraint check succeeded */
92                 return 0;
93         } else {
94                 ASN__CTFAIL(app_key, td, sptr,
95                         "%s: constraint failed (%s:%d)",
96                         td->name, __FILE__, __LINE__);
97                 return -1;
98         }
99 }
100
101 static int
102 memb_ms32_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
103                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
104         long value;
105         
106         if(!sptr) {
107                 ASN__CTFAIL(app_key, td, sptr,
108                         "%s: value not given (%s:%d)",
109                         td->name, __FILE__, __LINE__);
110                 return -1;
111         }
112         
113         value = *(const long *)sptr;
114         
115         if((value >= 0 && value <= 31)) {
116                 /* Constraint check succeeded */
117                 return 0;
118         } else {
119                 ASN__CTFAIL(app_key, td, sptr,
120                         "%s: constraint failed (%s:%d)",
121                         td->name, __FILE__, __LINE__);
122                 return -1;
123         }
124 }
125
126 static int
127 memb_ms40_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
128                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
129         long value;
130         
131         if(!sptr) {
132                 ASN__CTFAIL(app_key, td, sptr,
133                         "%s: value not given (%s:%d)",
134                         td->name, __FILE__, __LINE__);
135                 return -1;
136         }
137         
138         value = *(const long *)sptr;
139         
140         if((value >= 0 && value <= 39)) {
141                 /* Constraint check succeeded */
142                 return 0;
143         } else {
144                 ASN__CTFAIL(app_key, td, sptr,
145                         "%s: constraint failed (%s:%d)",
146                         td->name, __FILE__, __LINE__);
147                 return -1;
148         }
149 }
150
151 static int
152 memb_ms60_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
153                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
154         long value;
155         
156         if(!sptr) {
157                 ASN__CTFAIL(app_key, td, sptr,
158                         "%s: value not given (%s:%d)",
159                         td->name, __FILE__, __LINE__);
160                 return -1;
161         }
162         
163         value = *(const long *)sptr;
164         
165         if((value >= 0 && value <= 59)) {
166                 /* Constraint check succeeded */
167                 return 0;
168         } else {
169                 ASN__CTFAIL(app_key, td, sptr,
170                         "%s: constraint failed (%s:%d)",
171                         td->name, __FILE__, __LINE__);
172                 return -1;
173         }
174 }
175
176 static int
177 memb_ms64_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
178                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
179         long value;
180         
181         if(!sptr) {
182                 ASN__CTFAIL(app_key, td, sptr,
183                         "%s: value not given (%s:%d)",
184                         td->name, __FILE__, __LINE__);
185                 return -1;
186         }
187         
188         value = *(const long *)sptr;
189         
190         if((value >= 0 && value <= 63)) {
191                 /* Constraint check succeeded */
192                 return 0;
193         } else {
194                 ASN__CTFAIL(app_key, td, sptr,
195                         "%s: constraint failed (%s:%d)",
196                         td->name, __FILE__, __LINE__);
197                 return -1;
198         }
199 }
200
201 static int
202 memb_ms70_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
203                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
204         long value;
205         
206         if(!sptr) {
207                 ASN__CTFAIL(app_key, td, sptr,
208                         "%s: value not given (%s:%d)",
209                         td->name, __FILE__, __LINE__);
210                 return -1;
211         }
212         
213         value = *(const long *)sptr;
214         
215         if((value >= 0 && value <= 69)) {
216                 /* Constraint check succeeded */
217                 return 0;
218         } else {
219                 ASN__CTFAIL(app_key, td, sptr,
220                         "%s: constraint failed (%s:%d)",
221                         td->name, __FILE__, __LINE__);
222                 return -1;
223         }
224 }
225
226 static int
227 memb_ms80_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
228                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
229         long value;
230         
231         if(!sptr) {
232                 ASN__CTFAIL(app_key, td, sptr,
233                         "%s: value not given (%s:%d)",
234                         td->name, __FILE__, __LINE__);
235                 return -1;
236         }
237         
238         value = *(const long *)sptr;
239         
240         if((value >= 0 && value <= 79)) {
241                 /* Constraint check succeeded */
242                 return 0;
243         } else {
244                 ASN__CTFAIL(app_key, td, sptr,
245                         "%s: constraint failed (%s:%d)",
246                         td->name, __FILE__, __LINE__);
247                 return -1;
248         }
249 }
250
251 static int
252 memb_ms128_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
253                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
254         long value;
255         
256         if(!sptr) {
257                 ASN__CTFAIL(app_key, td, sptr,
258                         "%s: value not given (%s:%d)",
259                         td->name, __FILE__, __LINE__);
260                 return -1;
261         }
262         
263         value = *(const long *)sptr;
264         
265         if((value >= 0 && value <= 127)) {
266                 /* Constraint check succeeded */
267                 return 0;
268         } else {
269                 ASN__CTFAIL(app_key, td, sptr,
270                         "%s: constraint failed (%s:%d)",
271                         td->name, __FILE__, __LINE__);
272                 return -1;
273         }
274 }
275
276 static int
277 memb_ms160_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
278                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
279         long value;
280         
281         if(!sptr) {
282                 ASN__CTFAIL(app_key, td, sptr,
283                         "%s: value not given (%s:%d)",
284                         td->name, __FILE__, __LINE__);
285                 return -1;
286         }
287         
288         value = *(const long *)sptr;
289         
290         if((value >= 0 && value <= 159)) {
291                 /* Constraint check succeeded */
292                 return 0;
293         } else {
294                 ASN__CTFAIL(app_key, td, sptr,
295                         "%s: constraint failed (%s:%d)",
296                         td->name, __FILE__, __LINE__);
297                 return -1;
298         }
299 }
300
301 static int
302 memb_ms256_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
303                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
304         long value;
305         
306         if(!sptr) {
307                 ASN__CTFAIL(app_key, td, sptr,
308                         "%s: value not given (%s:%d)",
309                         td->name, __FILE__, __LINE__);
310                 return -1;
311         }
312         
313         value = *(const long *)sptr;
314         
315         if((value >= 0 && value <= 255)) {
316                 /* Constraint check succeeded */
317                 return 0;
318         } else {
319                 ASN__CTFAIL(app_key, td, sptr,
320                         "%s: constraint failed (%s:%d)",
321                         td->name, __FILE__, __LINE__);
322                 return -1;
323         }
324 }
325
326 static int
327 memb_ms320_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
328                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
329         long value;
330         
331         if(!sptr) {
332                 ASN__CTFAIL(app_key, td, sptr,
333                         "%s: value not given (%s:%d)",
334                         td->name, __FILE__, __LINE__);
335                 return -1;
336         }
337         
338         value = *(const long *)sptr;
339         
340         if((value >= 0 && value <= 319)) {
341                 /* Constraint check succeeded */
342                 return 0;
343         } else {
344                 ASN__CTFAIL(app_key, td, sptr,
345                         "%s: constraint failed (%s:%d)",
346                         td->name, __FILE__, __LINE__);
347                 return -1;
348         }
349 }
350
351 static int
352 memb_ms512_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
353                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
354         long value;
355         
356         if(!sptr) {
357                 ASN__CTFAIL(app_key, td, sptr,
358                         "%s: value not given (%s:%d)",
359                         td->name, __FILE__, __LINE__);
360                 return -1;
361         }
362         
363         value = *(const long *)sptr;
364         
365         if((value >= 0 && value <= 511)) {
366                 /* Constraint check succeeded */
367                 return 0;
368         } else {
369                 ASN__CTFAIL(app_key, td, sptr,
370                         "%s: constraint failed (%s:%d)",
371                         td->name, __FILE__, __LINE__);
372                 return -1;
373         }
374 }
375
376 static int
377 memb_ms640_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
378                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
379         long value;
380         
381         if(!sptr) {
382                 ASN__CTFAIL(app_key, td, sptr,
383                         "%s: value not given (%s:%d)",
384                         td->name, __FILE__, __LINE__);
385                 return -1;
386         }
387         
388         value = *(const long *)sptr;
389         
390         if((value >= 0 && value <= 639)) {
391                 /* Constraint check succeeded */
392                 return 0;
393         } else {
394                 ASN__CTFAIL(app_key, td, sptr,
395                         "%s: constraint failed (%s:%d)",
396                         td->name, __FILE__, __LINE__);
397                 return -1;
398         }
399 }
400
401 static int
402 memb_ms1024_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
403                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
404         long value;
405         
406         if(!sptr) {
407                 ASN__CTFAIL(app_key, td, sptr,
408                         "%s: value not given (%s:%d)",
409                         td->name, __FILE__, __LINE__);
410                 return -1;
411         }
412         
413         value = *(const long *)sptr;
414         
415         if((value >= 0 && value <= 1023)) {
416                 /* Constraint check succeeded */
417                 return 0;
418         } else {
419                 ASN__CTFAIL(app_key, td, sptr,
420                         "%s: constraint failed (%s:%d)",
421                         td->name, __FILE__, __LINE__);
422                 return -1;
423         }
424 }
425
426 static int
427 memb_ms1280_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
428                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
429         long value;
430         
431         if(!sptr) {
432                 ASN__CTFAIL(app_key, td, sptr,
433                         "%s: value not given (%s:%d)",
434                         td->name, __FILE__, __LINE__);
435                 return -1;
436         }
437         
438         value = *(const long *)sptr;
439         
440         if((value >= 0 && value <= 1279)) {
441                 /* Constraint check succeeded */
442                 return 0;
443         } else {
444                 ASN__CTFAIL(app_key, td, sptr,
445                         "%s: constraint failed (%s:%d)",
446                         td->name, __FILE__, __LINE__);
447                 return -1;
448         }
449 }
450
451 static int
452 memb_ms2048_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
453                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
454         long value;
455         
456         if(!sptr) {
457                 ASN__CTFAIL(app_key, td, sptr,
458                         "%s: value not given (%s:%d)",
459                         td->name, __FILE__, __LINE__);
460                 return -1;
461         }
462         
463         value = *(const long *)sptr;
464         
465         if((value >= 0 && value <= 2047)) {
466                 /* Constraint check succeeded */
467                 return 0;
468         } else {
469                 ASN__CTFAIL(app_key, td, sptr,
470                         "%s: constraint failed (%s:%d)",
471                         td->name, __FILE__, __LINE__);
472                 return -1;
473         }
474 }
475
476 static int
477 memb_ms2560_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
478                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
479         long value;
480         
481         if(!sptr) {
482                 ASN__CTFAIL(app_key, td, sptr,
483                         "%s: value not given (%s:%d)",
484                         td->name, __FILE__, __LINE__);
485                 return -1;
486         }
487         
488         value = *(const long *)sptr;
489         
490         if((value >= 0 && value <= 2559)) {
491                 /* Constraint check succeeded */
492                 return 0;
493         } else {
494                 ASN__CTFAIL(app_key, td, sptr,
495                         "%s: constraint failed (%s:%d)",
496                         td->name, __FILE__, __LINE__);
497                 return -1;
498         }
499 }
500
501 static int
502 memb_ms5120_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
503                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
504         long value;
505         
506         if(!sptr) {
507                 ASN__CTFAIL(app_key, td, sptr,
508                         "%s: value not given (%s:%d)",
509                         td->name, __FILE__, __LINE__);
510                 return -1;
511         }
512         
513         value = *(const long *)sptr;
514         
515         if((value >= 0 && value <= 5119)) {
516                 /* Constraint check succeeded */
517                 return 0;
518         } else {
519                 ASN__CTFAIL(app_key, td, sptr,
520                         "%s: constraint failed (%s:%d)",
521                         td->name, __FILE__, __LINE__);
522                 return -1;
523         }
524 }
525
526 static int
527 memb_ms10240_constraint_138(const asn_TYPE_descriptor_t *td, const void *sptr,
528                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
529         long value;
530         
531         if(!sptr) {
532                 ASN__CTFAIL(app_key, td, sptr,
533                         "%s: value not given (%s:%d)",
534                         td->name, __FILE__, __LINE__);
535                 return -1;
536         }
537         
538         value = *(const long *)sptr;
539         
540         if((value >= 0 && value <= 10239)) {
541                 /* Constraint check succeeded */
542                 return 0;
543         } else {
544                 ASN__CTFAIL(app_key, td, sptr,
545                         "%s: constraint failed (%s:%d)",
546                         td->name, __FILE__, __LINE__);
547                 return -1;
548         }
549 }
550
551 /*
552  * This type is implemented using NativeEnumerated,
553  * so here we adjust the DEF accordingly.
554  */
555 static int
556 memb_drx_ShortCycleTimer_constraint_159(const asn_TYPE_descriptor_t *td, const void *sptr,
557                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
558         long value;
559         
560         if(!sptr) {
561                 ASN__CTFAIL(app_key, td, sptr,
562                         "%s: value not given (%s:%d)",
563                         td->name, __FILE__, __LINE__);
564                 return -1;
565         }
566         
567         value = *(const long *)sptr;
568         
569         if((value >= 1 && value <= 16)) {
570                 /* Constraint check succeeded */
571                 return 0;
572         } else {
573                 ASN__CTFAIL(app_key, td, sptr,
574                         "%s: constraint failed (%s:%d)",
575                         td->name, __FILE__, __LINE__);
576                 return -1;
577         }
578 }
579
580 static int
581 memb_drx_HARQ_RTT_TimerDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
582                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
583         long value;
584         
585         if(!sptr) {
586                 ASN__CTFAIL(app_key, td, sptr,
587                         "%s: value not given (%s:%d)",
588                         td->name, __FILE__, __LINE__);
589                 return -1;
590         }
591         
592         value = *(const long *)sptr;
593         
594         if((value >= 0 && value <= 56)) {
595                 /* Constraint check succeeded */
596                 return 0;
597         } else {
598                 ASN__CTFAIL(app_key, td, sptr,
599                         "%s: constraint failed (%s:%d)",
600                         td->name, __FILE__, __LINE__);
601                 return -1;
602         }
603 }
604
605 static int
606 memb_drx_HARQ_RTT_TimerUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
607                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
608         long value;
609         
610         if(!sptr) {
611                 ASN__CTFAIL(app_key, td, sptr,
612                         "%s: value not given (%s:%d)",
613                         td->name, __FILE__, __LINE__);
614                 return -1;
615         }
616         
617         value = *(const long *)sptr;
618         
619         if((value >= 0 && value <= 56)) {
620                 /* Constraint check succeeded */
621                 return 0;
622         } else {
623                 ASN__CTFAIL(app_key, td, sptr,
624                         "%s: constraint failed (%s:%d)",
625                         td->name, __FILE__, __LINE__);
626                 return -1;
627         }
628 }
629
630 static int
631 memb_drx_SlotOffset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
632                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
633         long value;
634         
635         if(!sptr) {
636                 ASN__CTFAIL(app_key, td, sptr,
637                         "%s: value not given (%s:%d)",
638                         td->name, __FILE__, __LINE__);
639                 return -1;
640         }
641         
642         value = *(const long *)sptr;
643         
644         if((value >= 0 && value <= 31)) {
645                 /* Constraint check succeeded */
646                 return 0;
647         } else {
648                 ASN__CTFAIL(app_key, td, sptr,
649                         "%s: constraint failed (%s:%d)",
650                         td->name, __FILE__, __LINE__);
651                 return -1;
652         }
653 }
654
655 static asn_oer_constraints_t asn_OER_type_milliSeconds_constr_4 CC_NOTUSED = {
656         { 0, 0 },
657         -1};
658 static asn_per_constraints_t asn_PER_type_milliSeconds_constr_4 CC_NOTUSED = {
659         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
660         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
661         0, 0    /* No PER value map */
662 };
663 static asn_oer_constraints_t asn_OER_memb_subMilliSeconds_constr_3 CC_NOTUSED = {
664         { 1, 1 }        /* (1..31) */,
665         -1};
666 static asn_per_constraints_t asn_PER_memb_subMilliSeconds_constr_3 CC_NOTUSED = {
667         { APC_CONSTRAINED,       5,  5,  1,  31 }       /* (1..31) */,
668         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
669         0, 0    /* No PER value map */
670 };
671 static asn_oer_constraints_t asn_OER_type_drx_onDurationTimer_constr_2 CC_NOTUSED = {
672         { 0, 0 },
673         -1};
674 static asn_per_constraints_t asn_PER_type_drx_onDurationTimer_constr_2 CC_NOTUSED = {
675         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
676         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
677         0, 0    /* No PER value map */
678 };
679 static asn_oer_constraints_t asn_OER_type_drx_InactivityTimer_constr_37 CC_NOTUSED = {
680         { 0, 0 },
681         -1};
682 static asn_per_constraints_t asn_PER_type_drx_InactivityTimer_constr_37 CC_NOTUSED = {
683         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
684         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
685         0, 0    /* No PER value map */
686 };
687 static asn_oer_constraints_t asn_OER_type_drx_RetransmissionTimerDL_constr_72 CC_NOTUSED = {
688         { 0, 0 },
689         -1};
690 static asn_per_constraints_t asn_PER_type_drx_RetransmissionTimerDL_constr_72 CC_NOTUSED = {
691         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
692         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
693         0, 0    /* No PER value map */
694 };
695 static asn_oer_constraints_t asn_OER_type_drx_RetransmissionTimerUL_constr_105 CC_NOTUSED = {
696         { 0, 0 },
697         -1};
698 static asn_per_constraints_t asn_PER_type_drx_RetransmissionTimerUL_constr_105 CC_NOTUSED = {
699         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
700         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
701         0, 0    /* No PER value map */
702 };
703 static asn_oer_constraints_t asn_OER_memb_ms10_constr_139 CC_NOTUSED = {
704         { 1, 1 }        /* (0..9) */,
705         -1};
706 static asn_per_constraints_t asn_PER_memb_ms10_constr_139 CC_NOTUSED = {
707         { APC_CONSTRAINED,       4,  4,  0,  9 }        /* (0..9) */,
708         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
709         0, 0    /* No PER value map */
710 };
711 static asn_oer_constraints_t asn_OER_memb_ms20_constr_140 CC_NOTUSED = {
712         { 1, 1 }        /* (0..19) */,
713         -1};
714 static asn_per_constraints_t asn_PER_memb_ms20_constr_140 CC_NOTUSED = {
715         { APC_CONSTRAINED,       5,  5,  0,  19 }       /* (0..19) */,
716         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
717         0, 0    /* No PER value map */
718 };
719 static asn_oer_constraints_t asn_OER_memb_ms32_constr_141 CC_NOTUSED = {
720         { 1, 1 }        /* (0..31) */,
721         -1};
722 static asn_per_constraints_t asn_PER_memb_ms32_constr_141 CC_NOTUSED = {
723         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
724         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
725         0, 0    /* No PER value map */
726 };
727 static asn_oer_constraints_t asn_OER_memb_ms40_constr_142 CC_NOTUSED = {
728         { 1, 1 }        /* (0..39) */,
729         -1};
730 static asn_per_constraints_t asn_PER_memb_ms40_constr_142 CC_NOTUSED = {
731         { APC_CONSTRAINED,       6,  6,  0,  39 }       /* (0..39) */,
732         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
733         0, 0    /* No PER value map */
734 };
735 static asn_oer_constraints_t asn_OER_memb_ms60_constr_143 CC_NOTUSED = {
736         { 1, 1 }        /* (0..59) */,
737         -1};
738 static asn_per_constraints_t asn_PER_memb_ms60_constr_143 CC_NOTUSED = {
739         { APC_CONSTRAINED,       6,  6,  0,  59 }       /* (0..59) */,
740         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
741         0, 0    /* No PER value map */
742 };
743 static asn_oer_constraints_t asn_OER_memb_ms64_constr_144 CC_NOTUSED = {
744         { 1, 1 }        /* (0..63) */,
745         -1};
746 static asn_per_constraints_t asn_PER_memb_ms64_constr_144 CC_NOTUSED = {
747         { APC_CONSTRAINED,       6,  6,  0,  63 }       /* (0..63) */,
748         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
749         0, 0    /* No PER value map */
750 };
751 static asn_oer_constraints_t asn_OER_memb_ms70_constr_145 CC_NOTUSED = {
752         { 1, 1 }        /* (0..69) */,
753         -1};
754 static asn_per_constraints_t asn_PER_memb_ms70_constr_145 CC_NOTUSED = {
755         { APC_CONSTRAINED,       7,  7,  0,  69 }       /* (0..69) */,
756         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
757         0, 0    /* No PER value map */
758 };
759 static asn_oer_constraints_t asn_OER_memb_ms80_constr_146 CC_NOTUSED = {
760         { 1, 1 }        /* (0..79) */,
761         -1};
762 static asn_per_constraints_t asn_PER_memb_ms80_constr_146 CC_NOTUSED = {
763         { APC_CONSTRAINED,       7,  7,  0,  79 }       /* (0..79) */,
764         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
765         0, 0    /* No PER value map */
766 };
767 static asn_oer_constraints_t asn_OER_memb_ms128_constr_147 CC_NOTUSED = {
768         { 1, 1 }        /* (0..127) */,
769         -1};
770 static asn_per_constraints_t asn_PER_memb_ms128_constr_147 CC_NOTUSED = {
771         { APC_CONSTRAINED,       7,  7,  0,  127 }      /* (0..127) */,
772         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
773         0, 0    /* No PER value map */
774 };
775 static asn_oer_constraints_t asn_OER_memb_ms160_constr_148 CC_NOTUSED = {
776         { 1, 1 }        /* (0..159) */,
777         -1};
778 static asn_per_constraints_t asn_PER_memb_ms160_constr_148 CC_NOTUSED = {
779         { APC_CONSTRAINED,       8,  8,  0,  159 }      /* (0..159) */,
780         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
781         0, 0    /* No PER value map */
782 };
783 static asn_oer_constraints_t asn_OER_memb_ms256_constr_149 CC_NOTUSED = {
784         { 1, 1 }        /* (0..255) */,
785         -1};
786 static asn_per_constraints_t asn_PER_memb_ms256_constr_149 CC_NOTUSED = {
787         { APC_CONSTRAINED,       8,  8,  0,  255 }      /* (0..255) */,
788         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
789         0, 0    /* No PER value map */
790 };
791 static asn_oer_constraints_t asn_OER_memb_ms320_constr_150 CC_NOTUSED = {
792         { 2, 1 }        /* (0..319) */,
793         -1};
794 static asn_per_constraints_t asn_PER_memb_ms320_constr_150 CC_NOTUSED = {
795         { APC_CONSTRAINED,       9,  9,  0,  319 }      /* (0..319) */,
796         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
797         0, 0    /* No PER value map */
798 };
799 static asn_oer_constraints_t asn_OER_memb_ms512_constr_151 CC_NOTUSED = {
800         { 2, 1 }        /* (0..511) */,
801         -1};
802 static asn_per_constraints_t asn_PER_memb_ms512_constr_151 CC_NOTUSED = {
803         { APC_CONSTRAINED,       9,  9,  0,  511 }      /* (0..511) */,
804         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
805         0, 0    /* No PER value map */
806 };
807 static asn_oer_constraints_t asn_OER_memb_ms640_constr_152 CC_NOTUSED = {
808         { 2, 1 }        /* (0..639) */,
809         -1};
810 static asn_per_constraints_t asn_PER_memb_ms640_constr_152 CC_NOTUSED = {
811         { APC_CONSTRAINED,       10,  10,  0,  639 }    /* (0..639) */,
812         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
813         0, 0    /* No PER value map */
814 };
815 static asn_oer_constraints_t asn_OER_memb_ms1024_constr_153 CC_NOTUSED = {
816         { 2, 1 }        /* (0..1023) */,
817         -1};
818 static asn_per_constraints_t asn_PER_memb_ms1024_constr_153 CC_NOTUSED = {
819         { APC_CONSTRAINED,       10,  10,  0,  1023 }   /* (0..1023) */,
820         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
821         0, 0    /* No PER value map */
822 };
823 static asn_oer_constraints_t asn_OER_memb_ms1280_constr_154 CC_NOTUSED = {
824         { 2, 1 }        /* (0..1279) */,
825         -1};
826 static asn_per_constraints_t asn_PER_memb_ms1280_constr_154 CC_NOTUSED = {
827         { APC_CONSTRAINED,       11,  11,  0,  1279 }   /* (0..1279) */,
828         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
829         0, 0    /* No PER value map */
830 };
831 static asn_oer_constraints_t asn_OER_memb_ms2048_constr_155 CC_NOTUSED = {
832         { 2, 1 }        /* (0..2047) */,
833         -1};
834 static asn_per_constraints_t asn_PER_memb_ms2048_constr_155 CC_NOTUSED = {
835         { APC_CONSTRAINED,       11,  11,  0,  2047 }   /* (0..2047) */,
836         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
837         0, 0    /* No PER value map */
838 };
839 static asn_oer_constraints_t asn_OER_memb_ms2560_constr_156 CC_NOTUSED = {
840         { 2, 1 }        /* (0..2559) */,
841         -1};
842 static asn_per_constraints_t asn_PER_memb_ms2560_constr_156 CC_NOTUSED = {
843         { APC_CONSTRAINED,       12,  12,  0,  2559 }   /* (0..2559) */,
844         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
845         0, 0    /* No PER value map */
846 };
847 static asn_oer_constraints_t asn_OER_memb_ms5120_constr_157 CC_NOTUSED = {
848         { 2, 1 }        /* (0..5119) */,
849         -1};
850 static asn_per_constraints_t asn_PER_memb_ms5120_constr_157 CC_NOTUSED = {
851         { APC_CONSTRAINED,       13,  13,  0,  5119 }   /* (0..5119) */,
852         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
853         0, 0    /* No PER value map */
854 };
855 static asn_oer_constraints_t asn_OER_memb_ms10240_constr_158 CC_NOTUSED = {
856         { 2, 1 }        /* (0..10239) */,
857         -1};
858 static asn_per_constraints_t asn_PER_memb_ms10240_constr_158 CC_NOTUSED = {
859         { APC_CONSTRAINED,       14,  14,  0,  10239 }  /* (0..10239) */,
860         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
861         0, 0    /* No PER value map */
862 };
863 static asn_oer_constraints_t asn_OER_type_drx_LongCycleStartOffset_constr_138 CC_NOTUSED = {
864         { 0, 0 },
865         -1};
866 static asn_per_constraints_t asn_PER_type_drx_LongCycleStartOffset_constr_138 CC_NOTUSED = {
867         { APC_CONSTRAINED,       5,  5,  0,  19 }       /* (0..19) */,
868         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
869         0, 0    /* No PER value map */
870 };
871 static asn_oer_constraints_t asn_OER_type_drx_ShortCycle_constr_160 CC_NOTUSED = {
872         { 0, 0 },
873         -1};
874 static asn_per_constraints_t asn_PER_type_drx_ShortCycle_constr_160 CC_NOTUSED = {
875         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
876         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
877         0, 0    /* No PER value map */
878 };
879 static asn_oer_constraints_t asn_OER_memb_drx_ShortCycleTimer_constr_193 CC_NOTUSED = {
880         { 1, 1 }        /* (1..16) */,
881         -1};
882 static asn_per_constraints_t asn_PER_memb_drx_ShortCycleTimer_constr_193 CC_NOTUSED = {
883         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (1..16) */,
884         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
885         0, 0    /* No PER value map */
886 };
887 static asn_oer_constraints_t asn_OER_memb_drx_HARQ_RTT_TimerDL_constr_70 CC_NOTUSED = {
888         { 1, 1 }        /* (0..56) */,
889         -1};
890 static asn_per_constraints_t asn_PER_memb_drx_HARQ_RTT_TimerDL_constr_70 CC_NOTUSED = {
891         { APC_CONSTRAINED,       6,  6,  0,  56 }       /* (0..56) */,
892         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
893         0, 0    /* No PER value map */
894 };
895 static asn_oer_constraints_t asn_OER_memb_drx_HARQ_RTT_TimerUL_constr_71 CC_NOTUSED = {
896         { 1, 1 }        /* (0..56) */,
897         -1};
898 static asn_per_constraints_t asn_PER_memb_drx_HARQ_RTT_TimerUL_constr_71 CC_NOTUSED = {
899         { APC_CONSTRAINED,       6,  6,  0,  56 }       /* (0..56) */,
900         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
901         0, 0    /* No PER value map */
902 };
903 static asn_oer_constraints_t asn_OER_memb_drx_SlotOffset_constr_194 CC_NOTUSED = {
904         { 1, 1 }        /* (0..31) */,
905         -1};
906 static asn_per_constraints_t asn_PER_memb_drx_SlotOffset_constr_194 CC_NOTUSED = {
907         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
908         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
909         0, 0    /* No PER value map */
910 };
911 static const asn_INTEGER_enum_map_t asn_MAP_milliSeconds_value2enum_4[] = {
912         { 0,    3,      "ms1" },
913         { 1,    3,      "ms2" },
914         { 2,    3,      "ms3" },
915         { 3,    3,      "ms4" },
916         { 4,    3,      "ms5" },
917         { 5,    3,      "ms6" },
918         { 6,    3,      "ms8" },
919         { 7,    4,      "ms10" },
920         { 8,    4,      "ms20" },
921         { 9,    4,      "ms30" },
922         { 10,   4,      "ms40" },
923         { 11,   4,      "ms50" },
924         { 12,   4,      "ms60" },
925         { 13,   4,      "ms80" },
926         { 14,   5,      "ms100" },
927         { 15,   5,      "ms200" },
928         { 16,   5,      "ms300" },
929         { 17,   5,      "ms400" },
930         { 18,   5,      "ms500" },
931         { 19,   5,      "ms600" },
932         { 20,   5,      "ms800" },
933         { 21,   6,      "ms1000" },
934         { 22,   6,      "ms1200" },
935         { 23,   6,      "ms1600" },
936         { 24,   6,      "spare8" },
937         { 25,   6,      "spare7" },
938         { 26,   6,      "spare6" },
939         { 27,   6,      "spare5" },
940         { 28,   6,      "spare4" },
941         { 29,   6,      "spare3" },
942         { 30,   6,      "spare2" },
943         { 31,   6,      "spare1" }
944 };
945 static const unsigned int asn_MAP_milliSeconds_enum2value_4[] = {
946         0,      /* ms1(0) */
947         7,      /* ms10(7) */
948         14,     /* ms100(14) */
949         21,     /* ms1000(21) */
950         22,     /* ms1200(22) */
951         23,     /* ms1600(23) */
952         1,      /* ms2(1) */
953         8,      /* ms20(8) */
954         15,     /* ms200(15) */
955         2,      /* ms3(2) */
956         9,      /* ms30(9) */
957         16,     /* ms300(16) */
958         3,      /* ms4(3) */
959         10,     /* ms40(10) */
960         17,     /* ms400(17) */
961         4,      /* ms5(4) */
962         11,     /* ms50(11) */
963         18,     /* ms500(18) */
964         5,      /* ms6(5) */
965         12,     /* ms60(12) */
966         19,     /* ms600(19) */
967         6,      /* ms8(6) */
968         13,     /* ms80(13) */
969         20,     /* ms800(20) */
970         31,     /* spare1(31) */
971         30,     /* spare2(30) */
972         29,     /* spare3(29) */
973         28,     /* spare4(28) */
974         27,     /* spare5(27) */
975         26,     /* spare6(26) */
976         25,     /* spare7(25) */
977         24      /* spare8(24) */
978 };
979 static const asn_INTEGER_specifics_t asn_SPC_milliSeconds_specs_4 = {
980         asn_MAP_milliSeconds_value2enum_4,      /* "tag" => N; sorted by tag */
981         asn_MAP_milliSeconds_enum2value_4,      /* N => "tag"; sorted by N */
982         32,     /* Number of elements in the maps */
983         0,      /* Enumeration is not extensible */
984         1,      /* Strict enumeration */
985         0,      /* Native long size */
986         0
987 };
988 static const ber_tlv_tag_t asn_DEF_milliSeconds_tags_4[] = {
989         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
990         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
991 };
992 static /* Use -fall-defs-global to expose */
993 asn_TYPE_descriptor_t asn_DEF_milliSeconds_4 = {
994         "milliSeconds",
995         "milliSeconds",
996         &asn_OP_NativeEnumerated,
997         asn_DEF_milliSeconds_tags_4,
998         sizeof(asn_DEF_milliSeconds_tags_4)
999                 /sizeof(asn_DEF_milliSeconds_tags_4[0]) - 1, /* 1 */
1000         asn_DEF_milliSeconds_tags_4,    /* Same as above */
1001         sizeof(asn_DEF_milliSeconds_tags_4)
1002                 /sizeof(asn_DEF_milliSeconds_tags_4[0]), /* 2 */
1003         { &asn_OER_type_milliSeconds_constr_4, &asn_PER_type_milliSeconds_constr_4, NativeEnumerated_constraint },
1004         0, 0,   /* Defined elsewhere */
1005         &asn_SPC_milliSeconds_specs_4   /* Additional specs */
1006 };
1007
1008 static asn_TYPE_member_t asn_MBR_drx_onDurationTimer_2[] = {
1009         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_onDurationTimer, choice.subMilliSeconds),
1010                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1011                 -1,     /* IMPLICIT tag at current level */
1012                 &asn_DEF_NativeInteger,
1013                 0,
1014                 { &asn_OER_memb_subMilliSeconds_constr_3, &asn_PER_memb_subMilliSeconds_constr_3,  memb_subMilliSeconds_constraint_2 },
1015                 0, 0, /* No default value */
1016                 "subMilliSeconds"
1017                 },
1018         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_onDurationTimer, choice.milliSeconds),
1019                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1020                 -1,     /* IMPLICIT tag at current level */
1021                 &asn_DEF_milliSeconds_4,
1022                 0,
1023                 { 0, 0, 0 },
1024                 0, 0, /* No default value */
1025                 "milliSeconds"
1026                 },
1027 };
1028 static const asn_TYPE_tag2member_t asn_MAP_drx_onDurationTimer_tag2el_2[] = {
1029     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subMilliSeconds */
1030     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* milliSeconds */
1031 };
1032 static asn_CHOICE_specifics_t asn_SPC_drx_onDurationTimer_specs_2 = {
1033         sizeof(struct DRX_Config__drx_onDurationTimer),
1034         offsetof(struct DRX_Config__drx_onDurationTimer, _asn_ctx),
1035         offsetof(struct DRX_Config__drx_onDurationTimer, present),
1036         sizeof(((struct DRX_Config__drx_onDurationTimer *)0)->present),
1037         asn_MAP_drx_onDurationTimer_tag2el_2,
1038         2,      /* Count of tags in the map */
1039         0, 0,
1040         -1      /* Extensions start */
1041 };
1042 static /* Use -fall-defs-global to expose */
1043 asn_TYPE_descriptor_t asn_DEF_drx_onDurationTimer_2 = {
1044         "drx-onDurationTimer",
1045         "drx-onDurationTimer",
1046         &asn_OP_CHOICE,
1047         0,      /* No effective tags (pointer) */
1048         0,      /* No effective tags (count) */
1049         0,      /* No tags (pointer) */
1050         0,      /* No tags (count) */
1051         { &asn_OER_type_drx_onDurationTimer_constr_2, &asn_PER_type_drx_onDurationTimer_constr_2, CHOICE_constraint },
1052         asn_MBR_drx_onDurationTimer_2,
1053         2,      /* Elements count */
1054         &asn_SPC_drx_onDurationTimer_specs_2    /* Additional specs */
1055 };
1056
1057 static const asn_INTEGER_enum_map_t asn_MAP_drx_InactivityTimer_value2enum_37[] = {
1058         { 0,    3,      "ms0" },
1059         { 1,    3,      "ms1" },
1060         { 2,    3,      "ms2" },
1061         { 3,    3,      "ms3" },
1062         { 4,    3,      "ms4" },
1063         { 5,    3,      "ms5" },
1064         { 6,    3,      "ms6" },
1065         { 7,    3,      "ms8" },
1066         { 8,    4,      "ms10" },
1067         { 9,    4,      "ms20" },
1068         { 10,   4,      "ms30" },
1069         { 11,   4,      "ms40" },
1070         { 12,   4,      "ms50" },
1071         { 13,   4,      "ms60" },
1072         { 14,   4,      "ms80" },
1073         { 15,   5,      "ms100" },
1074         { 16,   5,      "ms200" },
1075         { 17,   5,      "ms300" },
1076         { 18,   5,      "ms500" },
1077         { 19,   5,      "ms750" },
1078         { 20,   6,      "ms1280" },
1079         { 21,   6,      "ms1920" },
1080         { 22,   6,      "ms2560" },
1081         { 23,   6,      "spare9" },
1082         { 24,   6,      "spare8" },
1083         { 25,   6,      "spare7" },
1084         { 26,   6,      "spare6" },
1085         { 27,   6,      "spare5" },
1086         { 28,   6,      "spare4" },
1087         { 29,   6,      "spare3" },
1088         { 30,   6,      "spare2" },
1089         { 31,   6,      "spare1" }
1090 };
1091 static const unsigned int asn_MAP_drx_InactivityTimer_enum2value_37[] = {
1092         0,      /* ms0(0) */
1093         1,      /* ms1(1) */
1094         8,      /* ms10(8) */
1095         15,     /* ms100(15) */
1096         20,     /* ms1280(20) */
1097         21,     /* ms1920(21) */
1098         2,      /* ms2(2) */
1099         9,      /* ms20(9) */
1100         16,     /* ms200(16) */
1101         22,     /* ms2560(22) */
1102         3,      /* ms3(3) */
1103         10,     /* ms30(10) */
1104         17,     /* ms300(17) */
1105         4,      /* ms4(4) */
1106         11,     /* ms40(11) */
1107         5,      /* ms5(5) */
1108         12,     /* ms50(12) */
1109         18,     /* ms500(18) */
1110         6,      /* ms6(6) */
1111         13,     /* ms60(13) */
1112         19,     /* ms750(19) */
1113         7,      /* ms8(7) */
1114         14,     /* ms80(14) */
1115         31,     /* spare1(31) */
1116         30,     /* spare2(30) */
1117         29,     /* spare3(29) */
1118         28,     /* spare4(28) */
1119         27,     /* spare5(27) */
1120         26,     /* spare6(26) */
1121         25,     /* spare7(25) */
1122         24,     /* spare8(24) */
1123         23      /* spare9(23) */
1124 };
1125 static const asn_INTEGER_specifics_t asn_SPC_drx_InactivityTimer_specs_37 = {
1126         asn_MAP_drx_InactivityTimer_value2enum_37,      /* "tag" => N; sorted by tag */
1127         asn_MAP_drx_InactivityTimer_enum2value_37,      /* N => "tag"; sorted by N */
1128         32,     /* Number of elements in the maps */
1129         0,      /* Enumeration is not extensible */
1130         1,      /* Strict enumeration */
1131         0,      /* Native long size */
1132         0
1133 };
1134 static const ber_tlv_tag_t asn_DEF_drx_InactivityTimer_tags_37[] = {
1135         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1136         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1137 };
1138 static /* Use -fall-defs-global to expose */
1139 asn_TYPE_descriptor_t asn_DEF_drx_InactivityTimer_37 = {
1140         "drx-InactivityTimer",
1141         "drx-InactivityTimer",
1142         &asn_OP_NativeEnumerated,
1143         asn_DEF_drx_InactivityTimer_tags_37,
1144         sizeof(asn_DEF_drx_InactivityTimer_tags_37)
1145                 /sizeof(asn_DEF_drx_InactivityTimer_tags_37[0]) - 1, /* 1 */
1146         asn_DEF_drx_InactivityTimer_tags_37,    /* Same as above */
1147         sizeof(asn_DEF_drx_InactivityTimer_tags_37)
1148                 /sizeof(asn_DEF_drx_InactivityTimer_tags_37[0]), /* 2 */
1149         { &asn_OER_type_drx_InactivityTimer_constr_37, &asn_PER_type_drx_InactivityTimer_constr_37, NativeEnumerated_constraint },
1150         0, 0,   /* Defined elsewhere */
1151         &asn_SPC_drx_InactivityTimer_specs_37   /* Additional specs */
1152 };
1153
1154 static const asn_INTEGER_enum_map_t asn_MAP_drx_RetransmissionTimerDL_value2enum_72[] = {
1155         { 0,    3,      "sl0" },
1156         { 1,    3,      "sl1" },
1157         { 2,    3,      "sl2" },
1158         { 3,    3,      "sl4" },
1159         { 4,    3,      "sl6" },
1160         { 5,    3,      "sl8" },
1161         { 6,    4,      "sl16" },
1162         { 7,    4,      "sl24" },
1163         { 8,    4,      "sl33" },
1164         { 9,    4,      "sl40" },
1165         { 10,   4,      "sl64" },
1166         { 11,   4,      "sl80" },
1167         { 12,   4,      "sl96" },
1168         { 13,   5,      "sl112" },
1169         { 14,   5,      "sl128" },
1170         { 15,   5,      "sl160" },
1171         { 16,   5,      "sl320" },
1172         { 17,   7,      "spare15" },
1173         { 18,   7,      "spare14" },
1174         { 19,   7,      "spare13" },
1175         { 20,   7,      "spare12" },
1176         { 21,   7,      "spare11" },
1177         { 22,   7,      "spare10" },
1178         { 23,   6,      "spare9" },
1179         { 24,   6,      "spare8" },
1180         { 25,   6,      "spare7" },
1181         { 26,   6,      "spare6" },
1182         { 27,   6,      "spare5" },
1183         { 28,   6,      "spare4" },
1184         { 29,   6,      "spare3" },
1185         { 30,   6,      "spare2" },
1186         { 31,   6,      "spare1" }
1187 };
1188 static const unsigned int asn_MAP_drx_RetransmissionTimerDL_enum2value_72[] = {
1189         0,      /* sl0(0) */
1190         1,      /* sl1(1) */
1191         13,     /* sl112(13) */
1192         14,     /* sl128(14) */
1193         6,      /* sl16(6) */
1194         15,     /* sl160(15) */
1195         2,      /* sl2(2) */
1196         7,      /* sl24(7) */
1197         16,     /* sl320(16) */
1198         8,      /* sl33(8) */
1199         3,      /* sl4(3) */
1200         9,      /* sl40(9) */
1201         4,      /* sl6(4) */
1202         10,     /* sl64(10) */
1203         5,      /* sl8(5) */
1204         11,     /* sl80(11) */
1205         12,     /* sl96(12) */
1206         31,     /* spare1(31) */
1207         22,     /* spare10(22) */
1208         21,     /* spare11(21) */
1209         20,     /* spare12(20) */
1210         19,     /* spare13(19) */
1211         18,     /* spare14(18) */
1212         17,     /* spare15(17) */
1213         30,     /* spare2(30) */
1214         29,     /* spare3(29) */
1215         28,     /* spare4(28) */
1216         27,     /* spare5(27) */
1217         26,     /* spare6(26) */
1218         25,     /* spare7(25) */
1219         24,     /* spare8(24) */
1220         23      /* spare9(23) */
1221 };
1222 static const asn_INTEGER_specifics_t asn_SPC_drx_RetransmissionTimerDL_specs_72 = {
1223         asn_MAP_drx_RetransmissionTimerDL_value2enum_72,        /* "tag" => N; sorted by tag */
1224         asn_MAP_drx_RetransmissionTimerDL_enum2value_72,        /* N => "tag"; sorted by N */
1225         32,     /* Number of elements in the maps */
1226         0,      /* Enumeration is not extensible */
1227         1,      /* Strict enumeration */
1228         0,      /* Native long size */
1229         0
1230 };
1231 static const ber_tlv_tag_t asn_DEF_drx_RetransmissionTimerDL_tags_72[] = {
1232         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1233         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1234 };
1235 static /* Use -fall-defs-global to expose */
1236 asn_TYPE_descriptor_t asn_DEF_drx_RetransmissionTimerDL_72 = {
1237         "drx-RetransmissionTimerDL",
1238         "drx-RetransmissionTimerDL",
1239         &asn_OP_NativeEnumerated,
1240         asn_DEF_drx_RetransmissionTimerDL_tags_72,
1241         sizeof(asn_DEF_drx_RetransmissionTimerDL_tags_72)
1242                 /sizeof(asn_DEF_drx_RetransmissionTimerDL_tags_72[0]) - 1, /* 1 */
1243         asn_DEF_drx_RetransmissionTimerDL_tags_72,      /* Same as above */
1244         sizeof(asn_DEF_drx_RetransmissionTimerDL_tags_72)
1245                 /sizeof(asn_DEF_drx_RetransmissionTimerDL_tags_72[0]), /* 2 */
1246         { &asn_OER_type_drx_RetransmissionTimerDL_constr_72, &asn_PER_type_drx_RetransmissionTimerDL_constr_72, NativeEnumerated_constraint },
1247         0, 0,   /* Defined elsewhere */
1248         &asn_SPC_drx_RetransmissionTimerDL_specs_72     /* Additional specs */
1249 };
1250
1251 static const asn_INTEGER_enum_map_t asn_MAP_drx_RetransmissionTimerUL_value2enum_105[] = {
1252         { 0,    3,      "sl0" },
1253         { 1,    3,      "sl1" },
1254         { 2,    3,      "sl2" },
1255         { 3,    3,      "sl4" },
1256         { 4,    3,      "sl6" },
1257         { 5,    3,      "sl8" },
1258         { 6,    4,      "sl16" },
1259         { 7,    4,      "sl24" },
1260         { 8,    4,      "sl33" },
1261         { 9,    4,      "sl40" },
1262         { 10,   4,      "sl64" },
1263         { 11,   4,      "sl80" },
1264         { 12,   4,      "sl96" },
1265         { 13,   5,      "sl112" },
1266         { 14,   5,      "sl128" },
1267         { 15,   5,      "sl160" },
1268         { 16,   5,      "sl320" },
1269         { 17,   7,      "spare15" },
1270         { 18,   7,      "spare14" },
1271         { 19,   7,      "spare13" },
1272         { 20,   7,      "spare12" },
1273         { 21,   7,      "spare11" },
1274         { 22,   7,      "spare10" },
1275         { 23,   6,      "spare9" },
1276         { 24,   6,      "spare8" },
1277         { 25,   6,      "spare7" },
1278         { 26,   6,      "spare6" },
1279         { 27,   6,      "spare5" },
1280         { 28,   6,      "spare4" },
1281         { 29,   6,      "spare3" },
1282         { 30,   6,      "spare2" },
1283         { 31,   6,      "spare1" }
1284 };
1285 static const unsigned int asn_MAP_drx_RetransmissionTimerUL_enum2value_105[] = {
1286         0,      /* sl0(0) */
1287         1,      /* sl1(1) */
1288         13,     /* sl112(13) */
1289         14,     /* sl128(14) */
1290         6,      /* sl16(6) */
1291         15,     /* sl160(15) */
1292         2,      /* sl2(2) */
1293         7,      /* sl24(7) */
1294         16,     /* sl320(16) */
1295         8,      /* sl33(8) */
1296         3,      /* sl4(3) */
1297         9,      /* sl40(9) */
1298         4,      /* sl6(4) */
1299         10,     /* sl64(10) */
1300         5,      /* sl8(5) */
1301         11,     /* sl80(11) */
1302         12,     /* sl96(12) */
1303         31,     /* spare1(31) */
1304         22,     /* spare10(22) */
1305         21,     /* spare11(21) */
1306         20,     /* spare12(20) */
1307         19,     /* spare13(19) */
1308         18,     /* spare14(18) */
1309         17,     /* spare15(17) */
1310         30,     /* spare2(30) */
1311         29,     /* spare3(29) */
1312         28,     /* spare4(28) */
1313         27,     /* spare5(27) */
1314         26,     /* spare6(26) */
1315         25,     /* spare7(25) */
1316         24,     /* spare8(24) */
1317         23      /* spare9(23) */
1318 };
1319 static const asn_INTEGER_specifics_t asn_SPC_drx_RetransmissionTimerUL_specs_105 = {
1320         asn_MAP_drx_RetransmissionTimerUL_value2enum_105,       /* "tag" => N; sorted by tag */
1321         asn_MAP_drx_RetransmissionTimerUL_enum2value_105,       /* N => "tag"; sorted by N */
1322         32,     /* Number of elements in the maps */
1323         0,      /* Enumeration is not extensible */
1324         1,      /* Strict enumeration */
1325         0,      /* Native long size */
1326         0
1327 };
1328 static const ber_tlv_tag_t asn_DEF_drx_RetransmissionTimerUL_tags_105[] = {
1329         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1330         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1331 };
1332 static /* Use -fall-defs-global to expose */
1333 asn_TYPE_descriptor_t asn_DEF_drx_RetransmissionTimerUL_105 = {
1334         "drx-RetransmissionTimerUL",
1335         "drx-RetransmissionTimerUL",
1336         &asn_OP_NativeEnumerated,
1337         asn_DEF_drx_RetransmissionTimerUL_tags_105,
1338         sizeof(asn_DEF_drx_RetransmissionTimerUL_tags_105)
1339                 /sizeof(asn_DEF_drx_RetransmissionTimerUL_tags_105[0]) - 1, /* 1 */
1340         asn_DEF_drx_RetransmissionTimerUL_tags_105,     /* Same as above */
1341         sizeof(asn_DEF_drx_RetransmissionTimerUL_tags_105)
1342                 /sizeof(asn_DEF_drx_RetransmissionTimerUL_tags_105[0]), /* 2 */
1343         { &asn_OER_type_drx_RetransmissionTimerUL_constr_105, &asn_PER_type_drx_RetransmissionTimerUL_constr_105, NativeEnumerated_constraint },
1344         0, 0,   /* Defined elsewhere */
1345         &asn_SPC_drx_RetransmissionTimerUL_specs_105    /* Additional specs */
1346 };
1347
1348 static asn_TYPE_member_t asn_MBR_drx_LongCycleStartOffset_138[] = {
1349         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms10),
1350                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1351                 -1,     /* IMPLICIT tag at current level */
1352                 &asn_DEF_NativeInteger,
1353                 0,
1354                 { &asn_OER_memb_ms10_constr_139, &asn_PER_memb_ms10_constr_139,  memb_ms10_constraint_138 },
1355                 0, 0, /* No default value */
1356                 "ms10"
1357                 },
1358         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms20),
1359                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1360                 -1,     /* IMPLICIT tag at current level */
1361                 &asn_DEF_NativeInteger,
1362                 0,
1363                 { &asn_OER_memb_ms20_constr_140, &asn_PER_memb_ms20_constr_140,  memb_ms20_constraint_138 },
1364                 0, 0, /* No default value */
1365                 "ms20"
1366                 },
1367         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms32),
1368                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1369                 -1,     /* IMPLICIT tag at current level */
1370                 &asn_DEF_NativeInteger,
1371                 0,
1372                 { &asn_OER_memb_ms32_constr_141, &asn_PER_memb_ms32_constr_141,  memb_ms32_constraint_138 },
1373                 0, 0, /* No default value */
1374                 "ms32"
1375                 },
1376         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms40),
1377                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1378                 -1,     /* IMPLICIT tag at current level */
1379                 &asn_DEF_NativeInteger,
1380                 0,
1381                 { &asn_OER_memb_ms40_constr_142, &asn_PER_memb_ms40_constr_142,  memb_ms40_constraint_138 },
1382                 0, 0, /* No default value */
1383                 "ms40"
1384                 },
1385         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms60),
1386                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1387                 -1,     /* IMPLICIT tag at current level */
1388                 &asn_DEF_NativeInteger,
1389                 0,
1390                 { &asn_OER_memb_ms60_constr_143, &asn_PER_memb_ms60_constr_143,  memb_ms60_constraint_138 },
1391                 0, 0, /* No default value */
1392                 "ms60"
1393                 },
1394         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms64),
1395                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1396                 -1,     /* IMPLICIT tag at current level */
1397                 &asn_DEF_NativeInteger,
1398                 0,
1399                 { &asn_OER_memb_ms64_constr_144, &asn_PER_memb_ms64_constr_144,  memb_ms64_constraint_138 },
1400                 0, 0, /* No default value */
1401                 "ms64"
1402                 },
1403         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms70),
1404                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1405                 -1,     /* IMPLICIT tag at current level */
1406                 &asn_DEF_NativeInteger,
1407                 0,
1408                 { &asn_OER_memb_ms70_constr_145, &asn_PER_memb_ms70_constr_145,  memb_ms70_constraint_138 },
1409                 0, 0, /* No default value */
1410                 "ms70"
1411                 },
1412         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms80),
1413                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1414                 -1,     /* IMPLICIT tag at current level */
1415                 &asn_DEF_NativeInteger,
1416                 0,
1417                 { &asn_OER_memb_ms80_constr_146, &asn_PER_memb_ms80_constr_146,  memb_ms80_constraint_138 },
1418                 0, 0, /* No default value */
1419                 "ms80"
1420                 },
1421         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms128),
1422                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1423                 -1,     /* IMPLICIT tag at current level */
1424                 &asn_DEF_NativeInteger,
1425                 0,
1426                 { &asn_OER_memb_ms128_constr_147, &asn_PER_memb_ms128_constr_147,  memb_ms128_constraint_138 },
1427                 0, 0, /* No default value */
1428                 "ms128"
1429                 },
1430         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms160),
1431                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1432                 -1,     /* IMPLICIT tag at current level */
1433                 &asn_DEF_NativeInteger,
1434                 0,
1435                 { &asn_OER_memb_ms160_constr_148, &asn_PER_memb_ms160_constr_148,  memb_ms160_constraint_138 },
1436                 0, 0, /* No default value */
1437                 "ms160"
1438                 },
1439         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms256),
1440                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1441                 -1,     /* IMPLICIT tag at current level */
1442                 &asn_DEF_NativeInteger,
1443                 0,
1444                 { &asn_OER_memb_ms256_constr_149, &asn_PER_memb_ms256_constr_149,  memb_ms256_constraint_138 },
1445                 0, 0, /* No default value */
1446                 "ms256"
1447                 },
1448         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms320),
1449                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1450                 -1,     /* IMPLICIT tag at current level */
1451                 &asn_DEF_NativeInteger,
1452                 0,
1453                 { &asn_OER_memb_ms320_constr_150, &asn_PER_memb_ms320_constr_150,  memb_ms320_constraint_138 },
1454                 0, 0, /* No default value */
1455                 "ms320"
1456                 },
1457         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms512),
1458                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1459                 -1,     /* IMPLICIT tag at current level */
1460                 &asn_DEF_NativeInteger,
1461                 0,
1462                 { &asn_OER_memb_ms512_constr_151, &asn_PER_memb_ms512_constr_151,  memb_ms512_constraint_138 },
1463                 0, 0, /* No default value */
1464                 "ms512"
1465                 },
1466         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms640),
1467                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1468                 -1,     /* IMPLICIT tag at current level */
1469                 &asn_DEF_NativeInteger,
1470                 0,
1471                 { &asn_OER_memb_ms640_constr_152, &asn_PER_memb_ms640_constr_152,  memb_ms640_constraint_138 },
1472                 0, 0, /* No default value */
1473                 "ms640"
1474                 },
1475         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms1024),
1476                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
1477                 -1,     /* IMPLICIT tag at current level */
1478                 &asn_DEF_NativeInteger,
1479                 0,
1480                 { &asn_OER_memb_ms1024_constr_153, &asn_PER_memb_ms1024_constr_153,  memb_ms1024_constraint_138 },
1481                 0, 0, /* No default value */
1482                 "ms1024"
1483                 },
1484         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms1280),
1485                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1486                 -1,     /* IMPLICIT tag at current level */
1487                 &asn_DEF_NativeInteger,
1488                 0,
1489                 { &asn_OER_memb_ms1280_constr_154, &asn_PER_memb_ms1280_constr_154,  memb_ms1280_constraint_138 },
1490                 0, 0, /* No default value */
1491                 "ms1280"
1492                 },
1493         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms2048),
1494                 (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
1495                 -1,     /* IMPLICIT tag at current level */
1496                 &asn_DEF_NativeInteger,
1497                 0,
1498                 { &asn_OER_memb_ms2048_constr_155, &asn_PER_memb_ms2048_constr_155,  memb_ms2048_constraint_138 },
1499                 0, 0, /* No default value */
1500                 "ms2048"
1501                 },
1502         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms2560),
1503                 (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
1504                 -1,     /* IMPLICIT tag at current level */
1505                 &asn_DEF_NativeInteger,
1506                 0,
1507                 { &asn_OER_memb_ms2560_constr_156, &asn_PER_memb_ms2560_constr_156,  memb_ms2560_constraint_138 },
1508                 0, 0, /* No default value */
1509                 "ms2560"
1510                 },
1511         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms5120),
1512                 (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
1513                 -1,     /* IMPLICIT tag at current level */
1514                 &asn_DEF_NativeInteger,
1515                 0,
1516                 { &asn_OER_memb_ms5120_constr_157, &asn_PER_memb_ms5120_constr_157,  memb_ms5120_constraint_138 },
1517                 0, 0, /* No default value */
1518                 "ms5120"
1519                 },
1520         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__drx_LongCycleStartOffset, choice.ms10240),
1521                 (ASN_TAG_CLASS_CONTEXT | (19 << 2)),
1522                 -1,     /* IMPLICIT tag at current level */
1523                 &asn_DEF_NativeInteger,
1524                 0,
1525                 { &asn_OER_memb_ms10240_constr_158, &asn_PER_memb_ms10240_constr_158,  memb_ms10240_constraint_138 },
1526                 0, 0, /* No default value */
1527                 "ms10240"
1528                 },
1529 };
1530 static const asn_TYPE_tag2member_t asn_MAP_drx_LongCycleStartOffset_tag2el_138[] = {
1531     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ms10 */
1532     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ms20 */
1533     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ms32 */
1534     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ms40 */
1535     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ms60 */
1536     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ms64 */
1537     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ms70 */
1538     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ms80 */
1539     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* ms128 */
1540     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* ms160 */
1541     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* ms256 */
1542     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* ms320 */
1543     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* ms512 */
1544     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* ms640 */
1545     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* ms1024 */
1546     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* ms1280 */
1547     { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* ms2048 */
1548     { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* ms2560 */
1549     { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* ms5120 */
1550     { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 } /* ms10240 */
1551 };
1552 static asn_CHOICE_specifics_t asn_SPC_drx_LongCycleStartOffset_specs_138 = {
1553         sizeof(struct DRX_Config__drx_LongCycleStartOffset),
1554         offsetof(struct DRX_Config__drx_LongCycleStartOffset, _asn_ctx),
1555         offsetof(struct DRX_Config__drx_LongCycleStartOffset, present),
1556         sizeof(((struct DRX_Config__drx_LongCycleStartOffset *)0)->present),
1557         asn_MAP_drx_LongCycleStartOffset_tag2el_138,
1558         20,     /* Count of tags in the map */
1559         0, 0,
1560         -1      /* Extensions start */
1561 };
1562 static /* Use -fall-defs-global to expose */
1563 asn_TYPE_descriptor_t asn_DEF_drx_LongCycleStartOffset_138 = {
1564         "drx-LongCycleStartOffset",
1565         "drx-LongCycleStartOffset",
1566         &asn_OP_CHOICE,
1567         0,      /* No effective tags (pointer) */
1568         0,      /* No effective tags (count) */
1569         0,      /* No tags (pointer) */
1570         0,      /* No tags (count) */
1571         { &asn_OER_type_drx_LongCycleStartOffset_constr_138, &asn_PER_type_drx_LongCycleStartOffset_constr_138, CHOICE_constraint },
1572         asn_MBR_drx_LongCycleStartOffset_138,
1573         20,     /* Elements count */
1574         &asn_SPC_drx_LongCycleStartOffset_specs_138     /* Additional specs */
1575 };
1576
1577 static const asn_INTEGER_enum_map_t asn_MAP_drx_ShortCycle_value2enum_160[] = {
1578         { 0,    3,      "ms2" },
1579         { 1,    3,      "ms3" },
1580         { 2,    3,      "ms4" },
1581         { 3,    3,      "ms5" },
1582         { 4,    3,      "ms6" },
1583         { 5,    3,      "ms7" },
1584         { 6,    3,      "ms8" },
1585         { 7,    4,      "ms10" },
1586         { 8,    4,      "ms14" },
1587         { 9,    4,      "ms16" },
1588         { 10,   4,      "ms20" },
1589         { 11,   4,      "ms30" },
1590         { 12,   4,      "ms32" },
1591         { 13,   4,      "ms35" },
1592         { 14,   4,      "ms40" },
1593         { 15,   4,      "ms64" },
1594         { 16,   4,      "ms80" },
1595         { 17,   5,      "ms128" },
1596         { 18,   5,      "ms160" },
1597         { 19,   5,      "ms256" },
1598         { 20,   5,      "ms320" },
1599         { 21,   5,      "ms512" },
1600         { 22,   5,      "ms640" },
1601         { 23,   6,      "spare9" },
1602         { 24,   6,      "spare8" },
1603         { 25,   6,      "spare7" },
1604         { 26,   6,      "spare6" },
1605         { 27,   6,      "spare5" },
1606         { 28,   6,      "spare4" },
1607         { 29,   6,      "spare3" },
1608         { 30,   6,      "spare2" },
1609         { 31,   6,      "spare1" }
1610 };
1611 static const unsigned int asn_MAP_drx_ShortCycle_enum2value_160[] = {
1612         7,      /* ms10(7) */
1613         17,     /* ms128(17) */
1614         8,      /* ms14(8) */
1615         9,      /* ms16(9) */
1616         18,     /* ms160(18) */
1617         0,      /* ms2(0) */
1618         10,     /* ms20(10) */
1619         19,     /* ms256(19) */
1620         1,      /* ms3(1) */
1621         11,     /* ms30(11) */
1622         12,     /* ms32(12) */
1623         20,     /* ms320(20) */
1624         13,     /* ms35(13) */
1625         2,      /* ms4(2) */
1626         14,     /* ms40(14) */
1627         3,      /* ms5(3) */
1628         21,     /* ms512(21) */
1629         4,      /* ms6(4) */
1630         15,     /* ms64(15) */
1631         22,     /* ms640(22) */
1632         5,      /* ms7(5) */
1633         6,      /* ms8(6) */
1634         16,     /* ms80(16) */
1635         31,     /* spare1(31) */
1636         30,     /* spare2(30) */
1637         29,     /* spare3(29) */
1638         28,     /* spare4(28) */
1639         27,     /* spare5(27) */
1640         26,     /* spare6(26) */
1641         25,     /* spare7(25) */
1642         24,     /* spare8(24) */
1643         23      /* spare9(23) */
1644 };
1645 static const asn_INTEGER_specifics_t asn_SPC_drx_ShortCycle_specs_160 = {
1646         asn_MAP_drx_ShortCycle_value2enum_160,  /* "tag" => N; sorted by tag */
1647         asn_MAP_drx_ShortCycle_enum2value_160,  /* N => "tag"; sorted by N */
1648         32,     /* Number of elements in the maps */
1649         0,      /* Enumeration is not extensible */
1650         1,      /* Strict enumeration */
1651         0,      /* Native long size */
1652         0
1653 };
1654 static const ber_tlv_tag_t asn_DEF_drx_ShortCycle_tags_160[] = {
1655         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1656         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1657 };
1658 static /* Use -fall-defs-global to expose */
1659 asn_TYPE_descriptor_t asn_DEF_drx_ShortCycle_160 = {
1660         "drx-ShortCycle",
1661         "drx-ShortCycle",
1662         &asn_OP_NativeEnumerated,
1663         asn_DEF_drx_ShortCycle_tags_160,
1664         sizeof(asn_DEF_drx_ShortCycle_tags_160)
1665                 /sizeof(asn_DEF_drx_ShortCycle_tags_160[0]) - 1, /* 1 */
1666         asn_DEF_drx_ShortCycle_tags_160,        /* Same as above */
1667         sizeof(asn_DEF_drx_ShortCycle_tags_160)
1668                 /sizeof(asn_DEF_drx_ShortCycle_tags_160[0]), /* 2 */
1669         { &asn_OER_type_drx_ShortCycle_constr_160, &asn_PER_type_drx_ShortCycle_constr_160, NativeEnumerated_constraint },
1670         0, 0,   /* Defined elsewhere */
1671         &asn_SPC_drx_ShortCycle_specs_160       /* Additional specs */
1672 };
1673
1674 static asn_TYPE_member_t asn_MBR_shortDRX_159[] = {
1675         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__shortDRX, drx_ShortCycle),
1676                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1677                 -1,     /* IMPLICIT tag at current level */
1678                 &asn_DEF_drx_ShortCycle_160,
1679                 0,
1680                 { 0, 0, 0 },
1681                 0, 0, /* No default value */
1682                 "drx-ShortCycle"
1683                 },
1684         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config__shortDRX, drx_ShortCycleTimer),
1685                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1686                 -1,     /* IMPLICIT tag at current level */
1687                 &asn_DEF_NativeInteger,
1688                 0,
1689                 { &asn_OER_memb_drx_ShortCycleTimer_constr_193, &asn_PER_memb_drx_ShortCycleTimer_constr_193,  memb_drx_ShortCycleTimer_constraint_159 },
1690                 0, 0, /* No default value */
1691                 "drx-ShortCycleTimer"
1692                 },
1693 };
1694 static const ber_tlv_tag_t asn_DEF_shortDRX_tags_159[] = {
1695         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1696         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1697 };
1698 static const asn_TYPE_tag2member_t asn_MAP_shortDRX_tag2el_159[] = {
1699     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drx-ShortCycle */
1700     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* drx-ShortCycleTimer */
1701 };
1702 static asn_SEQUENCE_specifics_t asn_SPC_shortDRX_specs_159 = {
1703         sizeof(struct DRX_Config__shortDRX),
1704         offsetof(struct DRX_Config__shortDRX, _asn_ctx),
1705         asn_MAP_shortDRX_tag2el_159,
1706         2,      /* Count of tags in the map */
1707         0, 0, 0,        /* Optional elements (not needed) */
1708         -1,     /* First extension addition */
1709 };
1710 static /* Use -fall-defs-global to expose */
1711 asn_TYPE_descriptor_t asn_DEF_shortDRX_159 = {
1712         "shortDRX",
1713         "shortDRX",
1714         &asn_OP_SEQUENCE,
1715         asn_DEF_shortDRX_tags_159,
1716         sizeof(asn_DEF_shortDRX_tags_159)
1717                 /sizeof(asn_DEF_shortDRX_tags_159[0]) - 1, /* 1 */
1718         asn_DEF_shortDRX_tags_159,      /* Same as above */
1719         sizeof(asn_DEF_shortDRX_tags_159)
1720                 /sizeof(asn_DEF_shortDRX_tags_159[0]), /* 2 */
1721         { 0, 0, SEQUENCE_constraint },
1722         asn_MBR_shortDRX_159,
1723         2,      /* Elements count */
1724         &asn_SPC_shortDRX_specs_159     /* Additional specs */
1725 };
1726
1727 asn_TYPE_member_t asn_MBR_DRX_Config_1[] = {
1728         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_onDurationTimer),
1729                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1730                 +1,     /* EXPLICIT tag at current level */
1731                 &asn_DEF_drx_onDurationTimer_2,
1732                 0,
1733                 { 0, 0, 0 },
1734                 0, 0, /* No default value */
1735                 "drx-onDurationTimer"
1736                 },
1737         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_InactivityTimer),
1738                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1739                 -1,     /* IMPLICIT tag at current level */
1740                 &asn_DEF_drx_InactivityTimer_37,
1741                 0,
1742                 { 0, 0, 0 },
1743                 0, 0, /* No default value */
1744                 "drx-InactivityTimer"
1745                 },
1746         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_HARQ_RTT_TimerDL),
1747                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1748                 -1,     /* IMPLICIT tag at current level */
1749                 &asn_DEF_NativeInteger,
1750                 0,
1751                 { &asn_OER_memb_drx_HARQ_RTT_TimerDL_constr_70, &asn_PER_memb_drx_HARQ_RTT_TimerDL_constr_70,  memb_drx_HARQ_RTT_TimerDL_constraint_1 },
1752                 0, 0, /* No default value */
1753                 "drx-HARQ-RTT-TimerDL"
1754                 },
1755         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_HARQ_RTT_TimerUL),
1756                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1757                 -1,     /* IMPLICIT tag at current level */
1758                 &asn_DEF_NativeInteger,
1759                 0,
1760                 { &asn_OER_memb_drx_HARQ_RTT_TimerUL_constr_71, &asn_PER_memb_drx_HARQ_RTT_TimerUL_constr_71,  memb_drx_HARQ_RTT_TimerUL_constraint_1 },
1761                 0, 0, /* No default value */
1762                 "drx-HARQ-RTT-TimerUL"
1763                 },
1764         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_RetransmissionTimerDL),
1765                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1766                 -1,     /* IMPLICIT tag at current level */
1767                 &asn_DEF_drx_RetransmissionTimerDL_72,
1768                 0,
1769                 { 0, 0, 0 },
1770                 0, 0, /* No default value */
1771                 "drx-RetransmissionTimerDL"
1772                 },
1773         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_RetransmissionTimerUL),
1774                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1775                 -1,     /* IMPLICIT tag at current level */
1776                 &asn_DEF_drx_RetransmissionTimerUL_105,
1777                 0,
1778                 { 0, 0, 0 },
1779                 0, 0, /* No default value */
1780                 "drx-RetransmissionTimerUL"
1781                 },
1782         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_LongCycleStartOffset),
1783                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1784                 +1,     /* EXPLICIT tag at current level */
1785                 &asn_DEF_drx_LongCycleStartOffset_138,
1786                 0,
1787                 { 0, 0, 0 },
1788                 0, 0, /* No default value */
1789                 "drx-LongCycleStartOffset"
1790                 },
1791         { ATF_POINTER, 1, offsetof(struct DRX_Config, shortDRX),
1792                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1793                 0,
1794                 &asn_DEF_shortDRX_159,
1795                 0,
1796                 { 0, 0, 0 },
1797                 0, 0, /* No default value */
1798                 "shortDRX"
1799                 },
1800         { ATF_NOFLAGS, 0, offsetof(struct DRX_Config, drx_SlotOffset),
1801                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1802                 -1,     /* IMPLICIT tag at current level */
1803                 &asn_DEF_NativeInteger,
1804                 0,
1805                 { &asn_OER_memb_drx_SlotOffset_constr_194, &asn_PER_memb_drx_SlotOffset_constr_194,  memb_drx_SlotOffset_constraint_1 },
1806                 0, 0, /* No default value */
1807                 "drx-SlotOffset"
1808                 },
1809 };
1810 static const int asn_MAP_DRX_Config_oms_1[] = { 7 };
1811 static const ber_tlv_tag_t asn_DEF_DRX_Config_tags_1[] = {
1812         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1813 };
1814 static const asn_TYPE_tag2member_t asn_MAP_DRX_Config_tag2el_1[] = {
1815     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drx-onDurationTimer */
1816     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* drx-InactivityTimer */
1817     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* drx-HARQ-RTT-TimerDL */
1818     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* drx-HARQ-RTT-TimerUL */
1819     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* drx-RetransmissionTimerDL */
1820     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* drx-RetransmissionTimerUL */
1821     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* drx-LongCycleStartOffset */
1822     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* shortDRX */
1823     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* drx-SlotOffset */
1824 };
1825 asn_SEQUENCE_specifics_t asn_SPC_DRX_Config_specs_1 = {
1826         sizeof(struct DRX_Config),
1827         offsetof(struct DRX_Config, _asn_ctx),
1828         asn_MAP_DRX_Config_tag2el_1,
1829         9,      /* Count of tags in the map */
1830         asn_MAP_DRX_Config_oms_1,       /* Optional members */
1831         1, 0,   /* Root/Additions */
1832         -1,     /* First extension addition */
1833 };
1834 asn_TYPE_descriptor_t asn_DEF_DRX_Config = {
1835         "DRX-Config",
1836         "DRX-Config",
1837         &asn_OP_SEQUENCE,
1838         asn_DEF_DRX_Config_tags_1,
1839         sizeof(asn_DEF_DRX_Config_tags_1)
1840                 /sizeof(asn_DEF_DRX_Config_tags_1[0]), /* 1 */
1841         asn_DEF_DRX_Config_tags_1,      /* Same as above */
1842         sizeof(asn_DEF_DRX_Config_tags_1)
1843                 /sizeof(asn_DEF_DRX_Config_tags_1[0]), /* 1 */
1844         { 0, 0, SEQUENCE_constraint },
1845         asn_MBR_DRX_Config_1,
1846         9,      /* Elements count */
1847         &asn_SPC_DRX_Config_specs_1     /* Additional specs */
1848 };
1849