[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / SRS-ResourceSet.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 "SRS-ResourceSet.h"
9
10 static int
11 memb_NativeInteger_constraint_12(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         long value;
14         
15         if(!sptr) {
16                 ASN__CTFAIL(app_key, td, sptr,
17                         "%s: value not given (%s:%d)",
18                         td->name, __FILE__, __LINE__);
19                 return -1;
20         }
21         
22         value = *(const long *)sptr;
23         
24         if((value >= 1 && value <= 3)) {
25                 /* Constraint check succeeded */
26                 return 0;
27         } else {
28                 ASN__CTFAIL(app_key, td, sptr,
29                         "%s: constraint failed (%s:%d)",
30                         td->name, __FILE__, __LINE__);
31                 return -1;
32         }
33 }
34
35 static int
36 memb_aperiodicSRS_ResourceTriggerList_v1530_constraint_11(const asn_TYPE_descriptor_t *td, const void *sptr,
37                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
38         size_t size;
39         
40         if(!sptr) {
41                 ASN__CTFAIL(app_key, td, sptr,
42                         "%s: value not given (%s:%d)",
43                         td->name, __FILE__, __LINE__);
44                 return -1;
45         }
46         
47         /* Determine the number of elements */
48         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
49         
50         if((size >= 1 && size <= 2)) {
51                 /* Perform validation of the inner elements */
52                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
53         } else {
54                 ASN__CTFAIL(app_key, td, sptr,
55                         "%s: constraint failed (%s:%d)",
56                         td->name, __FILE__, __LINE__);
57                 return -1;
58         }
59 }
60
61 static int
62 memb_aperiodicSRS_ResourceTrigger_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
63                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
64         long value;
65         
66         if(!sptr) {
67                 ASN__CTFAIL(app_key, td, sptr,
68                         "%s: value not given (%s:%d)",
69                         td->name, __FILE__, __LINE__);
70                 return -1;
71         }
72         
73         value = *(const long *)sptr;
74         
75         if((value >= 1 && value <= 3)) {
76                 /* Constraint check succeeded */
77                 return 0;
78         } else {
79                 ASN__CTFAIL(app_key, td, sptr,
80                         "%s: constraint failed (%s:%d)",
81                         td->name, __FILE__, __LINE__);
82                 return -1;
83         }
84 }
85
86 static int
87 memb_slotOffset_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr,
88                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
89         long value;
90         
91         if(!sptr) {
92                 ASN__CTFAIL(app_key, td, sptr,
93                         "%s: value not given (%s:%d)",
94                         td->name, __FILE__, __LINE__);
95                 return -1;
96         }
97         
98         value = *(const long *)sptr;
99         
100         if((value >= 1 && value <= 32)) {
101                 /* Constraint check succeeded */
102                 return 0;
103         } else {
104                 ASN__CTFAIL(app_key, td, sptr,
105                         "%s: constraint failed (%s:%d)",
106                         td->name, __FILE__, __LINE__);
107                 return -1;
108         }
109 }
110
111 /*
112  * This type is implemented using NativeEnumerated,
113  * so here we adjust the DEF accordingly.
114  */
115 /*
116  * This type is implemented using NativeEnumerated,
117  * so here we adjust the DEF accordingly.
118  */
119 static int
120 memb_srs_ResourceIdList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
121                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
122         size_t size;
123         
124         if(!sptr) {
125                 ASN__CTFAIL(app_key, td, sptr,
126                         "%s: value not given (%s:%d)",
127                         td->name, __FILE__, __LINE__);
128                 return -1;
129         }
130         
131         /* Determine the number of elements */
132         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
133         
134         if((size >= 1 && size <= 16)) {
135                 /* Perform validation of the inner elements */
136                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
137         } else {
138                 ASN__CTFAIL(app_key, td, sptr,
139                         "%s: constraint failed (%s:%d)",
140                         td->name, __FILE__, __LINE__);
141                 return -1;
142         }
143 }
144
145 static int
146 memb_p0_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
147                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
148         long value;
149         
150         if(!sptr) {
151                 ASN__CTFAIL(app_key, td, sptr,
152                         "%s: value not given (%s:%d)",
153                         td->name, __FILE__, __LINE__);
154                 return -1;
155         }
156         
157         value = *(const long *)sptr;
158         
159         if((value >= -202 && value <= 24)) {
160                 /* Constraint check succeeded */
161                 return 0;
162         } else {
163                 ASN__CTFAIL(app_key, td, sptr,
164                         "%s: constraint failed (%s:%d)",
165                         td->name, __FILE__, __LINE__);
166                 return -1;
167         }
168 }
169
170 static asn_oer_constraints_t asn_OER_type_srs_ResourceIdList_constr_3 CC_NOTUSED = {
171         { 0, 0 },
172         -1      /* (SIZE(1..16)) */};
173 static asn_per_constraints_t asn_PER_type_srs_ResourceIdList_constr_3 CC_NOTUSED = {
174         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
175         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
176         0, 0    /* No PER value map */
177 };
178 static asn_oer_constraints_t asn_OER_memb_Member_constr_13 CC_NOTUSED = {
179         { 1, 1 }        /* (1..3) */,
180         -1};
181 static asn_per_constraints_t asn_PER_memb_Member_constr_13 CC_NOTUSED = {
182         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (1..3) */,
183         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
184         0, 0    /* No PER value map */
185 };
186 static asn_oer_constraints_t asn_OER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
187         { 0, 0 },
188         -1      /* (SIZE(1..2)) */};
189 static asn_per_constraints_t asn_PER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
190         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
191         { APC_CONSTRAINED,       1,  1,  1,  2 }        /* (SIZE(1..2)) */,
192         0, 0    /* No PER value map */
193 };
194 static asn_oer_constraints_t asn_OER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
195         { 0, 0 },
196         -1      /* (SIZE(1..2)) */};
197 static asn_per_constraints_t asn_PER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12 CC_NOTUSED = {
198         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
199         { APC_CONSTRAINED,       1,  1,  1,  2 }        /* (SIZE(1..2)) */,
200         0, 0    /* No PER value map */
201 };
202 static asn_oer_constraints_t asn_OER_memb_aperiodicSRS_ResourceTrigger_constr_7 CC_NOTUSED = {
203         { 1, 1 }        /* (1..3) */,
204         -1};
205 static asn_per_constraints_t asn_PER_memb_aperiodicSRS_ResourceTrigger_constr_7 CC_NOTUSED = {
206         { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (1..3) */,
207         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
208         0, 0    /* No PER value map */
209 };
210 static asn_oer_constraints_t asn_OER_memb_slotOffset_constr_9 CC_NOTUSED = {
211         { 1, 1 }        /* (1..32) */,
212         -1};
213 static asn_per_constraints_t asn_PER_memb_slotOffset_constr_9 CC_NOTUSED = {
214         { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (1..32) */,
215         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
216         0, 0    /* No PER value map */
217 };
218 static asn_oer_constraints_t asn_OER_type_resourceType_constr_5 CC_NOTUSED = {
219         { 0, 0 },
220         -1};
221 static asn_per_constraints_t asn_PER_type_resourceType_constr_5 CC_NOTUSED = {
222         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
223         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
224         0, 0    /* No PER value map */
225 };
226 static asn_oer_constraints_t asn_OER_type_usage_constr_20 CC_NOTUSED = {
227         { 0, 0 },
228         -1};
229 static asn_per_constraints_t asn_PER_type_usage_constr_20 CC_NOTUSED = {
230         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
231         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
232         0, 0    /* No PER value map */
233 };
234 static asn_oer_constraints_t asn_OER_type_pathlossReferenceRS_constr_27 CC_NOTUSED = {
235         { 0, 0 },
236         -1};
237 static asn_per_constraints_t asn_PER_type_pathlossReferenceRS_constr_27 CC_NOTUSED = {
238         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
239         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
240         0, 0    /* No PER value map */
241 };
242 static asn_oer_constraints_t asn_OER_type_srs_PowerControlAdjustmentStates_constr_30 CC_NOTUSED = {
243         { 0, 0 },
244         -1};
245 static asn_per_constraints_t asn_PER_type_srs_PowerControlAdjustmentStates_constr_30 CC_NOTUSED = {
246         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
247         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
248         0, 0    /* No PER value map */
249 };
250 static asn_oer_constraints_t asn_OER_memb_srs_ResourceIdList_constr_3 CC_NOTUSED = {
251         { 0, 0 },
252         -1      /* (SIZE(1..16)) */};
253 static asn_per_constraints_t asn_PER_memb_srs_ResourceIdList_constr_3 CC_NOTUSED = {
254         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
255         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
256         0, 0    /* No PER value map */
257 };
258 static asn_oer_constraints_t asn_OER_memb_p0_constr_26 CC_NOTUSED = {
259         { 2, 0 }        /* (-202..24) */,
260         -1};
261 static asn_per_constraints_t asn_PER_memb_p0_constr_26 CC_NOTUSED = {
262         { APC_CONSTRAINED,       8,  8, -202,  24 }     /* (-202..24) */,
263         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
264         0, 0    /* No PER value map */
265 };
266 static asn_TYPE_member_t asn_MBR_srs_ResourceIdList_3[] = {
267         { ATF_POINTER, 0, 0,
268                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
269                 0,
270                 &asn_DEF_SRS_ResourceId,
271                 0,
272                 { 0, 0, 0 },
273                 0, 0, /* No default value */
274                 ""
275                 },
276 };
277 static const ber_tlv_tag_t asn_DEF_srs_ResourceIdList_tags_3[] = {
278         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
279         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
280 };
281 static asn_SET_OF_specifics_t asn_SPC_srs_ResourceIdList_specs_3 = {
282         sizeof(struct SRS_ResourceSet__srs_ResourceIdList),
283         offsetof(struct SRS_ResourceSet__srs_ResourceIdList, _asn_ctx),
284         0,      /* XER encoding is XMLDelimitedItemList */
285 };
286 static /* Use -fall-defs-global to expose */
287 asn_TYPE_descriptor_t asn_DEF_srs_ResourceIdList_3 = {
288         "srs-ResourceIdList",
289         "srs-ResourceIdList",
290         &asn_OP_SEQUENCE_OF,
291         asn_DEF_srs_ResourceIdList_tags_3,
292         sizeof(asn_DEF_srs_ResourceIdList_tags_3)
293                 /sizeof(asn_DEF_srs_ResourceIdList_tags_3[0]) - 1, /* 1 */
294         asn_DEF_srs_ResourceIdList_tags_3,      /* Same as above */
295         sizeof(asn_DEF_srs_ResourceIdList_tags_3)
296                 /sizeof(asn_DEF_srs_ResourceIdList_tags_3[0]), /* 2 */
297         { &asn_OER_type_srs_ResourceIdList_constr_3, &asn_PER_type_srs_ResourceIdList_constr_3, SEQUENCE_OF_constraint },
298         asn_MBR_srs_ResourceIdList_3,
299         1,      /* Single element */
300         &asn_SPC_srs_ResourceIdList_specs_3     /* Additional specs */
301 };
302
303 static asn_TYPE_member_t asn_MBR_aperiodicSRS_ResourceTriggerList_v1530_12[] = {
304         { ATF_POINTER, 0, 0,
305                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
306                 0,
307                 &asn_DEF_NativeInteger,
308                 0,
309                 { &asn_OER_memb_Member_constr_13, &asn_PER_memb_Member_constr_13,  memb_NativeInteger_constraint_12 },
310                 0, 0, /* No default value */
311                 ""
312                 },
313 };
314 static const ber_tlv_tag_t asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[] = {
315         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
316         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
317 };
318 static asn_SET_OF_specifics_t asn_SPC_aperiodicSRS_ResourceTriggerList_v1530_specs_12 = {
319         sizeof(struct SRS_ResourceSet__resourceType__aperiodic__ext1__aperiodicSRS_ResourceTriggerList_v1530),
320         offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1__aperiodicSRS_ResourceTriggerList_v1530, _asn_ctx),
321         0,      /* XER encoding is XMLDelimitedItemList */
322 };
323 static /* Use -fall-defs-global to expose */
324 asn_TYPE_descriptor_t asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_12 = {
325         "aperiodicSRS-ResourceTriggerList-v1530",
326         "aperiodicSRS-ResourceTriggerList-v1530",
327         &asn_OP_SEQUENCE_OF,
328         asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12,
329         sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12)
330                 /sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[0]) - 1, /* 1 */
331         asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12, /* Same as above */
332         sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12)
333                 /sizeof(asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_tags_12[0]), /* 2 */
334         { &asn_OER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12, &asn_PER_type_aperiodicSRS_ResourceTriggerList_v1530_constr_12, SEQUENCE_OF_constraint },
335         asn_MBR_aperiodicSRS_ResourceTriggerList_v1530_12,
336         1,      /* Single element */
337         &asn_SPC_aperiodicSRS_ResourceTriggerList_v1530_specs_12        /* Additional specs */
338 };
339
340 static asn_TYPE_member_t asn_MBR_ext1_11[] = {
341         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1, aperiodicSRS_ResourceTriggerList_v1530),
342                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
343                 0,
344                 &asn_DEF_aperiodicSRS_ResourceTriggerList_v1530_12,
345                 0,
346                 { &asn_OER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12, &asn_PER_memb_aperiodicSRS_ResourceTriggerList_v1530_constr_12,  memb_aperiodicSRS_ResourceTriggerList_v1530_constraint_11 },
347                 0, 0, /* No default value */
348                 "aperiodicSRS-ResourceTriggerList-v1530"
349                 },
350 };
351 static const int asn_MAP_ext1_oms_11[] = { 0 };
352 static const ber_tlv_tag_t asn_DEF_ext1_tags_11[] = {
353         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
354         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
355 };
356 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_11[] = {
357     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aperiodicSRS-ResourceTriggerList-v1530 */
358 };
359 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_11 = {
360         sizeof(struct SRS_ResourceSet__resourceType__aperiodic__ext1),
361         offsetof(struct SRS_ResourceSet__resourceType__aperiodic__ext1, _asn_ctx),
362         asn_MAP_ext1_tag2el_11,
363         1,      /* Count of tags in the map */
364         asn_MAP_ext1_oms_11,    /* Optional members */
365         1, 0,   /* Root/Additions */
366         -1,     /* First extension addition */
367 };
368 static /* Use -fall-defs-global to expose */
369 asn_TYPE_descriptor_t asn_DEF_ext1_11 = {
370         "ext1",
371         "ext1",
372         &asn_OP_SEQUENCE,
373         asn_DEF_ext1_tags_11,
374         sizeof(asn_DEF_ext1_tags_11)
375                 /sizeof(asn_DEF_ext1_tags_11[0]) - 1, /* 1 */
376         asn_DEF_ext1_tags_11,   /* Same as above */
377         sizeof(asn_DEF_ext1_tags_11)
378                 /sizeof(asn_DEF_ext1_tags_11[0]), /* 2 */
379         { 0, 0, SEQUENCE_constraint },
380         asn_MBR_ext1_11,
381         1,      /* Elements count */
382         &asn_SPC_ext1_specs_11  /* Additional specs */
383 };
384
385 static asn_TYPE_member_t asn_MBR_aperiodic_6[] = {
386         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, aperiodicSRS_ResourceTrigger),
387                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
388                 -1,     /* IMPLICIT tag at current level */
389                 &asn_DEF_NativeInteger,
390                 0,
391                 { &asn_OER_memb_aperiodicSRS_ResourceTrigger_constr_7, &asn_PER_memb_aperiodicSRS_ResourceTrigger_constr_7,  memb_aperiodicSRS_ResourceTrigger_constraint_6 },
392                 0, 0, /* No default value */
393                 "aperiodicSRS-ResourceTrigger"
394                 },
395         { ATF_POINTER, 3, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, csi_RS),
396                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
397                 -1,     /* IMPLICIT tag at current level */
398                 &asn_DEF_NZP_CSI_RS_ResourceId,
399                 0,
400                 { 0, 0, 0 },
401                 0, 0, /* No default value */
402                 "csi-RS"
403                 },
404         { ATF_POINTER, 2, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, slotOffset),
405                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
406                 -1,     /* IMPLICIT tag at current level */
407                 &asn_DEF_NativeInteger,
408                 0,
409                 { &asn_OER_memb_slotOffset_constr_9, &asn_PER_memb_slotOffset_constr_9,  memb_slotOffset_constraint_6 },
410                 0, 0, /* No default value */
411                 "slotOffset"
412                 },
413         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__aperiodic, ext1),
414                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
415                 0,
416                 &asn_DEF_ext1_11,
417                 0,
418                 { 0, 0, 0 },
419                 0, 0, /* No default value */
420                 "ext1"
421                 },
422 };
423 static const int asn_MAP_aperiodic_oms_6[] = { 1, 2, 3 };
424 static const ber_tlv_tag_t asn_DEF_aperiodic_tags_6[] = {
425         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
426         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
427 };
428 static const asn_TYPE_tag2member_t asn_MAP_aperiodic_tag2el_6[] = {
429     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodicSRS-ResourceTrigger */
430     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* csi-RS */
431     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* slotOffset */
432     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ext1 */
433 };
434 static asn_SEQUENCE_specifics_t asn_SPC_aperiodic_specs_6 = {
435         sizeof(struct SRS_ResourceSet__resourceType__aperiodic),
436         offsetof(struct SRS_ResourceSet__resourceType__aperiodic, _asn_ctx),
437         asn_MAP_aperiodic_tag2el_6,
438         4,      /* Count of tags in the map */
439         asn_MAP_aperiodic_oms_6,        /* Optional members */
440         2, 1,   /* Root/Additions */
441         3,      /* First extension addition */
442 };
443 static /* Use -fall-defs-global to expose */
444 asn_TYPE_descriptor_t asn_DEF_aperiodic_6 = {
445         "aperiodic",
446         "aperiodic",
447         &asn_OP_SEQUENCE,
448         asn_DEF_aperiodic_tags_6,
449         sizeof(asn_DEF_aperiodic_tags_6)
450                 /sizeof(asn_DEF_aperiodic_tags_6[0]) - 1, /* 1 */
451         asn_DEF_aperiodic_tags_6,       /* Same as above */
452         sizeof(asn_DEF_aperiodic_tags_6)
453                 /sizeof(asn_DEF_aperiodic_tags_6[0]), /* 2 */
454         { 0, 0, SEQUENCE_constraint },
455         asn_MBR_aperiodic_6,
456         4,      /* Elements count */
457         &asn_SPC_aperiodic_specs_6      /* Additional specs */
458 };
459
460 static asn_TYPE_member_t asn_MBR_semi_persistent_14[] = {
461         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__semi_persistent, associatedCSI_RS),
462                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
463                 -1,     /* IMPLICIT tag at current level */
464                 &asn_DEF_NZP_CSI_RS_ResourceId,
465                 0,
466                 { 0, 0, 0 },
467                 0, 0, /* No default value */
468                 "associatedCSI-RS"
469                 },
470 };
471 static const int asn_MAP_semi_persistent_oms_14[] = { 0 };
472 static const ber_tlv_tag_t asn_DEF_semi_persistent_tags_14[] = {
473         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
474         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
475 };
476 static const asn_TYPE_tag2member_t asn_MAP_semi_persistent_tag2el_14[] = {
477     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedCSI-RS */
478 };
479 static asn_SEQUENCE_specifics_t asn_SPC_semi_persistent_specs_14 = {
480         sizeof(struct SRS_ResourceSet__resourceType__semi_persistent),
481         offsetof(struct SRS_ResourceSet__resourceType__semi_persistent, _asn_ctx),
482         asn_MAP_semi_persistent_tag2el_14,
483         1,      /* Count of tags in the map */
484         asn_MAP_semi_persistent_oms_14, /* Optional members */
485         1, 0,   /* Root/Additions */
486         1,      /* First extension addition */
487 };
488 static /* Use -fall-defs-global to expose */
489 asn_TYPE_descriptor_t asn_DEF_semi_persistent_14 = {
490         "semi-persistent",
491         "semi-persistent",
492         &asn_OP_SEQUENCE,
493         asn_DEF_semi_persistent_tags_14,
494         sizeof(asn_DEF_semi_persistent_tags_14)
495                 /sizeof(asn_DEF_semi_persistent_tags_14[0]) - 1, /* 1 */
496         asn_DEF_semi_persistent_tags_14,        /* Same as above */
497         sizeof(asn_DEF_semi_persistent_tags_14)
498                 /sizeof(asn_DEF_semi_persistent_tags_14[0]), /* 2 */
499         { 0, 0, SEQUENCE_constraint },
500         asn_MBR_semi_persistent_14,
501         1,      /* Elements count */
502         &asn_SPC_semi_persistent_specs_14       /* Additional specs */
503 };
504
505 static asn_TYPE_member_t asn_MBR_periodic_17[] = {
506         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet__resourceType__periodic, associatedCSI_RS),
507                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
508                 -1,     /* IMPLICIT tag at current level */
509                 &asn_DEF_NZP_CSI_RS_ResourceId,
510                 0,
511                 { 0, 0, 0 },
512                 0, 0, /* No default value */
513                 "associatedCSI-RS"
514                 },
515 };
516 static const int asn_MAP_periodic_oms_17[] = { 0 };
517 static const ber_tlv_tag_t asn_DEF_periodic_tags_17[] = {
518         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
519         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
520 };
521 static const asn_TYPE_tag2member_t asn_MAP_periodic_tag2el_17[] = {
522     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedCSI-RS */
523 };
524 static asn_SEQUENCE_specifics_t asn_SPC_periodic_specs_17 = {
525         sizeof(struct SRS_ResourceSet__resourceType__periodic),
526         offsetof(struct SRS_ResourceSet__resourceType__periodic, _asn_ctx),
527         asn_MAP_periodic_tag2el_17,
528         1,      /* Count of tags in the map */
529         asn_MAP_periodic_oms_17,        /* Optional members */
530         1, 0,   /* Root/Additions */
531         1,      /* First extension addition */
532 };
533 static /* Use -fall-defs-global to expose */
534 asn_TYPE_descriptor_t asn_DEF_periodic_17 = {
535         "periodic",
536         "periodic",
537         &asn_OP_SEQUENCE,
538         asn_DEF_periodic_tags_17,
539         sizeof(asn_DEF_periodic_tags_17)
540                 /sizeof(asn_DEF_periodic_tags_17[0]) - 1, /* 1 */
541         asn_DEF_periodic_tags_17,       /* Same as above */
542         sizeof(asn_DEF_periodic_tags_17)
543                 /sizeof(asn_DEF_periodic_tags_17[0]), /* 2 */
544         { 0, 0, SEQUENCE_constraint },
545         asn_MBR_periodic_17,
546         1,      /* Elements count */
547         &asn_SPC_periodic_specs_17      /* Additional specs */
548 };
549
550 static asn_TYPE_member_t asn_MBR_resourceType_5[] = {
551         { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.aperiodic),
552                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
553                 0,
554                 &asn_DEF_aperiodic_6,
555                 0,
556                 { 0, 0, 0 },
557                 0, 0, /* No default value */
558                 "aperiodic"
559                 },
560         { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.semi_persistent),
561                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
562                 0,
563                 &asn_DEF_semi_persistent_14,
564                 0,
565                 { 0, 0, 0 },
566                 0, 0, /* No default value */
567                 "semi-persistent"
568                 },
569         { ATF_POINTER, 0, offsetof(struct SRS_ResourceSet__resourceType, choice.periodic),
570                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
571                 0,
572                 &asn_DEF_periodic_17,
573                 0,
574                 { 0, 0, 0 },
575                 0, 0, /* No default value */
576                 "periodic"
577                 },
578 };
579 static const asn_TYPE_tag2member_t asn_MAP_resourceType_tag2el_5[] = {
580     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodic */
581     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semi-persistent */
582     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* periodic */
583 };
584 static asn_CHOICE_specifics_t asn_SPC_resourceType_specs_5 = {
585         sizeof(struct SRS_ResourceSet__resourceType),
586         offsetof(struct SRS_ResourceSet__resourceType, _asn_ctx),
587         offsetof(struct SRS_ResourceSet__resourceType, present),
588         sizeof(((struct SRS_ResourceSet__resourceType *)0)->present),
589         asn_MAP_resourceType_tag2el_5,
590         3,      /* Count of tags in the map */
591         0, 0,
592         -1      /* Extensions start */
593 };
594 static /* Use -fall-defs-global to expose */
595 asn_TYPE_descriptor_t asn_DEF_resourceType_5 = {
596         "resourceType",
597         "resourceType",
598         &asn_OP_CHOICE,
599         0,      /* No effective tags (pointer) */
600         0,      /* No effective tags (count) */
601         0,      /* No tags (pointer) */
602         0,      /* No tags (count) */
603         { &asn_OER_type_resourceType_constr_5, &asn_PER_type_resourceType_constr_5, CHOICE_constraint },
604         asn_MBR_resourceType_5,
605         3,      /* Elements count */
606         &asn_SPC_resourceType_specs_5   /* Additional specs */
607 };
608
609 static const asn_INTEGER_enum_map_t asn_MAP_usage_value2enum_20[] = {
610         { 0,    14,     "beamManagement" },
611         { 1,    8,      "codebook" },
612         { 2,    11,     "nonCodebook" },
613         { 3,    16,     "antennaSwitching" }
614 };
615 static const unsigned int asn_MAP_usage_enum2value_20[] = {
616         3,      /* antennaSwitching(3) */
617         0,      /* beamManagement(0) */
618         1,      /* codebook(1) */
619         2       /* nonCodebook(2) */
620 };
621 static const asn_INTEGER_specifics_t asn_SPC_usage_specs_20 = {
622         asn_MAP_usage_value2enum_20,    /* "tag" => N; sorted by tag */
623         asn_MAP_usage_enum2value_20,    /* N => "tag"; sorted by N */
624         4,      /* Number of elements in the maps */
625         0,      /* Enumeration is not extensible */
626         1,      /* Strict enumeration */
627         0,      /* Native long size */
628         0
629 };
630 static const ber_tlv_tag_t asn_DEF_usage_tags_20[] = {
631         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
632         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
633 };
634 static /* Use -fall-defs-global to expose */
635 asn_TYPE_descriptor_t asn_DEF_usage_20 = {
636         "usage",
637         "usage",
638         &asn_OP_NativeEnumerated,
639         asn_DEF_usage_tags_20,
640         sizeof(asn_DEF_usage_tags_20)
641                 /sizeof(asn_DEF_usage_tags_20[0]) - 1, /* 1 */
642         asn_DEF_usage_tags_20,  /* Same as above */
643         sizeof(asn_DEF_usage_tags_20)
644                 /sizeof(asn_DEF_usage_tags_20[0]), /* 2 */
645         { &asn_OER_type_usage_constr_20, &asn_PER_type_usage_constr_20, NativeEnumerated_constraint },
646         0, 0,   /* Defined elsewhere */
647         &asn_SPC_usage_specs_20 /* Additional specs */
648 };
649
650 static asn_TYPE_member_t asn_MBR_pathlossReferenceRS_27[] = {
651         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__pathlossReferenceRS, choice.ssb_Index),
652                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
653                 -1,     /* IMPLICIT tag at current level */
654                 &asn_DEF_SSB_Index,
655                 0,
656                 { 0, 0, 0 },
657                 0, 0, /* No default value */
658                 "ssb-Index"
659                 },
660         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet__pathlossReferenceRS, choice.csi_RS_Index),
661                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
662                 -1,     /* IMPLICIT tag at current level */
663                 &asn_DEF_NZP_CSI_RS_ResourceId,
664                 0,
665                 { 0, 0, 0 },
666                 0, 0, /* No default value */
667                 "csi-RS-Index"
668                 },
669 };
670 static const asn_TYPE_tag2member_t asn_MAP_pathlossReferenceRS_tag2el_27[] = {
671     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssb-Index */
672     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* csi-RS-Index */
673 };
674 static asn_CHOICE_specifics_t asn_SPC_pathlossReferenceRS_specs_27 = {
675         sizeof(struct SRS_ResourceSet__pathlossReferenceRS),
676         offsetof(struct SRS_ResourceSet__pathlossReferenceRS, _asn_ctx),
677         offsetof(struct SRS_ResourceSet__pathlossReferenceRS, present),
678         sizeof(((struct SRS_ResourceSet__pathlossReferenceRS *)0)->present),
679         asn_MAP_pathlossReferenceRS_tag2el_27,
680         2,      /* Count of tags in the map */
681         0, 0,
682         -1      /* Extensions start */
683 };
684 static /* Use -fall-defs-global to expose */
685 asn_TYPE_descriptor_t asn_DEF_pathlossReferenceRS_27 = {
686         "pathlossReferenceRS",
687         "pathlossReferenceRS",
688         &asn_OP_CHOICE,
689         0,      /* No effective tags (pointer) */
690         0,      /* No effective tags (count) */
691         0,      /* No tags (pointer) */
692         0,      /* No tags (count) */
693         { &asn_OER_type_pathlossReferenceRS_constr_27, &asn_PER_type_pathlossReferenceRS_constr_27, CHOICE_constraint },
694         asn_MBR_pathlossReferenceRS_27,
695         2,      /* Elements count */
696         &asn_SPC_pathlossReferenceRS_specs_27   /* Additional specs */
697 };
698
699 static const asn_INTEGER_enum_map_t asn_MAP_srs_PowerControlAdjustmentStates_value2enum_30[] = {
700         { 0,    10,     "sameAsFci2" },
701         { 1,    18,     "separateClosedLoop" }
702 };
703 static const unsigned int asn_MAP_srs_PowerControlAdjustmentStates_enum2value_30[] = {
704         0,      /* sameAsFci2(0) */
705         1       /* separateClosedLoop(1) */
706 };
707 static const asn_INTEGER_specifics_t asn_SPC_srs_PowerControlAdjustmentStates_specs_30 = {
708         asn_MAP_srs_PowerControlAdjustmentStates_value2enum_30, /* "tag" => N; sorted by tag */
709         asn_MAP_srs_PowerControlAdjustmentStates_enum2value_30, /* N => "tag"; sorted by N */
710         2,      /* Number of elements in the maps */
711         0,      /* Enumeration is not extensible */
712         1,      /* Strict enumeration */
713         0,      /* Native long size */
714         0
715 };
716 static const ber_tlv_tag_t asn_DEF_srs_PowerControlAdjustmentStates_tags_30[] = {
717         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
718         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
719 };
720 static /* Use -fall-defs-global to expose */
721 asn_TYPE_descriptor_t asn_DEF_srs_PowerControlAdjustmentStates_30 = {
722         "srs-PowerControlAdjustmentStates",
723         "srs-PowerControlAdjustmentStates",
724         &asn_OP_NativeEnumerated,
725         asn_DEF_srs_PowerControlAdjustmentStates_tags_30,
726         sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30)
727                 /sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30[0]) - 1, /* 1 */
728         asn_DEF_srs_PowerControlAdjustmentStates_tags_30,       /* Same as above */
729         sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30)
730                 /sizeof(asn_DEF_srs_PowerControlAdjustmentStates_tags_30[0]), /* 2 */
731         { &asn_OER_type_srs_PowerControlAdjustmentStates_constr_30, &asn_PER_type_srs_PowerControlAdjustmentStates_constr_30, NativeEnumerated_constraint },
732         0, 0,   /* Defined elsewhere */
733         &asn_SPC_srs_PowerControlAdjustmentStates_specs_30      /* Additional specs */
734 };
735
736 asn_TYPE_member_t asn_MBR_SRS_ResourceSet_1[] = {
737         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, srs_ResourceSetId),
738                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
739                 -1,     /* IMPLICIT tag at current level */
740                 &asn_DEF_SRS_ResourceSetId,
741                 0,
742                 { 0, 0, 0 },
743                 0, 0, /* No default value */
744                 "srs-ResourceSetId"
745                 },
746         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet, srs_ResourceIdList),
747                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
748                 0,
749                 &asn_DEF_srs_ResourceIdList_3,
750                 0,
751                 { &asn_OER_memb_srs_ResourceIdList_constr_3, &asn_PER_memb_srs_ResourceIdList_constr_3,  memb_srs_ResourceIdList_constraint_1 },
752                 0, 0, /* No default value */
753                 "srs-ResourceIdList"
754                 },
755         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, resourceType),
756                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
757                 +1,     /* EXPLICIT tag at current level */
758                 &asn_DEF_resourceType_5,
759                 0,
760                 { 0, 0, 0 },
761                 0, 0, /* No default value */
762                 "resourceType"
763                 },
764         { ATF_NOFLAGS, 0, offsetof(struct SRS_ResourceSet, usage),
765                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
766                 -1,     /* IMPLICIT tag at current level */
767                 &asn_DEF_usage_20,
768                 0,
769                 { 0, 0, 0 },
770                 0, 0, /* No default value */
771                 "usage"
772                 },
773         { ATF_POINTER, 4, offsetof(struct SRS_ResourceSet, alpha),
774                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
775                 -1,     /* IMPLICIT tag at current level */
776                 &asn_DEF_Alpha,
777                 0,
778                 { 0, 0, 0 },
779                 0, 0, /* No default value */
780                 "alpha"
781                 },
782         { ATF_POINTER, 3, offsetof(struct SRS_ResourceSet, p0),
783                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
784                 -1,     /* IMPLICIT tag at current level */
785                 &asn_DEF_NativeInteger,
786                 0,
787                 { &asn_OER_memb_p0_constr_26, &asn_PER_memb_p0_constr_26,  memb_p0_constraint_1 },
788                 0, 0, /* No default value */
789                 "p0"
790                 },
791         { ATF_POINTER, 2, offsetof(struct SRS_ResourceSet, pathlossReferenceRS),
792                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
793                 +1,     /* EXPLICIT tag at current level */
794                 &asn_DEF_pathlossReferenceRS_27,
795                 0,
796                 { 0, 0, 0 },
797                 0, 0, /* No default value */
798                 "pathlossReferenceRS"
799                 },
800         { ATF_POINTER, 1, offsetof(struct SRS_ResourceSet, srs_PowerControlAdjustmentStates),
801                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
802                 -1,     /* IMPLICIT tag at current level */
803                 &asn_DEF_srs_PowerControlAdjustmentStates_30,
804                 0,
805                 { 0, 0, 0 },
806                 0, 0, /* No default value */
807                 "srs-PowerControlAdjustmentStates"
808                 },
809 };
810 static const int asn_MAP_SRS_ResourceSet_oms_1[] = { 1, 4, 5, 6, 7 };
811 static const ber_tlv_tag_t asn_DEF_SRS_ResourceSet_tags_1[] = {
812         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
813 };
814 static const asn_TYPE_tag2member_t asn_MAP_SRS_ResourceSet_tag2el_1[] = {
815     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* srs-ResourceSetId */
816     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* srs-ResourceIdList */
817     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resourceType */
818     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* usage */
819     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* alpha */
820     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* p0 */
821     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* pathlossReferenceRS */
822     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* srs-PowerControlAdjustmentStates */
823 };
824 asn_SEQUENCE_specifics_t asn_SPC_SRS_ResourceSet_specs_1 = {
825         sizeof(struct SRS_ResourceSet),
826         offsetof(struct SRS_ResourceSet, _asn_ctx),
827         asn_MAP_SRS_ResourceSet_tag2el_1,
828         8,      /* Count of tags in the map */
829         asn_MAP_SRS_ResourceSet_oms_1,  /* Optional members */
830         5, 0,   /* Root/Additions */
831         8,      /* First extension addition */
832 };
833 asn_TYPE_descriptor_t asn_DEF_SRS_ResourceSet = {
834         "SRS-ResourceSet",
835         "SRS-ResourceSet",
836         &asn_OP_SEQUENCE,
837         asn_DEF_SRS_ResourceSet_tags_1,
838         sizeof(asn_DEF_SRS_ResourceSet_tags_1)
839                 /sizeof(asn_DEF_SRS_ResourceSet_tags_1[0]), /* 1 */
840         asn_DEF_SRS_ResourceSet_tags_1, /* Same as above */
841         sizeof(asn_DEF_SRS_ResourceSet_tags_1)
842                 /sizeof(asn_DEF_SRS_ResourceSet_tags_1[0]), /* 1 */
843         { 0, 0, SEQUENCE_constraint },
844         asn_MBR_SRS_ResourceSet_1,
845         8,      /* Elements count */
846         &asn_SPC_SRS_ResourceSet_specs_1        /* Additional specs */
847 };
848