2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "MAC-ParametersXDD-Diff.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.
31 * This type is implemented using NativeEnumerated,
32 * so here we adjust the DEF accordingly.
34 static asn_oer_constraints_t asn_OER_type_skipUplinkTxDynamic_constr_2 CC_NOTUSED = {
37 static asn_per_constraints_t asn_PER_type_skipUplinkTxDynamic_constr_2 CC_NOTUSED = {
38 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
39 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
40 0, 0 /* No PER value map */
42 static asn_oer_constraints_t asn_OER_type_logicalChannelSR_DelayTimer_constr_4 CC_NOTUSED = {
45 static asn_per_constraints_t asn_PER_type_logicalChannelSR_DelayTimer_constr_4 CC_NOTUSED = {
46 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
47 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
48 0, 0 /* No PER value map */
50 static asn_oer_constraints_t asn_OER_type_longDRX_Cycle_constr_6 CC_NOTUSED = {
53 static asn_per_constraints_t asn_PER_type_longDRX_Cycle_constr_6 CC_NOTUSED = {
54 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
55 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
56 0, 0 /* No PER value map */
58 static asn_oer_constraints_t asn_OER_type_shortDRX_Cycle_constr_8 CC_NOTUSED = {
61 static asn_per_constraints_t asn_PER_type_shortDRX_Cycle_constr_8 CC_NOTUSED = {
62 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
63 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
64 0, 0 /* No PER value map */
66 static asn_oer_constraints_t asn_OER_type_multipleSR_Configurations_constr_10 CC_NOTUSED = {
69 static asn_per_constraints_t asn_PER_type_multipleSR_Configurations_constr_10 CC_NOTUSED = {
70 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
71 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
72 0, 0 /* No PER value map */
74 static asn_oer_constraints_t asn_OER_type_multipleConfiguredGrants_constr_12 CC_NOTUSED = {
77 static asn_per_constraints_t asn_PER_type_multipleConfiguredGrants_constr_12 CC_NOTUSED = {
78 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
79 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
80 0, 0 /* No PER value map */
82 static const asn_INTEGER_enum_map_t asn_MAP_skipUplinkTxDynamic_value2enum_2[] = {
85 static const unsigned int asn_MAP_skipUplinkTxDynamic_enum2value_2[] = {
88 static const asn_INTEGER_specifics_t asn_SPC_skipUplinkTxDynamic_specs_2 = {
89 asn_MAP_skipUplinkTxDynamic_value2enum_2, /* "tag" => N; sorted by tag */
90 asn_MAP_skipUplinkTxDynamic_enum2value_2, /* N => "tag"; sorted by N */
91 1, /* Number of elements in the maps */
92 0, /* Enumeration is not extensible */
93 1, /* Strict enumeration */
94 0, /* Native long size */
97 static const ber_tlv_tag_t asn_DEF_skipUplinkTxDynamic_tags_2[] = {
98 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
99 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
101 static /* Use -fall-defs-global to expose */
102 asn_TYPE_descriptor_t asn_DEF_skipUplinkTxDynamic_2 = {
103 "skipUplinkTxDynamic",
104 "skipUplinkTxDynamic",
105 &asn_OP_NativeEnumerated,
106 asn_DEF_skipUplinkTxDynamic_tags_2,
107 sizeof(asn_DEF_skipUplinkTxDynamic_tags_2)
108 /sizeof(asn_DEF_skipUplinkTxDynamic_tags_2[0]) - 1, /* 1 */
109 asn_DEF_skipUplinkTxDynamic_tags_2, /* Same as above */
110 sizeof(asn_DEF_skipUplinkTxDynamic_tags_2)
111 /sizeof(asn_DEF_skipUplinkTxDynamic_tags_2[0]), /* 2 */
112 { &asn_OER_type_skipUplinkTxDynamic_constr_2, &asn_PER_type_skipUplinkTxDynamic_constr_2, NativeEnumerated_constraint },
113 0, 0, /* Defined elsewhere */
114 &asn_SPC_skipUplinkTxDynamic_specs_2 /* Additional specs */
117 static const asn_INTEGER_enum_map_t asn_MAP_logicalChannelSR_DelayTimer_value2enum_4[] = {
118 { 0, 9, "supported" }
120 static const unsigned int asn_MAP_logicalChannelSR_DelayTimer_enum2value_4[] = {
123 static const asn_INTEGER_specifics_t asn_SPC_logicalChannelSR_DelayTimer_specs_4 = {
124 asn_MAP_logicalChannelSR_DelayTimer_value2enum_4, /* "tag" => N; sorted by tag */
125 asn_MAP_logicalChannelSR_DelayTimer_enum2value_4, /* N => "tag"; sorted by N */
126 1, /* Number of elements in the maps */
127 0, /* Enumeration is not extensible */
128 1, /* Strict enumeration */
129 0, /* Native long size */
132 static const ber_tlv_tag_t asn_DEF_logicalChannelSR_DelayTimer_tags_4[] = {
133 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
134 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
136 static /* Use -fall-defs-global to expose */
137 asn_TYPE_descriptor_t asn_DEF_logicalChannelSR_DelayTimer_4 = {
138 "logicalChannelSR-DelayTimer",
139 "logicalChannelSR-DelayTimer",
140 &asn_OP_NativeEnumerated,
141 asn_DEF_logicalChannelSR_DelayTimer_tags_4,
142 sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_4)
143 /sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_4[0]) - 1, /* 1 */
144 asn_DEF_logicalChannelSR_DelayTimer_tags_4, /* Same as above */
145 sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_4)
146 /sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_4[0]), /* 2 */
147 { &asn_OER_type_logicalChannelSR_DelayTimer_constr_4, &asn_PER_type_logicalChannelSR_DelayTimer_constr_4, NativeEnumerated_constraint },
148 0, 0, /* Defined elsewhere */
149 &asn_SPC_logicalChannelSR_DelayTimer_specs_4 /* Additional specs */
152 static const asn_INTEGER_enum_map_t asn_MAP_longDRX_Cycle_value2enum_6[] = {
153 { 0, 9, "supported" }
155 static const unsigned int asn_MAP_longDRX_Cycle_enum2value_6[] = {
158 static const asn_INTEGER_specifics_t asn_SPC_longDRX_Cycle_specs_6 = {
159 asn_MAP_longDRX_Cycle_value2enum_6, /* "tag" => N; sorted by tag */
160 asn_MAP_longDRX_Cycle_enum2value_6, /* N => "tag"; sorted by N */
161 1, /* Number of elements in the maps */
162 0, /* Enumeration is not extensible */
163 1, /* Strict enumeration */
164 0, /* Native long size */
167 static const ber_tlv_tag_t asn_DEF_longDRX_Cycle_tags_6[] = {
168 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
169 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
171 static /* Use -fall-defs-global to expose */
172 asn_TYPE_descriptor_t asn_DEF_longDRX_Cycle_6 = {
175 &asn_OP_NativeEnumerated,
176 asn_DEF_longDRX_Cycle_tags_6,
177 sizeof(asn_DEF_longDRX_Cycle_tags_6)
178 /sizeof(asn_DEF_longDRX_Cycle_tags_6[0]) - 1, /* 1 */
179 asn_DEF_longDRX_Cycle_tags_6, /* Same as above */
180 sizeof(asn_DEF_longDRX_Cycle_tags_6)
181 /sizeof(asn_DEF_longDRX_Cycle_tags_6[0]), /* 2 */
182 { &asn_OER_type_longDRX_Cycle_constr_6, &asn_PER_type_longDRX_Cycle_constr_6, NativeEnumerated_constraint },
183 0, 0, /* Defined elsewhere */
184 &asn_SPC_longDRX_Cycle_specs_6 /* Additional specs */
187 static const asn_INTEGER_enum_map_t asn_MAP_shortDRX_Cycle_value2enum_8[] = {
188 { 0, 9, "supported" }
190 static const unsigned int asn_MAP_shortDRX_Cycle_enum2value_8[] = {
193 static const asn_INTEGER_specifics_t asn_SPC_shortDRX_Cycle_specs_8 = {
194 asn_MAP_shortDRX_Cycle_value2enum_8, /* "tag" => N; sorted by tag */
195 asn_MAP_shortDRX_Cycle_enum2value_8, /* N => "tag"; sorted by N */
196 1, /* Number of elements in the maps */
197 0, /* Enumeration is not extensible */
198 1, /* Strict enumeration */
199 0, /* Native long size */
202 static const ber_tlv_tag_t asn_DEF_shortDRX_Cycle_tags_8[] = {
203 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
204 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
206 static /* Use -fall-defs-global to expose */
207 asn_TYPE_descriptor_t asn_DEF_shortDRX_Cycle_8 = {
210 &asn_OP_NativeEnumerated,
211 asn_DEF_shortDRX_Cycle_tags_8,
212 sizeof(asn_DEF_shortDRX_Cycle_tags_8)
213 /sizeof(asn_DEF_shortDRX_Cycle_tags_8[0]) - 1, /* 1 */
214 asn_DEF_shortDRX_Cycle_tags_8, /* Same as above */
215 sizeof(asn_DEF_shortDRX_Cycle_tags_8)
216 /sizeof(asn_DEF_shortDRX_Cycle_tags_8[0]), /* 2 */
217 { &asn_OER_type_shortDRX_Cycle_constr_8, &asn_PER_type_shortDRX_Cycle_constr_8, NativeEnumerated_constraint },
218 0, 0, /* Defined elsewhere */
219 &asn_SPC_shortDRX_Cycle_specs_8 /* Additional specs */
222 static const asn_INTEGER_enum_map_t asn_MAP_multipleSR_Configurations_value2enum_10[] = {
223 { 0, 9, "supported" }
225 static const unsigned int asn_MAP_multipleSR_Configurations_enum2value_10[] = {
228 static const asn_INTEGER_specifics_t asn_SPC_multipleSR_Configurations_specs_10 = {
229 asn_MAP_multipleSR_Configurations_value2enum_10, /* "tag" => N; sorted by tag */
230 asn_MAP_multipleSR_Configurations_enum2value_10, /* N => "tag"; sorted by N */
231 1, /* Number of elements in the maps */
232 0, /* Enumeration is not extensible */
233 1, /* Strict enumeration */
234 0, /* Native long size */
237 static const ber_tlv_tag_t asn_DEF_multipleSR_Configurations_tags_10[] = {
238 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
239 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
241 static /* Use -fall-defs-global to expose */
242 asn_TYPE_descriptor_t asn_DEF_multipleSR_Configurations_10 = {
243 "multipleSR-Configurations",
244 "multipleSR-Configurations",
245 &asn_OP_NativeEnumerated,
246 asn_DEF_multipleSR_Configurations_tags_10,
247 sizeof(asn_DEF_multipleSR_Configurations_tags_10)
248 /sizeof(asn_DEF_multipleSR_Configurations_tags_10[0]) - 1, /* 1 */
249 asn_DEF_multipleSR_Configurations_tags_10, /* Same as above */
250 sizeof(asn_DEF_multipleSR_Configurations_tags_10)
251 /sizeof(asn_DEF_multipleSR_Configurations_tags_10[0]), /* 2 */
252 { &asn_OER_type_multipleSR_Configurations_constr_10, &asn_PER_type_multipleSR_Configurations_constr_10, NativeEnumerated_constraint },
253 0, 0, /* Defined elsewhere */
254 &asn_SPC_multipleSR_Configurations_specs_10 /* Additional specs */
257 static const asn_INTEGER_enum_map_t asn_MAP_multipleConfiguredGrants_value2enum_12[] = {
258 { 0, 9, "supported" }
260 static const unsigned int asn_MAP_multipleConfiguredGrants_enum2value_12[] = {
263 static const asn_INTEGER_specifics_t asn_SPC_multipleConfiguredGrants_specs_12 = {
264 asn_MAP_multipleConfiguredGrants_value2enum_12, /* "tag" => N; sorted by tag */
265 asn_MAP_multipleConfiguredGrants_enum2value_12, /* N => "tag"; sorted by N */
266 1, /* Number of elements in the maps */
267 0, /* Enumeration is not extensible */
268 1, /* Strict enumeration */
269 0, /* Native long size */
272 static const ber_tlv_tag_t asn_DEF_multipleConfiguredGrants_tags_12[] = {
273 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
274 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
276 static /* Use -fall-defs-global to expose */
277 asn_TYPE_descriptor_t asn_DEF_multipleConfiguredGrants_12 = {
278 "multipleConfiguredGrants",
279 "multipleConfiguredGrants",
280 &asn_OP_NativeEnumerated,
281 asn_DEF_multipleConfiguredGrants_tags_12,
282 sizeof(asn_DEF_multipleConfiguredGrants_tags_12)
283 /sizeof(asn_DEF_multipleConfiguredGrants_tags_12[0]) - 1, /* 1 */
284 asn_DEF_multipleConfiguredGrants_tags_12, /* Same as above */
285 sizeof(asn_DEF_multipleConfiguredGrants_tags_12)
286 /sizeof(asn_DEF_multipleConfiguredGrants_tags_12[0]), /* 2 */
287 { &asn_OER_type_multipleConfiguredGrants_constr_12, &asn_PER_type_multipleConfiguredGrants_constr_12, NativeEnumerated_constraint },
288 0, 0, /* Defined elsewhere */
289 &asn_SPC_multipleConfiguredGrants_specs_12 /* Additional specs */
292 asn_TYPE_member_t asn_MBR_MAC_ParametersXDD_Diff_1[] = {
293 { ATF_POINTER, 6, offsetof(struct MAC_ParametersXDD_Diff, skipUplinkTxDynamic),
294 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
295 -1, /* IMPLICIT tag at current level */
296 &asn_DEF_skipUplinkTxDynamic_2,
299 0, 0, /* No default value */
300 "skipUplinkTxDynamic"
302 { ATF_POINTER, 5, offsetof(struct MAC_ParametersXDD_Diff, logicalChannelSR_DelayTimer),
303 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
304 -1, /* IMPLICIT tag at current level */
305 &asn_DEF_logicalChannelSR_DelayTimer_4,
308 0, 0, /* No default value */
309 "logicalChannelSR-DelayTimer"
311 { ATF_POINTER, 4, offsetof(struct MAC_ParametersXDD_Diff, longDRX_Cycle),
312 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
313 -1, /* IMPLICIT tag at current level */
314 &asn_DEF_longDRX_Cycle_6,
317 0, 0, /* No default value */
320 { ATF_POINTER, 3, offsetof(struct MAC_ParametersXDD_Diff, shortDRX_Cycle),
321 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
322 -1, /* IMPLICIT tag at current level */
323 &asn_DEF_shortDRX_Cycle_8,
326 0, 0, /* No default value */
329 { ATF_POINTER, 2, offsetof(struct MAC_ParametersXDD_Diff, multipleSR_Configurations),
330 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
331 -1, /* IMPLICIT tag at current level */
332 &asn_DEF_multipleSR_Configurations_10,
335 0, 0, /* No default value */
336 "multipleSR-Configurations"
338 { ATF_POINTER, 1, offsetof(struct MAC_ParametersXDD_Diff, multipleConfiguredGrants),
339 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
340 -1, /* IMPLICIT tag at current level */
341 &asn_DEF_multipleConfiguredGrants_12,
344 0, 0, /* No default value */
345 "multipleConfiguredGrants"
348 static const int asn_MAP_MAC_ParametersXDD_Diff_oms_1[] = { 0, 1, 2, 3, 4, 5 };
349 static const ber_tlv_tag_t asn_DEF_MAC_ParametersXDD_Diff_tags_1[] = {
350 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
352 static const asn_TYPE_tag2member_t asn_MAP_MAC_ParametersXDD_Diff_tag2el_1[] = {
353 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* skipUplinkTxDynamic */
354 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* logicalChannelSR-DelayTimer */
355 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* longDRX-Cycle */
356 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* shortDRX-Cycle */
357 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* multipleSR-Configurations */
358 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* multipleConfiguredGrants */
360 asn_SEQUENCE_specifics_t asn_SPC_MAC_ParametersXDD_Diff_specs_1 = {
361 sizeof(struct MAC_ParametersXDD_Diff),
362 offsetof(struct MAC_ParametersXDD_Diff, _asn_ctx),
363 asn_MAP_MAC_ParametersXDD_Diff_tag2el_1,
364 6, /* Count of tags in the map */
365 asn_MAP_MAC_ParametersXDD_Diff_oms_1, /* Optional members */
366 6, 0, /* Root/Additions */
367 6, /* First extension addition */
369 asn_TYPE_descriptor_t asn_DEF_MAC_ParametersXDD_Diff = {
370 "MAC-ParametersXDD-Diff",
371 "MAC-ParametersXDD-Diff",
373 asn_DEF_MAC_ParametersXDD_Diff_tags_1,
374 sizeof(asn_DEF_MAC_ParametersXDD_Diff_tags_1)
375 /sizeof(asn_DEF_MAC_ParametersXDD_Diff_tags_1[0]), /* 1 */
376 asn_DEF_MAC_ParametersXDD_Diff_tags_1, /* Same as above */
377 sizeof(asn_DEF_MAC_ParametersXDD_Diff_tags_1)
378 /sizeof(asn_DEF_MAC_ParametersXDD_Diff_tags_1[0]), /* 1 */
379 { 0, 0, SEQUENCE_constraint },
380 asn_MBR_MAC_ParametersXDD_Diff_1,
381 6, /* Elements count */
382 &asn_SPC_MAC_ParametersXDD_Diff_specs_1 /* Additional specs */