2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-KPM-RC"
4 * found in "e2sm-kpm-rc.asn"
5 * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
8 #include "E2SM-KPM-IndicationMessage-Format1.h"
10 #include "PM-Containers-Item.h"
11 #include "PM-Info-Item.h"
12 #include "PerUE-PM-Item.h"
14 memb_pm_Containers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
15 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
19 ASN__CTFAIL(app_key, td, sptr,
20 "%s: value not given (%s:%d)",
21 td->name, __FILE__, __LINE__);
25 /* Determine the number of elements */
26 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
28 if((size >= 1 && size <= 8)) {
29 /* Perform validation of the inner elements */
30 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: constraint failed (%s:%d)",
34 td->name, __FILE__, __LINE__);
40 memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
41 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
45 ASN__CTFAIL(app_key, td, sptr,
46 "%s: value not given (%s:%d)",
47 td->name, __FILE__, __LINE__);
51 /* Determine the number of elements */
52 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
54 if((size >= 1 && size <= 2147483647)) {
55 /* Perform validation of the inner elements */
56 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
58 ASN__CTFAIL(app_key, td, sptr,
59 "%s: constraint failed (%s:%d)",
60 td->name, __FILE__, __LINE__);
66 memb_list_of_matched_UEs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
67 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
71 ASN__CTFAIL(app_key, td, sptr,
72 "%s: value not given (%s:%d)",
73 td->name, __FILE__, __LINE__);
77 /* Determine the number of elements */
78 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
80 if((size >= 1 && size <= 65535)) {
81 /* Perform validation of the inner elements */
82 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
84 ASN__CTFAIL(app_key, td, sptr,
85 "%s: constraint failed (%s:%d)",
86 td->name, __FILE__, __LINE__);
91 static asn_oer_constraints_t asn_OER_type_pm_Containers_constr_2 CC_NOTUSED = {
93 -1 /* (SIZE(1..8)) */};
94 static asn_per_constraints_t asn_PER_type_pm_Containers_constr_2 CC_NOTUSED = {
95 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
96 { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
97 0, 0 /* No PER value map */
99 static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
101 -1 /* (SIZE(1..2147483647)) */};
102 static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
103 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
104 { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
105 0, 0 /* No PER value map */
107 static asn_oer_constraints_t asn_OER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
109 -1 /* (SIZE(1..65535)) */};
110 static asn_per_constraints_t asn_PER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
111 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
112 { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
113 0, 0 /* No PER value map */
115 static asn_oer_constraints_t asn_OER_memb_pm_Containers_constr_2 CC_NOTUSED = {
117 -1 /* (SIZE(1..8)) */};
118 static asn_per_constraints_t asn_PER_memb_pm_Containers_constr_2 CC_NOTUSED = {
119 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
120 { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
121 0, 0 /* No PER value map */
123 static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
125 -1 /* (SIZE(1..2147483647)) */};
126 static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
127 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
128 { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
129 0, 0 /* No PER value map */
131 static asn_oer_constraints_t asn_OER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
133 -1 /* (SIZE(1..65535)) */};
134 static asn_per_constraints_t asn_PER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
135 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
136 { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
137 0, 0 /* No PER value map */
139 static asn_TYPE_member_t asn_MBR_pm_Containers_2[] = {
141 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
143 &asn_DEF_PM_Containers_Item,
146 0, 0, /* No default value */
150 static const ber_tlv_tag_t asn_DEF_pm_Containers_tags_2[] = {
151 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
152 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
154 static asn_SET_OF_specifics_t asn_SPC_pm_Containers_specs_2 = {
155 sizeof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers),
156 offsetof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers, _asn_ctx),
157 0, /* XER encoding is XMLDelimitedItemList */
159 static /* Use -fall-defs-global to expose */
160 asn_TYPE_descriptor_t asn_DEF_pm_Containers_2 = {
164 asn_DEF_pm_Containers_tags_2,
165 sizeof(asn_DEF_pm_Containers_tags_2)
166 /sizeof(asn_DEF_pm_Containers_tags_2[0]) - 1, /* 1 */
167 asn_DEF_pm_Containers_tags_2, /* Same as above */
168 sizeof(asn_DEF_pm_Containers_tags_2)
169 /sizeof(asn_DEF_pm_Containers_tags_2[0]), /* 2 */
170 { &asn_OER_type_pm_Containers_constr_2, &asn_PER_type_pm_Containers_constr_2, SEQUENCE_OF_constraint },
171 asn_MBR_pm_Containers_2,
172 1, /* Single element */
173 &asn_SPC_pm_Containers_specs_2 /* Additional specs */
176 static asn_TYPE_member_t asn_MBR_list_of_PM_Information_5[] = {
178 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
180 &asn_DEF_PM_Info_Item,
183 0, 0, /* No default value */
187 static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_5[] = {
188 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
189 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
191 static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_5 = {
192 sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information),
193 offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information, _asn_ctx),
194 0, /* XER encoding is XMLDelimitedItemList */
196 static /* Use -fall-defs-global to expose */
197 asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_5 = {
198 "list-of-PM-Information",
199 "list-of-PM-Information",
201 asn_DEF_list_of_PM_Information_tags_5,
202 sizeof(asn_DEF_list_of_PM_Information_tags_5)
203 /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]) - 1, /* 1 */
204 asn_DEF_list_of_PM_Information_tags_5, /* Same as above */
205 sizeof(asn_DEF_list_of_PM_Information_tags_5)
206 /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]), /* 2 */
207 { &asn_OER_type_list_of_PM_Information_constr_5, &asn_PER_type_list_of_PM_Information_constr_5, SEQUENCE_OF_constraint },
208 asn_MBR_list_of_PM_Information_5,
209 1, /* Single element */
210 &asn_SPC_list_of_PM_Information_specs_5 /* Additional specs */
213 static asn_TYPE_member_t asn_MBR_list_of_matched_UEs_7[] = {
215 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
217 &asn_DEF_PerUE_PM_Item,
220 0, 0, /* No default value */
224 static const ber_tlv_tag_t asn_DEF_list_of_matched_UEs_tags_7[] = {
225 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
226 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
228 static asn_SET_OF_specifics_t asn_SPC_list_of_matched_UEs_specs_7 = {
229 sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs),
230 offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs, _asn_ctx),
231 0, /* XER encoding is XMLDelimitedItemList */
233 static /* Use -fall-defs-global to expose */
234 asn_TYPE_descriptor_t asn_DEF_list_of_matched_UEs_7 = {
235 "list-of-matched-UEs",
236 "list-of-matched-UEs",
238 asn_DEF_list_of_matched_UEs_tags_7,
239 sizeof(asn_DEF_list_of_matched_UEs_tags_7)
240 /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]) - 1, /* 1 */
241 asn_DEF_list_of_matched_UEs_tags_7, /* Same as above */
242 sizeof(asn_DEF_list_of_matched_UEs_tags_7)
243 /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]), /* 2 */
244 { &asn_OER_type_list_of_matched_UEs_constr_7, &asn_PER_type_list_of_matched_UEs_constr_7, SEQUENCE_OF_constraint },
245 asn_MBR_list_of_matched_UEs_7,
246 1, /* Single element */
247 &asn_SPC_list_of_matched_UEs_specs_7 /* Additional specs */
250 asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[] = {
251 { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, pm_Containers),
252 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
254 &asn_DEF_pm_Containers_2,
256 { &asn_OER_memb_pm_Containers_constr_2, &asn_PER_memb_pm_Containers_constr_2, memb_pm_Containers_constraint_1 },
257 0, 0, /* No default value */
260 { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, cellObjectID),
261 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
262 -1, /* IMPLICIT tag at current level */
263 &asn_DEF_CellObjectID,
266 0, 0, /* No default value */
269 { ATF_POINTER, 2, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_PM_Information),
270 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
272 &asn_DEF_list_of_PM_Information_5,
274 { &asn_OER_memb_list_of_PM_Information_constr_5, &asn_PER_memb_list_of_PM_Information_constr_5, memb_list_of_PM_Information_constraint_1 },
275 0, 0, /* No default value */
276 "list-of-PM-Information"
278 { ATF_POINTER, 1, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_matched_UEs),
279 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
281 &asn_DEF_list_of_matched_UEs_7,
283 { &asn_OER_memb_list_of_matched_UEs_constr_7, &asn_PER_memb_list_of_matched_UEs_constr_7, memb_list_of_matched_UEs_constraint_1 },
284 0, 0, /* No default value */
285 "list-of-matched-UEs"
288 static const int asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1[] = { 2, 3 };
289 static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[] = {
290 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
292 static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1[] = {
293 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pm-Containers */
294 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellObjectID */
295 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* list-of-PM-Information */
296 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* list-of-matched-UEs */
298 asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 = {
299 sizeof(struct E2SM_KPM_IndicationMessage_Format1),
300 offsetof(struct E2SM_KPM_IndicationMessage_Format1, _asn_ctx),
301 asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1,
302 4, /* Count of tags in the map */
303 asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1, /* Optional members */
304 2, 0, /* Root/Additions */
305 4, /* First extension addition */
307 asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1 = {
308 "E2SM-KPM-IndicationMessage-Format1",
309 "E2SM-KPM-IndicationMessage-Format1",
311 asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,
312 sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
313 /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
314 asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1, /* Same as above */
315 sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
316 /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
317 { 0, 0, SEQUENCE_constraint },
318 asn_MBR_E2SM_KPM_IndicationMessage_Format1_1,
319 4, /* Elements count */
320 &asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 /* Additional specs */