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`
8 #include "SpCellConfig.h"
10 #include "ReconfigurationWithSync.h"
11 #include "ServingCellConfig.h"
12 #include "RLF-TimersAndConstants.h"
14 * This type is implemented using NativeEnumerated,
15 * so here we adjust the DEF accordingly.
17 static asn_oer_constraints_t asn_OER_type_rlf_TimersAndConstants_constr_4 CC_NOTUSED = {
20 static asn_per_constraints_t asn_PER_type_rlf_TimersAndConstants_constr_4 CC_NOTUSED = {
21 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
22 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
23 0, 0 /* No PER value map */
25 static asn_oer_constraints_t asn_OER_type_rlmInSyncOutOfSyncThreshold_constr_7 CC_NOTUSED = {
28 static asn_per_constraints_t asn_PER_type_rlmInSyncOutOfSyncThreshold_constr_7 CC_NOTUSED = {
29 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
30 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
31 0, 0 /* No PER value map */
33 static asn_TYPE_member_t asn_MBR_rlf_TimersAndConstants_4[] = {
34 { ATF_NOFLAGS, 0, offsetof(struct SpCellConfig__rlf_TimersAndConstants, choice.release),
35 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
36 -1, /* IMPLICIT tag at current level */
40 0, 0, /* No default value */
43 { ATF_POINTER, 0, offsetof(struct SpCellConfig__rlf_TimersAndConstants, choice.setup),
44 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
45 -1, /* IMPLICIT tag at current level */
46 &asn_DEF_RLF_TimersAndConstants,
49 0, 0, /* No default value */
53 static const asn_TYPE_tag2member_t asn_MAP_rlf_TimersAndConstants_tag2el_4[] = {
54 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
55 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
57 static asn_CHOICE_specifics_t asn_SPC_rlf_TimersAndConstants_specs_4 = {
58 sizeof(struct SpCellConfig__rlf_TimersAndConstants),
59 offsetof(struct SpCellConfig__rlf_TimersAndConstants, _asn_ctx),
60 offsetof(struct SpCellConfig__rlf_TimersAndConstants, present),
61 sizeof(((struct SpCellConfig__rlf_TimersAndConstants *)0)->present),
62 asn_MAP_rlf_TimersAndConstants_tag2el_4,
63 2, /* Count of tags in the map */
65 -1 /* Extensions start */
67 static /* Use -fall-defs-global to expose */
68 asn_TYPE_descriptor_t asn_DEF_rlf_TimersAndConstants_4 = {
69 "rlf-TimersAndConstants",
70 "rlf-TimersAndConstants",
72 0, /* No effective tags (pointer) */
73 0, /* No effective tags (count) */
74 0, /* No tags (pointer) */
75 0, /* No tags (count) */
76 { &asn_OER_type_rlf_TimersAndConstants_constr_4, &asn_PER_type_rlf_TimersAndConstants_constr_4, CHOICE_constraint },
77 asn_MBR_rlf_TimersAndConstants_4,
78 2, /* Elements count */
79 &asn_SPC_rlf_TimersAndConstants_specs_4 /* Additional specs */
82 static const asn_INTEGER_enum_map_t asn_MAP_rlmInSyncOutOfSyncThreshold_value2enum_7[] = {
85 static const unsigned int asn_MAP_rlmInSyncOutOfSyncThreshold_enum2value_7[] = {
88 static const asn_INTEGER_specifics_t asn_SPC_rlmInSyncOutOfSyncThreshold_specs_7 = {
89 asn_MAP_rlmInSyncOutOfSyncThreshold_value2enum_7, /* "tag" => N; sorted by tag */
90 asn_MAP_rlmInSyncOutOfSyncThreshold_enum2value_7, /* 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_rlmInSyncOutOfSyncThreshold_tags_7[] = {
98 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
99 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
101 static /* Use -fall-defs-global to expose */
102 asn_TYPE_descriptor_t asn_DEF_rlmInSyncOutOfSyncThreshold_7 = {
103 "rlmInSyncOutOfSyncThreshold",
104 "rlmInSyncOutOfSyncThreshold",
105 &asn_OP_NativeEnumerated,
106 asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7,
107 sizeof(asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7)
108 /sizeof(asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7[0]) - 1, /* 1 */
109 asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7, /* Same as above */
110 sizeof(asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7)
111 /sizeof(asn_DEF_rlmInSyncOutOfSyncThreshold_tags_7[0]), /* 2 */
112 { &asn_OER_type_rlmInSyncOutOfSyncThreshold_constr_7, &asn_PER_type_rlmInSyncOutOfSyncThreshold_constr_7, NativeEnumerated_constraint },
113 0, 0, /* Defined elsewhere */
114 &asn_SPC_rlmInSyncOutOfSyncThreshold_specs_7 /* Additional specs */
117 asn_TYPE_member_t asn_MBR_SpCellConfig_1[] = {
118 { ATF_POINTER, 5, offsetof(struct SpCellConfig, servCellIndex),
119 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
120 -1, /* IMPLICIT tag at current level */
121 &asn_DEF_ServCellIndex,
124 0, 0, /* No default value */
127 { ATF_POINTER, 4, offsetof(struct SpCellConfig, reconfigurationWithSync),
128 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
129 -1, /* IMPLICIT tag at current level */
130 &asn_DEF_ReconfigurationWithSync,
133 0, 0, /* No default value */
134 "reconfigurationWithSync"
136 { ATF_POINTER, 3, offsetof(struct SpCellConfig, rlf_TimersAndConstants),
137 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
138 +1, /* EXPLICIT tag at current level */
139 &asn_DEF_rlf_TimersAndConstants_4,
142 0, 0, /* No default value */
143 "rlf-TimersAndConstants"
145 { ATF_POINTER, 2, offsetof(struct SpCellConfig, rlmInSyncOutOfSyncThreshold),
146 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
147 -1, /* IMPLICIT tag at current level */
148 &asn_DEF_rlmInSyncOutOfSyncThreshold_7,
151 0, 0, /* No default value */
152 "rlmInSyncOutOfSyncThreshold"
154 { ATF_POINTER, 1, offsetof(struct SpCellConfig, spCellConfigDedicated),
155 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
156 -1, /* IMPLICIT tag at current level */
157 &asn_DEF_ServingCellConfig,
160 0, 0, /* No default value */
161 "spCellConfigDedicated"
164 static const int asn_MAP_SpCellConfig_oms_1[] = { 0, 1, 2, 3, 4 };
165 static const ber_tlv_tag_t asn_DEF_SpCellConfig_tags_1[] = {
166 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
168 static const asn_TYPE_tag2member_t asn_MAP_SpCellConfig_tag2el_1[] = {
169 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servCellIndex */
170 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reconfigurationWithSync */
171 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rlf-TimersAndConstants */
172 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rlmInSyncOutOfSyncThreshold */
173 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* spCellConfigDedicated */
175 asn_SEQUENCE_specifics_t asn_SPC_SpCellConfig_specs_1 = {
176 sizeof(struct SpCellConfig),
177 offsetof(struct SpCellConfig, _asn_ctx),
178 asn_MAP_SpCellConfig_tag2el_1,
179 5, /* Count of tags in the map */
180 asn_MAP_SpCellConfig_oms_1, /* Optional members */
181 5, 0, /* Root/Additions */
182 5, /* First extension addition */
184 asn_TYPE_descriptor_t asn_DEF_SpCellConfig = {
188 asn_DEF_SpCellConfig_tags_1,
189 sizeof(asn_DEF_SpCellConfig_tags_1)
190 /sizeof(asn_DEF_SpCellConfig_tags_1[0]), /* 1 */
191 asn_DEF_SpCellConfig_tags_1, /* Same as above */
192 sizeof(asn_DEF_SpCellConfig_tags_1)
193 /sizeof(asn_DEF_SpCellConfig_tags_1[0]), /* 1 */
194 { 0, 0, SEQUENCE_constraint },
195 asn_MBR_SpCellConfig_1,
196 5, /* Elements count */
197 &asn_SPC_SpCellConfig_specs_1 /* Additional specs */