2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-InterNodeDefinitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #include "ConfigRestrictInfoSCG.h"
10 #include "BandCombinationInfoList.h"
12 memb_maxMeasFreqsSCG_NR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
13 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
17 ASN__CTFAIL(app_key, td, sptr,
18 "%s: value not given (%s:%d)",
19 td->name, __FILE__, __LINE__);
23 value = *(const long *)sptr;
25 if((value >= 1 && value <= 32)) {
26 /* Constraint check succeeded */
29 ASN__CTFAIL(app_key, td, sptr,
30 "%s: constraint failed (%s:%d)",
31 td->name, __FILE__, __LINE__);
37 memb_maxMeasIdentitiesSCG_NR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
38 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
42 ASN__CTFAIL(app_key, td, sptr,
43 "%s: value not given (%s:%d)",
44 td->name, __FILE__, __LINE__);
48 value = *(const long *)sptr;
50 if((value >= 1 && value <= 62)) {
51 /* Constraint check succeeded */
54 ASN__CTFAIL(app_key, td, sptr,
55 "%s: constraint failed (%s:%d)",
56 td->name, __FILE__, __LINE__);
61 static asn_oer_constraints_t asn_OER_memb_maxMeasFreqsSCG_NR_constr_10 CC_NOTUSED = {
62 { 1, 1 } /* (1..32) */,
64 static asn_per_constraints_t asn_PER_memb_maxMeasFreqsSCG_NR_constr_10 CC_NOTUSED = {
65 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */,
66 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
67 0, 0 /* No PER value map */
69 static asn_oer_constraints_t asn_OER_memb_maxMeasIdentitiesSCG_NR_constr_11 CC_NOTUSED = {
70 { 1, 1 } /* (1..62) */,
72 static asn_per_constraints_t asn_PER_memb_maxMeasIdentitiesSCG_NR_constr_11 CC_NOTUSED = {
73 { APC_CONSTRAINED, 6, 6, 1, 62 } /* (1..62) */,
74 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
75 0, 0 /* No PER value map */
77 static asn_TYPE_member_t asn_MBR_powerCoordination_FR1_3[] = {
78 { ATF_POINTER, 3, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxNR_FR1),
79 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
80 -1, /* IMPLICIT tag at current level */
84 0, 0, /* No default value */
87 { ATF_POINTER, 2, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxEUTRA),
88 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
89 -1, /* IMPLICIT tag at current level */
93 0, 0, /* No default value */
96 { ATF_POINTER, 1, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxUE_FR1),
97 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
98 -1, /* IMPLICIT tag at current level */
102 0, 0, /* No default value */
106 static const int asn_MAP_powerCoordination_FR1_oms_3[] = { 0, 1, 2 };
107 static const ber_tlv_tag_t asn_DEF_powerCoordination_FR1_tags_3[] = {
108 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
109 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
111 static const asn_TYPE_tag2member_t asn_MAP_powerCoordination_FR1_tag2el_3[] = {
112 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* p-maxNR-FR1 */
113 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* p-maxEUTRA */
114 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* p-maxUE-FR1 */
116 static asn_SEQUENCE_specifics_t asn_SPC_powerCoordination_FR1_specs_3 = {
117 sizeof(struct ConfigRestrictInfoSCG__powerCoordination_FR1),
118 offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, _asn_ctx),
119 asn_MAP_powerCoordination_FR1_tag2el_3,
120 3, /* Count of tags in the map */
121 asn_MAP_powerCoordination_FR1_oms_3, /* Optional members */
122 3, 0, /* Root/Additions */
123 -1, /* First extension addition */
125 static /* Use -fall-defs-global to expose */
126 asn_TYPE_descriptor_t asn_DEF_powerCoordination_FR1_3 = {
127 "powerCoordination-FR1",
128 "powerCoordination-FR1",
130 asn_DEF_powerCoordination_FR1_tags_3,
131 sizeof(asn_DEF_powerCoordination_FR1_tags_3)
132 /sizeof(asn_DEF_powerCoordination_FR1_tags_3[0]) - 1, /* 1 */
133 asn_DEF_powerCoordination_FR1_tags_3, /* Same as above */
134 sizeof(asn_DEF_powerCoordination_FR1_tags_3)
135 /sizeof(asn_DEF_powerCoordination_FR1_tags_3[0]), /* 2 */
136 { 0, 0, SEQUENCE_constraint },
137 asn_MBR_powerCoordination_FR1_3,
138 3, /* Elements count */
139 &asn_SPC_powerCoordination_FR1_specs_3 /* Additional specs */
142 static asn_TYPE_member_t asn_MBR_servCellIndexRangeSCG_7[] = {
143 { ATF_NOFLAGS, 0, offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, lowBound),
144 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
145 -1, /* IMPLICIT tag at current level */
146 &asn_DEF_ServCellIndexRrc,
149 0, 0, /* No default value */
152 { ATF_NOFLAGS, 0, offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, upBound),
153 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
154 -1, /* IMPLICIT tag at current level */
155 &asn_DEF_ServCellIndexRrc,
158 0, 0, /* No default value */
162 static const ber_tlv_tag_t asn_DEF_servCellIndexRangeSCG_tags_7[] = {
163 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
164 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
166 static const asn_TYPE_tag2member_t asn_MAP_servCellIndexRangeSCG_tag2el_7[] = {
167 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lowBound */
168 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* upBound */
170 static asn_SEQUENCE_specifics_t asn_SPC_servCellIndexRangeSCG_specs_7 = {
171 sizeof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG),
172 offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, _asn_ctx),
173 asn_MAP_servCellIndexRangeSCG_tag2el_7,
174 2, /* Count of tags in the map */
175 0, 0, 0, /* Optional elements (not needed) */
176 -1, /* First extension addition */
178 static /* Use -fall-defs-global to expose */
179 asn_TYPE_descriptor_t asn_DEF_servCellIndexRangeSCG_7 = {
180 "servCellIndexRangeSCG",
181 "servCellIndexRangeSCG",
183 asn_DEF_servCellIndexRangeSCG_tags_7,
184 sizeof(asn_DEF_servCellIndexRangeSCG_tags_7)
185 /sizeof(asn_DEF_servCellIndexRangeSCG_tags_7[0]) - 1, /* 1 */
186 asn_DEF_servCellIndexRangeSCG_tags_7, /* Same as above */
187 sizeof(asn_DEF_servCellIndexRangeSCG_tags_7)
188 /sizeof(asn_DEF_servCellIndexRangeSCG_tags_7[0]), /* 2 */
189 { 0, 0, SEQUENCE_constraint },
190 asn_MBR_servCellIndexRangeSCG_7,
191 2, /* Elements count */
192 &asn_SPC_servCellIndexRangeSCG_specs_7 /* Additional specs */
195 asn_TYPE_member_t asn_MBR_ConfigRestrictInfoSCG_1[] = {
196 { ATF_POINTER, 5, offsetof(struct ConfigRestrictInfoSCG, allowedBC_ListMRDC),
197 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
198 -1, /* IMPLICIT tag at current level */
199 &asn_DEF_BandCombinationInfoList,
202 0, 0, /* No default value */
205 { ATF_POINTER, 4, offsetof(struct ConfigRestrictInfoSCG, powerCoordination_FR1),
206 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
208 &asn_DEF_powerCoordination_FR1_3,
211 0, 0, /* No default value */
212 "powerCoordination-FR1"
214 { ATF_POINTER, 3, offsetof(struct ConfigRestrictInfoSCG, servCellIndexRangeSCG),
215 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
217 &asn_DEF_servCellIndexRangeSCG_7,
220 0, 0, /* No default value */
221 "servCellIndexRangeSCG"
223 { ATF_POINTER, 2, offsetof(struct ConfigRestrictInfoSCG, maxMeasFreqsSCG_NR),
224 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
225 -1, /* IMPLICIT tag at current level */
226 &asn_DEF_NativeInteger,
228 { &asn_OER_memb_maxMeasFreqsSCG_NR_constr_10, &asn_PER_memb_maxMeasFreqsSCG_NR_constr_10, memb_maxMeasFreqsSCG_NR_constraint_1 },
229 0, 0, /* No default value */
232 { ATF_POINTER, 1, offsetof(struct ConfigRestrictInfoSCG, maxMeasIdentitiesSCG_NR),
233 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
234 -1, /* IMPLICIT tag at current level */
235 &asn_DEF_NativeInteger,
237 { &asn_OER_memb_maxMeasIdentitiesSCG_NR_constr_11, &asn_PER_memb_maxMeasIdentitiesSCG_NR_constr_11, memb_maxMeasIdentitiesSCG_NR_constraint_1 },
238 0, 0, /* No default value */
239 "maxMeasIdentitiesSCG-NR"
242 static const int asn_MAP_ConfigRestrictInfoSCG_oms_1[] = { 0, 1, 2, 3, 4 };
243 static const ber_tlv_tag_t asn_DEF_ConfigRestrictInfoSCG_tags_1[] = {
244 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
246 static const asn_TYPE_tag2member_t asn_MAP_ConfigRestrictInfoSCG_tag2el_1[] = {
247 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* allowedBC-ListMRDC */
248 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* powerCoordination-FR1 */
249 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* servCellIndexRangeSCG */
250 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxMeasFreqsSCG-NR */
251 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* maxMeasIdentitiesSCG-NR */
253 asn_SEQUENCE_specifics_t asn_SPC_ConfigRestrictInfoSCG_specs_1 = {
254 sizeof(struct ConfigRestrictInfoSCG),
255 offsetof(struct ConfigRestrictInfoSCG, _asn_ctx),
256 asn_MAP_ConfigRestrictInfoSCG_tag2el_1,
257 5, /* Count of tags in the map */
258 asn_MAP_ConfigRestrictInfoSCG_oms_1, /* Optional members */
259 5, 0, /* Root/Additions */
260 5, /* First extension addition */
262 asn_TYPE_descriptor_t asn_DEF_ConfigRestrictInfoSCG = {
263 "ConfigRestrictInfoSCG",
264 "ConfigRestrictInfoSCG",
266 asn_DEF_ConfigRestrictInfoSCG_tags_1,
267 sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1)
268 /sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1[0]), /* 1 */
269 asn_DEF_ConfigRestrictInfoSCG_tags_1, /* Same as above */
270 sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1)
271 /sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1[0]), /* 1 */
272 { 0, 0, SEQUENCE_constraint },
273 asn_MBR_ConfigRestrictInfoSCG_1,
274 5, /* Elements count */
275 &asn_SPC_ConfigRestrictInfoSCG_specs_1 /* Additional specs */