[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / PUSCH-PowerControl.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 "PUSCH-PowerControl.h"
9
10 #include "P0-PUSCH-AlphaSet.h"
11 #include "PUSCH-PathlossReferenceRS.h"
12 #include "SRI-PUSCH-PowerControl.h"
13 /*
14  * This type is implemented using NativeEnumerated,
15  * so here we adjust the DEF accordingly.
16  */
17 /*
18  * This type is implemented using NativeEnumerated,
19  * so here we adjust the DEF accordingly.
20  */
21 /*
22  * This type is implemented using NativeEnumerated,
23  * so here we adjust the DEF accordingly.
24  */
25 static int
26 memb_p0_NominalWithoutGrant_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
27                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
28         long value;
29         
30         if(!sptr) {
31                 ASN__CTFAIL(app_key, td, sptr,
32                         "%s: value not given (%s:%d)",
33                         td->name, __FILE__, __LINE__);
34                 return -1;
35         }
36         
37         value = *(const long *)sptr;
38         
39         if((value >= -202 && value <= 24)) {
40                 /* Constraint check succeeded */
41                 return 0;
42         } else {
43                 ASN__CTFAIL(app_key, td, sptr,
44                         "%s: constraint failed (%s:%d)",
45                         td->name, __FILE__, __LINE__);
46                 return -1;
47         }
48 }
49
50 static int
51 memb_p0_AlphaSets_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
52                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
53         size_t size;
54         
55         if(!sptr) {
56                 ASN__CTFAIL(app_key, td, sptr,
57                         "%s: value not given (%s:%d)",
58                         td->name, __FILE__, __LINE__);
59                 return -1;
60         }
61         
62         /* Determine the number of elements */
63         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
64         
65         if((size >= 1 && size <= 30)) {
66                 /* Perform validation of the inner elements */
67                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
68         } else {
69                 ASN__CTFAIL(app_key, td, sptr,
70                         "%s: constraint failed (%s:%d)",
71                         td->name, __FILE__, __LINE__);
72                 return -1;
73         }
74 }
75
76 static int
77 memb_pathlossReferenceRSToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
78                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
79         size_t size;
80         
81         if(!sptr) {
82                 ASN__CTFAIL(app_key, td, sptr,
83                         "%s: value not given (%s:%d)",
84                         td->name, __FILE__, __LINE__);
85                 return -1;
86         }
87         
88         /* Determine the number of elements */
89         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
90         
91         if((size >= 1 && size <= 4)) {
92                 /* Perform validation of the inner elements */
93                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
94         } else {
95                 ASN__CTFAIL(app_key, td, sptr,
96                         "%s: constraint failed (%s:%d)",
97                         td->name, __FILE__, __LINE__);
98                 return -1;
99         }
100 }
101
102 static int
103 memb_pathlossReferenceRSToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
104                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
105         size_t size;
106         
107         if(!sptr) {
108                 ASN__CTFAIL(app_key, td, sptr,
109                         "%s: value not given (%s:%d)",
110                         td->name, __FILE__, __LINE__);
111                 return -1;
112         }
113         
114         /* Determine the number of elements */
115         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
116         
117         if((size >= 1 && size <= 4)) {
118                 /* Perform validation of the inner elements */
119                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
120         } else {
121                 ASN__CTFAIL(app_key, td, sptr,
122                         "%s: constraint failed (%s:%d)",
123                         td->name, __FILE__, __LINE__);
124                 return -1;
125         }
126 }
127
128 static int
129 memb_sri_PUSCH_MappingToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
130                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
131         size_t size;
132         
133         if(!sptr) {
134                 ASN__CTFAIL(app_key, td, sptr,
135                         "%s: value not given (%s:%d)",
136                         td->name, __FILE__, __LINE__);
137                 return -1;
138         }
139         
140         /* Determine the number of elements */
141         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
142         
143         if((size >= 1 && size <= 16)) {
144                 /* Perform validation of the inner elements */
145                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
146         } else {
147                 ASN__CTFAIL(app_key, td, sptr,
148                         "%s: constraint failed (%s:%d)",
149                         td->name, __FILE__, __LINE__);
150                 return -1;
151         }
152 }
153
154 static int
155 memb_sri_PUSCH_MappingToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
156                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
157         size_t size;
158         
159         if(!sptr) {
160                 ASN__CTFAIL(app_key, td, sptr,
161                         "%s: value not given (%s:%d)",
162                         td->name, __FILE__, __LINE__);
163                 return -1;
164         }
165         
166         /* Determine the number of elements */
167         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
168         
169         if((size >= 1 && size <= 16)) {
170                 /* Perform validation of the inner elements */
171                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
172         } else {
173                 ASN__CTFAIL(app_key, td, sptr,
174                         "%s: constraint failed (%s:%d)",
175                         td->name, __FILE__, __LINE__);
176                 return -1;
177         }
178 }
179
180 static asn_oer_constraints_t asn_OER_type_tpc_Accumulation_constr_2 CC_NOTUSED = {
181         { 0, 0 },
182         -1};
183 static asn_per_constraints_t asn_PER_type_tpc_Accumulation_constr_2 CC_NOTUSED = {
184         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
185         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
186         0, 0    /* No PER value map */
187 };
188 static asn_oer_constraints_t asn_OER_type_p0_AlphaSets_constr_6 CC_NOTUSED = {
189         { 0, 0 },
190         -1      /* (SIZE(1..30)) */};
191 static asn_per_constraints_t asn_PER_type_p0_AlphaSets_constr_6 CC_NOTUSED = {
192         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
193         { APC_CONSTRAINED,       5,  5,  1,  30 }       /* (SIZE(1..30)) */,
194         0, 0    /* No PER value map */
195 };
196 static asn_oer_constraints_t asn_OER_type_pathlossReferenceRSToAddModList_constr_8 CC_NOTUSED = {
197         { 0, 0 },
198         -1      /* (SIZE(1..4)) */};
199 static asn_per_constraints_t asn_PER_type_pathlossReferenceRSToAddModList_constr_8 CC_NOTUSED = {
200         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
201         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
202         0, 0    /* No PER value map */
203 };
204 static asn_oer_constraints_t asn_OER_type_pathlossReferenceRSToReleaseList_constr_10 CC_NOTUSED = {
205         { 0, 0 },
206         -1      /* (SIZE(1..4)) */};
207 static asn_per_constraints_t asn_PER_type_pathlossReferenceRSToReleaseList_constr_10 CC_NOTUSED = {
208         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
209         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
210         0, 0    /* No PER value map */
211 };
212 static asn_oer_constraints_t asn_OER_type_twoPUSCH_PC_AdjustmentStates_constr_12 CC_NOTUSED = {
213         { 0, 0 },
214         -1};
215 static asn_per_constraints_t asn_PER_type_twoPUSCH_PC_AdjustmentStates_constr_12 CC_NOTUSED = {
216         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
217         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
218         0, 0    /* No PER value map */
219 };
220 static asn_oer_constraints_t asn_OER_type_deltaMCS_constr_14 CC_NOTUSED = {
221         { 0, 0 },
222         -1};
223 static asn_per_constraints_t asn_PER_type_deltaMCS_constr_14 CC_NOTUSED = {
224         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
225         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
226         0, 0    /* No PER value map */
227 };
228 static asn_oer_constraints_t asn_OER_type_sri_PUSCH_MappingToAddModList_constr_16 CC_NOTUSED = {
229         { 0, 0 },
230         -1      /* (SIZE(1..16)) */};
231 static asn_per_constraints_t asn_PER_type_sri_PUSCH_MappingToAddModList_constr_16 CC_NOTUSED = {
232         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
233         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
234         0, 0    /* No PER value map */
235 };
236 static asn_oer_constraints_t asn_OER_type_sri_PUSCH_MappingToReleaseList_constr_18 CC_NOTUSED = {
237         { 0, 0 },
238         -1      /* (SIZE(1..16)) */};
239 static asn_per_constraints_t asn_PER_type_sri_PUSCH_MappingToReleaseList_constr_18 CC_NOTUSED = {
240         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
241         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
242         0, 0    /* No PER value map */
243 };
244 static asn_oer_constraints_t asn_OER_memb_p0_NominalWithoutGrant_constr_5 CC_NOTUSED = {
245         { 2, 0 }        /* (-202..24) */,
246         -1};
247 static asn_per_constraints_t asn_PER_memb_p0_NominalWithoutGrant_constr_5 CC_NOTUSED = {
248         { APC_CONSTRAINED,       8,  8, -202,  24 }     /* (-202..24) */,
249         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
250         0, 0    /* No PER value map */
251 };
252 static asn_oer_constraints_t asn_OER_memb_p0_AlphaSets_constr_6 CC_NOTUSED = {
253         { 0, 0 },
254         -1      /* (SIZE(1..30)) */};
255 static asn_per_constraints_t asn_PER_memb_p0_AlphaSets_constr_6 CC_NOTUSED = {
256         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
257         { APC_CONSTRAINED,       5,  5,  1,  30 }       /* (SIZE(1..30)) */,
258         0, 0    /* No PER value map */
259 };
260 static asn_oer_constraints_t asn_OER_memb_pathlossReferenceRSToAddModList_constr_8 CC_NOTUSED = {
261         { 0, 0 },
262         -1      /* (SIZE(1..4)) */};
263 static asn_per_constraints_t asn_PER_memb_pathlossReferenceRSToAddModList_constr_8 CC_NOTUSED = {
264         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
265         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
266         0, 0    /* No PER value map */
267 };
268 static asn_oer_constraints_t asn_OER_memb_pathlossReferenceRSToReleaseList_constr_10 CC_NOTUSED = {
269         { 0, 0 },
270         -1      /* (SIZE(1..4)) */};
271 static asn_per_constraints_t asn_PER_memb_pathlossReferenceRSToReleaseList_constr_10 CC_NOTUSED = {
272         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
273         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
274         0, 0    /* No PER value map */
275 };
276 static asn_oer_constraints_t asn_OER_memb_sri_PUSCH_MappingToAddModList_constr_16 CC_NOTUSED = {
277         { 0, 0 },
278         -1      /* (SIZE(1..16)) */};
279 static asn_per_constraints_t asn_PER_memb_sri_PUSCH_MappingToAddModList_constr_16 CC_NOTUSED = {
280         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
281         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
282         0, 0    /* No PER value map */
283 };
284 static asn_oer_constraints_t asn_OER_memb_sri_PUSCH_MappingToReleaseList_constr_18 CC_NOTUSED = {
285         { 0, 0 },
286         -1      /* (SIZE(1..16)) */};
287 static asn_per_constraints_t asn_PER_memb_sri_PUSCH_MappingToReleaseList_constr_18 CC_NOTUSED = {
288         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
289         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
290         0, 0    /* No PER value map */
291 };
292 static const asn_INTEGER_enum_map_t asn_MAP_tpc_Accumulation_value2enum_2[] = {
293         { 0,    8,      "disabled" }
294 };
295 static const unsigned int asn_MAP_tpc_Accumulation_enum2value_2[] = {
296         0       /* disabled(0) */
297 };
298 static const asn_INTEGER_specifics_t asn_SPC_tpc_Accumulation_specs_2 = {
299         asn_MAP_tpc_Accumulation_value2enum_2,  /* "tag" => N; sorted by tag */
300         asn_MAP_tpc_Accumulation_enum2value_2,  /* N => "tag"; sorted by N */
301         1,      /* Number of elements in the maps */
302         0,      /* Enumeration is not extensible */
303         1,      /* Strict enumeration */
304         0,      /* Native long size */
305         0
306 };
307 static const ber_tlv_tag_t asn_DEF_tpc_Accumulation_tags_2[] = {
308         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
309         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
310 };
311 static /* Use -fall-defs-global to expose */
312 asn_TYPE_descriptor_t asn_DEF_tpc_Accumulation_2 = {
313         "tpc-Accumulation",
314         "tpc-Accumulation",
315         &asn_OP_NativeEnumerated,
316         asn_DEF_tpc_Accumulation_tags_2,
317         sizeof(asn_DEF_tpc_Accumulation_tags_2)
318                 /sizeof(asn_DEF_tpc_Accumulation_tags_2[0]) - 1, /* 1 */
319         asn_DEF_tpc_Accumulation_tags_2,        /* Same as above */
320         sizeof(asn_DEF_tpc_Accumulation_tags_2)
321                 /sizeof(asn_DEF_tpc_Accumulation_tags_2[0]), /* 2 */
322         { &asn_OER_type_tpc_Accumulation_constr_2, &asn_PER_type_tpc_Accumulation_constr_2, NativeEnumerated_constraint },
323         0, 0,   /* Defined elsewhere */
324         &asn_SPC_tpc_Accumulation_specs_2       /* Additional specs */
325 };
326
327 static asn_TYPE_member_t asn_MBR_p0_AlphaSets_6[] = {
328         { ATF_POINTER, 0, 0,
329                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
330                 0,
331                 &asn_DEF_P0_PUSCH_AlphaSet,
332                 0,
333                 { 0, 0, 0 },
334                 0, 0, /* No default value */
335                 ""
336                 },
337 };
338 static const ber_tlv_tag_t asn_DEF_p0_AlphaSets_tags_6[] = {
339         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
340         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
341 };
342 static asn_SET_OF_specifics_t asn_SPC_p0_AlphaSets_specs_6 = {
343         sizeof(struct PUSCH_PowerControl__p0_AlphaSets),
344         offsetof(struct PUSCH_PowerControl__p0_AlphaSets, _asn_ctx),
345         0,      /* XER encoding is XMLDelimitedItemList */
346 };
347 static /* Use -fall-defs-global to expose */
348 asn_TYPE_descriptor_t asn_DEF_p0_AlphaSets_6 = {
349         "p0-AlphaSets",
350         "p0-AlphaSets",
351         &asn_OP_SEQUENCE_OF,
352         asn_DEF_p0_AlphaSets_tags_6,
353         sizeof(asn_DEF_p0_AlphaSets_tags_6)
354                 /sizeof(asn_DEF_p0_AlphaSets_tags_6[0]) - 1, /* 1 */
355         asn_DEF_p0_AlphaSets_tags_6,    /* Same as above */
356         sizeof(asn_DEF_p0_AlphaSets_tags_6)
357                 /sizeof(asn_DEF_p0_AlphaSets_tags_6[0]), /* 2 */
358         { &asn_OER_type_p0_AlphaSets_constr_6, &asn_PER_type_p0_AlphaSets_constr_6, SEQUENCE_OF_constraint },
359         asn_MBR_p0_AlphaSets_6,
360         1,      /* Single element */
361         &asn_SPC_p0_AlphaSets_specs_6   /* Additional specs */
362 };
363
364 static asn_TYPE_member_t asn_MBR_pathlossReferenceRSToAddModList_8[] = {
365         { ATF_POINTER, 0, 0,
366                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
367                 0,
368                 &asn_DEF_PUSCH_PathlossReferenceRS,
369                 0,
370                 { 0, 0, 0 },
371                 0, 0, /* No default value */
372                 ""
373                 },
374 };
375 static const ber_tlv_tag_t asn_DEF_pathlossReferenceRSToAddModList_tags_8[] = {
376         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
377         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
378 };
379 static asn_SET_OF_specifics_t asn_SPC_pathlossReferenceRSToAddModList_specs_8 = {
380         sizeof(struct PUSCH_PowerControl__pathlossReferenceRSToAddModList),
381         offsetof(struct PUSCH_PowerControl__pathlossReferenceRSToAddModList, _asn_ctx),
382         0,      /* XER encoding is XMLDelimitedItemList */
383 };
384 static /* Use -fall-defs-global to expose */
385 asn_TYPE_descriptor_t asn_DEF_pathlossReferenceRSToAddModList_8 = {
386         "pathlossReferenceRSToAddModList",
387         "pathlossReferenceRSToAddModList",
388         &asn_OP_SEQUENCE_OF,
389         asn_DEF_pathlossReferenceRSToAddModList_tags_8,
390         sizeof(asn_DEF_pathlossReferenceRSToAddModList_tags_8)
391                 /sizeof(asn_DEF_pathlossReferenceRSToAddModList_tags_8[0]) - 1, /* 1 */
392         asn_DEF_pathlossReferenceRSToAddModList_tags_8, /* Same as above */
393         sizeof(asn_DEF_pathlossReferenceRSToAddModList_tags_8)
394                 /sizeof(asn_DEF_pathlossReferenceRSToAddModList_tags_8[0]), /* 2 */
395         { &asn_OER_type_pathlossReferenceRSToAddModList_constr_8, &asn_PER_type_pathlossReferenceRSToAddModList_constr_8, SEQUENCE_OF_constraint },
396         asn_MBR_pathlossReferenceRSToAddModList_8,
397         1,      /* Single element */
398         &asn_SPC_pathlossReferenceRSToAddModList_specs_8        /* Additional specs */
399 };
400
401 static asn_TYPE_member_t asn_MBR_pathlossReferenceRSToReleaseList_10[] = {
402         { ATF_POINTER, 0, 0,
403                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
404                 0,
405                 &asn_DEF_PUSCH_PathlossReferenceRS_Id,
406                 0,
407                 { 0, 0, 0 },
408                 0, 0, /* No default value */
409                 ""
410                 },
411 };
412 static const ber_tlv_tag_t asn_DEF_pathlossReferenceRSToReleaseList_tags_10[] = {
413         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
414         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
415 };
416 static asn_SET_OF_specifics_t asn_SPC_pathlossReferenceRSToReleaseList_specs_10 = {
417         sizeof(struct PUSCH_PowerControl__pathlossReferenceRSToReleaseList),
418         offsetof(struct PUSCH_PowerControl__pathlossReferenceRSToReleaseList, _asn_ctx),
419         0,      /* XER encoding is XMLDelimitedItemList */
420 };
421 static /* Use -fall-defs-global to expose */
422 asn_TYPE_descriptor_t asn_DEF_pathlossReferenceRSToReleaseList_10 = {
423         "pathlossReferenceRSToReleaseList",
424         "pathlossReferenceRSToReleaseList",
425         &asn_OP_SEQUENCE_OF,
426         asn_DEF_pathlossReferenceRSToReleaseList_tags_10,
427         sizeof(asn_DEF_pathlossReferenceRSToReleaseList_tags_10)
428                 /sizeof(asn_DEF_pathlossReferenceRSToReleaseList_tags_10[0]) - 1, /* 1 */
429         asn_DEF_pathlossReferenceRSToReleaseList_tags_10,       /* Same as above */
430         sizeof(asn_DEF_pathlossReferenceRSToReleaseList_tags_10)
431                 /sizeof(asn_DEF_pathlossReferenceRSToReleaseList_tags_10[0]), /* 2 */
432         { &asn_OER_type_pathlossReferenceRSToReleaseList_constr_10, &asn_PER_type_pathlossReferenceRSToReleaseList_constr_10, SEQUENCE_OF_constraint },
433         asn_MBR_pathlossReferenceRSToReleaseList_10,
434         1,      /* Single element */
435         &asn_SPC_pathlossReferenceRSToReleaseList_specs_10      /* Additional specs */
436 };
437
438 static const asn_INTEGER_enum_map_t asn_MAP_twoPUSCH_PC_AdjustmentStates_value2enum_12[] = {
439         { 0,    9,      "twoStates" }
440 };
441 static const unsigned int asn_MAP_twoPUSCH_PC_AdjustmentStates_enum2value_12[] = {
442         0       /* twoStates(0) */
443 };
444 static const asn_INTEGER_specifics_t asn_SPC_twoPUSCH_PC_AdjustmentStates_specs_12 = {
445         asn_MAP_twoPUSCH_PC_AdjustmentStates_value2enum_12,     /* "tag" => N; sorted by tag */
446         asn_MAP_twoPUSCH_PC_AdjustmentStates_enum2value_12,     /* N => "tag"; sorted by N */
447         1,      /* 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_twoPUSCH_PC_AdjustmentStates_tags_12[] = {
454         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
455         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
456 };
457 static /* Use -fall-defs-global to expose */
458 asn_TYPE_descriptor_t asn_DEF_twoPUSCH_PC_AdjustmentStates_12 = {
459         "twoPUSCH-PC-AdjustmentStates",
460         "twoPUSCH-PC-AdjustmentStates",
461         &asn_OP_NativeEnumerated,
462         asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12,
463         sizeof(asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12)
464                 /sizeof(asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12[0]) - 1, /* 1 */
465         asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12,   /* Same as above */
466         sizeof(asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12)
467                 /sizeof(asn_DEF_twoPUSCH_PC_AdjustmentStates_tags_12[0]), /* 2 */
468         { &asn_OER_type_twoPUSCH_PC_AdjustmentStates_constr_12, &asn_PER_type_twoPUSCH_PC_AdjustmentStates_constr_12, NativeEnumerated_constraint },
469         0, 0,   /* Defined elsewhere */
470         &asn_SPC_twoPUSCH_PC_AdjustmentStates_specs_12  /* Additional specs */
471 };
472
473 static const asn_INTEGER_enum_map_t asn_MAP_deltaMCS_value2enum_14[] = {
474         { 0,    7,      "enabled" }
475 };
476 static const unsigned int asn_MAP_deltaMCS_enum2value_14[] = {
477         0       /* enabled(0) */
478 };
479 static const asn_INTEGER_specifics_t asn_SPC_deltaMCS_specs_14 = {
480         asn_MAP_deltaMCS_value2enum_14, /* "tag" => N; sorted by tag */
481         asn_MAP_deltaMCS_enum2value_14, /* 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_deltaMCS_tags_14[] = {
489         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
490         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
491 };
492 static /* Use -fall-defs-global to expose */
493 asn_TYPE_descriptor_t asn_DEF_deltaMCS_14 = {
494         "deltaMCS",
495         "deltaMCS",
496         &asn_OP_NativeEnumerated,
497         asn_DEF_deltaMCS_tags_14,
498         sizeof(asn_DEF_deltaMCS_tags_14)
499                 /sizeof(asn_DEF_deltaMCS_tags_14[0]) - 1, /* 1 */
500         asn_DEF_deltaMCS_tags_14,       /* Same as above */
501         sizeof(asn_DEF_deltaMCS_tags_14)
502                 /sizeof(asn_DEF_deltaMCS_tags_14[0]), /* 2 */
503         { &asn_OER_type_deltaMCS_constr_14, &asn_PER_type_deltaMCS_constr_14, NativeEnumerated_constraint },
504         0, 0,   /* Defined elsewhere */
505         &asn_SPC_deltaMCS_specs_14      /* Additional specs */
506 };
507
508 static asn_TYPE_member_t asn_MBR_sri_PUSCH_MappingToAddModList_16[] = {
509         { ATF_POINTER, 0, 0,
510                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
511                 0,
512                 &asn_DEF_SRI_PUSCH_PowerControl,
513                 0,
514                 { 0, 0, 0 },
515                 0, 0, /* No default value */
516                 ""
517                 },
518 };
519 static const ber_tlv_tag_t asn_DEF_sri_PUSCH_MappingToAddModList_tags_16[] = {
520         (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
521         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
522 };
523 static asn_SET_OF_specifics_t asn_SPC_sri_PUSCH_MappingToAddModList_specs_16 = {
524         sizeof(struct PUSCH_PowerControl__sri_PUSCH_MappingToAddModList),
525         offsetof(struct PUSCH_PowerControl__sri_PUSCH_MappingToAddModList, _asn_ctx),
526         0,      /* XER encoding is XMLDelimitedItemList */
527 };
528 static /* Use -fall-defs-global to expose */
529 asn_TYPE_descriptor_t asn_DEF_sri_PUSCH_MappingToAddModList_16 = {
530         "sri-PUSCH-MappingToAddModList",
531         "sri-PUSCH-MappingToAddModList",
532         &asn_OP_SEQUENCE_OF,
533         asn_DEF_sri_PUSCH_MappingToAddModList_tags_16,
534         sizeof(asn_DEF_sri_PUSCH_MappingToAddModList_tags_16)
535                 /sizeof(asn_DEF_sri_PUSCH_MappingToAddModList_tags_16[0]) - 1, /* 1 */
536         asn_DEF_sri_PUSCH_MappingToAddModList_tags_16,  /* Same as above */
537         sizeof(asn_DEF_sri_PUSCH_MappingToAddModList_tags_16)
538                 /sizeof(asn_DEF_sri_PUSCH_MappingToAddModList_tags_16[0]), /* 2 */
539         { &asn_OER_type_sri_PUSCH_MappingToAddModList_constr_16, &asn_PER_type_sri_PUSCH_MappingToAddModList_constr_16, SEQUENCE_OF_constraint },
540         asn_MBR_sri_PUSCH_MappingToAddModList_16,
541         1,      /* Single element */
542         &asn_SPC_sri_PUSCH_MappingToAddModList_specs_16 /* Additional specs */
543 };
544
545 static asn_TYPE_member_t asn_MBR_sri_PUSCH_MappingToReleaseList_18[] = {
546         { ATF_POINTER, 0, 0,
547                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
548                 0,
549                 &asn_DEF_SRI_PUSCH_PowerControlId,
550                 0,
551                 { 0, 0, 0 },
552                 0, 0, /* No default value */
553                 ""
554                 },
555 };
556 static const ber_tlv_tag_t asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18[] = {
557         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
558         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
559 };
560 static asn_SET_OF_specifics_t asn_SPC_sri_PUSCH_MappingToReleaseList_specs_18 = {
561         sizeof(struct PUSCH_PowerControl__sri_PUSCH_MappingToReleaseList),
562         offsetof(struct PUSCH_PowerControl__sri_PUSCH_MappingToReleaseList, _asn_ctx),
563         0,      /* XER encoding is XMLDelimitedItemList */
564 };
565 static /* Use -fall-defs-global to expose */
566 asn_TYPE_descriptor_t asn_DEF_sri_PUSCH_MappingToReleaseList_18 = {
567         "sri-PUSCH-MappingToReleaseList",
568         "sri-PUSCH-MappingToReleaseList",
569         &asn_OP_SEQUENCE_OF,
570         asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18,
571         sizeof(asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18)
572                 /sizeof(asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18[0]) - 1, /* 1 */
573         asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18, /* Same as above */
574         sizeof(asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18)
575                 /sizeof(asn_DEF_sri_PUSCH_MappingToReleaseList_tags_18[0]), /* 2 */
576         { &asn_OER_type_sri_PUSCH_MappingToReleaseList_constr_18, &asn_PER_type_sri_PUSCH_MappingToReleaseList_constr_18, SEQUENCE_OF_constraint },
577         asn_MBR_sri_PUSCH_MappingToReleaseList_18,
578         1,      /* Single element */
579         &asn_SPC_sri_PUSCH_MappingToReleaseList_specs_18        /* Additional specs */
580 };
581
582 asn_TYPE_member_t asn_MBR_PUSCH_PowerControl_1[] = {
583         { ATF_POINTER, 10, offsetof(struct PUSCH_PowerControl, tpc_Accumulation),
584                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
585                 -1,     /* IMPLICIT tag at current level */
586                 &asn_DEF_tpc_Accumulation_2,
587                 0,
588                 { 0, 0, 0 },
589                 0, 0, /* No default value */
590                 "tpc-Accumulation"
591                 },
592         { ATF_POINTER, 9, offsetof(struct PUSCH_PowerControl, msg3_Alpha),
593                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
594                 -1,     /* IMPLICIT tag at current level */
595                 &asn_DEF_Alpha,
596                 0,
597                 { 0, 0, 0 },
598                 0, 0, /* No default value */
599                 "msg3-Alpha"
600                 },
601         { ATF_POINTER, 8, offsetof(struct PUSCH_PowerControl, p0_NominalWithoutGrant),
602                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
603                 -1,     /* IMPLICIT tag at current level */
604                 &asn_DEF_NativeInteger,
605                 0,
606                 { &asn_OER_memb_p0_NominalWithoutGrant_constr_5, &asn_PER_memb_p0_NominalWithoutGrant_constr_5,  memb_p0_NominalWithoutGrant_constraint_1 },
607                 0, 0, /* No default value */
608                 "p0-NominalWithoutGrant"
609                 },
610         { ATF_POINTER, 7, offsetof(struct PUSCH_PowerControl, p0_AlphaSets),
611                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
612                 0,
613                 &asn_DEF_p0_AlphaSets_6,
614                 0,
615                 { &asn_OER_memb_p0_AlphaSets_constr_6, &asn_PER_memb_p0_AlphaSets_constr_6,  memb_p0_AlphaSets_constraint_1 },
616                 0, 0, /* No default value */
617                 "p0-AlphaSets"
618                 },
619         { ATF_POINTER, 6, offsetof(struct PUSCH_PowerControl, pathlossReferenceRSToAddModList),
620                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
621                 0,
622                 &asn_DEF_pathlossReferenceRSToAddModList_8,
623                 0,
624                 { &asn_OER_memb_pathlossReferenceRSToAddModList_constr_8, &asn_PER_memb_pathlossReferenceRSToAddModList_constr_8,  memb_pathlossReferenceRSToAddModList_constraint_1 },
625                 0, 0, /* No default value */
626                 "pathlossReferenceRSToAddModList"
627                 },
628         { ATF_POINTER, 5, offsetof(struct PUSCH_PowerControl, pathlossReferenceRSToReleaseList),
629                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
630                 0,
631                 &asn_DEF_pathlossReferenceRSToReleaseList_10,
632                 0,
633                 { &asn_OER_memb_pathlossReferenceRSToReleaseList_constr_10, &asn_PER_memb_pathlossReferenceRSToReleaseList_constr_10,  memb_pathlossReferenceRSToReleaseList_constraint_1 },
634                 0, 0, /* No default value */
635                 "pathlossReferenceRSToReleaseList"
636                 },
637         { ATF_POINTER, 4, offsetof(struct PUSCH_PowerControl, twoPUSCH_PC_AdjustmentStates),
638                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
639                 -1,     /* IMPLICIT tag at current level */
640                 &asn_DEF_twoPUSCH_PC_AdjustmentStates_12,
641                 0,
642                 { 0, 0, 0 },
643                 0, 0, /* No default value */
644                 "twoPUSCH-PC-AdjustmentStates"
645                 },
646         { ATF_POINTER, 3, offsetof(struct PUSCH_PowerControl, deltaMCS),
647                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
648                 -1,     /* IMPLICIT tag at current level */
649                 &asn_DEF_deltaMCS_14,
650                 0,
651                 { 0, 0, 0 },
652                 0, 0, /* No default value */
653                 "deltaMCS"
654                 },
655         { ATF_POINTER, 2, offsetof(struct PUSCH_PowerControl, sri_PUSCH_MappingToAddModList),
656                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
657                 0,
658                 &asn_DEF_sri_PUSCH_MappingToAddModList_16,
659                 0,
660                 { &asn_OER_memb_sri_PUSCH_MappingToAddModList_constr_16, &asn_PER_memb_sri_PUSCH_MappingToAddModList_constr_16,  memb_sri_PUSCH_MappingToAddModList_constraint_1 },
661                 0, 0, /* No default value */
662                 "sri-PUSCH-MappingToAddModList"
663                 },
664         { ATF_POINTER, 1, offsetof(struct PUSCH_PowerControl, sri_PUSCH_MappingToReleaseList),
665                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
666                 0,
667                 &asn_DEF_sri_PUSCH_MappingToReleaseList_18,
668                 0,
669                 { &asn_OER_memb_sri_PUSCH_MappingToReleaseList_constr_18, &asn_PER_memb_sri_PUSCH_MappingToReleaseList_constr_18,  memb_sri_PUSCH_MappingToReleaseList_constraint_1 },
670                 0, 0, /* No default value */
671                 "sri-PUSCH-MappingToReleaseList"
672                 },
673 };
674 static const int asn_MAP_PUSCH_PowerControl_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
675 static const ber_tlv_tag_t asn_DEF_PUSCH_PowerControl_tags_1[] = {
676         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
677 };
678 static const asn_TYPE_tag2member_t asn_MAP_PUSCH_PowerControl_tag2el_1[] = {
679     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tpc-Accumulation */
680     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* msg3-Alpha */
681     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* p0-NominalWithoutGrant */
682     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* p0-AlphaSets */
683     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pathlossReferenceRSToAddModList */
684     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pathlossReferenceRSToReleaseList */
685     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* twoPUSCH-PC-AdjustmentStates */
686     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* deltaMCS */
687     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sri-PUSCH-MappingToAddModList */
688     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* sri-PUSCH-MappingToReleaseList */
689 };
690 asn_SEQUENCE_specifics_t asn_SPC_PUSCH_PowerControl_specs_1 = {
691         sizeof(struct PUSCH_PowerControl),
692         offsetof(struct PUSCH_PowerControl, _asn_ctx),
693         asn_MAP_PUSCH_PowerControl_tag2el_1,
694         10,     /* Count of tags in the map */
695         asn_MAP_PUSCH_PowerControl_oms_1,       /* Optional members */
696         10, 0,  /* Root/Additions */
697         -1,     /* First extension addition */
698 };
699 asn_TYPE_descriptor_t asn_DEF_PUSCH_PowerControl = {
700         "PUSCH-PowerControl",
701         "PUSCH-PowerControl",
702         &asn_OP_SEQUENCE,
703         asn_DEF_PUSCH_PowerControl_tags_1,
704         sizeof(asn_DEF_PUSCH_PowerControl_tags_1)
705                 /sizeof(asn_DEF_PUSCH_PowerControl_tags_1[0]), /* 1 */
706         asn_DEF_PUSCH_PowerControl_tags_1,      /* Same as above */
707         sizeof(asn_DEF_PUSCH_PowerControl_tags_1)
708                 /sizeof(asn_DEF_PUSCH_PowerControl_tags_1[0]), /* 1 */
709         { 0, 0, SEQUENCE_constraint },
710         asn_MBR_PUSCH_PowerControl_1,
711         10,     /* Elements count */
712         &asn_SPC_PUSCH_PowerControl_specs_1     /* Additional specs */
713 };
714