56e8f7c3ca5f759a5107f619d2b1fddeb5c32e52
[o-du/l2.git] / src / codec_utils / RRC / MAC-ParametersCommon.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 "MAC-ParametersCommon.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 asn_oer_constraints_t asn_OER_type_lcp_Restriction_constr_2 CC_NOTUSED = {
31         { 0, 0 },
32         -1};
33 static asn_per_constraints_t asn_PER_type_lcp_Restriction_constr_2 CC_NOTUSED = {
34         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
35         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
36         0, 0    /* No PER value map */
37 };
38 static asn_oer_constraints_t asn_OER_type_pucch_SpatialRelInfoMAC_CE_constr_4 CC_NOTUSED = {
39         { 0, 0 },
40         -1};
41 static asn_per_constraints_t asn_PER_type_pucch_SpatialRelInfoMAC_CE_constr_4 CC_NOTUSED = {
42         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
43         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
44         0, 0    /* No PER value map */
45 };
46 static asn_oer_constraints_t asn_OER_type_lch_ToSCellRestriction_constr_6 CC_NOTUSED = {
47         { 0, 0 },
48         -1};
49 static asn_per_constraints_t asn_PER_type_lch_ToSCellRestriction_constr_6 CC_NOTUSED = {
50         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
51         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
52         0, 0    /* No PER value map */
53 };
54 static asn_oer_constraints_t asn_OER_type_recommendedBitRate_constr_10 CC_NOTUSED = {
55         { 0, 0 },
56         -1};
57 static asn_per_constraints_t asn_PER_type_recommendedBitRate_constr_10 CC_NOTUSED = {
58         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
59         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
60         0, 0    /* No PER value map */
61 };
62 static asn_oer_constraints_t asn_OER_type_recommendedBitRateQuery_constr_12 CC_NOTUSED = {
63         { 0, 0 },
64         -1};
65 static asn_per_constraints_t asn_PER_type_recommendedBitRateQuery_constr_12 CC_NOTUSED = {
66         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
67         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
68         0, 0    /* No PER value map */
69 };
70 static const asn_INTEGER_enum_map_t asn_MAP_lcp_Restriction_value2enum_2[] = {
71         { 0,    9,      "supported" }
72 };
73 static const unsigned int asn_MAP_lcp_Restriction_enum2value_2[] = {
74         0       /* supported(0) */
75 };
76 static const asn_INTEGER_specifics_t asn_SPC_lcp_Restriction_specs_2 = {
77         asn_MAP_lcp_Restriction_value2enum_2,   /* "tag" => N; sorted by tag */
78         asn_MAP_lcp_Restriction_enum2value_2,   /* N => "tag"; sorted by N */
79         1,      /* Number of elements in the maps */
80         0,      /* Enumeration is not extensible */
81         1,      /* Strict enumeration */
82         0,      /* Native long size */
83         0
84 };
85 static const ber_tlv_tag_t asn_DEF_lcp_Restriction_tags_2[] = {
86         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
87         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
88 };
89 static /* Use -fall-defs-global to expose */
90 asn_TYPE_descriptor_t asn_DEF_lcp_Restriction_2 = {
91         "lcp-Restriction",
92         "lcp-Restriction",
93         &asn_OP_NativeEnumerated,
94         asn_DEF_lcp_Restriction_tags_2,
95         sizeof(asn_DEF_lcp_Restriction_tags_2)
96                 /sizeof(asn_DEF_lcp_Restriction_tags_2[0]) - 1, /* 1 */
97         asn_DEF_lcp_Restriction_tags_2, /* Same as above */
98         sizeof(asn_DEF_lcp_Restriction_tags_2)
99                 /sizeof(asn_DEF_lcp_Restriction_tags_2[0]), /* 2 */
100         { &asn_OER_type_lcp_Restriction_constr_2, &asn_PER_type_lcp_Restriction_constr_2, NativeEnumerated_constraint },
101         0, 0,   /* Defined elsewhere */
102         &asn_SPC_lcp_Restriction_specs_2        /* Additional specs */
103 };
104
105 static const asn_INTEGER_enum_map_t asn_MAP_pucch_SpatialRelInfoMAC_CE_value2enum_4[] = {
106         { 0,    9,      "supported" }
107 };
108 static const unsigned int asn_MAP_pucch_SpatialRelInfoMAC_CE_enum2value_4[] = {
109         0       /* supported(0) */
110 };
111 static const asn_INTEGER_specifics_t asn_SPC_pucch_SpatialRelInfoMAC_CE_specs_4 = {
112         asn_MAP_pucch_SpatialRelInfoMAC_CE_value2enum_4,        /* "tag" => N; sorted by tag */
113         asn_MAP_pucch_SpatialRelInfoMAC_CE_enum2value_4,        /* N => "tag"; sorted by N */
114         1,      /* Number of elements in the maps */
115         0,      /* Enumeration is not extensible */
116         1,      /* Strict enumeration */
117         0,      /* Native long size */
118         0
119 };
120 static const ber_tlv_tag_t asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4[] = {
121         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
122         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
123 };
124 static /* Use -fall-defs-global to expose */
125 asn_TYPE_descriptor_t asn_DEF_pucch_SpatialRelInfoMAC_CE_4 = {
126         "pucch-SpatialRelInfoMAC-CE",
127         "pucch-SpatialRelInfoMAC-CE",
128         &asn_OP_NativeEnumerated,
129         asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4,
130         sizeof(asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4)
131                 /sizeof(asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4[0]) - 1, /* 1 */
132         asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4,      /* Same as above */
133         sizeof(asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4)
134                 /sizeof(asn_DEF_pucch_SpatialRelInfoMAC_CE_tags_4[0]), /* 2 */
135         { &asn_OER_type_pucch_SpatialRelInfoMAC_CE_constr_4, &asn_PER_type_pucch_SpatialRelInfoMAC_CE_constr_4, NativeEnumerated_constraint },
136         0, 0,   /* Defined elsewhere */
137         &asn_SPC_pucch_SpatialRelInfoMAC_CE_specs_4     /* Additional specs */
138 };
139
140 static const asn_INTEGER_enum_map_t asn_MAP_lch_ToSCellRestriction_value2enum_6[] = {
141         { 0,    9,      "supported" }
142 };
143 static const unsigned int asn_MAP_lch_ToSCellRestriction_enum2value_6[] = {
144         0       /* supported(0) */
145 };
146 static const asn_INTEGER_specifics_t asn_SPC_lch_ToSCellRestriction_specs_6 = {
147         asn_MAP_lch_ToSCellRestriction_value2enum_6,    /* "tag" => N; sorted by tag */
148         asn_MAP_lch_ToSCellRestriction_enum2value_6,    /* N => "tag"; sorted by N */
149         1,      /* Number of elements in the maps */
150         0,      /* Enumeration is not extensible */
151         1,      /* Strict enumeration */
152         0,      /* Native long size */
153         0
154 };
155 static const ber_tlv_tag_t asn_DEF_lch_ToSCellRestriction_tags_6[] = {
156         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
157         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
158 };
159 static /* Use -fall-defs-global to expose */
160 asn_TYPE_descriptor_t asn_DEF_lch_ToSCellRestriction_6 = {
161         "lch-ToSCellRestriction",
162         "lch-ToSCellRestriction",
163         &asn_OP_NativeEnumerated,
164         asn_DEF_lch_ToSCellRestriction_tags_6,
165         sizeof(asn_DEF_lch_ToSCellRestriction_tags_6)
166                 /sizeof(asn_DEF_lch_ToSCellRestriction_tags_6[0]) - 1, /* 1 */
167         asn_DEF_lch_ToSCellRestriction_tags_6,  /* Same as above */
168         sizeof(asn_DEF_lch_ToSCellRestriction_tags_6)
169                 /sizeof(asn_DEF_lch_ToSCellRestriction_tags_6[0]), /* 2 */
170         { &asn_OER_type_lch_ToSCellRestriction_constr_6, &asn_PER_type_lch_ToSCellRestriction_constr_6, NativeEnumerated_constraint },
171         0, 0,   /* Defined elsewhere */
172         &asn_SPC_lch_ToSCellRestriction_specs_6 /* Additional specs */
173 };
174
175 static const asn_INTEGER_enum_map_t asn_MAP_recommendedBitRate_value2enum_10[] = {
176         { 0,    9,      "supported" }
177 };
178 static const unsigned int asn_MAP_recommendedBitRate_enum2value_10[] = {
179         0       /* supported(0) */
180 };
181 static const asn_INTEGER_specifics_t asn_SPC_recommendedBitRate_specs_10 = {
182         asn_MAP_recommendedBitRate_value2enum_10,       /* "tag" => N; sorted by tag */
183         asn_MAP_recommendedBitRate_enum2value_10,       /* N => "tag"; sorted by N */
184         1,      /* Number of elements in the maps */
185         0,      /* Enumeration is not extensible */
186         1,      /* Strict enumeration */
187         0,      /* Native long size */
188         0
189 };
190 static const ber_tlv_tag_t asn_DEF_recommendedBitRate_tags_10[] = {
191         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
192         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
193 };
194 static /* Use -fall-defs-global to expose */
195 asn_TYPE_descriptor_t asn_DEF_recommendedBitRate_10 = {
196         "recommendedBitRate",
197         "recommendedBitRate",
198         &asn_OP_NativeEnumerated,
199         asn_DEF_recommendedBitRate_tags_10,
200         sizeof(asn_DEF_recommendedBitRate_tags_10)
201                 /sizeof(asn_DEF_recommendedBitRate_tags_10[0]) - 1, /* 1 */
202         asn_DEF_recommendedBitRate_tags_10,     /* Same as above */
203         sizeof(asn_DEF_recommendedBitRate_tags_10)
204                 /sizeof(asn_DEF_recommendedBitRate_tags_10[0]), /* 2 */
205         { &asn_OER_type_recommendedBitRate_constr_10, &asn_PER_type_recommendedBitRate_constr_10, NativeEnumerated_constraint },
206         0, 0,   /* Defined elsewhere */
207         &asn_SPC_recommendedBitRate_specs_10    /* Additional specs */
208 };
209
210 static const asn_INTEGER_enum_map_t asn_MAP_recommendedBitRateQuery_value2enum_12[] = {
211         { 0,    9,      "supported" }
212 };
213 static const unsigned int asn_MAP_recommendedBitRateQuery_enum2value_12[] = {
214         0       /* supported(0) */
215 };
216 static const asn_INTEGER_specifics_t asn_SPC_recommendedBitRateQuery_specs_12 = {
217         asn_MAP_recommendedBitRateQuery_value2enum_12,  /* "tag" => N; sorted by tag */
218         asn_MAP_recommendedBitRateQuery_enum2value_12,  /* N => "tag"; sorted by N */
219         1,      /* Number of elements in the maps */
220         0,      /* Enumeration is not extensible */
221         1,      /* Strict enumeration */
222         0,      /* Native long size */
223         0
224 };
225 static const ber_tlv_tag_t asn_DEF_recommendedBitRateQuery_tags_12[] = {
226         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
227         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
228 };
229 static /* Use -fall-defs-global to expose */
230 asn_TYPE_descriptor_t asn_DEF_recommendedBitRateQuery_12 = {
231         "recommendedBitRateQuery",
232         "recommendedBitRateQuery",
233         &asn_OP_NativeEnumerated,
234         asn_DEF_recommendedBitRateQuery_tags_12,
235         sizeof(asn_DEF_recommendedBitRateQuery_tags_12)
236                 /sizeof(asn_DEF_recommendedBitRateQuery_tags_12[0]) - 1, /* 1 */
237         asn_DEF_recommendedBitRateQuery_tags_12,        /* Same as above */
238         sizeof(asn_DEF_recommendedBitRateQuery_tags_12)
239                 /sizeof(asn_DEF_recommendedBitRateQuery_tags_12[0]), /* 2 */
240         { &asn_OER_type_recommendedBitRateQuery_constr_12, &asn_PER_type_recommendedBitRateQuery_constr_12, NativeEnumerated_constraint },
241         0, 0,   /* Defined elsewhere */
242         &asn_SPC_recommendedBitRateQuery_specs_12       /* Additional specs */
243 };
244
245 static asn_TYPE_member_t asn_MBR_ext1_9[] = {
246         { ATF_POINTER, 2, offsetof(struct MAC_ParametersCommon__ext1, recommendedBitRate),
247                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
248                 -1,     /* IMPLICIT tag at current level */
249                 &asn_DEF_recommendedBitRate_10,
250                 0,
251                 { 0, 0, 0 },
252                 0, 0, /* No default value */
253                 "recommendedBitRate"
254                 },
255         { ATF_POINTER, 1, offsetof(struct MAC_ParametersCommon__ext1, recommendedBitRateQuery),
256                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
257                 -1,     /* IMPLICIT tag at current level */
258                 &asn_DEF_recommendedBitRateQuery_12,
259                 0,
260                 { 0, 0, 0 },
261                 0, 0, /* No default value */
262                 "recommendedBitRateQuery"
263                 },
264 };
265 static const int asn_MAP_ext1_oms_9[] = { 0, 1 };
266 static const ber_tlv_tag_t asn_DEF_ext1_tags_9[] = {
267         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
268         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
269 };
270 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_9[] = {
271     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* recommendedBitRate */
272     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* recommendedBitRateQuery */
273 };
274 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_9 = {
275         sizeof(struct MAC_ParametersCommon__ext1),
276         offsetof(struct MAC_ParametersCommon__ext1, _asn_ctx),
277         asn_MAP_ext1_tag2el_9,
278         2,      /* Count of tags in the map */
279         asn_MAP_ext1_oms_9,     /* Optional members */
280         2, 0,   /* Root/Additions */
281         -1,     /* First extension addition */
282 };
283 static /* Use -fall-defs-global to expose */
284 asn_TYPE_descriptor_t asn_DEF_ext1_9 = {
285         "ext1",
286         "ext1",
287         &asn_OP_SEQUENCE,
288         asn_DEF_ext1_tags_9,
289         sizeof(asn_DEF_ext1_tags_9)
290                 /sizeof(asn_DEF_ext1_tags_9[0]) - 1, /* 1 */
291         asn_DEF_ext1_tags_9,    /* Same as above */
292         sizeof(asn_DEF_ext1_tags_9)
293                 /sizeof(asn_DEF_ext1_tags_9[0]), /* 2 */
294         { 0, 0, SEQUENCE_constraint },
295         asn_MBR_ext1_9,
296         2,      /* Elements count */
297         &asn_SPC_ext1_specs_9   /* Additional specs */
298 };
299
300 asn_TYPE_member_t asn_MBR_MAC_ParametersCommon_1[] = {
301         { ATF_POINTER, 4, offsetof(struct MAC_ParametersCommon, lcp_Restriction),
302                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
303                 -1,     /* IMPLICIT tag at current level */
304                 &asn_DEF_lcp_Restriction_2,
305                 0,
306                 { 0, 0, 0 },
307                 0, 0, /* No default value */
308                 "lcp-Restriction"
309                 },
310         { ATF_POINTER, 3, offsetof(struct MAC_ParametersCommon, pucch_SpatialRelInfoMAC_CE),
311                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
312                 -1,     /* IMPLICIT tag at current level */
313                 &asn_DEF_pucch_SpatialRelInfoMAC_CE_4,
314                 0,
315                 { 0, 0, 0 },
316                 0, 0, /* No default value */
317                 "pucch-SpatialRelInfoMAC-CE"
318                 },
319         { ATF_POINTER, 2, offsetof(struct MAC_ParametersCommon, lch_ToSCellRestriction),
320                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
321                 -1,     /* IMPLICIT tag at current level */
322                 &asn_DEF_lch_ToSCellRestriction_6,
323                 0,
324                 { 0, 0, 0 },
325                 0, 0, /* No default value */
326                 "lch-ToSCellRestriction"
327                 },
328         { ATF_POINTER, 1, offsetof(struct MAC_ParametersCommon, ext1),
329                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
330                 0,
331                 &asn_DEF_ext1_9,
332                 0,
333                 { 0, 0, 0 },
334                 0, 0, /* No default value */
335                 "ext1"
336                 },
337 };
338 static const int asn_MAP_MAC_ParametersCommon_oms_1[] = { 0, 1, 2, 3 };
339 static const ber_tlv_tag_t asn_DEF_MAC_ParametersCommon_tags_1[] = {
340         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
341 };
342 static const asn_TYPE_tag2member_t asn_MAP_MAC_ParametersCommon_tag2el_1[] = {
343     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lcp-Restriction */
344     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pucch-SpatialRelInfoMAC-CE */
345     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lch-ToSCellRestriction */
346     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ext1 */
347 };
348 asn_SEQUENCE_specifics_t asn_SPC_MAC_ParametersCommon_specs_1 = {
349         sizeof(struct MAC_ParametersCommon),
350         offsetof(struct MAC_ParametersCommon, _asn_ctx),
351         asn_MAP_MAC_ParametersCommon_tag2el_1,
352         4,      /* Count of tags in the map */
353         asn_MAP_MAC_ParametersCommon_oms_1,     /* Optional members */
354         3, 1,   /* Root/Additions */
355         3,      /* First extension addition */
356 };
357 asn_TYPE_descriptor_t asn_DEF_MAC_ParametersCommon = {
358         "MAC-ParametersCommon",
359         "MAC-ParametersCommon",
360         &asn_OP_SEQUENCE,
361         asn_DEF_MAC_ParametersCommon_tags_1,
362         sizeof(asn_DEF_MAC_ParametersCommon_tags_1)
363                 /sizeof(asn_DEF_MAC_ParametersCommon_tags_1[0]), /* 1 */
364         asn_DEF_MAC_ParametersCommon_tags_1,    /* Same as above */
365         sizeof(asn_DEF_MAC_ParametersCommon_tags_1)
366                 /sizeof(asn_DEF_MAC_ParametersCommon_tags_1[0]), /* 1 */
367         { 0, 0, SEQUENCE_constraint },
368         asn_MBR_MAC_ParametersCommon_1,
369         4,      /* Elements count */
370         &asn_SPC_MAC_ParametersCommon_specs_1   /* Additional specs */
371 };
372