[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / PUCCH-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 "../../../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 "PUCCH-Resource.h"
9
10 #include "PUCCH-format0.h"
11 #include "PUCCH-format1.h"
12 #include "PUCCH-format2.h"
13 #include "PUCCH-format3.h"
14 #include "PUCCH-format4.h"
15 /*
16  * This type is implemented using NativeEnumerated,
17  * so here we adjust the DEF accordingly.
18  */
19 static asn_oer_constraints_t asn_OER_type_intraSlotFrequencyHopping_constr_4 CC_NOTUSED = {
20         { 0, 0 },
21         -1};
22 static asn_per_constraints_t asn_PER_type_intraSlotFrequencyHopping_constr_4 CC_NOTUSED = {
23         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
24         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
25         0, 0    /* No PER value map */
26 };
27 static asn_oer_constraints_t asn_OER_type_format_constr_7 CC_NOTUSED = {
28         { 0, 0 },
29         -1};
30 static asn_per_constraints_t asn_PER_type_format_constr_7 CC_NOTUSED = {
31         { APC_CONSTRAINED,       3,  3,  0,  4 }        /* (0..4) */,
32         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
33         0, 0    /* No PER value map */
34 };
35 static const asn_INTEGER_enum_map_t asn_MAP_intraSlotFrequencyHopping_value2enum_4[] = {
36         { 0,    7,      "enabled" }
37 };
38 static const unsigned int asn_MAP_intraSlotFrequencyHopping_enum2value_4[] = {
39         0       /* enabled(0) */
40 };
41 static const asn_INTEGER_specifics_t asn_SPC_intraSlotFrequencyHopping_specs_4 = {
42         asn_MAP_intraSlotFrequencyHopping_value2enum_4, /* "tag" => N; sorted by tag */
43         asn_MAP_intraSlotFrequencyHopping_enum2value_4, /* N => "tag"; sorted by N */
44         1,      /* Number of elements in the maps */
45         0,      /* Enumeration is not extensible */
46         1,      /* Strict enumeration */
47         0,      /* Native long size */
48         0
49 };
50 static const ber_tlv_tag_t asn_DEF_intraSlotFrequencyHopping_tags_4[] = {
51         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
52         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
53 };
54 static /* Use -fall-defs-global to expose */
55 asn_TYPE_descriptor_t asn_DEF_intraSlotFrequencyHopping_4 = {
56         "intraSlotFrequencyHopping",
57         "intraSlotFrequencyHopping",
58         &asn_OP_NativeEnumerated,
59         asn_DEF_intraSlotFrequencyHopping_tags_4,
60         sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4)
61                 /sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4[0]) - 1, /* 1 */
62         asn_DEF_intraSlotFrequencyHopping_tags_4,       /* Same as above */
63         sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4)
64                 /sizeof(asn_DEF_intraSlotFrequencyHopping_tags_4[0]), /* 2 */
65         { &asn_OER_type_intraSlotFrequencyHopping_constr_4, &asn_PER_type_intraSlotFrequencyHopping_constr_4, NativeEnumerated_constraint },
66         0, 0,   /* Defined elsewhere */
67         &asn_SPC_intraSlotFrequencyHopping_specs_4      /* Additional specs */
68 };
69
70 static asn_TYPE_member_t asn_MBR_format_7[] = {
71         { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format0),
72                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
73                 -1,     /* IMPLICIT tag at current level */
74                 &asn_DEF_PUCCH_format0,
75                 0,
76                 { 0, 0, 0 },
77                 0, 0, /* No default value */
78                 "format0"
79                 },
80         { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format1),
81                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
82                 -1,     /* IMPLICIT tag at current level */
83                 &asn_DEF_PUCCH_format1,
84                 0,
85                 { 0, 0, 0 },
86                 0, 0, /* No default value */
87                 "format1"
88                 },
89         { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format2),
90                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
91                 -1,     /* IMPLICIT tag at current level */
92                 &asn_DEF_PUCCH_format2,
93                 0,
94                 { 0, 0, 0 },
95                 0, 0, /* No default value */
96                 "format2"
97                 },
98         { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format3),
99                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
100                 -1,     /* IMPLICIT tag at current level */
101                 &asn_DEF_PUCCH_format3,
102                 0,
103                 { 0, 0, 0 },
104                 0, 0, /* No default value */
105                 "format3"
106                 },
107         { ATF_POINTER, 0, offsetof(struct PUCCH_Resource__format, choice.format4),
108                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
109                 -1,     /* IMPLICIT tag at current level */
110                 &asn_DEF_PUCCH_format4,
111                 0,
112                 { 0, 0, 0 },
113                 0, 0, /* No default value */
114                 "format4"
115                 },
116 };
117 static const asn_TYPE_tag2member_t asn_MAP_format_tag2el_7[] = {
118     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* format0 */
119     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* format1 */
120     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* format2 */
121     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* format3 */
122     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* format4 */
123 };
124 static asn_CHOICE_specifics_t asn_SPC_format_specs_7 = {
125         sizeof(struct PUCCH_Resource__format),
126         offsetof(struct PUCCH_Resource__format, _asn_ctx),
127         offsetof(struct PUCCH_Resource__format, present),
128         sizeof(((struct PUCCH_Resource__format *)0)->present),
129         asn_MAP_format_tag2el_7,
130         5,      /* Count of tags in the map */
131         0, 0,
132         -1      /* Extensions start */
133 };
134 static /* Use -fall-defs-global to expose */
135 asn_TYPE_descriptor_t asn_DEF_format_7 = {
136         "format",
137         "format",
138         &asn_OP_CHOICE,
139         0,      /* No effective tags (pointer) */
140         0,      /* No effective tags (count) */
141         0,      /* No tags (pointer) */
142         0,      /* No tags (count) */
143         { &asn_OER_type_format_constr_7, &asn_PER_type_format_constr_7, CHOICE_constraint },
144         asn_MBR_format_7,
145         5,      /* Elements count */
146         &asn_SPC_format_specs_7 /* Additional specs */
147 };
148
149 asn_TYPE_member_t asn_MBR_PUCCH_Resource_1[] = {
150         { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, pucch_ResourceId),
151                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
152                 -1,     /* IMPLICIT tag at current level */
153                 &asn_DEF_PUCCH_ResourceId,
154                 0,
155                 { 0, 0, 0 },
156                 0, 0, /* No default value */
157                 "pucch-ResourceId"
158                 },
159         { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, startingPRB),
160                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
161                 -1,     /* IMPLICIT tag at current level */
162                 &asn_DEF_PRB_Id,
163                 0,
164                 { 0, 0, 0 },
165                 0, 0, /* No default value */
166                 "startingPRB"
167                 },
168         { ATF_POINTER, 2, offsetof(struct PUCCH_Resource, intraSlotFrequencyHopping),
169                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
170                 -1,     /* IMPLICIT tag at current level */
171                 &asn_DEF_intraSlotFrequencyHopping_4,
172                 0,
173                 { 0, 0, 0 },
174                 0, 0, /* No default value */
175                 "intraSlotFrequencyHopping"
176                 },
177         { ATF_POINTER, 1, offsetof(struct PUCCH_Resource, secondHopPRB),
178                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
179                 -1,     /* IMPLICIT tag at current level */
180                 &asn_DEF_PRB_Id,
181                 0,
182                 { 0, 0, 0 },
183                 0, 0, /* No default value */
184                 "secondHopPRB"
185                 },
186         { ATF_NOFLAGS, 0, offsetof(struct PUCCH_Resource, format),
187                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
188                 +1,     /* EXPLICIT tag at current level */
189                 &asn_DEF_format_7,
190                 0,
191                 { 0, 0, 0 },
192                 0, 0, /* No default value */
193                 "format"
194                 },
195 };
196 static const int asn_MAP_PUCCH_Resource_oms_1[] = { 2, 3 };
197 static const ber_tlv_tag_t asn_DEF_PUCCH_Resource_tags_1[] = {
198         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
199 };
200 static const asn_TYPE_tag2member_t asn_MAP_PUCCH_Resource_tag2el_1[] = {
201     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pucch-ResourceId */
202     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* startingPRB */
203     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* intraSlotFrequencyHopping */
204     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* secondHopPRB */
205     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* format */
206 };
207 asn_SEQUENCE_specifics_t asn_SPC_PUCCH_Resource_specs_1 = {
208         sizeof(struct PUCCH_Resource),
209         offsetof(struct PUCCH_Resource, _asn_ctx),
210         asn_MAP_PUCCH_Resource_tag2el_1,
211         5,      /* Count of tags in the map */
212         asn_MAP_PUCCH_Resource_oms_1,   /* Optional members */
213         2, 0,   /* Root/Additions */
214         -1,     /* First extension addition */
215 };
216 asn_TYPE_descriptor_t asn_DEF_PUCCH_Resource = {
217         "PUCCH-Resource",
218         "PUCCH-Resource",
219         &asn_OP_SEQUENCE,
220         asn_DEF_PUCCH_Resource_tags_1,
221         sizeof(asn_DEF_PUCCH_Resource_tags_1)
222                 /sizeof(asn_DEF_PUCCH_Resource_tags_1[0]), /* 1 */
223         asn_DEF_PUCCH_Resource_tags_1,  /* Same as above */
224         sizeof(asn_DEF_PUCCH_Resource_tags_1)
225                 /sizeof(asn_DEF_PUCCH_Resource_tags_1[0]), /* 1 */
226         { 0, 0, SEQUENCE_constraint },
227         asn_MBR_PUCCH_Resource_1,
228         5,      /* Elements count */
229         &asn_SPC_PUCCH_Resource_specs_1 /* Additional specs */
230 };
231