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 "SystemInformation-IEs.h"
19 memb_sib_TypeAndInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
20 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
24 ASN__CTFAIL(app_key, td, sptr,
25 "%s: value not given (%s:%d)",
26 td->name, __FILE__, __LINE__);
30 /* Determine the number of elements */
31 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
33 if((size >= 1 && size <= 32)) {
34 /* Perform validation of the inner elements */
35 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
37 ASN__CTFAIL(app_key, td, sptr,
38 "%s: constraint failed (%s:%d)",
39 td->name, __FILE__, __LINE__);
44 static asn_oer_constraints_t asn_OER_type_Member_constr_3 CC_NOTUSED = {
47 static asn_per_constraints_t asn_PER_type_Member_constr_3 CC_NOTUSED = {
48 { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */,
49 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
50 0, 0 /* No PER value map */
52 static asn_oer_constraints_t asn_OER_type_sib_TypeAndInfo_constr_2 CC_NOTUSED = {
54 -1 /* (SIZE(1..32)) */};
55 static asn_per_constraints_t asn_PER_type_sib_TypeAndInfo_constr_2 CC_NOTUSED = {
56 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
57 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
58 0, 0 /* No PER value map */
60 static asn_oer_constraints_t asn_OER_memb_sib_TypeAndInfo_constr_2 CC_NOTUSED = {
62 -1 /* (SIZE(1..32)) */};
63 static asn_per_constraints_t asn_PER_memb_sib_TypeAndInfo_constr_2 CC_NOTUSED = {
64 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
65 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
66 0, 0 /* No PER value map */
68 static asn_TYPE_member_t asn_MBR_Member_3[] = {
69 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib2),
70 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
71 -1, /* IMPLICIT tag at current level */
75 0, 0, /* No default value */
78 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib3),
79 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
80 -1, /* IMPLICIT tag at current level */
84 0, 0, /* No default value */
87 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib4),
88 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
89 -1, /* IMPLICIT tag at current level */
93 0, 0, /* No default value */
96 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib5),
97 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
98 -1, /* IMPLICIT tag at current level */
102 0, 0, /* No default value */
105 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib6),
106 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
107 -1, /* IMPLICIT tag at current level */
111 0, 0, /* No default value */
114 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib7),
115 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
116 -1, /* IMPLICIT tag at current level */
120 0, 0, /* No default value */
123 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib8),
124 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
125 -1, /* IMPLICIT tag at current level */
129 0, 0, /* No default value */
132 { ATF_POINTER, 0, offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, choice.sib9),
133 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
134 -1, /* IMPLICIT tag at current level */
138 0, 0, /* No default value */
142 static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_3[] = {
143 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sib2 */
144 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sib3 */
145 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sib4 */
146 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sib5 */
147 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sib6 */
148 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sib7 */
149 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sib8 */
150 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* sib9 */
152 static asn_CHOICE_specifics_t asn_SPC_Member_specs_3 = {
153 sizeof(struct SystemInformation_IEs__sib_TypeAndInfo__Member),
154 offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, _asn_ctx),
155 offsetof(struct SystemInformation_IEs__sib_TypeAndInfo__Member, present),
156 sizeof(((struct SystemInformation_IEs__sib_TypeAndInfo__Member *)0)->present),
157 asn_MAP_Member_tag2el_3,
158 8, /* Count of tags in the map */
160 8 /* Extensions start */
162 static /* Use -fall-defs-global to expose */
163 asn_TYPE_descriptor_t asn_DEF_Member_3 = {
167 0, /* No effective tags (pointer) */
168 0, /* No effective tags (count) */
169 0, /* No tags (pointer) */
170 0, /* No tags (count) */
171 { &asn_OER_type_Member_constr_3, &asn_PER_type_Member_constr_3, CHOICE_constraint },
173 8, /* Elements count */
174 &asn_SPC_Member_specs_3 /* Additional specs */
177 static asn_TYPE_member_t asn_MBR_sib_TypeAndInfo_2[] = {
179 -1 /* Ambiguous tag (CHOICE?) */,
184 0, 0, /* No default value */
188 static const ber_tlv_tag_t asn_DEF_sib_TypeAndInfo_tags_2[] = {
189 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
190 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
192 static asn_SET_OF_specifics_t asn_SPC_sib_TypeAndInfo_specs_2 = {
193 sizeof(struct SystemInformation_IEs__sib_TypeAndInfo),
194 offsetof(struct SystemInformation_IEs__sib_TypeAndInfo, _asn_ctx),
195 2, /* XER encoding is XMLValueList */
197 static /* Use -fall-defs-global to expose */
198 asn_TYPE_descriptor_t asn_DEF_sib_TypeAndInfo_2 = {
202 asn_DEF_sib_TypeAndInfo_tags_2,
203 sizeof(asn_DEF_sib_TypeAndInfo_tags_2)
204 /sizeof(asn_DEF_sib_TypeAndInfo_tags_2[0]) - 1, /* 1 */
205 asn_DEF_sib_TypeAndInfo_tags_2, /* Same as above */
206 sizeof(asn_DEF_sib_TypeAndInfo_tags_2)
207 /sizeof(asn_DEF_sib_TypeAndInfo_tags_2[0]), /* 2 */
208 { &asn_OER_type_sib_TypeAndInfo_constr_2, &asn_PER_type_sib_TypeAndInfo_constr_2, SEQUENCE_OF_constraint },
209 asn_MBR_sib_TypeAndInfo_2,
210 1, /* Single element */
211 &asn_SPC_sib_TypeAndInfo_specs_2 /* Additional specs */
214 static const ber_tlv_tag_t asn_DEF_nonCriticalExtension_tags_14[] = {
215 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
216 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
218 static asn_SEQUENCE_specifics_t asn_SPC_nonCriticalExtension_specs_14 = {
219 sizeof(struct SystemInformation_IEs__nonCriticalExtension),
220 offsetof(struct SystemInformation_IEs__nonCriticalExtension, _asn_ctx),
221 0, /* No top level tags */
222 0, /* No tags in the map */
223 0, 0, 0, /* Optional elements (not needed) */
224 -1, /* First extension addition */
226 static /* Use -fall-defs-global to expose */
227 asn_TYPE_descriptor_t asn_DEF_nonCriticalExtension_14 = {
228 "nonCriticalExtension",
229 "nonCriticalExtension",
231 asn_DEF_nonCriticalExtension_tags_14,
232 sizeof(asn_DEF_nonCriticalExtension_tags_14)
233 /sizeof(asn_DEF_nonCriticalExtension_tags_14[0]) - 1, /* 1 */
234 asn_DEF_nonCriticalExtension_tags_14, /* Same as above */
235 sizeof(asn_DEF_nonCriticalExtension_tags_14)
236 /sizeof(asn_DEF_nonCriticalExtension_tags_14[0]), /* 2 */
237 { 0, 0, SEQUENCE_constraint },
238 0, 0, /* No members */
239 &asn_SPC_nonCriticalExtension_specs_14 /* Additional specs */
242 asn_TYPE_member_t asn_MBR_SystemInformation_IEs_1[] = {
243 { ATF_NOFLAGS, 0, offsetof(struct SystemInformation_IEs, sib_TypeAndInfo),
244 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
246 &asn_DEF_sib_TypeAndInfo_2,
248 { &asn_OER_memb_sib_TypeAndInfo_constr_2, &asn_PER_memb_sib_TypeAndInfo_constr_2, memb_sib_TypeAndInfo_constraint_1 },
249 0, 0, /* No default value */
252 { ATF_POINTER, 2, offsetof(struct SystemInformation_IEs, lateNonCriticalExtension),
253 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
254 -1, /* IMPLICIT tag at current level */
255 &asn_DEF_OCTET_STRING,
258 0, 0, /* No default value */
259 "lateNonCriticalExtension"
261 { ATF_POINTER, 1, offsetof(struct SystemInformation_IEs, nonCriticalExtension),
262 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
264 &asn_DEF_nonCriticalExtension_14,
267 0, 0, /* No default value */
268 "nonCriticalExtension"
271 static const int asn_MAP_SystemInformation_IEs_oms_1[] = { 1, 2 };
272 static const ber_tlv_tag_t asn_DEF_SystemInformation_IEs_tags_1[] = {
273 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
275 static const asn_TYPE_tag2member_t asn_MAP_SystemInformation_IEs_tag2el_1[] = {
276 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sib-TypeAndInfo */
277 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lateNonCriticalExtension */
278 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* nonCriticalExtension */
280 asn_SEQUENCE_specifics_t asn_SPC_SystemInformation_IEs_specs_1 = {
281 sizeof(struct SystemInformation_IEs),
282 offsetof(struct SystemInformation_IEs, _asn_ctx),
283 asn_MAP_SystemInformation_IEs_tag2el_1,
284 3, /* Count of tags in the map */
285 asn_MAP_SystemInformation_IEs_oms_1, /* Optional members */
286 2, 0, /* Root/Additions */
287 -1, /* First extension addition */
289 asn_TYPE_descriptor_t asn_DEF_SystemInformation_IEs = {
290 "SystemInformation-IEs",
291 "SystemInformation-IEs",
293 asn_DEF_SystemInformation_IEs_tags_1,
294 sizeof(asn_DEF_SystemInformation_IEs_tags_1)
295 /sizeof(asn_DEF_SystemInformation_IEs_tags_1[0]), /* 1 */
296 asn_DEF_SystemInformation_IEs_tags_1, /* Same as above */
297 sizeof(asn_DEF_SystemInformation_IEs_tags_1)
298 /sizeof(asn_DEF_SystemInformation_IEs_tags_1[0]), /* 1 */
299 { 0, 0, SEQUENCE_constraint },
300 asn_MBR_SystemInformation_IEs_1,
301 3, /* Elements count */
302 &asn_SPC_SystemInformation_IEs_specs_1 /* Additional specs */