[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / PDCCH-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 "../../../rrc_15.3_asn.asn1"
5  *      `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "PDCCH-Config.h"
9
10 #include "ControlResourceSet.h"
11 #include "SearchSpace.h"
12 #include "DownlinkPreemption.h"
13 #include "PUSCH-TPC-CommandConfig.h"
14 #include "PUCCH-TPC-CommandConfig.h"
15 #include "SRS-TPC-CommandConfig.h"
16 static int
17 memb_controlResourceSetToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
18                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
19         size_t size;
20         
21         if(!sptr) {
22                 ASN__CTFAIL(app_key, td, sptr,
23                         "%s: value not given (%s:%d)",
24                         td->name, __FILE__, __LINE__);
25                 return -1;
26         }
27         
28         /* Determine the number of elements */
29         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
30         
31         if((size >= 1 && size <= 3)) {
32                 /* Perform validation of the inner elements */
33                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
34         } else {
35                 ASN__CTFAIL(app_key, td, sptr,
36                         "%s: constraint failed (%s:%d)",
37                         td->name, __FILE__, __LINE__);
38                 return -1;
39         }
40 }
41
42 static int
43 memb_controlResourceSetToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
44                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
45         size_t size;
46         
47         if(!sptr) {
48                 ASN__CTFAIL(app_key, td, sptr,
49                         "%s: value not given (%s:%d)",
50                         td->name, __FILE__, __LINE__);
51                 return -1;
52         }
53         
54         /* Determine the number of elements */
55         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
56         
57         if((size >= 1 && size <= 3)) {
58                 /* Perform validation of the inner elements */
59                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
60         } else {
61                 ASN__CTFAIL(app_key, td, sptr,
62                         "%s: constraint failed (%s:%d)",
63                         td->name, __FILE__, __LINE__);
64                 return -1;
65         }
66 }
67
68 static int
69 memb_searchSpacesToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
70                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
71         size_t size;
72         
73         if(!sptr) {
74                 ASN__CTFAIL(app_key, td, sptr,
75                         "%s: value not given (%s:%d)",
76                         td->name, __FILE__, __LINE__);
77                 return -1;
78         }
79         
80         /* Determine the number of elements */
81         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
82         
83         if((size >= 1 && size <= 10)) {
84                 /* Perform validation of the inner elements */
85                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
86         } else {
87                 ASN__CTFAIL(app_key, td, sptr,
88                         "%s: constraint failed (%s:%d)",
89                         td->name, __FILE__, __LINE__);
90                 return -1;
91         }
92 }
93
94 static int
95 memb_searchSpacesToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
96                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
97         size_t size;
98         
99         if(!sptr) {
100                 ASN__CTFAIL(app_key, td, sptr,
101                         "%s: value not given (%s:%d)",
102                         td->name, __FILE__, __LINE__);
103                 return -1;
104         }
105         
106         /* Determine the number of elements */
107         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
108         
109         if((size >= 1 && size <= 10)) {
110                 /* Perform validation of the inner elements */
111                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
112         } else {
113                 ASN__CTFAIL(app_key, td, sptr,
114                         "%s: constraint failed (%s:%d)",
115                         td->name, __FILE__, __LINE__);
116                 return -1;
117         }
118 }
119
120 static asn_oer_constraints_t asn_OER_type_controlResourceSetToAddModList_constr_2 CC_NOTUSED = {
121         { 0, 0 },
122         -1      /* (SIZE(1..3)) */};
123 static asn_per_constraints_t asn_PER_type_controlResourceSetToAddModList_constr_2 CC_NOTUSED = {
124         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
125         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
126         0, 0    /* No PER value map */
127 };
128 static asn_oer_constraints_t asn_OER_type_controlResourceSetToReleaseList_constr_4 CC_NOTUSED = {
129         { 0, 0 },
130         -1      /* (SIZE(1..3)) */};
131 static asn_per_constraints_t asn_PER_type_controlResourceSetToReleaseList_constr_4 CC_NOTUSED = {
132         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
133         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
134         0, 0    /* No PER value map */
135 };
136 static asn_oer_constraints_t asn_OER_type_searchSpacesToAddModList_constr_6 CC_NOTUSED = {
137         { 0, 0 },
138         -1      /* (SIZE(1..10)) */};
139 static asn_per_constraints_t asn_PER_type_searchSpacesToAddModList_constr_6 CC_NOTUSED = {
140         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
141         { APC_CONSTRAINED,       4,  4,  1,  10 }       /* (SIZE(1..10)) */,
142         0, 0    /* No PER value map */
143 };
144 static asn_oer_constraints_t asn_OER_type_searchSpacesToReleaseList_constr_8 CC_NOTUSED = {
145         { 0, 0 },
146         -1      /* (SIZE(1..10)) */};
147 static asn_per_constraints_t asn_PER_type_searchSpacesToReleaseList_constr_8 CC_NOTUSED = {
148         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
149         { APC_CONSTRAINED,       4,  4,  1,  10 }       /* (SIZE(1..10)) */,
150         0, 0    /* No PER value map */
151 };
152 static asn_oer_constraints_t asn_OER_type_downlinkPreemption_constr_10 CC_NOTUSED = {
153         { 0, 0 },
154         -1};
155 static asn_per_constraints_t asn_PER_type_downlinkPreemption_constr_10 CC_NOTUSED = {
156         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
157         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
158         0, 0    /* No PER value map */
159 };
160 static asn_oer_constraints_t asn_OER_type_tpc_PUSCH_constr_13 CC_NOTUSED = {
161         { 0, 0 },
162         -1};
163 static asn_per_constraints_t asn_PER_type_tpc_PUSCH_constr_13 CC_NOTUSED = {
164         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
165         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
166         0, 0    /* No PER value map */
167 };
168 static asn_oer_constraints_t asn_OER_type_tpc_PUCCH_constr_16 CC_NOTUSED = {
169         { 0, 0 },
170         -1};
171 static asn_per_constraints_t asn_PER_type_tpc_PUCCH_constr_16 CC_NOTUSED = {
172         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
173         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
174         0, 0    /* No PER value map */
175 };
176 static asn_oer_constraints_t asn_OER_type_tpc_SRS_constr_19 CC_NOTUSED = {
177         { 0, 0 },
178         -1};
179 static asn_per_constraints_t asn_PER_type_tpc_SRS_constr_19 CC_NOTUSED = {
180         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
181         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
182         0, 0    /* No PER value map */
183 };
184 static asn_oer_constraints_t asn_OER_memb_controlResourceSetToAddModList_constr_2 CC_NOTUSED = {
185         { 0, 0 },
186         -1      /* (SIZE(1..3)) */};
187 static asn_per_constraints_t asn_PER_memb_controlResourceSetToAddModList_constr_2 CC_NOTUSED = {
188         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
189         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
190         0, 0    /* No PER value map */
191 };
192 static asn_oer_constraints_t asn_OER_memb_controlResourceSetToReleaseList_constr_4 CC_NOTUSED = {
193         { 0, 0 },
194         -1      /* (SIZE(1..3)) */};
195 static asn_per_constraints_t asn_PER_memb_controlResourceSetToReleaseList_constr_4 CC_NOTUSED = {
196         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
197         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
198         0, 0    /* No PER value map */
199 };
200 static asn_oer_constraints_t asn_OER_memb_searchSpacesToAddModList_constr_6 CC_NOTUSED = {
201         { 0, 0 },
202         -1      /* (SIZE(1..10)) */};
203 static asn_per_constraints_t asn_PER_memb_searchSpacesToAddModList_constr_6 CC_NOTUSED = {
204         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
205         { APC_CONSTRAINED,       4,  4,  1,  10 }       /* (SIZE(1..10)) */,
206         0, 0    /* No PER value map */
207 };
208 static asn_oer_constraints_t asn_OER_memb_searchSpacesToReleaseList_constr_8 CC_NOTUSED = {
209         { 0, 0 },
210         -1      /* (SIZE(1..10)) */};
211 static asn_per_constraints_t asn_PER_memb_searchSpacesToReleaseList_constr_8 CC_NOTUSED = {
212         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
213         { APC_CONSTRAINED,       4,  4,  1,  10 }       /* (SIZE(1..10)) */,
214         0, 0    /* No PER value map */
215 };
216 static asn_TYPE_member_t asn_MBR_controlResourceSetToAddModList_2[] = {
217         { ATF_POINTER, 0, 0,
218                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
219                 0,
220                 &asn_DEF_ControlResourceSet,
221                 0,
222                 { 0, 0, 0 },
223                 0, 0, /* No default value */
224                 ""
225                 },
226 };
227 static const ber_tlv_tag_t asn_DEF_controlResourceSetToAddModList_tags_2[] = {
228         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
229         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
230 };
231 static asn_SET_OF_specifics_t asn_SPC_controlResourceSetToAddModList_specs_2 = {
232         sizeof(struct PDCCH_Config__controlResourceSetToAddModList),
233         offsetof(struct PDCCH_Config__controlResourceSetToAddModList, _asn_ctx),
234         0,      /* XER encoding is XMLDelimitedItemList */
235 };
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_controlResourceSetToAddModList_2 = {
238         "controlResourceSetToAddModList",
239         "controlResourceSetToAddModList",
240         &asn_OP_SEQUENCE_OF,
241         asn_DEF_controlResourceSetToAddModList_tags_2,
242         sizeof(asn_DEF_controlResourceSetToAddModList_tags_2)
243                 /sizeof(asn_DEF_controlResourceSetToAddModList_tags_2[0]) - 1, /* 1 */
244         asn_DEF_controlResourceSetToAddModList_tags_2,  /* Same as above */
245         sizeof(asn_DEF_controlResourceSetToAddModList_tags_2)
246                 /sizeof(asn_DEF_controlResourceSetToAddModList_tags_2[0]), /* 2 */
247         { &asn_OER_type_controlResourceSetToAddModList_constr_2, &asn_PER_type_controlResourceSetToAddModList_constr_2, SEQUENCE_OF_constraint },
248         asn_MBR_controlResourceSetToAddModList_2,
249         1,      /* Single element */
250         &asn_SPC_controlResourceSetToAddModList_specs_2 /* Additional specs */
251 };
252
253 static asn_TYPE_member_t asn_MBR_controlResourceSetToReleaseList_4[] = {
254         { ATF_POINTER, 0, 0,
255                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
256                 0,
257                 &asn_DEF_ControlResourceSetId,
258                 0,
259                 { 0, 0, 0 },
260                 0, 0, /* No default value */
261                 ""
262                 },
263 };
264 static const ber_tlv_tag_t asn_DEF_controlResourceSetToReleaseList_tags_4[] = {
265         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
266         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
267 };
268 static asn_SET_OF_specifics_t asn_SPC_controlResourceSetToReleaseList_specs_4 = {
269         sizeof(struct PDCCH_Config__controlResourceSetToReleaseList),
270         offsetof(struct PDCCH_Config__controlResourceSetToReleaseList, _asn_ctx),
271         0,      /* XER encoding is XMLDelimitedItemList */
272 };
273 static /* Use -fall-defs-global to expose */
274 asn_TYPE_descriptor_t asn_DEF_controlResourceSetToReleaseList_4 = {
275         "controlResourceSetToReleaseList",
276         "controlResourceSetToReleaseList",
277         &asn_OP_SEQUENCE_OF,
278         asn_DEF_controlResourceSetToReleaseList_tags_4,
279         sizeof(asn_DEF_controlResourceSetToReleaseList_tags_4)
280                 /sizeof(asn_DEF_controlResourceSetToReleaseList_tags_4[0]) - 1, /* 1 */
281         asn_DEF_controlResourceSetToReleaseList_tags_4, /* Same as above */
282         sizeof(asn_DEF_controlResourceSetToReleaseList_tags_4)
283                 /sizeof(asn_DEF_controlResourceSetToReleaseList_tags_4[0]), /* 2 */
284         { &asn_OER_type_controlResourceSetToReleaseList_constr_4, &asn_PER_type_controlResourceSetToReleaseList_constr_4, SEQUENCE_OF_constraint },
285         asn_MBR_controlResourceSetToReleaseList_4,
286         1,      /* Single element */
287         &asn_SPC_controlResourceSetToReleaseList_specs_4        /* Additional specs */
288 };
289
290 static asn_TYPE_member_t asn_MBR_searchSpacesToAddModList_6[] = {
291         { ATF_POINTER, 0, 0,
292                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
293                 0,
294                 &asn_DEF_SearchSpace,
295                 0,
296                 { 0, 0, 0 },
297                 0, 0, /* No default value */
298                 ""
299                 },
300 };
301 static const ber_tlv_tag_t asn_DEF_searchSpacesToAddModList_tags_6[] = {
302         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
303         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
304 };
305 static asn_SET_OF_specifics_t asn_SPC_searchSpacesToAddModList_specs_6 = {
306         sizeof(struct PDCCH_Config__searchSpacesToAddModList),
307         offsetof(struct PDCCH_Config__searchSpacesToAddModList, _asn_ctx),
308         0,      /* XER encoding is XMLDelimitedItemList */
309 };
310 static /* Use -fall-defs-global to expose */
311 asn_TYPE_descriptor_t asn_DEF_searchSpacesToAddModList_6 = {
312         "searchSpacesToAddModList",
313         "searchSpacesToAddModList",
314         &asn_OP_SEQUENCE_OF,
315         asn_DEF_searchSpacesToAddModList_tags_6,
316         sizeof(asn_DEF_searchSpacesToAddModList_tags_6)
317                 /sizeof(asn_DEF_searchSpacesToAddModList_tags_6[0]) - 1, /* 1 */
318         asn_DEF_searchSpacesToAddModList_tags_6,        /* Same as above */
319         sizeof(asn_DEF_searchSpacesToAddModList_tags_6)
320                 /sizeof(asn_DEF_searchSpacesToAddModList_tags_6[0]), /* 2 */
321         { &asn_OER_type_searchSpacesToAddModList_constr_6, &asn_PER_type_searchSpacesToAddModList_constr_6, SEQUENCE_OF_constraint },
322         asn_MBR_searchSpacesToAddModList_6,
323         1,      /* Single element */
324         &asn_SPC_searchSpacesToAddModList_specs_6       /* Additional specs */
325 };
326
327 static asn_TYPE_member_t asn_MBR_searchSpacesToReleaseList_8[] = {
328         { ATF_POINTER, 0, 0,
329                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
330                 0,
331                 &asn_DEF_SearchSpaceId,
332                 0,
333                 { 0, 0, 0 },
334                 0, 0, /* No default value */
335                 ""
336                 },
337 };
338 static const ber_tlv_tag_t asn_DEF_searchSpacesToReleaseList_tags_8[] = {
339         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
340         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
341 };
342 static asn_SET_OF_specifics_t asn_SPC_searchSpacesToReleaseList_specs_8 = {
343         sizeof(struct PDCCH_Config__searchSpacesToReleaseList),
344         offsetof(struct PDCCH_Config__searchSpacesToReleaseList, _asn_ctx),
345         0,      /* XER encoding is XMLDelimitedItemList */
346 };
347 static /* Use -fall-defs-global to expose */
348 asn_TYPE_descriptor_t asn_DEF_searchSpacesToReleaseList_8 = {
349         "searchSpacesToReleaseList",
350         "searchSpacesToReleaseList",
351         &asn_OP_SEQUENCE_OF,
352         asn_DEF_searchSpacesToReleaseList_tags_8,
353         sizeof(asn_DEF_searchSpacesToReleaseList_tags_8)
354                 /sizeof(asn_DEF_searchSpacesToReleaseList_tags_8[0]) - 1, /* 1 */
355         asn_DEF_searchSpacesToReleaseList_tags_8,       /* Same as above */
356         sizeof(asn_DEF_searchSpacesToReleaseList_tags_8)
357                 /sizeof(asn_DEF_searchSpacesToReleaseList_tags_8[0]), /* 2 */
358         { &asn_OER_type_searchSpacesToReleaseList_constr_8, &asn_PER_type_searchSpacesToReleaseList_constr_8, SEQUENCE_OF_constraint },
359         asn_MBR_searchSpacesToReleaseList_8,
360         1,      /* Single element */
361         &asn_SPC_searchSpacesToReleaseList_specs_8      /* Additional specs */
362 };
363
364 static asn_TYPE_member_t asn_MBR_downlinkPreemption_10[] = {
365         { ATF_NOFLAGS, 0, offsetof(struct PDCCH_Config__downlinkPreemption, choice.release),
366                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
367                 -1,     /* IMPLICIT tag at current level */
368                 &asn_DEF_NULL,
369                 0,
370                 { 0, 0, 0 },
371                 0, 0, /* No default value */
372                 "release"
373                 },
374         { ATF_POINTER, 0, offsetof(struct PDCCH_Config__downlinkPreemption, choice.setup),
375                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
376                 -1,     /* IMPLICIT tag at current level */
377                 &asn_DEF_DownlinkPreemption,
378                 0,
379                 { 0, 0, 0 },
380                 0, 0, /* No default value */
381                 "setup"
382                 },
383 };
384 static const asn_TYPE_tag2member_t asn_MAP_downlinkPreemption_tag2el_10[] = {
385     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
386     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
387 };
388 static asn_CHOICE_specifics_t asn_SPC_downlinkPreemption_specs_10 = {
389         sizeof(struct PDCCH_Config__downlinkPreemption),
390         offsetof(struct PDCCH_Config__downlinkPreemption, _asn_ctx),
391         offsetof(struct PDCCH_Config__downlinkPreemption, present),
392         sizeof(((struct PDCCH_Config__downlinkPreemption *)0)->present),
393         asn_MAP_downlinkPreemption_tag2el_10,
394         2,      /* Count of tags in the map */
395         0, 0,
396         -1      /* Extensions start */
397 };
398 static /* Use -fall-defs-global to expose */
399 asn_TYPE_descriptor_t asn_DEF_downlinkPreemption_10 = {
400         "downlinkPreemption",
401         "downlinkPreemption",
402         &asn_OP_CHOICE,
403         0,      /* No effective tags (pointer) */
404         0,      /* No effective tags (count) */
405         0,      /* No tags (pointer) */
406         0,      /* No tags (count) */
407         { &asn_OER_type_downlinkPreemption_constr_10, &asn_PER_type_downlinkPreemption_constr_10, CHOICE_constraint },
408         asn_MBR_downlinkPreemption_10,
409         2,      /* Elements count */
410         &asn_SPC_downlinkPreemption_specs_10    /* Additional specs */
411 };
412
413 static asn_TYPE_member_t asn_MBR_tpc_PUSCH_13[] = {
414         { ATF_NOFLAGS, 0, offsetof(struct PDCCH_Config__tpc_PUSCH, choice.release),
415                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
416                 -1,     /* IMPLICIT tag at current level */
417                 &asn_DEF_NULL,
418                 0,
419                 { 0, 0, 0 },
420                 0, 0, /* No default value */
421                 "release"
422                 },
423         { ATF_POINTER, 0, offsetof(struct PDCCH_Config__tpc_PUSCH, choice.setup),
424                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
425                 -1,     /* IMPLICIT tag at current level */
426                 &asn_DEF_PUSCH_TPC_CommandConfig,
427                 0,
428                 { 0, 0, 0 },
429                 0, 0, /* No default value */
430                 "setup"
431                 },
432 };
433 static const asn_TYPE_tag2member_t asn_MAP_tpc_PUSCH_tag2el_13[] = {
434     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
435     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
436 };
437 static asn_CHOICE_specifics_t asn_SPC_tpc_PUSCH_specs_13 = {
438         sizeof(struct PDCCH_Config__tpc_PUSCH),
439         offsetof(struct PDCCH_Config__tpc_PUSCH, _asn_ctx),
440         offsetof(struct PDCCH_Config__tpc_PUSCH, present),
441         sizeof(((struct PDCCH_Config__tpc_PUSCH *)0)->present),
442         asn_MAP_tpc_PUSCH_tag2el_13,
443         2,      /* Count of tags in the map */
444         0, 0,
445         -1      /* Extensions start */
446 };
447 static /* Use -fall-defs-global to expose */
448 asn_TYPE_descriptor_t asn_DEF_tpc_PUSCH_13 = {
449         "tpc-PUSCH",
450         "tpc-PUSCH",
451         &asn_OP_CHOICE,
452         0,      /* No effective tags (pointer) */
453         0,      /* No effective tags (count) */
454         0,      /* No tags (pointer) */
455         0,      /* No tags (count) */
456         { &asn_OER_type_tpc_PUSCH_constr_13, &asn_PER_type_tpc_PUSCH_constr_13, CHOICE_constraint },
457         asn_MBR_tpc_PUSCH_13,
458         2,      /* Elements count */
459         &asn_SPC_tpc_PUSCH_specs_13     /* Additional specs */
460 };
461
462 static asn_TYPE_member_t asn_MBR_tpc_PUCCH_16[] = {
463         { ATF_NOFLAGS, 0, offsetof(struct PDCCH_Config__tpc_PUCCH, choice.release),
464                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
465                 -1,     /* IMPLICIT tag at current level */
466                 &asn_DEF_NULL,
467                 0,
468                 { 0, 0, 0 },
469                 0, 0, /* No default value */
470                 "release"
471                 },
472         { ATF_POINTER, 0, offsetof(struct PDCCH_Config__tpc_PUCCH, choice.setup),
473                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
474                 -1,     /* IMPLICIT tag at current level */
475                 &asn_DEF_PUCCH_TPC_CommandConfig,
476                 0,
477                 { 0, 0, 0 },
478                 0, 0, /* No default value */
479                 "setup"
480                 },
481 };
482 static const asn_TYPE_tag2member_t asn_MAP_tpc_PUCCH_tag2el_16[] = {
483     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
484     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
485 };
486 static asn_CHOICE_specifics_t asn_SPC_tpc_PUCCH_specs_16 = {
487         sizeof(struct PDCCH_Config__tpc_PUCCH),
488         offsetof(struct PDCCH_Config__tpc_PUCCH, _asn_ctx),
489         offsetof(struct PDCCH_Config__tpc_PUCCH, present),
490         sizeof(((struct PDCCH_Config__tpc_PUCCH *)0)->present),
491         asn_MAP_tpc_PUCCH_tag2el_16,
492         2,      /* Count of tags in the map */
493         0, 0,
494         -1      /* Extensions start */
495 };
496 static /* Use -fall-defs-global to expose */
497 asn_TYPE_descriptor_t asn_DEF_tpc_PUCCH_16 = {
498         "tpc-PUCCH",
499         "tpc-PUCCH",
500         &asn_OP_CHOICE,
501         0,      /* No effective tags (pointer) */
502         0,      /* No effective tags (count) */
503         0,      /* No tags (pointer) */
504         0,      /* No tags (count) */
505         { &asn_OER_type_tpc_PUCCH_constr_16, &asn_PER_type_tpc_PUCCH_constr_16, CHOICE_constraint },
506         asn_MBR_tpc_PUCCH_16,
507         2,      /* Elements count */
508         &asn_SPC_tpc_PUCCH_specs_16     /* Additional specs */
509 };
510
511 static asn_TYPE_member_t asn_MBR_tpc_SRS_19[] = {
512         { ATF_NOFLAGS, 0, offsetof(struct PDCCH_Config__tpc_SRS, choice.release),
513                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
514                 -1,     /* IMPLICIT tag at current level */
515                 &asn_DEF_NULL,
516                 0,
517                 { 0, 0, 0 },
518                 0, 0, /* No default value */
519                 "release"
520                 },
521         { ATF_POINTER, 0, offsetof(struct PDCCH_Config__tpc_SRS, choice.setup),
522                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
523                 -1,     /* IMPLICIT tag at current level */
524                 &asn_DEF_SRS_TPC_CommandConfig,
525                 0,
526                 { 0, 0, 0 },
527                 0, 0, /* No default value */
528                 "setup"
529                 },
530 };
531 static const asn_TYPE_tag2member_t asn_MAP_tpc_SRS_tag2el_19[] = {
532     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
533     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
534 };
535 static asn_CHOICE_specifics_t asn_SPC_tpc_SRS_specs_19 = {
536         sizeof(struct PDCCH_Config__tpc_SRS),
537         offsetof(struct PDCCH_Config__tpc_SRS, _asn_ctx),
538         offsetof(struct PDCCH_Config__tpc_SRS, present),
539         sizeof(((struct PDCCH_Config__tpc_SRS *)0)->present),
540         asn_MAP_tpc_SRS_tag2el_19,
541         2,      /* Count of tags in the map */
542         0, 0,
543         -1      /* Extensions start */
544 };
545 static /* Use -fall-defs-global to expose */
546 asn_TYPE_descriptor_t asn_DEF_tpc_SRS_19 = {
547         "tpc-SRS",
548         "tpc-SRS",
549         &asn_OP_CHOICE,
550         0,      /* No effective tags (pointer) */
551         0,      /* No effective tags (count) */
552         0,      /* No tags (pointer) */
553         0,      /* No tags (count) */
554         { &asn_OER_type_tpc_SRS_constr_19, &asn_PER_type_tpc_SRS_constr_19, CHOICE_constraint },
555         asn_MBR_tpc_SRS_19,
556         2,      /* Elements count */
557         &asn_SPC_tpc_SRS_specs_19       /* Additional specs */
558 };
559
560 asn_TYPE_member_t asn_MBR_PDCCH_Config_1[] = {
561         { ATF_POINTER, 8, offsetof(struct PDCCH_Config, controlResourceSetToAddModList),
562                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
563                 0,
564                 &asn_DEF_controlResourceSetToAddModList_2,
565                 0,
566                 { &asn_OER_memb_controlResourceSetToAddModList_constr_2, &asn_PER_memb_controlResourceSetToAddModList_constr_2,  memb_controlResourceSetToAddModList_constraint_1 },
567                 0, 0, /* No default value */
568                 "controlResourceSetToAddModList"
569                 },
570         { ATF_POINTER, 7, offsetof(struct PDCCH_Config, controlResourceSetToReleaseList),
571                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
572                 0,
573                 &asn_DEF_controlResourceSetToReleaseList_4,
574                 0,
575                 { &asn_OER_memb_controlResourceSetToReleaseList_constr_4, &asn_PER_memb_controlResourceSetToReleaseList_constr_4,  memb_controlResourceSetToReleaseList_constraint_1 },
576                 0, 0, /* No default value */
577                 "controlResourceSetToReleaseList"
578                 },
579         { ATF_POINTER, 6, offsetof(struct PDCCH_Config, searchSpacesToAddModList),
580                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
581                 0,
582                 &asn_DEF_searchSpacesToAddModList_6,
583                 0,
584                 { &asn_OER_memb_searchSpacesToAddModList_constr_6, &asn_PER_memb_searchSpacesToAddModList_constr_6,  memb_searchSpacesToAddModList_constraint_1 },
585                 0, 0, /* No default value */
586                 "searchSpacesToAddModList"
587                 },
588         { ATF_POINTER, 5, offsetof(struct PDCCH_Config, searchSpacesToReleaseList),
589                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
590                 0,
591                 &asn_DEF_searchSpacesToReleaseList_8,
592                 0,
593                 { &asn_OER_memb_searchSpacesToReleaseList_constr_8, &asn_PER_memb_searchSpacesToReleaseList_constr_8,  memb_searchSpacesToReleaseList_constraint_1 },
594                 0, 0, /* No default value */
595                 "searchSpacesToReleaseList"
596                 },
597         { ATF_POINTER, 4, offsetof(struct PDCCH_Config, downlinkPreemption),
598                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
599                 +1,     /* EXPLICIT tag at current level */
600                 &asn_DEF_downlinkPreemption_10,
601                 0,
602                 { 0, 0, 0 },
603                 0, 0, /* No default value */
604                 "downlinkPreemption"
605                 },
606         { ATF_POINTER, 3, offsetof(struct PDCCH_Config, tpc_PUSCH),
607                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
608                 +1,     /* EXPLICIT tag at current level */
609                 &asn_DEF_tpc_PUSCH_13,
610                 0,
611                 { 0, 0, 0 },
612                 0, 0, /* No default value */
613                 "tpc-PUSCH"
614                 },
615         { ATF_POINTER, 2, offsetof(struct PDCCH_Config, tpc_PUCCH),
616                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
617                 +1,     /* EXPLICIT tag at current level */
618                 &asn_DEF_tpc_PUCCH_16,
619                 0,
620                 { 0, 0, 0 },
621                 0, 0, /* No default value */
622                 "tpc-PUCCH"
623                 },
624         { ATF_POINTER, 1, offsetof(struct PDCCH_Config, tpc_SRS),
625                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
626                 +1,     /* EXPLICIT tag at current level */
627                 &asn_DEF_tpc_SRS_19,
628                 0,
629                 { 0, 0, 0 },
630                 0, 0, /* No default value */
631                 "tpc-SRS"
632                 },
633 };
634 static const int asn_MAP_PDCCH_Config_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
635 static const ber_tlv_tag_t asn_DEF_PDCCH_Config_tags_1[] = {
636         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
637 };
638 static const asn_TYPE_tag2member_t asn_MAP_PDCCH_Config_tag2el_1[] = {
639     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* controlResourceSetToAddModList */
640     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* controlResourceSetToReleaseList */
641     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* searchSpacesToAddModList */
642     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* searchSpacesToReleaseList */
643     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* downlinkPreemption */
644     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tpc-PUSCH */
645     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* tpc-PUCCH */
646     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* tpc-SRS */
647 };
648 asn_SEQUENCE_specifics_t asn_SPC_PDCCH_Config_specs_1 = {
649         sizeof(struct PDCCH_Config),
650         offsetof(struct PDCCH_Config, _asn_ctx),
651         asn_MAP_PDCCH_Config_tag2el_1,
652         8,      /* Count of tags in the map */
653         asn_MAP_PDCCH_Config_oms_1,     /* Optional members */
654         8, 0,   /* Root/Additions */
655         8,      /* First extension addition */
656 };
657 asn_TYPE_descriptor_t asn_DEF_PDCCH_Config = {
658         "PDCCH-Config",
659         "PDCCH-Config",
660         &asn_OP_SEQUENCE,
661         asn_DEF_PDCCH_Config_tags_1,
662         sizeof(asn_DEF_PDCCH_Config_tags_1)
663                 /sizeof(asn_DEF_PDCCH_Config_tags_1[0]), /* 1 */
664         asn_DEF_PDCCH_Config_tags_1,    /* Same as above */
665         sizeof(asn_DEF_PDCCH_Config_tags_1)
666                 /sizeof(asn_DEF_PDCCH_Config_tags_1[0]), /* 1 */
667         { 0, 0, SEQUENCE_constraint },
668         asn_MBR_PDCCH_Config_1,
669         8,      /* Elements count */
670         &asn_SPC_PDCCH_Config_specs_1   /* Additional specs */
671 };
672