[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / SRS-Resource.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "SRS-Resource.h"
9
10 #include "SRS-SpatialRelationInfo.h"
11 /*
12  * This type is implemented using NativeEnumerated,
13  * so here we adjust the DEF accordingly.
14  */
15 /*
16  * This type is implemented using NativeEnumerated,
17  * so here we adjust the DEF accordingly.
18  */
19 static int
20 memb_combOffset_n2_constraint_11(const asn_TYPE_descriptor_t *td, const void *sptr,
21                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
22         long value;
23         
24         if(!sptr) {
25                 ASN__CTFAIL(app_key, td, sptr,
26                         "%s: value not given (%s:%d)",
27                         td->name, __FILE__, __LINE__);
28                 return -1;
29         }
30         
31         value = *(const long *)sptr;
32         
33         if((value >= 0 && value <= 1)) {
34                 /* Constraint check succeeded */
35                 return 0;
36         } else {
37                 ASN__CTFAIL(app_key, td, sptr,
38                         "%s: constraint failed (%s:%d)",
39                         td->name, __FILE__, __LINE__);
40                 return -1;
41         }
42 }
43
44 static int
45 memb_cyclicShift_n2_constraint_11(const asn_TYPE_descriptor_t *td, const void *sptr,
46                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
47         long value;
48         
49         if(!sptr) {
50                 ASN__CTFAIL(app_key, td, sptr,
51                         "%s: value not given (%s:%d)",
52                         td->name, __FILE__, __LINE__);
53                 return -1;
54         }
55         
56         value = *(const long *)sptr;
57         
58         if((value >= 0 && value <= 7)) {
59                 /* Constraint check succeeded */
60                 return 0;
61         } else {
62                 ASN__CTFAIL(app_key, td, sptr,
63                         "%s: constraint failed (%s:%d)",
64                         td->name, __FILE__, __LINE__);
65                 return -1;
66         }
67 }
68
69 static int
70 memb_combOffset_n4_constraint_14(const asn_TYPE_descriptor_t *td, const void *sptr,
71                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
72         long value;
73         
74         if(!sptr) {
75                 ASN__CTFAIL(app_key, td, sptr,
76                         "%s: value not given (%s:%d)",
77                         td->name, __FILE__, __LINE__);
78                 return -1;
79         }
80         
81         value = *(const long *)sptr;
82         
83         if((value >= 0 && value <= 3)) {
84                 /* Constraint check succeeded */
85                 return 0;
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_cyclicShift_n4_constraint_14(const asn_TYPE_descriptor_t *td, const void *sptr,
96                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
97         long value;
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         value = *(const long *)sptr;
107         
108         if((value >= 0 && value <= 11)) {
109                 /* Constraint check succeeded */
110                 return 0;
111         } else {
112                 ASN__CTFAIL(app_key, td, sptr,
113                         "%s: constraint failed (%s:%d)",
114                         td->name, __FILE__, __LINE__);
115                 return -1;
116         }
117 }
118
119 /*
120  * This type is implemented using NativeEnumerated,
121  * so here we adjust the DEF accordingly.
122  */
123 /*
124  * This type is implemented using NativeEnumerated,
125  * so here we adjust the DEF accordingly.
126  */
127 static int
128 memb_startPosition_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr,
129                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
130         long value;
131         
132         if(!sptr) {
133                 ASN__CTFAIL(app_key, td, sptr,
134                         "%s: value not given (%s:%d)",
135                         td->name, __FILE__, __LINE__);
136                 return -1;
137         }
138         
139         value = *(const long *)sptr;
140         
141         if((value >= 0 && value <= 5)) {
142                 /* Constraint check succeeded */
143                 return 0;
144         } else {
145                 ASN__CTFAIL(app_key, td, sptr,
146                         "%s: constraint failed (%s:%d)",
147                         td->name, __FILE__, __LINE__);
148                 return -1;
149         }
150 }
151
152 static int
153 memb_c_SRS_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr,
154                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
155         long value;
156         
157         if(!sptr) {
158                 ASN__CTFAIL(app_key, td, sptr,
159                         "%s: value not given (%s:%d)",
160                         td->name, __FILE__, __LINE__);
161                 return -1;
162         }
163         
164         value = *(const long *)sptr;
165         
166         if((value >= 0 && value <= 63)) {
167                 /* Constraint check succeeded */
168                 return 0;
169         } else {
170                 ASN__CTFAIL(app_key, td, sptr,
171                         "%s: constraint failed (%s:%d)",
172                         td->name, __FILE__, __LINE__);
173                 return -1;
174         }
175 }
176
177 static int
178 memb_b_SRS_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr,
179                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
180         long value;
181         
182         if(!sptr) {
183                 ASN__CTFAIL(app_key, td, sptr,
184                         "%s: value not given (%s:%d)",
185                         td->name, __FILE__, __LINE__);
186                 return -1;
187         }
188         
189         value = *(const long *)sptr;
190         
191         if((value >= 0 && value <= 3)) {
192                 /* Constraint check succeeded */
193                 return 0;
194         } else {
195                 ASN__CTFAIL(app_key, td, sptr,
196                         "%s: constraint failed (%s:%d)",
197                         td->name, __FILE__, __LINE__);
198                 return -1;
199         }
200 }
201
202 static int
203 memb_b_hop_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr,
204                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
205         long value;
206         
207         if(!sptr) {
208                 ASN__CTFAIL(app_key, td, sptr,
209                         "%s: value not given (%s:%d)",
210                         td->name, __FILE__, __LINE__);
211                 return -1;
212         }
213         
214         value = *(const long *)sptr;
215         
216         if((value >= 0 && value <= 3)) {
217                 /* Constraint check succeeded */
218                 return 0;
219         } else {
220                 ASN__CTFAIL(app_key, td, sptr,
221                         "%s: constraint failed (%s:%d)",
222                         td->name, __FILE__, __LINE__);
223                 return -1;
224         }
225 }
226
227 /*
228  * This type is implemented using NativeEnumerated,
229  * so here we adjust the DEF accordingly.
230  */
231 static int
232 memb_freqDomainPosition_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
233                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
234         long value;
235         
236         if(!sptr) {
237                 ASN__CTFAIL(app_key, td, sptr,
238                         "%s: value not given (%s:%d)",
239                         td->name, __FILE__, __LINE__);
240                 return -1;
241         }
242         
243         value = *(const long *)sptr;
244         
245         if((value >= 0 && value <= 67)) {
246                 /* Constraint check succeeded */
247                 return 0;
248         } else {
249                 ASN__CTFAIL(app_key, td, sptr,
250                         "%s: constraint failed (%s:%d)",
251                         td->name, __FILE__, __LINE__);
252                 return -1;
253         }
254 }
255
256 static int
257 memb_freqDomainShift_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
258                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
259         long value;
260         
261         if(!sptr) {
262                 ASN__CTFAIL(app_key, td, sptr,
263                         "%s: value not given (%s:%d)",
264                         td->name, __FILE__, __LINE__);
265                 return -1;
266         }
267         
268         value = *(const long *)sptr;
269         
270         if((value >= 0 && value <= 268)) {
271                 /* Constraint check succeeded */
272                 return 0;
273         } else {
274                 ASN__CTFAIL(app_key, td, sptr,
275                         "%s: constraint failed (%s:%d)",
276                         td->name, __FILE__, __LINE__);
277                 return -1;
278         }
279 }
280
281 static int
282 memb_sequenceId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
283                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
284         long value;
285         
286         if(!sptr) {
287                 ASN__CTFAIL(app_key, td, sptr,
288                         "%s: value not given (%s:%d)",
289                         td->name, __FILE__, __LINE__);
290                 return -1;
291         }
292         
293         value = *(const long *)sptr;
294         
295         if((value >= 0 && value <= 1023)) {
296                 /* Constraint check succeeded */
297                 return 0;
298         } else {
299                 ASN__CTFAIL(app_key, td, sptr,
300                         "%s: constraint failed (%s:%d)",
301                         td->name, __FILE__, __LINE__);
302                 return -1;
303         }
304 }
305
306 static asn_oer_constraints_t asn_OER_type_nrofSRS_Ports_constr_3 CC_NOTUSED = {
307         { 0, 0 },
308         -1};
309 static asn_per_constraints_t asn_PER_type_nrofSRS_Ports_constr_3 CC_NOTUSED = {
310         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
311         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
312         0, 0    /* No PER value map */
313 };
314 static asn_oer_constraints_t asn_OER_type_ptrs_PortIndex_constr_7 CC_NOTUSED = {
315         { 0, 0 },
316         -1};
317 static asn_per_constraints_t asn_PER_type_ptrs_PortIndex_constr_7 CC_NOTUSED = {
318         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
319         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
320         0, 0    /* No PER value map */
321 };
322 static asn_oer_constraints_t asn_OER_memb_combOffset_n2_constr_12 CC_NOTUSED = {
323         { 1, 1 }        /* (0..1) */,
324         -1};
325 static asn_per_constraints_t asn_PER_memb_combOffset_n2_constr_12 CC_NOTUSED = {
326         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
327         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
328         0, 0    /* No PER value map */
329 };
330 static asn_oer_constraints_t asn_OER_memb_cyclicShift_n2_constr_13 CC_NOTUSED = {
331         { 1, 1 }        /* (0..7) */,
332         -1};
333 static asn_per_constraints_t asn_PER_memb_cyclicShift_n2_constr_13 CC_NOTUSED = {
334         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
335         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
336         0, 0    /* No PER value map */
337 };
338 static asn_oer_constraints_t asn_OER_memb_combOffset_n4_constr_15 CC_NOTUSED = {
339         { 1, 1 }        /* (0..3) */,
340         -1};
341 static asn_per_constraints_t asn_PER_memb_combOffset_n4_constr_15 CC_NOTUSED = {
342         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
343         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
344         0, 0    /* No PER value map */
345 };
346 static asn_oer_constraints_t asn_OER_memb_cyclicShift_n4_constr_16 CC_NOTUSED = {
347         { 1, 1 }        /* (0..11) */,
348         -1};
349 static asn_per_constraints_t asn_PER_memb_cyclicShift_n4_constr_16 CC_NOTUSED = {
350         { APC_CONSTRAINED,       4,  4,  0,  11 }       /* (0..11) */,
351         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
352         0, 0    /* No PER value map */
353 };
354 static asn_oer_constraints_t asn_OER_type_transmissionComb_constr_10 CC_NOTUSED = {
355         { 0, 0 },
356         -1};
357 static asn_per_constraints_t asn_PER_type_transmissionComb_constr_10 CC_NOTUSED = {
358         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
359         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
360         0, 0    /* No PER value map */
361 };
362 static asn_oer_constraints_t asn_OER_type_nrofSymbols_constr_19 CC_NOTUSED = {
363         { 0, 0 },
364         -1};
365 static asn_per_constraints_t asn_PER_type_nrofSymbols_constr_19 CC_NOTUSED = {
366         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
367         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
368         0, 0    /* No PER value map */
369 };
370 static asn_oer_constraints_t asn_OER_type_repetitionFactor_constr_23 CC_NOTUSED = {
371         { 0, 0 },
372         -1};
373 static asn_per_constraints_t asn_PER_type_repetitionFactor_constr_23 CC_NOTUSED = {
374         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
375         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
376         0, 0    /* No PER value map */
377 };
378 static asn_oer_constraints_t asn_OER_memb_startPosition_constr_18 CC_NOTUSED = {
379         { 1, 1 }        /* (0..5) */,
380         -1};
381 static asn_per_constraints_t asn_PER_memb_startPosition_constr_18 CC_NOTUSED = {
382         { APC_CONSTRAINED,       3,  3,  0,  5 }        /* (0..5) */,
383         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
384         0, 0    /* No PER value map */
385 };
386 static asn_oer_constraints_t asn_OER_memb_c_SRS_constr_30 CC_NOTUSED = {
387         { 1, 1 }        /* (0..63) */,
388         -1};
389 static asn_per_constraints_t asn_PER_memb_c_SRS_constr_30 CC_NOTUSED = {
390         { APC_CONSTRAINED,       6,  6,  0,  63 }       /* (0..63) */,
391         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
392         0, 0    /* No PER value map */
393 };
394 static asn_oer_constraints_t asn_OER_memb_b_SRS_constr_31 CC_NOTUSED = {
395         { 1, 1 }        /* (0..3) */,
396         -1};
397 static asn_per_constraints_t asn_PER_memb_b_SRS_constr_31 CC_NOTUSED = {
398         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
399         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
400         0, 0    /* No PER value map */
401 };
402 static asn_oer_constraints_t asn_OER_memb_b_hop_constr_32 CC_NOTUSED = {
403         { 1, 1 }        /* (0..3) */,
404         -1};
405 static asn_per_constraints_t asn_PER_memb_b_hop_constr_32 CC_NOTUSED = {
406         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
407         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
408         0, 0    /* No PER value map */
409 };
410 static asn_oer_constraints_t asn_OER_type_groupOrSequenceHopping_constr_33 CC_NOTUSED = {
411         { 0, 0 },
412         -1};
413 static asn_per_constraints_t asn_PER_type_groupOrSequenceHopping_constr_33 CC_NOTUSED = {
414         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
415         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
416         0, 0    /* No PER value map */
417 };
418 static asn_oer_constraints_t asn_OER_type_resourceType_constr_37 CC_NOTUSED = {
419         { 0, 0 },
420         -1};
421 static asn_per_constraints_t asn_PER_type_resourceType_constr_37 CC_NOTUSED = {
422         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
423         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
424         0, 0    /* No PER value map */
425 };
426 static asn_oer_constraints_t asn_OER_memb_freqDomainPosition_constr_27 CC_NOTUSED = {
427         { 1, 1 }        /* (0..67) */,
428         -1};
429 static asn_per_constraints_t asn_PER_memb_freqDomainPosition_constr_27 CC_NOTUSED = {
430         { APC_CONSTRAINED,       7,  7,  0,  67 }       /* (0..67) */,
431         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
432         0, 0    /* No PER value map */
433 };
434 static asn_oer_constraints_t asn_OER_memb_freqDomainShift_constr_28 CC_NOTUSED = {
435         { 2, 1 }        /* (0..268) */,
436         -1};
437 static asn_per_constraints_t asn_PER_memb_freqDomainShift_constr_28 CC_NOTUSED = {
438         { APC_CONSTRAINED,       9,  9,  0,  268 }      /* (0..268) */,
439         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
440         0, 0    /* No PER value map */
441 };
442 static asn_oer_constraints_t asn_OER_memb_sequenceId_constr_46 CC_NOTUSED = {
443         { 2, 1 }        /* (0..1023) */,
444         -1};
445 static asn_per_constraints_t asn_PER_memb_sequenceId_constr_46 CC_NOTUSED = {
446         { APC_CONSTRAINED,       10,  10,  0,  1023 }   /* (0..1023) */,
447         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
448         0, 0    /* No PER value map */
449 };
450 static const asn_INTEGER_enum_map_t asn_MAP_nrofSRS_Ports_value2enum_3[] = {
451         { 0,    5,      "port1" },
452         { 1,    6,      "ports2" },
453         { 2,    6,      "ports4" }
454 };
455 static const unsigned int asn_MAP_nrofSRS_Ports_enum2value_3[] = {
456         0,      /* port1(0) */
457         1,      /* ports2(1) */
458         2       /* ports4(2) */
459 };
460 static const asn_INTEGER_specifics_t asn_SPC_nrofSRS_Ports_specs_3 = {
461         asn_MAP_nrofSRS_Ports_value2enum_3,     /* "tag" => N; sorted by tag */
462         asn_MAP_nrofSRS_Ports_enum2value_3,     /* N => "tag"; sorted by N */
463         3,      /* Number of elements in the maps */
464         0,      /* Enumeration is not extensible */
465         1,      /* Strict enumeration */
466         0,      /* Native long size */
467         0
468 };
469 static const ber_tlv_tag_t asn_DEF_nrofSRS_Ports_tags_3[] = {
470         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
471         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
472 };
473 static /* Use -fall-defs-global to expose */
474 asn_TYPE_descriptor_t asn_DEF_nrofSRS_Ports_3 = {
475         "nrofSRS-Ports",
476         "nrofSRS-Ports",
477         &asn_OP_NativeEnumerated,
478         asn_DEF_nrofSRS_Ports_tags_3,
479         sizeof(asn_DEF_nrofSRS_Ports_tags_3)
480                 /sizeof(asn_DEF_nrofSRS_Ports_tags_3[0]) - 1, /* 1 */
481         asn_DEF_nrofSRS_Ports_tags_3,   /* Same as above */
482         sizeof(asn_DEF_nrofSRS_Ports_tags_3)
483                 /sizeof(asn_DEF_nrofSRS_Ports_tags_3[0]), /* 2 */
484         { &asn_OER_type_nrofSRS_Ports_constr_3, &asn_PER_type_nrofSRS_Ports_constr_3, NativeEnumerated_constraint },
485         0, 0,   /* Defined elsewhere */
486         &asn_SPC_nrofSRS_Ports_specs_3  /* Additional specs */
487 };
488
489 static const asn_INTEGER_enum_map_t asn_MAP_ptrs_PortIndex_value2enum_7[] = {
490         { 0,    2,      "n0" },
491         { 1,    2,      "n1" }
492 };
493 static const unsigned int asn_MAP_ptrs_PortIndex_enum2value_7[] = {
494         0,      /* n0(0) */
495         1       /* n1(1) */
496 };
497 static const asn_INTEGER_specifics_t asn_SPC_ptrs_PortIndex_specs_7 = {
498         asn_MAP_ptrs_PortIndex_value2enum_7,    /* "tag" => N; sorted by tag */
499         asn_MAP_ptrs_PortIndex_enum2value_7,    /* N => "tag"; sorted by N */
500         2,      /* Number of elements in the maps */
501         0,      /* Enumeration is not extensible */
502         1,      /* Strict enumeration */
503         0,      /* Native long size */
504         0
505 };
506 static const ber_tlv_tag_t asn_DEF_ptrs_PortIndex_tags_7[] = {
507         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
508         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
509 };
510 static /* Use -fall-defs-global to expose */
511 asn_TYPE_descriptor_t asn_DEF_ptrs_PortIndex_7 = {
512         "ptrs-PortIndex",
513         "ptrs-PortIndex",
514         &asn_OP_NativeEnumerated,
515         asn_DEF_ptrs_PortIndex_tags_7,
516         sizeof(asn_DEF_ptrs_PortIndex_tags_7)
517                 /sizeof(asn_DEF_ptrs_PortIndex_tags_7[0]) - 1, /* 1 */
518         asn_DEF_ptrs_PortIndex_tags_7,  /* Same as above */
519         sizeof(asn_DEF_ptrs_PortIndex_tags_7)
520                 /sizeof(asn_DEF_ptrs_PortIndex_tags_7[0]), /* 2 */
521         { &asn_OER_type_ptrs_PortIndex_constr_7, &asn_PER_type_ptrs_PortIndex_constr_7, NativeEnumerated_constraint },
522         0, 0,   /* Defined elsewhere */
523         &asn_SPC_ptrs_PortIndex_specs_7 /* Additional specs */
524 };
525
526 static asn_TYPE_member_t asn_MBR_n2_11[] = {
527         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n2, combOffset_n2),
528                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
529                 -1,     /* IMPLICIT tag at current level */
530                 &asn_DEF_NativeInteger,
531                 0,
532                 { &asn_OER_memb_combOffset_n2_constr_12, &asn_PER_memb_combOffset_n2_constr_12,  memb_combOffset_n2_constraint_11 },
533                 0, 0, /* No default value */
534                 "combOffset-n2"
535                 },
536         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n2, cyclicShift_n2),
537                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
538                 -1,     /* IMPLICIT tag at current level */
539                 &asn_DEF_NativeInteger,
540                 0,
541                 { &asn_OER_memb_cyclicShift_n2_constr_13, &asn_PER_memb_cyclicShift_n2_constr_13,  memb_cyclicShift_n2_constraint_11 },
542                 0, 0, /* No default value */
543                 "cyclicShift-n2"
544                 },
545 };
546 static const ber_tlv_tag_t asn_DEF_n2_tags_11[] = {
547         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
548         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
549 };
550 static const asn_TYPE_tag2member_t asn_MAP_n2_tag2el_11[] = {
551     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* combOffset-n2 */
552     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cyclicShift-n2 */
553 };
554 static asn_SEQUENCE_specifics_t asn_SPC_n2_specs_11 = {
555         sizeof(struct SRS_Resource__transmissionComb__n2),
556         offsetof(struct SRS_Resource__transmissionComb__n2, _asn_ctx),
557         asn_MAP_n2_tag2el_11,
558         2,      /* Count of tags in the map */
559         0, 0, 0,        /* Optional elements (not needed) */
560         -1,     /* First extension addition */
561 };
562 static /* Use -fall-defs-global to expose */
563 asn_TYPE_descriptor_t asn_DEF_n2_11 = {
564         "n2",
565         "n2",
566         &asn_OP_SEQUENCE,
567         asn_DEF_n2_tags_11,
568         sizeof(asn_DEF_n2_tags_11)
569                 /sizeof(asn_DEF_n2_tags_11[0]) - 1, /* 1 */
570         asn_DEF_n2_tags_11,     /* Same as above */
571         sizeof(asn_DEF_n2_tags_11)
572                 /sizeof(asn_DEF_n2_tags_11[0]), /* 2 */
573         { 0, 0, SEQUENCE_constraint },
574         asn_MBR_n2_11,
575         2,      /* Elements count */
576         &asn_SPC_n2_specs_11    /* Additional specs */
577 };
578
579 static asn_TYPE_member_t asn_MBR_n4_14[] = {
580         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n4, combOffset_n4),
581                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
582                 -1,     /* IMPLICIT tag at current level */
583                 &asn_DEF_NativeInteger,
584                 0,
585                 { &asn_OER_memb_combOffset_n4_constr_15, &asn_PER_memb_combOffset_n4_constr_15,  memb_combOffset_n4_constraint_14 },
586                 0, 0, /* No default value */
587                 "combOffset-n4"
588                 },
589         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n4, cyclicShift_n4),
590                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
591                 -1,     /* IMPLICIT tag at current level */
592                 &asn_DEF_NativeInteger,
593                 0,
594                 { &asn_OER_memb_cyclicShift_n4_constr_16, &asn_PER_memb_cyclicShift_n4_constr_16,  memb_cyclicShift_n4_constraint_14 },
595                 0, 0, /* No default value */
596                 "cyclicShift-n4"
597                 },
598 };
599 static const ber_tlv_tag_t asn_DEF_n4_tags_14[] = {
600         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
601         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
602 };
603 static const asn_TYPE_tag2member_t asn_MAP_n4_tag2el_14[] = {
604     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* combOffset-n4 */
605     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cyclicShift-n4 */
606 };
607 static asn_SEQUENCE_specifics_t asn_SPC_n4_specs_14 = {
608         sizeof(struct SRS_Resource__transmissionComb__n4),
609         offsetof(struct SRS_Resource__transmissionComb__n4, _asn_ctx),
610         asn_MAP_n4_tag2el_14,
611         2,      /* Count of tags in the map */
612         0, 0, 0,        /* Optional elements (not needed) */
613         -1,     /* First extension addition */
614 };
615 static /* Use -fall-defs-global to expose */
616 asn_TYPE_descriptor_t asn_DEF_n4_14 = {
617         "n4",
618         "n4",
619         &asn_OP_SEQUENCE,
620         asn_DEF_n4_tags_14,
621         sizeof(asn_DEF_n4_tags_14)
622                 /sizeof(asn_DEF_n4_tags_14[0]) - 1, /* 1 */
623         asn_DEF_n4_tags_14,     /* Same as above */
624         sizeof(asn_DEF_n4_tags_14)
625                 /sizeof(asn_DEF_n4_tags_14[0]), /* 2 */
626         { 0, 0, SEQUENCE_constraint },
627         asn_MBR_n4_14,
628         2,      /* Elements count */
629         &asn_SPC_n4_specs_14    /* Additional specs */
630 };
631
632 static asn_TYPE_member_t asn_MBR_transmissionComb_10[] = {
633         { ATF_POINTER, 0, offsetof(struct SRS_Resource__transmissionComb, choice.n2),
634                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
635                 0,
636                 &asn_DEF_n2_11,
637                 0,
638                 { 0, 0, 0 },
639                 0, 0, /* No default value */
640                 "n2"
641                 },
642         { ATF_POINTER, 0, offsetof(struct SRS_Resource__transmissionComb, choice.n4),
643                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
644                 0,
645                 &asn_DEF_n4_14,
646                 0,
647                 { 0, 0, 0 },
648                 0, 0, /* No default value */
649                 "n4"
650                 },
651 };
652 static const asn_TYPE_tag2member_t asn_MAP_transmissionComb_tag2el_10[] = {
653     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n2 */
654     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* n4 */
655 };
656 static asn_CHOICE_specifics_t asn_SPC_transmissionComb_specs_10 = {
657         sizeof(struct SRS_Resource__transmissionComb),
658         offsetof(struct SRS_Resource__transmissionComb, _asn_ctx),
659         offsetof(struct SRS_Resource__transmissionComb, present),
660         sizeof(((struct SRS_Resource__transmissionComb *)0)->present),
661         asn_MAP_transmissionComb_tag2el_10,
662         2,      /* Count of tags in the map */
663         0, 0,
664         -1      /* Extensions start */
665 };
666 static /* Use -fall-defs-global to expose */
667 asn_TYPE_descriptor_t asn_DEF_transmissionComb_10 = {
668         "transmissionComb",
669         "transmissionComb",
670         &asn_OP_CHOICE,
671         0,      /* No effective tags (pointer) */
672         0,      /* No effective tags (count) */
673         0,      /* No tags (pointer) */
674         0,      /* No tags (count) */
675         { &asn_OER_type_transmissionComb_constr_10, &asn_PER_type_transmissionComb_constr_10, CHOICE_constraint },
676         asn_MBR_transmissionComb_10,
677         2,      /* Elements count */
678         &asn_SPC_transmissionComb_specs_10      /* Additional specs */
679 };
680
681 static const asn_INTEGER_enum_map_t asn_MAP_nrofSymbols_value2enum_19[] = {
682         { 0,    2,      "n1" },
683         { 1,    2,      "n2" },
684         { 2,    2,      "n4" }
685 };
686 static const unsigned int asn_MAP_nrofSymbols_enum2value_19[] = {
687         0,      /* n1(0) */
688         1,      /* n2(1) */
689         2       /* n4(2) */
690 };
691 static const asn_INTEGER_specifics_t asn_SPC_nrofSymbols_specs_19 = {
692         asn_MAP_nrofSymbols_value2enum_19,      /* "tag" => N; sorted by tag */
693         asn_MAP_nrofSymbols_enum2value_19,      /* N => "tag"; sorted by N */
694         3,      /* Number of elements in the maps */
695         0,      /* Enumeration is not extensible */
696         1,      /* Strict enumeration */
697         0,      /* Native long size */
698         0
699 };
700 static const ber_tlv_tag_t asn_DEF_nrofSymbols_tags_19[] = {
701         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
702         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
703 };
704 static /* Use -fall-defs-global to expose */
705 asn_TYPE_descriptor_t asn_DEF_nrofSymbols_19 = {
706         "nrofSymbols",
707         "nrofSymbols",
708         &asn_OP_NativeEnumerated,
709         asn_DEF_nrofSymbols_tags_19,
710         sizeof(asn_DEF_nrofSymbols_tags_19)
711                 /sizeof(asn_DEF_nrofSymbols_tags_19[0]) - 1, /* 1 */
712         asn_DEF_nrofSymbols_tags_19,    /* Same as above */
713         sizeof(asn_DEF_nrofSymbols_tags_19)
714                 /sizeof(asn_DEF_nrofSymbols_tags_19[0]), /* 2 */
715         { &asn_OER_type_nrofSymbols_constr_19, &asn_PER_type_nrofSymbols_constr_19, NativeEnumerated_constraint },
716         0, 0,   /* Defined elsewhere */
717         &asn_SPC_nrofSymbols_specs_19   /* Additional specs */
718 };
719
720 static const asn_INTEGER_enum_map_t asn_MAP_repetitionFactor_value2enum_23[] = {
721         { 0,    2,      "n1" },
722         { 1,    2,      "n2" },
723         { 2,    2,      "n4" }
724 };
725 static const unsigned int asn_MAP_repetitionFactor_enum2value_23[] = {
726         0,      /* n1(0) */
727         1,      /* n2(1) */
728         2       /* n4(2) */
729 };
730 static const asn_INTEGER_specifics_t asn_SPC_repetitionFactor_specs_23 = {
731         asn_MAP_repetitionFactor_value2enum_23, /* "tag" => N; sorted by tag */
732         asn_MAP_repetitionFactor_enum2value_23, /* N => "tag"; sorted by N */
733         3,      /* Number of elements in the maps */
734         0,      /* Enumeration is not extensible */
735         1,      /* Strict enumeration */
736         0,      /* Native long size */
737         0
738 };
739 static const ber_tlv_tag_t asn_DEF_repetitionFactor_tags_23[] = {
740         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
741         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
742 };
743 static /* Use -fall-defs-global to expose */
744 asn_TYPE_descriptor_t asn_DEF_repetitionFactor_23 = {
745         "repetitionFactor",
746         "repetitionFactor",
747         &asn_OP_NativeEnumerated,
748         asn_DEF_repetitionFactor_tags_23,
749         sizeof(asn_DEF_repetitionFactor_tags_23)
750                 /sizeof(asn_DEF_repetitionFactor_tags_23[0]) - 1, /* 1 */
751         asn_DEF_repetitionFactor_tags_23,       /* Same as above */
752         sizeof(asn_DEF_repetitionFactor_tags_23)
753                 /sizeof(asn_DEF_repetitionFactor_tags_23[0]), /* 2 */
754         { &asn_OER_type_repetitionFactor_constr_23, &asn_PER_type_repetitionFactor_constr_23, NativeEnumerated_constraint },
755         0, 0,   /* Defined elsewhere */
756         &asn_SPC_repetitionFactor_specs_23      /* Additional specs */
757 };
758
759 static asn_TYPE_member_t asn_MBR_resourceMapping_17[] = {
760         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, startPosition),
761                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
762                 -1,     /* IMPLICIT tag at current level */
763                 &asn_DEF_NativeInteger,
764                 0,
765                 { &asn_OER_memb_startPosition_constr_18, &asn_PER_memb_startPosition_constr_18,  memb_startPosition_constraint_17 },
766                 0, 0, /* No default value */
767                 "startPosition"
768                 },
769         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, nrofSymbols),
770                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
771                 -1,     /* IMPLICIT tag at current level */
772                 &asn_DEF_nrofSymbols_19,
773                 0,
774                 { 0, 0, 0 },
775                 0, 0, /* No default value */
776                 "nrofSymbols"
777                 },
778         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, repetitionFactor),
779                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
780                 -1,     /* IMPLICIT tag at current level */
781                 &asn_DEF_repetitionFactor_23,
782                 0,
783                 { 0, 0, 0 },
784                 0, 0, /* No default value */
785                 "repetitionFactor"
786                 },
787 };
788 static const ber_tlv_tag_t asn_DEF_resourceMapping_tags_17[] = {
789         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
790         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
791 };
792 static const asn_TYPE_tag2member_t asn_MAP_resourceMapping_tag2el_17[] = {
793     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startPosition */
794     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrofSymbols */
795     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* repetitionFactor */
796 };
797 static asn_SEQUENCE_specifics_t asn_SPC_resourceMapping_specs_17 = {
798         sizeof(struct SRS_Resource__resourceMapping),
799         offsetof(struct SRS_Resource__resourceMapping, _asn_ctx),
800         asn_MAP_resourceMapping_tag2el_17,
801         3,      /* Count of tags in the map */
802         0, 0, 0,        /* Optional elements (not needed) */
803         -1,     /* First extension addition */
804 };
805 static /* Use -fall-defs-global to expose */
806 asn_TYPE_descriptor_t asn_DEF_resourceMapping_17 = {
807         "resourceMapping",
808         "resourceMapping",
809         &asn_OP_SEQUENCE,
810         asn_DEF_resourceMapping_tags_17,
811         sizeof(asn_DEF_resourceMapping_tags_17)
812                 /sizeof(asn_DEF_resourceMapping_tags_17[0]) - 1, /* 1 */
813         asn_DEF_resourceMapping_tags_17,        /* Same as above */
814         sizeof(asn_DEF_resourceMapping_tags_17)
815                 /sizeof(asn_DEF_resourceMapping_tags_17[0]), /* 2 */
816         { 0, 0, SEQUENCE_constraint },
817         asn_MBR_resourceMapping_17,
818         3,      /* Elements count */
819         &asn_SPC_resourceMapping_specs_17       /* Additional specs */
820 };
821
822 static asn_TYPE_member_t asn_MBR_freqHopping_29[] = {
823         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, c_SRS),
824                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
825                 -1,     /* IMPLICIT tag at current level */
826                 &asn_DEF_NativeInteger,
827                 0,
828                 { &asn_OER_memb_c_SRS_constr_30, &asn_PER_memb_c_SRS_constr_30,  memb_c_SRS_constraint_29 },
829                 0, 0, /* No default value */
830                 "c-SRS"
831                 },
832         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, b_SRS),
833                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
834                 -1,     /* IMPLICIT tag at current level */
835                 &asn_DEF_NativeInteger,
836                 0,
837                 { &asn_OER_memb_b_SRS_constr_31, &asn_PER_memb_b_SRS_constr_31,  memb_b_SRS_constraint_29 },
838                 0, 0, /* No default value */
839                 "b-SRS"
840                 },
841         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, b_hop),
842                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
843                 -1,     /* IMPLICIT tag at current level */
844                 &asn_DEF_NativeInteger,
845                 0,
846                 { &asn_OER_memb_b_hop_constr_32, &asn_PER_memb_b_hop_constr_32,  memb_b_hop_constraint_29 },
847                 0, 0, /* No default value */
848                 "b-hop"
849                 },
850 };
851 static const ber_tlv_tag_t asn_DEF_freqHopping_tags_29[] = {
852         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
853         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
854 };
855 static const asn_TYPE_tag2member_t asn_MAP_freqHopping_tag2el_29[] = {
856     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c-SRS */
857     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b-SRS */
858     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b-hop */
859 };
860 static asn_SEQUENCE_specifics_t asn_SPC_freqHopping_specs_29 = {
861         sizeof(struct SRS_Resource__freqHopping),
862         offsetof(struct SRS_Resource__freqHopping, _asn_ctx),
863         asn_MAP_freqHopping_tag2el_29,
864         3,      /* Count of tags in the map */
865         0, 0, 0,        /* Optional elements (not needed) */
866         -1,     /* First extension addition */
867 };
868 static /* Use -fall-defs-global to expose */
869 asn_TYPE_descriptor_t asn_DEF_freqHopping_29 = {
870         "freqHopping",
871         "freqHopping",
872         &asn_OP_SEQUENCE,
873         asn_DEF_freqHopping_tags_29,
874         sizeof(asn_DEF_freqHopping_tags_29)
875                 /sizeof(asn_DEF_freqHopping_tags_29[0]) - 1, /* 1 */
876         asn_DEF_freqHopping_tags_29,    /* Same as above */
877         sizeof(asn_DEF_freqHopping_tags_29)
878                 /sizeof(asn_DEF_freqHopping_tags_29[0]), /* 2 */
879         { 0, 0, SEQUENCE_constraint },
880         asn_MBR_freqHopping_29,
881         3,      /* Elements count */
882         &asn_SPC_freqHopping_specs_29   /* Additional specs */
883 };
884
885 static const asn_INTEGER_enum_map_t asn_MAP_groupOrSequenceHopping_value2enum_33[] = {
886         { 0,    7,      "neither" },
887         { 1,    12,     "groupHopping" },
888         { 2,    15,     "sequenceHopping" }
889 };
890 static const unsigned int asn_MAP_groupOrSequenceHopping_enum2value_33[] = {
891         1,      /* groupHopping(1) */
892         0,      /* neither(0) */
893         2       /* sequenceHopping(2) */
894 };
895 static const asn_INTEGER_specifics_t asn_SPC_groupOrSequenceHopping_specs_33 = {
896         asn_MAP_groupOrSequenceHopping_value2enum_33,   /* "tag" => N; sorted by tag */
897         asn_MAP_groupOrSequenceHopping_enum2value_33,   /* N => "tag"; sorted by N */
898         3,      /* Number of elements in the maps */
899         0,      /* Enumeration is not extensible */
900         1,      /* Strict enumeration */
901         0,      /* Native long size */
902         0
903 };
904 static const ber_tlv_tag_t asn_DEF_groupOrSequenceHopping_tags_33[] = {
905         (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
906         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
907 };
908 static /* Use -fall-defs-global to expose */
909 asn_TYPE_descriptor_t asn_DEF_groupOrSequenceHopping_33 = {
910         "groupOrSequenceHopping",
911         "groupOrSequenceHopping",
912         &asn_OP_NativeEnumerated,
913         asn_DEF_groupOrSequenceHopping_tags_33,
914         sizeof(asn_DEF_groupOrSequenceHopping_tags_33)
915                 /sizeof(asn_DEF_groupOrSequenceHopping_tags_33[0]) - 1, /* 1 */
916         asn_DEF_groupOrSequenceHopping_tags_33, /* Same as above */
917         sizeof(asn_DEF_groupOrSequenceHopping_tags_33)
918                 /sizeof(asn_DEF_groupOrSequenceHopping_tags_33[0]), /* 2 */
919         { &asn_OER_type_groupOrSequenceHopping_constr_33, &asn_PER_type_groupOrSequenceHopping_constr_33, NativeEnumerated_constraint },
920         0, 0,   /* Defined elsewhere */
921         &asn_SPC_groupOrSequenceHopping_specs_33        /* Additional specs */
922 };
923
924 static const ber_tlv_tag_t asn_DEF_aperiodic_tags_38[] = {
925         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
926         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
927 };
928 static asn_SEQUENCE_specifics_t asn_SPC_aperiodic_specs_38 = {
929         sizeof(struct SRS_Resource__resourceType__aperiodic),
930         offsetof(struct SRS_Resource__resourceType__aperiodic, _asn_ctx),
931         0,      /* No top level tags */
932         0,      /* No tags in the map */
933         0, 0, 0,        /* Optional elements (not needed) */
934         -1,     /* First extension addition */
935 };
936 static /* Use -fall-defs-global to expose */
937 asn_TYPE_descriptor_t asn_DEF_aperiodic_38 = {
938         "aperiodic",
939         "aperiodic",
940         &asn_OP_SEQUENCE,
941         asn_DEF_aperiodic_tags_38,
942         sizeof(asn_DEF_aperiodic_tags_38)
943                 /sizeof(asn_DEF_aperiodic_tags_38[0]) - 1, /* 1 */
944         asn_DEF_aperiodic_tags_38,      /* Same as above */
945         sizeof(asn_DEF_aperiodic_tags_38)
946                 /sizeof(asn_DEF_aperiodic_tags_38[0]), /* 2 */
947         { 0, 0, SEQUENCE_constraint },
948         0, 0,   /* No members */
949         &asn_SPC_aperiodic_specs_38     /* Additional specs */
950 };
951
952 static asn_TYPE_member_t asn_MBR_semi_persistent_40[] = {
953         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceType__semi_persistent, periodicityAndOffset_sp),
954                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
955                 +1,     /* EXPLICIT tag at current level */
956                 &asn_DEF_SRS_PeriodicityAndOffset,
957                 0,
958                 { 0, 0, 0 },
959                 0, 0, /* No default value */
960                 "periodicityAndOffset-sp"
961                 },
962 };
963 static const ber_tlv_tag_t asn_DEF_semi_persistent_tags_40[] = {
964         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
965         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
966 };
967 static const asn_TYPE_tag2member_t asn_MAP_semi_persistent_tag2el_40[] = {
968     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* periodicityAndOffset-sp */
969 };
970 static asn_SEQUENCE_specifics_t asn_SPC_semi_persistent_specs_40 = {
971         sizeof(struct SRS_Resource__resourceType__semi_persistent),
972         offsetof(struct SRS_Resource__resourceType__semi_persistent, _asn_ctx),
973         asn_MAP_semi_persistent_tag2el_40,
974         1,      /* Count of tags in the map */
975         0, 0, 0,        /* Optional elements (not needed) */
976         1,      /* First extension addition */
977 };
978 static /* Use -fall-defs-global to expose */
979 asn_TYPE_descriptor_t asn_DEF_semi_persistent_40 = {
980         "semi-persistent",
981         "semi-persistent",
982         &asn_OP_SEQUENCE,
983         asn_DEF_semi_persistent_tags_40,
984         sizeof(asn_DEF_semi_persistent_tags_40)
985                 /sizeof(asn_DEF_semi_persistent_tags_40[0]) - 1, /* 1 */
986         asn_DEF_semi_persistent_tags_40,        /* Same as above */
987         sizeof(asn_DEF_semi_persistent_tags_40)
988                 /sizeof(asn_DEF_semi_persistent_tags_40[0]), /* 2 */
989         { 0, 0, SEQUENCE_constraint },
990         asn_MBR_semi_persistent_40,
991         1,      /* Elements count */
992         &asn_SPC_semi_persistent_specs_40       /* Additional specs */
993 };
994
995 static asn_TYPE_member_t asn_MBR_periodic_43[] = {
996         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceType__periodic, periodicityAndOffset_p),
997                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
998                 +1,     /* EXPLICIT tag at current level */
999                 &asn_DEF_SRS_PeriodicityAndOffset,
1000                 0,
1001                 { 0, 0, 0 },
1002                 0, 0, /* No default value */
1003                 "periodicityAndOffset-p"
1004                 },
1005 };
1006 static const ber_tlv_tag_t asn_DEF_periodic_tags_43[] = {
1007         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1008         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1009 };
1010 static const asn_TYPE_tag2member_t asn_MAP_periodic_tag2el_43[] = {
1011     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* periodicityAndOffset-p */
1012 };
1013 static asn_SEQUENCE_specifics_t asn_SPC_periodic_specs_43 = {
1014         sizeof(struct SRS_Resource__resourceType__periodic),
1015         offsetof(struct SRS_Resource__resourceType__periodic, _asn_ctx),
1016         asn_MAP_periodic_tag2el_43,
1017         1,      /* Count of tags in the map */
1018         0, 0, 0,        /* Optional elements (not needed) */
1019         1,      /* First extension addition */
1020 };
1021 static /* Use -fall-defs-global to expose */
1022 asn_TYPE_descriptor_t asn_DEF_periodic_43 = {
1023         "periodic",
1024         "periodic",
1025         &asn_OP_SEQUENCE,
1026         asn_DEF_periodic_tags_43,
1027         sizeof(asn_DEF_periodic_tags_43)
1028                 /sizeof(asn_DEF_periodic_tags_43[0]) - 1, /* 1 */
1029         asn_DEF_periodic_tags_43,       /* Same as above */
1030         sizeof(asn_DEF_periodic_tags_43)
1031                 /sizeof(asn_DEF_periodic_tags_43[0]), /* 2 */
1032         { 0, 0, SEQUENCE_constraint },
1033         asn_MBR_periodic_43,
1034         1,      /* Elements count */
1035         &asn_SPC_periodic_specs_43      /* Additional specs */
1036 };
1037
1038 static asn_TYPE_member_t asn_MBR_resourceType_37[] = {
1039         { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.aperiodic),
1040                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1041                 0,
1042                 &asn_DEF_aperiodic_38,
1043                 0,
1044                 { 0, 0, 0 },
1045                 0, 0, /* No default value */
1046                 "aperiodic"
1047                 },
1048         { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.semi_persistent),
1049                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1050                 0,
1051                 &asn_DEF_semi_persistent_40,
1052                 0,
1053                 { 0, 0, 0 },
1054                 0, 0, /* No default value */
1055                 "semi-persistent"
1056                 },
1057         { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.periodic),
1058                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1059                 0,
1060                 &asn_DEF_periodic_43,
1061                 0,
1062                 { 0, 0, 0 },
1063                 0, 0, /* No default value */
1064                 "periodic"
1065                 },
1066 };
1067 static const asn_TYPE_tag2member_t asn_MAP_resourceType_tag2el_37[] = {
1068     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodic */
1069     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semi-persistent */
1070     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* periodic */
1071 };
1072 static asn_CHOICE_specifics_t asn_SPC_resourceType_specs_37 = {
1073         sizeof(struct SRS_Resource__resourceType),
1074         offsetof(struct SRS_Resource__resourceType, _asn_ctx),
1075         offsetof(struct SRS_Resource__resourceType, present),
1076         sizeof(((struct SRS_Resource__resourceType *)0)->present),
1077         asn_MAP_resourceType_tag2el_37,
1078         3,      /* Count of tags in the map */
1079         0, 0,
1080         -1      /* Extensions start */
1081 };
1082 static /* Use -fall-defs-global to expose */
1083 asn_TYPE_descriptor_t asn_DEF_resourceType_37 = {
1084         "resourceType",
1085         "resourceType",
1086         &asn_OP_CHOICE,
1087         0,      /* No effective tags (pointer) */
1088         0,      /* No effective tags (count) */
1089         0,      /* No tags (pointer) */
1090         0,      /* No tags (count) */
1091         { &asn_OER_type_resourceType_constr_37, &asn_PER_type_resourceType_constr_37, CHOICE_constraint },
1092         asn_MBR_resourceType_37,
1093         3,      /* Elements count */
1094         &asn_SPC_resourceType_specs_37  /* Additional specs */
1095 };
1096
1097 asn_TYPE_member_t asn_MBR_SRS_Resource_1[] = {
1098         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, srs_ResourceId),
1099                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1100                 -1,     /* IMPLICIT tag at current level */
1101                 &asn_DEF_SRS_ResourceId,
1102                 0,
1103                 { 0, 0, 0 },
1104                 0, 0, /* No default value */
1105                 "srs-ResourceId"
1106                 },
1107         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, nrofSRS_Ports),
1108                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1109                 -1,     /* IMPLICIT tag at current level */
1110                 &asn_DEF_nrofSRS_Ports_3,
1111                 0,
1112                 { 0, 0, 0 },
1113                 0, 0, /* No default value */
1114                 "nrofSRS-Ports"
1115                 },
1116         { ATF_POINTER, 1, offsetof(struct SRS_Resource, ptrs_PortIndex),
1117                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1118                 -1,     /* IMPLICIT tag at current level */
1119                 &asn_DEF_ptrs_PortIndex_7,
1120                 0,
1121                 { 0, 0, 0 },
1122                 0, 0, /* No default value */
1123                 "ptrs-PortIndex"
1124                 },
1125         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, transmissionComb),
1126                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1127                 +1,     /* EXPLICIT tag at current level */
1128                 &asn_DEF_transmissionComb_10,
1129                 0,
1130                 { 0, 0, 0 },
1131                 0, 0, /* No default value */
1132                 "transmissionComb"
1133                 },
1134         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, resourceMapping),
1135                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1136                 0,
1137                 &asn_DEF_resourceMapping_17,
1138                 0,
1139                 { 0, 0, 0 },
1140                 0, 0, /* No default value */
1141                 "resourceMapping"
1142                 },
1143         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqDomainPosition),
1144                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1145                 -1,     /* IMPLICIT tag at current level */
1146                 &asn_DEF_NativeInteger,
1147                 0,
1148                 { &asn_OER_memb_freqDomainPosition_constr_27, &asn_PER_memb_freqDomainPosition_constr_27,  memb_freqDomainPosition_constraint_1 },
1149                 0, 0, /* No default value */
1150                 "freqDomainPosition"
1151                 },
1152         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqDomainShift),
1153                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1154                 -1,     /* IMPLICIT tag at current level */
1155                 &asn_DEF_NativeInteger,
1156                 0,
1157                 { &asn_OER_memb_freqDomainShift_constr_28, &asn_PER_memb_freqDomainShift_constr_28,  memb_freqDomainShift_constraint_1 },
1158                 0, 0, /* No default value */
1159                 "freqDomainShift"
1160                 },
1161         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqHopping),
1162                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1163                 0,
1164                 &asn_DEF_freqHopping_29,
1165                 0,
1166                 { 0, 0, 0 },
1167                 0, 0, /* No default value */
1168                 "freqHopping"
1169                 },
1170         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, groupOrSequenceHopping),
1171                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1172                 -1,     /* IMPLICIT tag at current level */
1173                 &asn_DEF_groupOrSequenceHopping_33,
1174                 0,
1175                 { 0, 0, 0 },
1176                 0, 0, /* No default value */
1177                 "groupOrSequenceHopping"
1178                 },
1179         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, resourceType),
1180                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1181                 +1,     /* EXPLICIT tag at current level */
1182                 &asn_DEF_resourceType_37,
1183                 0,
1184                 { 0, 0, 0 },
1185                 0, 0, /* No default value */
1186                 "resourceType"
1187                 },
1188         { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, sequenceId),
1189                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1190                 -1,     /* IMPLICIT tag at current level */
1191                 &asn_DEF_NativeInteger,
1192                 0,
1193                 { &asn_OER_memb_sequenceId_constr_46, &asn_PER_memb_sequenceId_constr_46,  memb_sequenceId_constraint_1 },
1194                 0, 0, /* No default value */
1195                 "sequenceId"
1196                 },
1197         { ATF_POINTER, 1, offsetof(struct SRS_Resource, spatialRelationInfo),
1198                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1199                 -1,     /* IMPLICIT tag at current level */
1200                 &asn_DEF_SRS_SpatialRelationInfo,
1201                 0,
1202                 { 0, 0, 0 },
1203                 0, 0, /* No default value */
1204                 "spatialRelationInfo"
1205                 },
1206 };
1207 static const int asn_MAP_SRS_Resource_oms_1[] = { 2, 11 };
1208 static const ber_tlv_tag_t asn_DEF_SRS_Resource_tags_1[] = {
1209         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1210 };
1211 static const asn_TYPE_tag2member_t asn_MAP_SRS_Resource_tag2el_1[] = {
1212     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* srs-ResourceId */
1213     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrofSRS-Ports */
1214     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ptrs-PortIndex */
1215     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transmissionComb */
1216     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* resourceMapping */
1217     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* freqDomainPosition */
1218     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* freqDomainShift */
1219     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* freqHopping */
1220     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* groupOrSequenceHopping */
1221     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* resourceType */
1222     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sequenceId */
1223     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* spatialRelationInfo */
1224 };
1225 asn_SEQUENCE_specifics_t asn_SPC_SRS_Resource_specs_1 = {
1226         sizeof(struct SRS_Resource),
1227         offsetof(struct SRS_Resource, _asn_ctx),
1228         asn_MAP_SRS_Resource_tag2el_1,
1229         12,     /* Count of tags in the map */
1230         asn_MAP_SRS_Resource_oms_1,     /* Optional members */
1231         2, 0,   /* Root/Additions */
1232         12,     /* First extension addition */
1233 };
1234 asn_TYPE_descriptor_t asn_DEF_SRS_Resource = {
1235         "SRS-Resource",
1236         "SRS-Resource",
1237         &asn_OP_SEQUENCE,
1238         asn_DEF_SRS_Resource_tags_1,
1239         sizeof(asn_DEF_SRS_Resource_tags_1)
1240                 /sizeof(asn_DEF_SRS_Resource_tags_1[0]), /* 1 */
1241         asn_DEF_SRS_Resource_tags_1,    /* Same as above */
1242         sizeof(asn_DEF_SRS_Resource_tags_1)
1243                 /sizeof(asn_DEF_SRS_Resource_tags_1[0]), /* 1 */
1244         { 0, 0, SEQUENCE_constraint },
1245         asn_MBR_SRS_Resource_1,
1246         12,     /* Elements count */
1247         &asn_SPC_SRS_Resource_specs_1   /* Additional specs */
1248 };
1249