2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.5.1_asn.asn1"
5 * `asn1c -D ./rrc_out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "PUCCH-FormatConfig.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 * This type is implemented using NativeEnumerated,
20 * so here we adjust the DEF accordingly.
23 * This type is implemented using NativeEnumerated,
24 * so here we adjust the DEF accordingly.
27 * This type is implemented using NativeEnumerated,
28 * so here we adjust the DEF accordingly.
30 static asn_oer_constraints_t asn_OER_type_interslotFrequencyHopping_constr_2 CC_NOTUSED = {
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 */
38 static asn_oer_constraints_t asn_OER_type_additionalDMRS_constr_4 CC_NOTUSED = {
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 */
46 static asn_oer_constraints_t asn_OER_type_nrofSlots_constr_7 CC_NOTUSED = {
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 */
54 static asn_oer_constraints_t asn_OER_type_pi2BPSK_constr_11 CC_NOTUSED = {
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 */
62 static asn_oer_constraints_t asn_OER_type_simultaneousHARQ_ACK_CSI_constr_13 CC_NOTUSED = {
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 */
70 static const asn_INTEGER_enum_map_t asn_MAP_interslotFrequencyHopping_value2enum_2[] = {
73 static const unsigned int asn_MAP_interslotFrequencyHopping_enum2value_2[] = {
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 */
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))
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 */
105 static const asn_INTEGER_enum_map_t asn_MAP_additionalDMRS_value2enum_4[] = {
108 static const unsigned int asn_MAP_additionalDMRS_enum2value_4[] = {
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 */
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))
124 static /* Use -fall-defs-global to expose */
125 asn_TYPE_descriptor_t asn_DEF_additionalDMRS_4 = {
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 */
140 static const asn_INTEGER_enum_map_t asn_MAP_nrofSlots_value2enum_7[] = {
145 static const unsigned int asn_MAP_nrofSlots_enum2value_7[] = {
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 */
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))
163 static /* Use -fall-defs-global to expose */
164 asn_TYPE_descriptor_t asn_DEF_nrofSlots_7 = {
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 */
179 static const asn_INTEGER_enum_map_t asn_MAP_pi2BPSK_value2enum_11[] = {
182 static const unsigned int asn_MAP_pi2BPSK_enum2value_11[] = {
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 */
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))
198 static /* Use -fall-defs-global to expose */
199 asn_TYPE_descriptor_t asn_DEF_pi2BPSK_11 = {
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 */
214 static const asn_INTEGER_enum_map_t asn_MAP_simultaneousHARQ_ACK_CSI_value2enum_13[] = {
217 static const unsigned int asn_MAP_simultaneousHARQ_ACK_CSI_enum2value_13[] = {
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 */
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))
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 */
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,
256 0, 0, /* No default value */
257 "interslotFrequencyHopping"
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,
265 0, 0, /* No default value */
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,
274 0, 0, /* No default value */
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,
283 0, 0, /* No default value */
286 { ATF_POINTER, 2, offsetof(struct PUCCH_FormatConfig, pi2BPSK),
287 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
288 -1, /* IMPLICIT tag at current level */
292 0, 0, /* No default value */
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,
301 0, 0, /* No default value */
302 "simultaneousHARQ-ACK-CSI"
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))
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 */
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 */
326 asn_TYPE_descriptor_t asn_DEF_PUCCH_FormatConfig = {
327 "PUCCH-FormatConfig",
328 "PUCCH-FormatConfig",
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 */