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`
8 #include "FeatureSetDownlinkPerCC.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
14 static asn_oer_constraints_t asn_OER_type_channelBW_90mhz_constr_4 CC_NOTUSED = {
17 static asn_per_constraints_t asn_PER_type_channelBW_90mhz_constr_4 CC_NOTUSED = {
18 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
19 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
20 0, 0 /* No PER value map */
22 static const asn_INTEGER_enum_map_t asn_MAP_channelBW_90mhz_value2enum_4[] = {
25 static const unsigned int asn_MAP_channelBW_90mhz_enum2value_4[] = {
28 static const asn_INTEGER_specifics_t asn_SPC_channelBW_90mhz_specs_4 = {
29 asn_MAP_channelBW_90mhz_value2enum_4, /* "tag" => N; sorted by tag */
30 asn_MAP_channelBW_90mhz_enum2value_4, /* N => "tag"; sorted by N */
31 1, /* Number of elements in the maps */
32 0, /* Enumeration is not extensible */
33 1, /* Strict enumeration */
34 0, /* Native long size */
37 static const ber_tlv_tag_t asn_DEF_channelBW_90mhz_tags_4[] = {
38 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
39 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
41 static /* Use -fall-defs-global to expose */
42 asn_TYPE_descriptor_t asn_DEF_channelBW_90mhz_4 = {
45 &asn_OP_NativeEnumerated,
46 asn_DEF_channelBW_90mhz_tags_4,
47 sizeof(asn_DEF_channelBW_90mhz_tags_4)
48 /sizeof(asn_DEF_channelBW_90mhz_tags_4[0]) - 1, /* 1 */
49 asn_DEF_channelBW_90mhz_tags_4, /* Same as above */
50 sizeof(asn_DEF_channelBW_90mhz_tags_4)
51 /sizeof(asn_DEF_channelBW_90mhz_tags_4[0]), /* 2 */
52 { &asn_OER_type_channelBW_90mhz_constr_4, &asn_PER_type_channelBW_90mhz_constr_4, NativeEnumerated_constraint },
53 0, 0, /* Defined elsewhere */
54 &asn_SPC_channelBW_90mhz_specs_4 /* Additional specs */
57 asn_TYPE_member_t asn_MBR_FeatureSetDownlinkPerCC_1[] = {
58 { ATF_NOFLAGS, 0, offsetof(struct FeatureSetDownlinkPerCC, supportedSubcarrierSpacingDL),
59 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
60 -1, /* IMPLICIT tag at current level */
61 &asn_DEF_SubcarrierSpacing,
64 0, 0, /* No default value */
65 "supportedSubcarrierSpacingDL"
67 { ATF_NOFLAGS, 0, offsetof(struct FeatureSetDownlinkPerCC, supportedBandwidthDL),
68 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
69 +1, /* EXPLICIT tag at current level */
70 &asn_DEF_SupportedBandwidth,
73 0, 0, /* No default value */
74 "supportedBandwidthDL"
76 { ATF_POINTER, 3, offsetof(struct FeatureSetDownlinkPerCC, channelBW_90mhz),
77 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
78 -1, /* IMPLICIT tag at current level */
79 &asn_DEF_channelBW_90mhz_4,
82 0, 0, /* No default value */
85 { ATF_POINTER, 2, offsetof(struct FeatureSetDownlinkPerCC, maxNumberMIMO_LayersPDSCH),
86 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
87 -1, /* IMPLICIT tag at current level */
88 &asn_DEF_MIMO_LayersDL,
91 0, 0, /* No default value */
92 "maxNumberMIMO-LayersPDSCH"
94 { ATF_POINTER, 1, offsetof(struct FeatureSetDownlinkPerCC, supportedModulationOrderDL),
95 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
96 -1, /* IMPLICIT tag at current level */
97 &asn_DEF_ModulationOrder,
100 0, 0, /* No default value */
101 "supportedModulationOrderDL"
104 static const int asn_MAP_FeatureSetDownlinkPerCC_oms_1[] = { 2, 3, 4 };
105 static const ber_tlv_tag_t asn_DEF_FeatureSetDownlinkPerCC_tags_1[] = {
106 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
108 static const asn_TYPE_tag2member_t asn_MAP_FeatureSetDownlinkPerCC_tag2el_1[] = {
109 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* supportedSubcarrierSpacingDL */
110 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* supportedBandwidthDL */
111 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* channelBW-90mhz */
112 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxNumberMIMO-LayersPDSCH */
113 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* supportedModulationOrderDL */
115 asn_SEQUENCE_specifics_t asn_SPC_FeatureSetDownlinkPerCC_specs_1 = {
116 sizeof(struct FeatureSetDownlinkPerCC),
117 offsetof(struct FeatureSetDownlinkPerCC, _asn_ctx),
118 asn_MAP_FeatureSetDownlinkPerCC_tag2el_1,
119 5, /* Count of tags in the map */
120 asn_MAP_FeatureSetDownlinkPerCC_oms_1, /* Optional members */
121 3, 0, /* Root/Additions */
122 -1, /* First extension addition */
124 asn_TYPE_descriptor_t asn_DEF_FeatureSetDownlinkPerCC = {
125 "FeatureSetDownlinkPerCC",
126 "FeatureSetDownlinkPerCC",
128 asn_DEF_FeatureSetDownlinkPerCC_tags_1,
129 sizeof(asn_DEF_FeatureSetDownlinkPerCC_tags_1)
130 /sizeof(asn_DEF_FeatureSetDownlinkPerCC_tags_1[0]), /* 1 */
131 asn_DEF_FeatureSetDownlinkPerCC_tags_1, /* Same as above */
132 sizeof(asn_DEF_FeatureSetDownlinkPerCC_tags_1)
133 /sizeof(asn_DEF_FeatureSetDownlinkPerCC_tags_1[0]), /* 1 */
134 { 0, 0, SEQUENCE_constraint },
135 asn_MBR_FeatureSetDownlinkPerCC_1,
136 5, /* Elements count */
137 &asn_SPC_FeatureSetDownlinkPerCC_specs_1 /* Additional specs */