[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / PUCCH-FormatConfig.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 "PUCCH-FormatConfig.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 /*
15  * This type is implemented using NativeEnumerated,
16  * so here we adjust the DEF accordingly.
17  */
18 /*
19  * This type is implemented using NativeEnumerated,
20  * so here we adjust the DEF accordingly.
21  */
22 /*
23  * This type is implemented using NativeEnumerated,
24  * so here we adjust the DEF accordingly.
25  */
26 /*
27  * This type is implemented using NativeEnumerated,
28  * so here we adjust the DEF accordingly.
29  */
30 static asn_oer_constraints_t asn_OER_type_interslotFrequencyHopping_constr_2 CC_NOTUSED = {
31         { 0, 0 },
32         -1};
33 static asn_per_constraints_t asn_PER_type_interslotFrequencyHopping_constr_2 CC_NOTUSED = {
34         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
35         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
36         0, 0    /* No PER value map */
37 };
38 static asn_oer_constraints_t asn_OER_type_additionalDMRS_constr_4 CC_NOTUSED = {
39         { 0, 0 },
40         -1};
41 static asn_per_constraints_t asn_PER_type_additionalDMRS_constr_4 CC_NOTUSED = {
42         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
43         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
44         0, 0    /* No PER value map */
45 };
46 static asn_oer_constraints_t asn_OER_type_nrofSlots_constr_7 CC_NOTUSED = {
47         { 0, 0 },
48         -1};
49 static asn_per_constraints_t asn_PER_type_nrofSlots_constr_7 CC_NOTUSED = {
50         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
51         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
52         0, 0    /* No PER value map */
53 };
54 static asn_oer_constraints_t asn_OER_type_pi2BPSK_constr_11 CC_NOTUSED = {
55         { 0, 0 },
56         -1};
57 static asn_per_constraints_t asn_PER_type_pi2BPSK_constr_11 CC_NOTUSED = {
58         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
59         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
60         0, 0    /* No PER value map */
61 };
62 static asn_oer_constraints_t asn_OER_type_simultaneousHARQ_ACK_CSI_constr_13 CC_NOTUSED = {
63         { 0, 0 },
64         -1};
65 static asn_per_constraints_t asn_PER_type_simultaneousHARQ_ACK_CSI_constr_13 CC_NOTUSED = {
66         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
67         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
68         0, 0    /* No PER value map */
69 };
70 static const asn_INTEGER_enum_map_t asn_MAP_interslotFrequencyHopping_value2enum_2[] = {
71         { 0,    7,      "enabled" }
72 };
73 static const unsigned int asn_MAP_interslotFrequencyHopping_enum2value_2[] = {
74         0       /* enabled(0) */
75 };
76 static const asn_INTEGER_specifics_t asn_SPC_interslotFrequencyHopping_specs_2 = {
77         asn_MAP_interslotFrequencyHopping_value2enum_2, /* "tag" => N; sorted by tag */
78         asn_MAP_interslotFrequencyHopping_enum2value_2, /* N => "tag"; sorted by N */
79         1,      /* Number of elements in the maps */
80         0,      /* Enumeration is not extensible */
81         1,      /* Strict enumeration */
82         0,      /* Native long size */
83         0
84 };
85 static const ber_tlv_tag_t asn_DEF_interslotFrequencyHopping_tags_2[] = {
86         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
87         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
88 };
89 static /* Use -fall-defs-global to expose */
90 asn_TYPE_descriptor_t asn_DEF_interslotFrequencyHopping_2 = {
91         "interslotFrequencyHopping",
92         "interslotFrequencyHopping",
93         &asn_OP_NativeEnumerated,
94         asn_DEF_interslotFrequencyHopping_tags_2,
95         sizeof(asn_DEF_interslotFrequencyHopping_tags_2)
96                 /sizeof(asn_DEF_interslotFrequencyHopping_tags_2[0]) - 1, /* 1 */
97         asn_DEF_interslotFrequencyHopping_tags_2,       /* Same as above */
98         sizeof(asn_DEF_interslotFrequencyHopping_tags_2)
99                 /sizeof(asn_DEF_interslotFrequencyHopping_tags_2[0]), /* 2 */
100         { &asn_OER_type_interslotFrequencyHopping_constr_2, &asn_PER_type_interslotFrequencyHopping_constr_2, NativeEnumerated_constraint },
101         0, 0,   /* Defined elsewhere */
102         &asn_SPC_interslotFrequencyHopping_specs_2      /* Additional specs */
103 };
104
105 static const asn_INTEGER_enum_map_t asn_MAP_additionalDMRS_value2enum_4[] = {
106         { 0,    4,      "true" }
107 };
108 static const unsigned int asn_MAP_additionalDMRS_enum2value_4[] = {
109         0       /* true(0) */
110 };
111 static const asn_INTEGER_specifics_t asn_SPC_additionalDMRS_specs_4 = {
112         asn_MAP_additionalDMRS_value2enum_4,    /* "tag" => N; sorted by tag */
113         asn_MAP_additionalDMRS_enum2value_4,    /* N => "tag"; sorted by N */
114         1,      /* Number of elements in the maps */
115         0,      /* Enumeration is not extensible */
116         1,      /* Strict enumeration */
117         0,      /* Native long size */
118         0
119 };
120 static const ber_tlv_tag_t asn_DEF_additionalDMRS_tags_4[] = {
121         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
122         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
123 };
124 static /* Use -fall-defs-global to expose */
125 asn_TYPE_descriptor_t asn_DEF_additionalDMRS_4 = {
126         "additionalDMRS",
127         "additionalDMRS",
128         &asn_OP_NativeEnumerated,
129         asn_DEF_additionalDMRS_tags_4,
130         sizeof(asn_DEF_additionalDMRS_tags_4)
131                 /sizeof(asn_DEF_additionalDMRS_tags_4[0]) - 1, /* 1 */
132         asn_DEF_additionalDMRS_tags_4,  /* Same as above */
133         sizeof(asn_DEF_additionalDMRS_tags_4)
134                 /sizeof(asn_DEF_additionalDMRS_tags_4[0]), /* 2 */
135         { &asn_OER_type_additionalDMRS_constr_4, &asn_PER_type_additionalDMRS_constr_4, NativeEnumerated_constraint },
136         0, 0,   /* Defined elsewhere */
137         &asn_SPC_additionalDMRS_specs_4 /* Additional specs */
138 };
139
140 static const asn_INTEGER_enum_map_t asn_MAP_nrofSlots_value2enum_7[] = {
141         { 0,    2,      "n2" },
142         { 1,    2,      "n4" },
143         { 2,    2,      "n8" }
144 };
145 static const unsigned int asn_MAP_nrofSlots_enum2value_7[] = {
146         0,      /* n2(0) */
147         1,      /* n4(1) */
148         2       /* n8(2) */
149 };
150 static const asn_INTEGER_specifics_t asn_SPC_nrofSlots_specs_7 = {
151         asn_MAP_nrofSlots_value2enum_7, /* "tag" => N; sorted by tag */
152         asn_MAP_nrofSlots_enum2value_7, /* N => "tag"; sorted by N */
153         3,      /* Number of elements in the maps */
154         0,      /* Enumeration is not extensible */
155         1,      /* Strict enumeration */
156         0,      /* Native long size */
157         0
158 };
159 static const ber_tlv_tag_t asn_DEF_nrofSlots_tags_7[] = {
160         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
161         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
162 };
163 static /* Use -fall-defs-global to expose */
164 asn_TYPE_descriptor_t asn_DEF_nrofSlots_7 = {
165         "nrofSlots",
166         "nrofSlots",
167         &asn_OP_NativeEnumerated,
168         asn_DEF_nrofSlots_tags_7,
169         sizeof(asn_DEF_nrofSlots_tags_7)
170                 /sizeof(asn_DEF_nrofSlots_tags_7[0]) - 1, /* 1 */
171         asn_DEF_nrofSlots_tags_7,       /* Same as above */
172         sizeof(asn_DEF_nrofSlots_tags_7)
173                 /sizeof(asn_DEF_nrofSlots_tags_7[0]), /* 2 */
174         { &asn_OER_type_nrofSlots_constr_7, &asn_PER_type_nrofSlots_constr_7, NativeEnumerated_constraint },
175         0, 0,   /* Defined elsewhere */
176         &asn_SPC_nrofSlots_specs_7      /* Additional specs */
177 };
178
179 static const asn_INTEGER_enum_map_t asn_MAP_pi2BPSK_value2enum_11[] = {
180         { 0,    7,      "enabled" }
181 };
182 static const unsigned int asn_MAP_pi2BPSK_enum2value_11[] = {
183         0       /* enabled(0) */
184 };
185 static const asn_INTEGER_specifics_t asn_SPC_pi2BPSK_specs_11 = {
186         asn_MAP_pi2BPSK_value2enum_11,  /* "tag" => N; sorted by tag */
187         asn_MAP_pi2BPSK_enum2value_11,  /* N => "tag"; sorted by N */
188         1,      /* Number of elements in the maps */
189         0,      /* Enumeration is not extensible */
190         1,      /* Strict enumeration */
191         0,      /* Native long size */
192         0
193 };
194 static const ber_tlv_tag_t asn_DEF_pi2BPSK_tags_11[] = {
195         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
196         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
197 };
198 static /* Use -fall-defs-global to expose */
199 asn_TYPE_descriptor_t asn_DEF_pi2BPSK_11 = {
200         "pi2BPSK",
201         "pi2BPSK",
202         &asn_OP_NativeEnumerated,
203         asn_DEF_pi2BPSK_tags_11,
204         sizeof(asn_DEF_pi2BPSK_tags_11)
205                 /sizeof(asn_DEF_pi2BPSK_tags_11[0]) - 1, /* 1 */
206         asn_DEF_pi2BPSK_tags_11,        /* Same as above */
207         sizeof(asn_DEF_pi2BPSK_tags_11)
208                 /sizeof(asn_DEF_pi2BPSK_tags_11[0]), /* 2 */
209         { &asn_OER_type_pi2BPSK_constr_11, &asn_PER_type_pi2BPSK_constr_11, NativeEnumerated_constraint },
210         0, 0,   /* Defined elsewhere */
211         &asn_SPC_pi2BPSK_specs_11       /* Additional specs */
212 };
213
214 static const asn_INTEGER_enum_map_t asn_MAP_simultaneousHARQ_ACK_CSI_value2enum_13[] = {
215         { 0,    4,      "true" }
216 };
217 static const unsigned int asn_MAP_simultaneousHARQ_ACK_CSI_enum2value_13[] = {
218         0       /* true(0) */
219 };
220 static const asn_INTEGER_specifics_t asn_SPC_simultaneousHARQ_ACK_CSI_specs_13 = {
221         asn_MAP_simultaneousHARQ_ACK_CSI_value2enum_13, /* "tag" => N; sorted by tag */
222         asn_MAP_simultaneousHARQ_ACK_CSI_enum2value_13, /* N => "tag"; sorted by N */
223         1,      /* Number of elements in the maps */
224         0,      /* Enumeration is not extensible */
225         1,      /* Strict enumeration */
226         0,      /* Native long size */
227         0
228 };
229 static const ber_tlv_tag_t asn_DEF_simultaneousHARQ_ACK_CSI_tags_13[] = {
230         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
231         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
232 };
233 static /* Use -fall-defs-global to expose */
234 asn_TYPE_descriptor_t asn_DEF_simultaneousHARQ_ACK_CSI_13 = {
235         "simultaneousHARQ-ACK-CSI",
236         "simultaneousHARQ-ACK-CSI",
237         &asn_OP_NativeEnumerated,
238         asn_DEF_simultaneousHARQ_ACK_CSI_tags_13,
239         sizeof(asn_DEF_simultaneousHARQ_ACK_CSI_tags_13)
240                 /sizeof(asn_DEF_simultaneousHARQ_ACK_CSI_tags_13[0]) - 1, /* 1 */
241         asn_DEF_simultaneousHARQ_ACK_CSI_tags_13,       /* Same as above */
242         sizeof(asn_DEF_simultaneousHARQ_ACK_CSI_tags_13)
243                 /sizeof(asn_DEF_simultaneousHARQ_ACK_CSI_tags_13[0]), /* 2 */
244         { &asn_OER_type_simultaneousHARQ_ACK_CSI_constr_13, &asn_PER_type_simultaneousHARQ_ACK_CSI_constr_13, NativeEnumerated_constraint },
245         0, 0,   /* Defined elsewhere */
246         &asn_SPC_simultaneousHARQ_ACK_CSI_specs_13      /* Additional specs */
247 };
248
249 asn_TYPE_member_t asn_MBR_PUCCH_FormatConfig_1[] = {
250         { ATF_POINTER, 6, offsetof(struct PUCCH_FormatConfig, interslotFrequencyHopping),
251                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
252                 -1,     /* IMPLICIT tag at current level */
253                 &asn_DEF_interslotFrequencyHopping_2,
254                 0,
255                 { 0, 0, 0 },
256                 0, 0, /* No default value */
257                 "interslotFrequencyHopping"
258                 },
259         { ATF_POINTER, 5, offsetof(struct PUCCH_FormatConfig, additionalDMRS),
260                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
261                 -1,     /* IMPLICIT tag at current level */
262                 &asn_DEF_additionalDMRS_4,
263                 0,
264                 { 0, 0, 0 },
265                 0, 0, /* No default value */
266                 "additionalDMRS"
267                 },
268         { ATF_POINTER, 4, offsetof(struct PUCCH_FormatConfig, maxCodeRate),
269                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
270                 -1,     /* IMPLICIT tag at current level */
271                 &asn_DEF_PUCCH_MaxCodeRate,
272                 0,
273                 { 0, 0, 0 },
274                 0, 0, /* No default value */
275                 "maxCodeRate"
276                 },
277         { ATF_POINTER, 3, offsetof(struct PUCCH_FormatConfig, nrofSlots),
278                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
279                 -1,     /* IMPLICIT tag at current level */
280                 &asn_DEF_nrofSlots_7,
281                 0,
282                 { 0, 0, 0 },
283                 0, 0, /* No default value */
284                 "nrofSlots"
285                 },
286         { ATF_POINTER, 2, offsetof(struct PUCCH_FormatConfig, pi2BPSK),
287                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
288                 -1,     /* IMPLICIT tag at current level */
289                 &asn_DEF_pi2BPSK_11,
290                 0,
291                 { 0, 0, 0 },
292                 0, 0, /* No default value */
293                 "pi2BPSK"
294                 },
295         { ATF_POINTER, 1, offsetof(struct PUCCH_FormatConfig, simultaneousHARQ_ACK_CSI),
296                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
297                 -1,     /* IMPLICIT tag at current level */
298                 &asn_DEF_simultaneousHARQ_ACK_CSI_13,
299                 0,
300                 { 0, 0, 0 },
301                 0, 0, /* No default value */
302                 "simultaneousHARQ-ACK-CSI"
303                 },
304 };
305 static const int asn_MAP_PUCCH_FormatConfig_oms_1[] = { 0, 1, 2, 3, 4, 5 };
306 static const ber_tlv_tag_t asn_DEF_PUCCH_FormatConfig_tags_1[] = {
307         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
308 };
309 static const asn_TYPE_tag2member_t asn_MAP_PUCCH_FormatConfig_tag2el_1[] = {
310     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interslotFrequencyHopping */
311     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* additionalDMRS */
312     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxCodeRate */
313     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nrofSlots */
314     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pi2BPSK */
315     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* simultaneousHARQ-ACK-CSI */
316 };
317 asn_SEQUENCE_specifics_t asn_SPC_PUCCH_FormatConfig_specs_1 = {
318         sizeof(struct PUCCH_FormatConfig),
319         offsetof(struct PUCCH_FormatConfig, _asn_ctx),
320         asn_MAP_PUCCH_FormatConfig_tag2el_1,
321         6,      /* Count of tags in the map */
322         asn_MAP_PUCCH_FormatConfig_oms_1,       /* Optional members */
323         6, 0,   /* Root/Additions */
324         -1,     /* First extension addition */
325 };
326 asn_TYPE_descriptor_t asn_DEF_PUCCH_FormatConfig = {
327         "PUCCH-FormatConfig",
328         "PUCCH-FormatConfig",
329         &asn_OP_SEQUENCE,
330         asn_DEF_PUCCH_FormatConfig_tags_1,
331         sizeof(asn_DEF_PUCCH_FormatConfig_tags_1)
332                 /sizeof(asn_DEF_PUCCH_FormatConfig_tags_1[0]), /* 1 */
333         asn_DEF_PUCCH_FormatConfig_tags_1,      /* Same as above */
334         sizeof(asn_DEF_PUCCH_FormatConfig_tags_1)
335                 /sizeof(asn_DEF_PUCCH_FormatConfig_tags_1[0]), /* 1 */
336         { 0, 0, SEQUENCE_constraint },
337         asn_MBR_PUCCH_FormatConfig_1,
338         6,      /* Elements count */
339         &asn_SPC_PUCCH_FormatConfig_specs_1     /* Additional specs */
340 };
341