23a13e58444fbc3f0ce7d380613779ed1df3a973
[o-du/l2.git] / src / codec_utils / RRC / MAC-CellGroupConfig.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-CellGroupConfig.h"
9
10 #include "SchedulingRequestConfig.h"
11 #include "BSR-Config.h"
12 #include "TAG-Config.h"
13 #include "DRX-Config.h"
14 #include "PHR-Config.h"
15 static asn_oer_constraints_t asn_OER_type_drx_Config_constr_2 CC_NOTUSED = {
16         { 0, 0 },
17         -1};
18 static asn_per_constraints_t asn_PER_type_drx_Config_constr_2 CC_NOTUSED = {
19         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
20         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
21         0, 0    /* No PER value map */
22 };
23 static asn_oer_constraints_t asn_OER_type_phr_Config_constr_8 CC_NOTUSED = {
24         { 0, 0 },
25         -1};
26 static asn_per_constraints_t asn_PER_type_phr_Config_constr_8 CC_NOTUSED = {
27         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
28         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
29         0, 0    /* No PER value map */
30 };
31 static asn_oer_constraints_t asn_OER_type_dataInactivityTimer_v1530_constr_15 CC_NOTUSED = {
32         { 0, 0 },
33         -1};
34 static asn_per_constraints_t asn_PER_type_dataInactivityTimer_v1530_constr_15 CC_NOTUSED = {
35         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
36         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
37         0, 0    /* No PER value map */
38 };
39 static asn_TYPE_member_t asn_MBR_drx_Config_2[] = {
40         { ATF_NOFLAGS, 0, offsetof(struct MAC_CellGroupConfig__drx_Config, choice.release),
41                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
42                 -1,     /* IMPLICIT tag at current level */
43                 &asn_DEF_NULL,
44                 0,
45                 { 0, 0, 0 },
46                 0, 0, /* No default value */
47                 "release"
48                 },
49         { ATF_POINTER, 0, offsetof(struct MAC_CellGroupConfig__drx_Config, choice.setup),
50                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
51                 -1,     /* IMPLICIT tag at current level */
52                 &asn_DEF_DRX_Config,
53                 0,
54                 { 0, 0, 0 },
55                 0, 0, /* No default value */
56                 "setup"
57                 },
58 };
59 static const asn_TYPE_tag2member_t asn_MAP_drx_Config_tag2el_2[] = {
60     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
61     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
62 };
63 static asn_CHOICE_specifics_t asn_SPC_drx_Config_specs_2 = {
64         sizeof(struct MAC_CellGroupConfig__drx_Config),
65         offsetof(struct MAC_CellGroupConfig__drx_Config, _asn_ctx),
66         offsetof(struct MAC_CellGroupConfig__drx_Config, present),
67         sizeof(((struct MAC_CellGroupConfig__drx_Config *)0)->present),
68         asn_MAP_drx_Config_tag2el_2,
69         2,      /* Count of tags in the map */
70         0, 0,
71         -1      /* Extensions start */
72 };
73 static /* Use -fall-defs-global to expose */
74 asn_TYPE_descriptor_t asn_DEF_drx_Config_2 = {
75         "drx-Config",
76         "drx-Config",
77         &asn_OP_CHOICE,
78         0,      /* No effective tags (pointer) */
79         0,      /* No effective tags (count) */
80         0,      /* No tags (pointer) */
81         0,      /* No tags (count) */
82         { &asn_OER_type_drx_Config_constr_2, &asn_PER_type_drx_Config_constr_2, CHOICE_constraint },
83         asn_MBR_drx_Config_2,
84         2,      /* Elements count */
85         &asn_SPC_drx_Config_specs_2     /* Additional specs */
86 };
87
88 static asn_TYPE_member_t asn_MBR_phr_Config_8[] = {
89         { ATF_NOFLAGS, 0, offsetof(struct MAC_CellGroupConfig__phr_Config, choice.release),
90                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
91                 -1,     /* IMPLICIT tag at current level */
92                 &asn_DEF_NULL,
93                 0,
94                 { 0, 0, 0 },
95                 0, 0, /* No default value */
96                 "release"
97                 },
98         { ATF_POINTER, 0, offsetof(struct MAC_CellGroupConfig__phr_Config, choice.setup),
99                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
100                 -1,     /* IMPLICIT tag at current level */
101                 &asn_DEF_PHR_Config,
102                 0,
103                 { 0, 0, 0 },
104                 0, 0, /* No default value */
105                 "setup"
106                 },
107 };
108 static const asn_TYPE_tag2member_t asn_MAP_phr_Config_tag2el_8[] = {
109     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
110     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
111 };
112 static asn_CHOICE_specifics_t asn_SPC_phr_Config_specs_8 = {
113         sizeof(struct MAC_CellGroupConfig__phr_Config),
114         offsetof(struct MAC_CellGroupConfig__phr_Config, _asn_ctx),
115         offsetof(struct MAC_CellGroupConfig__phr_Config, present),
116         sizeof(((struct MAC_CellGroupConfig__phr_Config *)0)->present),
117         asn_MAP_phr_Config_tag2el_8,
118         2,      /* Count of tags in the map */
119         0, 0,
120         -1      /* Extensions start */
121 };
122 static /* Use -fall-defs-global to expose */
123 asn_TYPE_descriptor_t asn_DEF_phr_Config_8 = {
124         "phr-Config",
125         "phr-Config",
126         &asn_OP_CHOICE,
127         0,      /* No effective tags (pointer) */
128         0,      /* No effective tags (count) */
129         0,      /* No tags (pointer) */
130         0,      /* No tags (count) */
131         { &asn_OER_type_phr_Config_constr_8, &asn_PER_type_phr_Config_constr_8, CHOICE_constraint },
132         asn_MBR_phr_Config_8,
133         2,      /* Elements count */
134         &asn_SPC_phr_Config_specs_8     /* Additional specs */
135 };
136
137 static asn_TYPE_member_t asn_MBR_dataInactivityTimer_v1530_15[] = {
138         { ATF_NOFLAGS, 0, offsetof(struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530, choice.release),
139                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
140                 -1,     /* IMPLICIT tag at current level */
141                 &asn_DEF_NULL,
142                 0,
143                 { 0, 0, 0 },
144                 0, 0, /* No default value */
145                 "release"
146                 },
147         { ATF_NOFLAGS, 0, offsetof(struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530, choice.setup),
148                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
149                 -1,     /* IMPLICIT tag at current level */
150                 &asn_DEF_DataInactivityTimer,
151                 0,
152                 { 0, 0, 0 },
153                 0, 0, /* No default value */
154                 "setup"
155                 },
156 };
157 static const asn_TYPE_tag2member_t asn_MAP_dataInactivityTimer_v1530_tag2el_15[] = {
158     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
159     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
160 };
161 static asn_CHOICE_specifics_t asn_SPC_dataInactivityTimer_v1530_specs_15 = {
162         sizeof(struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530),
163         offsetof(struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530, _asn_ctx),
164         offsetof(struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530, present),
165         sizeof(((struct MAC_CellGroupConfig__ext1__dataInactivityTimer_v1530 *)0)->present),
166         asn_MAP_dataInactivityTimer_v1530_tag2el_15,
167         2,      /* Count of tags in the map */
168         0, 0,
169         -1      /* Extensions start */
170 };
171 static /* Use -fall-defs-global to expose */
172 asn_TYPE_descriptor_t asn_DEF_dataInactivityTimer_v1530_15 = {
173         "dataInactivityTimer-v1530",
174         "dataInactivityTimer-v1530",
175         &asn_OP_CHOICE,
176         0,      /* No effective tags (pointer) */
177         0,      /* No effective tags (count) */
178         0,      /* No tags (pointer) */
179         0,      /* No tags (count) */
180         { &asn_OER_type_dataInactivityTimer_v1530_constr_15, &asn_PER_type_dataInactivityTimer_v1530_constr_15, CHOICE_constraint },
181         asn_MBR_dataInactivityTimer_v1530_15,
182         2,      /* Elements count */
183         &asn_SPC_dataInactivityTimer_v1530_specs_15     /* Additional specs */
184 };
185
186 static asn_TYPE_member_t asn_MBR_ext1_13[] = {
187         { ATF_POINTER, 2, offsetof(struct MAC_CellGroupConfig__ext1, csi_Mask_v1530),
188                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
189                 -1,     /* IMPLICIT tag at current level */
190                 &asn_DEF_BOOLEAN,
191                 0,
192                 { 0, 0, 0 },
193                 0, 0, /* No default value */
194                 "csi-Mask-v1530"
195                 },
196         { ATF_POINTER, 1, offsetof(struct MAC_CellGroupConfig__ext1, dataInactivityTimer_v1530),
197                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
198                 +1,     /* EXPLICIT tag at current level */
199                 &asn_DEF_dataInactivityTimer_v1530_15,
200                 0,
201                 { 0, 0, 0 },
202                 0, 0, /* No default value */
203                 "dataInactivityTimer-v1530"
204                 },
205 };
206 static const int asn_MAP_ext1_oms_13[] = { 0, 1 };
207 static const ber_tlv_tag_t asn_DEF_ext1_tags_13[] = {
208         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
209         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
210 };
211 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_13[] = {
212     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csi-Mask-v1530 */
213     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dataInactivityTimer-v1530 */
214 };
215 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_13 = {
216         sizeof(struct MAC_CellGroupConfig__ext1),
217         offsetof(struct MAC_CellGroupConfig__ext1, _asn_ctx),
218         asn_MAP_ext1_tag2el_13,
219         2,      /* Count of tags in the map */
220         asn_MAP_ext1_oms_13,    /* Optional members */
221         2, 0,   /* Root/Additions */
222         -1,     /* First extension addition */
223 };
224 static /* Use -fall-defs-global to expose */
225 asn_TYPE_descriptor_t asn_DEF_ext1_13 = {
226         "ext1",
227         "ext1",
228         &asn_OP_SEQUENCE,
229         asn_DEF_ext1_tags_13,
230         sizeof(asn_DEF_ext1_tags_13)
231                 /sizeof(asn_DEF_ext1_tags_13[0]) - 1, /* 1 */
232         asn_DEF_ext1_tags_13,   /* Same as above */
233         sizeof(asn_DEF_ext1_tags_13)
234                 /sizeof(asn_DEF_ext1_tags_13[0]), /* 2 */
235         { 0, 0, SEQUENCE_constraint },
236         asn_MBR_ext1_13,
237         2,      /* Elements count */
238         &asn_SPC_ext1_specs_13  /* Additional specs */
239 };
240
241 asn_TYPE_member_t asn_MBR_MAC_CellGroupConfig_1[] = {
242         { ATF_POINTER, 5, offsetof(struct MAC_CellGroupConfig, drx_Config),
243                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
244                 +1,     /* EXPLICIT tag at current level */
245                 &asn_DEF_drx_Config_2,
246                 0,
247                 { 0, 0, 0 },
248                 0, 0, /* No default value */
249                 "drx-Config"
250                 },
251         { ATF_POINTER, 4, offsetof(struct MAC_CellGroupConfig, schedulingRequestConfig),
252                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
253                 -1,     /* IMPLICIT tag at current level */
254                 &asn_DEF_SchedulingRequestConfig,
255                 0,
256                 { 0, 0, 0 },
257                 0, 0, /* No default value */
258                 "schedulingRequestConfig"
259                 },
260         { ATF_POINTER, 3, offsetof(struct MAC_CellGroupConfig, bsr_Config),
261                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
262                 -1,     /* IMPLICIT tag at current level */
263                 &asn_DEF_BSR_Config,
264                 0,
265                 { 0, 0, 0 },
266                 0, 0, /* No default value */
267                 "bsr-Config"
268                 },
269         { ATF_POINTER, 2, offsetof(struct MAC_CellGroupConfig, tag_Config),
270                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
271                 -1,     /* IMPLICIT tag at current level */
272                 &asn_DEF_TAG_Config,
273                 0,
274                 { 0, 0, 0 },
275                 0, 0, /* No default value */
276                 "tag-Config"
277                 },
278         { ATF_POINTER, 1, offsetof(struct MAC_CellGroupConfig, phr_Config),
279                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
280                 +1,     /* EXPLICIT tag at current level */
281                 &asn_DEF_phr_Config_8,
282                 0,
283                 { 0, 0, 0 },
284                 0, 0, /* No default value */
285                 "phr-Config"
286                 },
287         { ATF_NOFLAGS, 0, offsetof(struct MAC_CellGroupConfig, skipUplinkTxDynamic),
288                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
289                 -1,     /* IMPLICIT tag at current level */
290                 &asn_DEF_BOOLEAN,
291                 0,
292                 { 0, 0, 0 },
293                 0, 0, /* No default value */
294                 "skipUplinkTxDynamic"
295                 },
296         { ATF_POINTER, 1, offsetof(struct MAC_CellGroupConfig, ext1),
297                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
298                 0,
299                 &asn_DEF_ext1_13,
300                 0,
301                 { 0, 0, 0 },
302                 0, 0, /* No default value */
303                 "ext1"
304                 },
305 };
306 static const int asn_MAP_MAC_CellGroupConfig_oms_1[] = { 0, 1, 2, 3, 4, 6 };
307 static const ber_tlv_tag_t asn_DEF_MAC_CellGroupConfig_tags_1[] = {
308         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
309 };
310 static const asn_TYPE_tag2member_t asn_MAP_MAC_CellGroupConfig_tag2el_1[] = {
311     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drx-Config */
312     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* schedulingRequestConfig */
313     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bsr-Config */
314     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tag-Config */
315     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* phr-Config */
316     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* skipUplinkTxDynamic */
317     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* ext1 */
318 };
319 asn_SEQUENCE_specifics_t asn_SPC_MAC_CellGroupConfig_specs_1 = {
320         sizeof(struct MAC_CellGroupConfig),
321         offsetof(struct MAC_CellGroupConfig, _asn_ctx),
322         asn_MAP_MAC_CellGroupConfig_tag2el_1,
323         7,      /* Count of tags in the map */
324         asn_MAP_MAC_CellGroupConfig_oms_1,      /* Optional members */
325         5, 1,   /* Root/Additions */
326         6,      /* First extension addition */
327 };
328 asn_TYPE_descriptor_t asn_DEF_MAC_CellGroupConfig = {
329         "MAC-CellGroupConfig",
330         "MAC-CellGroupConfig",
331         &asn_OP_SEQUENCE,
332         asn_DEF_MAC_CellGroupConfig_tags_1,
333         sizeof(asn_DEF_MAC_CellGroupConfig_tags_1)
334                 /sizeof(asn_DEF_MAC_CellGroupConfig_tags_1[0]), /* 1 */
335         asn_DEF_MAC_CellGroupConfig_tags_1,     /* Same as above */
336         sizeof(asn_DEF_MAC_CellGroupConfig_tags_1)
337                 /sizeof(asn_DEF_MAC_CellGroupConfig_tags_1[0]), /* 1 */
338         { 0, 0, SEQUENCE_constraint },
339         asn_MBR_MAC_CellGroupConfig_1,
340         7,      /* Elements count */
341         &asn_SPC_MAC_CellGroupConfig_specs_1    /* Additional specs */
342 };
343