[Epic-ID: ODUHIGH-464][Task-ID: ODUHIGH-483] Memeory related fix in FDD and TDD mode
[o-du/l2.git] / src / codec_utils / RRC / LogicalChannelConfig.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "../ASN1_Input/rrc_15_3_asn.asn1"
5  *      `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
6  */
7
8 #include "LogicalChannelConfig.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 /*
15  * This type is implemented using NativeEnumerated,
16  * so here we adjust the DEF accordingly.
17  */
18 /*
19  * This type is implemented using NativeEnumerated,
20  * so here we adjust the DEF accordingly.
21  */
22 /*
23  * This type is implemented using NativeEnumerated,
24  * so here we adjust the DEF accordingly.
25  */
26 /*
27  * This type is implemented using NativeEnumerated,
28  * so here we adjust the DEF accordingly.
29  */
30 static int
31 memb_priority_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
32                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
33         long value;
34         
35         if(!sptr) {
36                 ASN__CTFAIL(app_key, td, sptr,
37                         "%s: value not given (%s:%d)",
38                         td->name, __FILE__, __LINE__);
39                 return -1;
40         }
41         
42         value = *(const long *)sptr;
43         
44         if((value >= 1 && value <= 16)) {
45                 /* Constraint check succeeded */
46                 return 0;
47         } else {
48                 ASN__CTFAIL(app_key, td, sptr,
49                         "%s: constraint failed (%s:%d)",
50                         td->name, __FILE__, __LINE__);
51                 return -1;
52         }
53 }
54
55 static int
56 memb_allowedServingCells_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
57                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
58         size_t size;
59         
60         if(!sptr) {
61                 ASN__CTFAIL(app_key, td, sptr,
62                         "%s: value not given (%s:%d)",
63                         td->name, __FILE__, __LINE__);
64                 return -1;
65         }
66         
67         /* Determine the number of elements */
68         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
69         
70         if((size >= 1 && size <= 31)) {
71                 /* Perform validation of the inner elements */
72                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
73         } else {
74                 ASN__CTFAIL(app_key, td, sptr,
75                         "%s: constraint failed (%s:%d)",
76                         td->name, __FILE__, __LINE__);
77                 return -1;
78         }
79 }
80
81 static int
82 memb_allowedSCS_List_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
83                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
84         size_t size;
85         
86         if(!sptr) {
87                 ASN__CTFAIL(app_key, td, sptr,
88                         "%s: value not given (%s:%d)",
89                         td->name, __FILE__, __LINE__);
90                 return -1;
91         }
92         
93         /* Determine the number of elements */
94         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
95         
96         if((size >= 1 && size <= 5)) {
97                 /* Perform validation of the inner elements */
98                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
99         } else {
100                 ASN__CTFAIL(app_key, td, sptr,
101                         "%s: constraint failed (%s:%d)",
102                         td->name, __FILE__, __LINE__);
103                 return -1;
104         }
105 }
106
107 static int
108 memb_logicalChannelGroup_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
109                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
110         long value;
111         
112         if(!sptr) {
113                 ASN__CTFAIL(app_key, td, sptr,
114                         "%s: value not given (%s:%d)",
115                         td->name, __FILE__, __LINE__);
116                 return -1;
117         }
118         
119         value = *(const long *)sptr;
120         
121         if((value >= 0 && value <= 7)) {
122                 /* Constraint check succeeded */
123                 return 0;
124         } else {
125                 ASN__CTFAIL(app_key, td, sptr,
126                         "%s: constraint failed (%s:%d)",
127                         td->name, __FILE__, __LINE__);
128                 return -1;
129         }
130 }
131
132 static asn_oer_constraints_t asn_OER_type_prioritisedBitRate_constr_4 CC_NOTUSED = {
133         { 0, 0 },
134         -1};
135 static asn_per_constraints_t asn_PER_type_prioritisedBitRate_constr_4 CC_NOTUSED = {
136         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
137         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
138         0, 0    /* No PER value map */
139 };
140 static asn_oer_constraints_t asn_OER_type_bucketSizeDuration_constr_21 CC_NOTUSED = {
141         { 0, 0 },
142         -1};
143 static asn_per_constraints_t asn_PER_type_bucketSizeDuration_constr_21 CC_NOTUSED = {
144         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
145         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
146         0, 0    /* No PER value map */
147 };
148 static asn_oer_constraints_t asn_OER_type_allowedServingCells_constr_38 CC_NOTUSED = {
149         { 0, 0 },
150         -1      /* (SIZE(1..31)) */};
151 static asn_per_constraints_t asn_PER_type_allowedServingCells_constr_38 CC_NOTUSED = {
152         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
153         { APC_CONSTRAINED,       5,  5,  1,  31 }       /* (SIZE(1..31)) */,
154         0, 0    /* No PER value map */
155 };
156 static asn_oer_constraints_t asn_OER_type_allowedSCS_List_constr_40 CC_NOTUSED = {
157         { 0, 0 },
158         -1      /* (SIZE(1..5)) */};
159 static asn_per_constraints_t asn_PER_type_allowedSCS_List_constr_40 CC_NOTUSED = {
160         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
161         { APC_CONSTRAINED,       3,  3,  1,  5 }        /* (SIZE(1..5)) */,
162         0, 0    /* No PER value map */
163 };
164 static asn_oer_constraints_t asn_OER_type_maxPUSCH_Duration_constr_42 CC_NOTUSED = {
165         { 0, 0 },
166         -1};
167 static asn_per_constraints_t asn_PER_type_maxPUSCH_Duration_constr_42 CC_NOTUSED = {
168         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
169         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
170         0, 0    /* No PER value map */
171 };
172 static asn_oer_constraints_t asn_OER_type_configuredGrantType1Allowed_constr_51 CC_NOTUSED = {
173         { 0, 0 },
174         -1};
175 static asn_per_constraints_t asn_PER_type_configuredGrantType1Allowed_constr_51 CC_NOTUSED = {
176         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
177         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
178         0, 0    /* No PER value map */
179 };
180 static asn_oer_constraints_t asn_OER_type_bitRateQueryProhibitTimer_constr_58 CC_NOTUSED = {
181         { 0, 0 },
182         -1};
183 static asn_per_constraints_t asn_PER_type_bitRateQueryProhibitTimer_constr_58 CC_NOTUSED = {
184         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
185         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
186         0, 0    /* No PER value map */
187 };
188 static asn_oer_constraints_t asn_OER_memb_priority_constr_3 CC_NOTUSED = {
189         { 1, 1 }        /* (1..16) */,
190         -1};
191 static asn_per_constraints_t asn_PER_memb_priority_constr_3 CC_NOTUSED = {
192         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (1..16) */,
193         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
194         0, 0    /* No PER value map */
195 };
196 static asn_oer_constraints_t asn_OER_memb_allowedServingCells_constr_38 CC_NOTUSED = {
197         { 0, 0 },
198         -1      /* (SIZE(1..31)) */};
199 static asn_per_constraints_t asn_PER_memb_allowedServingCells_constr_38 CC_NOTUSED = {
200         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
201         { APC_CONSTRAINED,       5,  5,  1,  31 }       /* (SIZE(1..31)) */,
202         0, 0    /* No PER value map */
203 };
204 static asn_oer_constraints_t asn_OER_memb_allowedSCS_List_constr_40 CC_NOTUSED = {
205         { 0, 0 },
206         -1      /* (SIZE(1..5)) */};
207 static asn_per_constraints_t asn_PER_memb_allowedSCS_List_constr_40 CC_NOTUSED = {
208         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
209         { APC_CONSTRAINED,       3,  3,  1,  5 }        /* (SIZE(1..5)) */,
210         0, 0    /* No PER value map */
211 };
212 static asn_oer_constraints_t asn_OER_memb_logicalChannelGroup_constr_53 CC_NOTUSED = {
213         { 1, 1 }        /* (0..7) */,
214         -1};
215 static asn_per_constraints_t asn_PER_memb_logicalChannelGroup_constr_53 CC_NOTUSED = {
216         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
217         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
218         0, 0    /* No PER value map */
219 };
220 static const asn_INTEGER_enum_map_t asn_MAP_prioritisedBitRate_value2enum_4[] = {
221         { 0,    5,      "kBps0" },
222         { 1,    5,      "kBps8" },
223         { 2,    6,      "kBps16" },
224         { 3,    6,      "kBps32" },
225         { 4,    6,      "kBps64" },
226         { 5,    7,      "kBps128" },
227         { 6,    7,      "kBps256" },
228         { 7,    7,      "kBps512" },
229         { 8,    8,      "kBps1024" },
230         { 9,    8,      "kBps2048" },
231         { 10,   8,      "kBps4096" },
232         { 11,   8,      "kBps8192" },
233         { 12,   9,      "kBps16384" },
234         { 13,   9,      "kBps32768" },
235         { 14,   9,      "kBps65536" },
236         { 15,   8,      "infinity" }
237 };
238 static const unsigned int asn_MAP_prioritisedBitRate_enum2value_4[] = {
239         15,     /* infinity(15) */
240         0,      /* kBps0(0) */
241         8,      /* kBps1024(8) */
242         5,      /* kBps128(5) */
243         2,      /* kBps16(2) */
244         12,     /* kBps16384(12) */
245         9,      /* kBps2048(9) */
246         6,      /* kBps256(6) */
247         3,      /* kBps32(3) */
248         13,     /* kBps32768(13) */
249         10,     /* kBps4096(10) */
250         7,      /* kBps512(7) */
251         4,      /* kBps64(4) */
252         14,     /* kBps65536(14) */
253         1,      /* kBps8(1) */
254         11      /* kBps8192(11) */
255 };
256 static const asn_INTEGER_specifics_t asn_SPC_prioritisedBitRate_specs_4 = {
257         asn_MAP_prioritisedBitRate_value2enum_4,        /* "tag" => N; sorted by tag */
258         asn_MAP_prioritisedBitRate_enum2value_4,        /* N => "tag"; sorted by N */
259         16,     /* Number of elements in the maps */
260         0,      /* Enumeration is not extensible */
261         1,      /* Strict enumeration */
262         0,      /* Native long size */
263         0
264 };
265 static const ber_tlv_tag_t asn_DEF_prioritisedBitRate_tags_4[] = {
266         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
267         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
268 };
269 static /* Use -fall-defs-global to expose */
270 asn_TYPE_descriptor_t asn_DEF_prioritisedBitRate_4 = {
271         "prioritisedBitRate",
272         "prioritisedBitRate",
273         &asn_OP_NativeEnumerated,
274         asn_DEF_prioritisedBitRate_tags_4,
275         sizeof(asn_DEF_prioritisedBitRate_tags_4)
276                 /sizeof(asn_DEF_prioritisedBitRate_tags_4[0]) - 1, /* 1 */
277         asn_DEF_prioritisedBitRate_tags_4,      /* Same as above */
278         sizeof(asn_DEF_prioritisedBitRate_tags_4)
279                 /sizeof(asn_DEF_prioritisedBitRate_tags_4[0]), /* 2 */
280         { &asn_OER_type_prioritisedBitRate_constr_4, &asn_PER_type_prioritisedBitRate_constr_4, NativeEnumerated_constraint },
281         0, 0,   /* Defined elsewhere */
282         &asn_SPC_prioritisedBitRate_specs_4     /* Additional specs */
283 };
284
285 static const asn_INTEGER_enum_map_t asn_MAP_bucketSizeDuration_value2enum_21[] = {
286         { 0,    3,      "ms5" },
287         { 1,    4,      "ms10" },
288         { 2,    4,      "ms20" },
289         { 3,    4,      "ms50" },
290         { 4,    5,      "ms100" },
291         { 5,    5,      "ms150" },
292         { 6,    5,      "ms300" },
293         { 7,    5,      "ms500" },
294         { 8,    6,      "ms1000" },
295         { 9,    6,      "spare7" },
296         { 10,   6,      "spare6" },
297         { 11,   6,      "spare5" },
298         { 12,   6,      "spare4" },
299         { 13,   6,      "spare3" },
300         { 14,   6,      "spare2" },
301         { 15,   6,      "spare1" }
302 };
303 static const unsigned int asn_MAP_bucketSizeDuration_enum2value_21[] = {
304         1,      /* ms10(1) */
305         4,      /* ms100(4) */
306         8,      /* ms1000(8) */
307         5,      /* ms150(5) */
308         2,      /* ms20(2) */
309         6,      /* ms300(6) */
310         0,      /* ms5(0) */
311         3,      /* ms50(3) */
312         7,      /* ms500(7) */
313         15,     /* spare1(15) */
314         14,     /* spare2(14) */
315         13,     /* spare3(13) */
316         12,     /* spare4(12) */
317         11,     /* spare5(11) */
318         10,     /* spare6(10) */
319         9       /* spare7(9) */
320 };
321 static const asn_INTEGER_specifics_t asn_SPC_bucketSizeDuration_specs_21 = {
322         asn_MAP_bucketSizeDuration_value2enum_21,       /* "tag" => N; sorted by tag */
323         asn_MAP_bucketSizeDuration_enum2value_21,       /* N => "tag"; sorted by N */
324         16,     /* Number of elements in the maps */
325         0,      /* Enumeration is not extensible */
326         1,      /* Strict enumeration */
327         0,      /* Native long size */
328         0
329 };
330 static const ber_tlv_tag_t asn_DEF_bucketSizeDuration_tags_21[] = {
331         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
332         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
333 };
334 static /* Use -fall-defs-global to expose */
335 asn_TYPE_descriptor_t asn_DEF_bucketSizeDuration_21 = {
336         "bucketSizeDuration",
337         "bucketSizeDuration",
338         &asn_OP_NativeEnumerated,
339         asn_DEF_bucketSizeDuration_tags_21,
340         sizeof(asn_DEF_bucketSizeDuration_tags_21)
341                 /sizeof(asn_DEF_bucketSizeDuration_tags_21[0]) - 1, /* 1 */
342         asn_DEF_bucketSizeDuration_tags_21,     /* Same as above */
343         sizeof(asn_DEF_bucketSizeDuration_tags_21)
344                 /sizeof(asn_DEF_bucketSizeDuration_tags_21[0]), /* 2 */
345         { &asn_OER_type_bucketSizeDuration_constr_21, &asn_PER_type_bucketSizeDuration_constr_21, NativeEnumerated_constraint },
346         0, 0,   /* Defined elsewhere */
347         &asn_SPC_bucketSizeDuration_specs_21    /* Additional specs */
348 };
349
350 static asn_TYPE_member_t asn_MBR_allowedServingCells_38[] = {
351         { ATF_POINTER, 0, 0,
352                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
353                 0,
354                 &asn_DEF_ServCellIndexRrc,
355                 0,
356                 { 0, 0, 0 },
357                 0, 0, /* No default value */
358                 ""
359                 },
360 };
361 static const ber_tlv_tag_t asn_DEF_allowedServingCells_tags_38[] = {
362         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
363         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
364 };
365 static asn_SET_OF_specifics_t asn_SPC_allowedServingCells_specs_38 = {
366         sizeof(struct LogicalChannelConfig__ul_SpecificParameters__allowedServingCells),
367         offsetof(struct LogicalChannelConfig__ul_SpecificParameters__allowedServingCells, _asn_ctx),
368         0,      /* XER encoding is XMLDelimitedItemList */
369 };
370 static /* Use -fall-defs-global to expose */
371 asn_TYPE_descriptor_t asn_DEF_allowedServingCells_38 = {
372         "allowedServingCells",
373         "allowedServingCells",
374         &asn_OP_SEQUENCE_OF,
375         asn_DEF_allowedServingCells_tags_38,
376         sizeof(asn_DEF_allowedServingCells_tags_38)
377                 /sizeof(asn_DEF_allowedServingCells_tags_38[0]) - 1, /* 1 */
378         asn_DEF_allowedServingCells_tags_38,    /* Same as above */
379         sizeof(asn_DEF_allowedServingCells_tags_38)
380                 /sizeof(asn_DEF_allowedServingCells_tags_38[0]), /* 2 */
381         { &asn_OER_type_allowedServingCells_constr_38, &asn_PER_type_allowedServingCells_constr_38, SEQUENCE_OF_constraint },
382         asn_MBR_allowedServingCells_38,
383         1,      /* Single element */
384         &asn_SPC_allowedServingCells_specs_38   /* Additional specs */
385 };
386
387 static asn_TYPE_member_t asn_MBR_allowedSCS_List_40[] = {
388         { ATF_POINTER, 0, 0,
389                 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
390                 0,
391                 &asn_DEF_SubcarrierSpacing,
392                 0,
393                 { 0, 0, 0 },
394                 0, 0, /* No default value */
395                 ""
396                 },
397 };
398 static const ber_tlv_tag_t asn_DEF_allowedSCS_List_tags_40[] = {
399         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
400         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
401 };
402 static asn_SET_OF_specifics_t asn_SPC_allowedSCS_List_specs_40 = {
403         sizeof(struct LogicalChannelConfig__ul_SpecificParameters__allowedSCS_List),
404         offsetof(struct LogicalChannelConfig__ul_SpecificParameters__allowedSCS_List, _asn_ctx),
405         1,      /* XER encoding is XMLValueList */
406 };
407 static /* Use -fall-defs-global to expose */
408 asn_TYPE_descriptor_t asn_DEF_allowedSCS_List_40 = {
409         "allowedSCS-List",
410         "allowedSCS-List",
411         &asn_OP_SEQUENCE_OF,
412         asn_DEF_allowedSCS_List_tags_40,
413         sizeof(asn_DEF_allowedSCS_List_tags_40)
414                 /sizeof(asn_DEF_allowedSCS_List_tags_40[0]) - 1, /* 1 */
415         asn_DEF_allowedSCS_List_tags_40,        /* Same as above */
416         sizeof(asn_DEF_allowedSCS_List_tags_40)
417                 /sizeof(asn_DEF_allowedSCS_List_tags_40[0]), /* 2 */
418         { &asn_OER_type_allowedSCS_List_constr_40, &asn_PER_type_allowedSCS_List_constr_40, SEQUENCE_OF_constraint },
419         asn_MBR_allowedSCS_List_40,
420         1,      /* Single element */
421         &asn_SPC_allowedSCS_List_specs_40       /* Additional specs */
422 };
423
424 static const asn_INTEGER_enum_map_t asn_MAP_maxPUSCH_Duration_value2enum_42[] = {
425         { 0,    6,      "ms0p02" },
426         { 1,    6,      "ms0p04" },
427         { 2,    8,      "ms0p0625" },
428         { 3,    7,      "ms0p125" },
429         { 4,    6,      "ms0p25" },
430         { 5,    5,      "ms0p5" },
431         { 6,    6,      "spare2" },
432         { 7,    6,      "spare1" }
433 };
434 static const unsigned int asn_MAP_maxPUSCH_Duration_enum2value_42[] = {
435         0,      /* ms0p02(0) */
436         1,      /* ms0p04(1) */
437         2,      /* ms0p0625(2) */
438         3,      /* ms0p125(3) */
439         4,      /* ms0p25(4) */
440         5,      /* ms0p5(5) */
441         7,      /* spare1(7) */
442         6       /* spare2(6) */
443 };
444 static const asn_INTEGER_specifics_t asn_SPC_maxPUSCH_Duration_specs_42 = {
445         asn_MAP_maxPUSCH_Duration_value2enum_42,        /* "tag" => N; sorted by tag */
446         asn_MAP_maxPUSCH_Duration_enum2value_42,        /* N => "tag"; sorted by N */
447         8,      /* Number of elements in the maps */
448         0,      /* Enumeration is not extensible */
449         1,      /* Strict enumeration */
450         0,      /* Native long size */
451         0
452 };
453 static const ber_tlv_tag_t asn_DEF_maxPUSCH_Duration_tags_42[] = {
454         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
455         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
456 };
457 static /* Use -fall-defs-global to expose */
458 asn_TYPE_descriptor_t asn_DEF_maxPUSCH_Duration_42 = {
459         "maxPUSCH-Duration",
460         "maxPUSCH-Duration",
461         &asn_OP_NativeEnumerated,
462         asn_DEF_maxPUSCH_Duration_tags_42,
463         sizeof(asn_DEF_maxPUSCH_Duration_tags_42)
464                 /sizeof(asn_DEF_maxPUSCH_Duration_tags_42[0]) - 1, /* 1 */
465         asn_DEF_maxPUSCH_Duration_tags_42,      /* Same as above */
466         sizeof(asn_DEF_maxPUSCH_Duration_tags_42)
467                 /sizeof(asn_DEF_maxPUSCH_Duration_tags_42[0]), /* 2 */
468         { &asn_OER_type_maxPUSCH_Duration_constr_42, &asn_PER_type_maxPUSCH_Duration_constr_42, NativeEnumerated_constraint },
469         0, 0,   /* Defined elsewhere */
470         &asn_SPC_maxPUSCH_Duration_specs_42     /* Additional specs */
471 };
472
473 static const asn_INTEGER_enum_map_t asn_MAP_configuredGrantType1Allowed_value2enum_51[] = {
474         { 0,    4,      "true" }
475 };
476 static const unsigned int asn_MAP_configuredGrantType1Allowed_enum2value_51[] = {
477         0       /* true(0) */
478 };
479 static const asn_INTEGER_specifics_t asn_SPC_configuredGrantType1Allowed_specs_51 = {
480         asn_MAP_configuredGrantType1Allowed_value2enum_51,      /* "tag" => N; sorted by tag */
481         asn_MAP_configuredGrantType1Allowed_enum2value_51,      /* N => "tag"; sorted by N */
482         1,      /* Number of elements in the maps */
483         0,      /* Enumeration is not extensible */
484         1,      /* Strict enumeration */
485         0,      /* Native long size */
486         0
487 };
488 static const ber_tlv_tag_t asn_DEF_configuredGrantType1Allowed_tags_51[] = {
489         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
490         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
491 };
492 static /* Use -fall-defs-global to expose */
493 asn_TYPE_descriptor_t asn_DEF_configuredGrantType1Allowed_51 = {
494         "configuredGrantType1Allowed",
495         "configuredGrantType1Allowed",
496         &asn_OP_NativeEnumerated,
497         asn_DEF_configuredGrantType1Allowed_tags_51,
498         sizeof(asn_DEF_configuredGrantType1Allowed_tags_51)
499                 /sizeof(asn_DEF_configuredGrantType1Allowed_tags_51[0]) - 1, /* 1 */
500         asn_DEF_configuredGrantType1Allowed_tags_51,    /* Same as above */
501         sizeof(asn_DEF_configuredGrantType1Allowed_tags_51)
502                 /sizeof(asn_DEF_configuredGrantType1Allowed_tags_51[0]), /* 2 */
503         { &asn_OER_type_configuredGrantType1Allowed_constr_51, &asn_PER_type_configuredGrantType1Allowed_constr_51, NativeEnumerated_constraint },
504         0, 0,   /* Defined elsewhere */
505         &asn_SPC_configuredGrantType1Allowed_specs_51   /* Additional specs */
506 };
507
508 static const asn_INTEGER_enum_map_t asn_MAP_bitRateQueryProhibitTimer_value2enum_58[] = {
509         { 0,    2,      "s0" },
510         { 1,    6,      "s0dot4" },
511         { 2,    6,      "s0dot8" },
512         { 3,    6,      "s1dot6" },
513         { 4,    2,      "s3" },
514         { 5,    2,      "s6" },
515         { 6,    3,      "s12" },
516         { 7,    3,      "s30" }
517 };
518 static const unsigned int asn_MAP_bitRateQueryProhibitTimer_enum2value_58[] = {
519         0,      /* s0(0) */
520         1,      /* s0dot4(1) */
521         2,      /* s0dot8(2) */
522         6,      /* s12(6) */
523         3,      /* s1dot6(3) */
524         4,      /* s3(4) */
525         7,      /* s30(7) */
526         5       /* s6(5) */
527 };
528 static const asn_INTEGER_specifics_t asn_SPC_bitRateQueryProhibitTimer_specs_58 = {
529         asn_MAP_bitRateQueryProhibitTimer_value2enum_58,        /* "tag" => N; sorted by tag */
530         asn_MAP_bitRateQueryProhibitTimer_enum2value_58,        /* N => "tag"; sorted by N */
531         8,      /* Number of elements in the maps */
532         0,      /* Enumeration is not extensible */
533         1,      /* Strict enumeration */
534         0,      /* Native long size */
535         0
536 };
537 static const ber_tlv_tag_t asn_DEF_bitRateQueryProhibitTimer_tags_58[] = {
538         (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
539         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
540 };
541 static /* Use -fall-defs-global to expose */
542 asn_TYPE_descriptor_t asn_DEF_bitRateQueryProhibitTimer_58 = {
543         "bitRateQueryProhibitTimer",
544         "bitRateQueryProhibitTimer",
545         &asn_OP_NativeEnumerated,
546         asn_DEF_bitRateQueryProhibitTimer_tags_58,
547         sizeof(asn_DEF_bitRateQueryProhibitTimer_tags_58)
548                 /sizeof(asn_DEF_bitRateQueryProhibitTimer_tags_58[0]) - 1, /* 1 */
549         asn_DEF_bitRateQueryProhibitTimer_tags_58,      /* Same as above */
550         sizeof(asn_DEF_bitRateQueryProhibitTimer_tags_58)
551                 /sizeof(asn_DEF_bitRateQueryProhibitTimer_tags_58[0]), /* 2 */
552         { &asn_OER_type_bitRateQueryProhibitTimer_constr_58, &asn_PER_type_bitRateQueryProhibitTimer_constr_58, NativeEnumerated_constraint },
553         0, 0,   /* Defined elsewhere */
554         &asn_SPC_bitRateQueryProhibitTimer_specs_58     /* Additional specs */
555 };
556
557 static asn_TYPE_member_t asn_MBR_ul_SpecificParameters_2[] = {
558         { ATF_NOFLAGS, 0, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, priority),
559                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
560                 -1,     /* IMPLICIT tag at current level */
561                 &asn_DEF_NativeInteger,
562                 0,
563                 { &asn_OER_memb_priority_constr_3, &asn_PER_memb_priority_constr_3,  memb_priority_constraint_2 },
564                 0, 0, /* No default value */
565                 "priority"
566                 },
567         { ATF_NOFLAGS, 0, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, prioritisedBitRate),
568                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
569                 -1,     /* IMPLICIT tag at current level */
570                 &asn_DEF_prioritisedBitRate_4,
571                 0,
572                 { 0, 0, 0 },
573                 0, 0, /* No default value */
574                 "prioritisedBitRate"
575                 },
576         { ATF_NOFLAGS, 0, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, bucketSizeDuration),
577                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
578                 -1,     /* IMPLICIT tag at current level */
579                 &asn_DEF_bucketSizeDuration_21,
580                 0,
581                 { 0, 0, 0 },
582                 0, 0, /* No default value */
583                 "bucketSizeDuration"
584                 },
585         { ATF_POINTER, 6, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, allowedServingCells),
586                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
587                 0,
588                 &asn_DEF_allowedServingCells_38,
589                 0,
590                 { &asn_OER_memb_allowedServingCells_constr_38, &asn_PER_memb_allowedServingCells_constr_38,  memb_allowedServingCells_constraint_2 },
591                 0, 0, /* No default value */
592                 "allowedServingCells"
593                 },
594         { ATF_POINTER, 5, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, allowedSCS_List),
595                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
596                 0,
597                 &asn_DEF_allowedSCS_List_40,
598                 0,
599                 { &asn_OER_memb_allowedSCS_List_constr_40, &asn_PER_memb_allowedSCS_List_constr_40,  memb_allowedSCS_List_constraint_2 },
600                 0, 0, /* No default value */
601                 "allowedSCS-List"
602                 },
603         { ATF_POINTER, 4, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, maxPUSCH_Duration),
604                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
605                 -1,     /* IMPLICIT tag at current level */
606                 &asn_DEF_maxPUSCH_Duration_42,
607                 0,
608                 { 0, 0, 0 },
609                 0, 0, /* No default value */
610                 "maxPUSCH-Duration"
611                 },
612         { ATF_POINTER, 3, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, configuredGrantType1Allowed),
613                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
614                 -1,     /* IMPLICIT tag at current level */
615                 &asn_DEF_configuredGrantType1Allowed_51,
616                 0,
617                 { 0, 0, 0 },
618                 0, 0, /* No default value */
619                 "configuredGrantType1Allowed"
620                 },
621         { ATF_POINTER, 2, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, logicalChannelGroup),
622                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
623                 -1,     /* IMPLICIT tag at current level */
624                 &asn_DEF_NativeInteger,
625                 0,
626                 { &asn_OER_memb_logicalChannelGroup_constr_53, &asn_PER_memb_logicalChannelGroup_constr_53,  memb_logicalChannelGroup_constraint_2 },
627                 0, 0, /* No default value */
628                 "logicalChannelGroup"
629                 },
630         { ATF_POINTER, 1, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, schedulingRequestID),
631                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
632                 -1,     /* IMPLICIT tag at current level */
633                 &asn_DEF_SchedulingRequestId,
634                 0,
635                 { 0, 0, 0 },
636                 0, 0, /* No default value */
637                 "schedulingRequestID"
638                 },
639         { ATF_NOFLAGS, 0, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, logicalChannelSR_Mask),
640                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
641                 -1,     /* IMPLICIT tag at current level */
642                 &asn_DEF_BOOLEAN,
643                 0,
644                 { 0, 0, 0 },
645                 0, 0, /* No default value */
646                 "logicalChannelSR-Mask"
647                 },
648         { ATF_NOFLAGS, 0, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, logicalChannelSR_DelayTimerApplied),
649                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
650                 -1,     /* IMPLICIT tag at current level */
651                 &asn_DEF_BOOLEAN,
652                 0,
653                 { 0, 0, 0 },
654                 0, 0, /* No default value */
655                 "logicalChannelSR-DelayTimerApplied"
656                 },
657         { ATF_POINTER, 1, offsetof(struct LogicalChannelConfig__ul_SpecificParameters, bitRateQueryProhibitTimer),
658                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
659                 -1,     /* IMPLICIT tag at current level */
660                 &asn_DEF_bitRateQueryProhibitTimer_58,
661                 0,
662                 { 0, 0, 0 },
663                 0, 0, /* No default value */
664                 "bitRateQueryProhibitTimer"
665                 },
666 };
667 static const int asn_MAP_ul_SpecificParameters_oms_2[] = { 3, 4, 5, 6, 7, 8, 11 };
668 static const ber_tlv_tag_t asn_DEF_ul_SpecificParameters_tags_2[] = {
669         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
670         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
671 };
672 static const asn_TYPE_tag2member_t asn_MAP_ul_SpecificParameters_tag2el_2[] = {
673     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* priority */
674     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* prioritisedBitRate */
675     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bucketSizeDuration */
676     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* allowedServingCells */
677     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* allowedSCS-List */
678     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* maxPUSCH-Duration */
679     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* configuredGrantType1Allowed */
680     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* logicalChannelGroup */
681     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* schedulingRequestID */
682     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* logicalChannelSR-Mask */
683     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* logicalChannelSR-DelayTimerApplied */
684     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* bitRateQueryProhibitTimer */
685 };
686 static asn_SEQUENCE_specifics_t asn_SPC_ul_SpecificParameters_specs_2 = {
687         sizeof(struct LogicalChannelConfig__ul_SpecificParameters),
688         offsetof(struct LogicalChannelConfig__ul_SpecificParameters, _asn_ctx),
689         asn_MAP_ul_SpecificParameters_tag2el_2,
690         12,     /* Count of tags in the map */
691         asn_MAP_ul_SpecificParameters_oms_2,    /* Optional members */
692         6, 1,   /* Root/Additions */
693         11,     /* First extension addition */
694 };
695 static /* Use -fall-defs-global to expose */
696 asn_TYPE_descriptor_t asn_DEF_ul_SpecificParameters_2 = {
697         "ul-SpecificParameters",
698         "ul-SpecificParameters",
699         &asn_OP_SEQUENCE,
700         asn_DEF_ul_SpecificParameters_tags_2,
701         sizeof(asn_DEF_ul_SpecificParameters_tags_2)
702                 /sizeof(asn_DEF_ul_SpecificParameters_tags_2[0]) - 1, /* 1 */
703         asn_DEF_ul_SpecificParameters_tags_2,   /* Same as above */
704         sizeof(asn_DEF_ul_SpecificParameters_tags_2)
705                 /sizeof(asn_DEF_ul_SpecificParameters_tags_2[0]), /* 2 */
706         { 0, 0, SEQUENCE_constraint },
707         asn_MBR_ul_SpecificParameters_2,
708         12,     /* Elements count */
709         &asn_SPC_ul_SpecificParameters_specs_2  /* Additional specs */
710 };
711
712 asn_TYPE_member_t asn_MBR_LogicalChannelConfig_1[] = {
713         { ATF_POINTER, 1, offsetof(struct LogicalChannelConfig, ul_SpecificParameters),
714                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
715                 0,
716                 &asn_DEF_ul_SpecificParameters_2,
717                 0,
718                 { 0, 0, 0 },
719                 0, 0, /* No default value */
720                 "ul-SpecificParameters"
721                 },
722 };
723 static const int asn_MAP_LogicalChannelConfig_oms_1[] = { 0 };
724 static const ber_tlv_tag_t asn_DEF_LogicalChannelConfig_tags_1[] = {
725         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
726 };
727 static const asn_TYPE_tag2member_t asn_MAP_LogicalChannelConfig_tag2el_1[] = {
728     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ul-SpecificParameters */
729 };
730 asn_SEQUENCE_specifics_t asn_SPC_LogicalChannelConfig_specs_1 = {
731         sizeof(struct LogicalChannelConfig),
732         offsetof(struct LogicalChannelConfig, _asn_ctx),
733         asn_MAP_LogicalChannelConfig_tag2el_1,
734         1,      /* Count of tags in the map */
735         asn_MAP_LogicalChannelConfig_oms_1,     /* Optional members */
736         1, 0,   /* Root/Additions */
737         1,      /* First extension addition */
738 };
739 asn_TYPE_descriptor_t asn_DEF_LogicalChannelConfig = {
740         "LogicalChannelConfig",
741         "LogicalChannelConfig",
742         &asn_OP_SEQUENCE,
743         asn_DEF_LogicalChannelConfig_tags_1,
744         sizeof(asn_DEF_LogicalChannelConfig_tags_1)
745                 /sizeof(asn_DEF_LogicalChannelConfig_tags_1[0]), /* 1 */
746         asn_DEF_LogicalChannelConfig_tags_1,    /* Same as above */
747         sizeof(asn_DEF_LogicalChannelConfig_tags_1)
748                 /sizeof(asn_DEF_LogicalChannelConfig_tags_1[0]), /* 1 */
749         { 0, 0, SEQUENCE_constraint },
750         asn_MBR_LogicalChannelConfig_1,
751         1,      /* Elements count */
752         &asn_SPC_LogicalChannelConfig_specs_1   /* Additional specs */
753 };
754