blob: 226d0fbb48f26f428430ad21e74bda38049b84a1 [file] [log] [blame]
Ron Shacham0eba05c2020-05-08 15:13:19 -04001/*
2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-KPM-IEs"
Ron Shachamb57063d2020-07-06 16:12:24 -04004 * found in "/home/rshacham/e2sm-kpm-v01.02.asn"
Ron Shacham0eba05c2020-05-08 15:13:19 -04005 * `asn1c -fcompound-names`
6 */
7
8#include "E2SM-KPM-RANfunction-Description.h"
9
10static int
11memb_ric_EventTriggerStyle_List_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13 size_t size;
14
15 if(!sptr) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
19 return -1;
20 }
21
22 /* Determine the number of elements */
23 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
24
25 if((size >= 1 && size <= 63)) {
26 /* Perform validation of the inner elements */
27 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
28 } else {
29 ASN__CTFAIL(app_key, td, sptr,
30 "%s: constraint failed (%s:%d)",
31 td->name, __FILE__, __LINE__);
32 return -1;
33 }
34}
35
36static int
37memb_ric_ReportStyle_List_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
38 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
39 size_t size;
40
41 if(!sptr) {
42 ASN__CTFAIL(app_key, td, sptr,
43 "%s: value not given (%s:%d)",
44 td->name, __FILE__, __LINE__);
45 return -1;
46 }
47
48 /* Determine the number of elements */
49 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
50
51 if((size >= 1 && size <= 63)) {
52 /* Perform validation of the inner elements */
53 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
54 } else {
55 ASN__CTFAIL(app_key, td, sptr,
56 "%s: constraint failed (%s:%d)",
57 td->name, __FILE__, __LINE__);
58 return -1;
59 }
60}
61
62static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_4 CC_NOTUSED = {
63 { 0, 0 },
64 -1 /* (SIZE(1..63)) */};
65static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_4 CC_NOTUSED = {
66 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
67 { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
68 0, 0 /* No PER value map */
69};
70static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_6 CC_NOTUSED = {
71 { 0, 0 },
72 -1 /* (SIZE(1..63)) */};
73static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_6 CC_NOTUSED = {
74 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
75 { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
76 0, 0 /* No PER value map */
77};
78static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_4 CC_NOTUSED = {
79 { 0, 0 },
80 -1 /* (SIZE(1..63)) */};
81static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_4 CC_NOTUSED = {
82 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
83 { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
84 0, 0 /* No PER value map */
85};
86static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_6 CC_NOTUSED = {
87 { 0, 0 },
88 -1 /* (SIZE(1..63)) */};
89static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_6 CC_NOTUSED = {
90 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
91 { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
92 0, 0 /* No PER value map */
93};
94static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_4[] = {
95 { ATF_POINTER, 0, 0,
96 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
97 0,
98 &asn_DEF_RIC_EventTriggerStyle_List,
99 0,
100 { 0, 0, 0 },
101 0, 0, /* No default value */
102 ""
103 },
104};
105static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_4[] = {
106 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
107 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
108};
109static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_4 = {
110 sizeof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item__ric_EventTriggerStyle_List),
111 offsetof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item__ric_EventTriggerStyle_List, _asn_ctx),
112 0, /* XER encoding is XMLDelimitedItemList */
113};
114static /* Use -fall-defs-global to expose */
115asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_4 = {
116 "ric-EventTriggerStyle-List",
117 "ric-EventTriggerStyle-List",
118 &asn_OP_SEQUENCE_OF,
119 asn_DEF_ric_EventTriggerStyle_List_tags_4,
120 sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_4)
121 /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_4[0]) - 1, /* 1 */
122 asn_DEF_ric_EventTriggerStyle_List_tags_4, /* Same as above */
123 sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_4)
124 /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_4[0]), /* 2 */
125 { &asn_OER_type_ric_EventTriggerStyle_List_constr_4, &asn_PER_type_ric_EventTriggerStyle_List_constr_4, SEQUENCE_OF_constraint },
126 asn_MBR_ric_EventTriggerStyle_List_4,
127 1, /* Single element */
128 &asn_SPC_ric_EventTriggerStyle_List_specs_4 /* Additional specs */
129};
130
131static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_6[] = {
132 { ATF_POINTER, 0, 0,
133 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
134 0,
135 &asn_DEF_RIC_ReportStyle_List,
136 0,
137 { 0, 0, 0 },
138 0, 0, /* No default value */
139 ""
140 },
141};
142static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_6[] = {
143 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
144 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
145};
146static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_6 = {
147 sizeof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item__ric_ReportStyle_List),
148 offsetof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item__ric_ReportStyle_List, _asn_ctx),
149 0, /* XER encoding is XMLDelimitedItemList */
150};
151static /* Use -fall-defs-global to expose */
152asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_6 = {
153 "ric-ReportStyle-List",
154 "ric-ReportStyle-List",
155 &asn_OP_SEQUENCE_OF,
156 asn_DEF_ric_ReportStyle_List_tags_6,
157 sizeof(asn_DEF_ric_ReportStyle_List_tags_6)
158 /sizeof(asn_DEF_ric_ReportStyle_List_tags_6[0]) - 1, /* 1 */
159 asn_DEF_ric_ReportStyle_List_tags_6, /* Same as above */
160 sizeof(asn_DEF_ric_ReportStyle_List_tags_6)
161 /sizeof(asn_DEF_ric_ReportStyle_List_tags_6[0]), /* 2 */
162 { &asn_OER_type_ric_ReportStyle_List_constr_6, &asn_PER_type_ric_ReportStyle_List_constr_6, SEQUENCE_OF_constraint },
163 asn_MBR_ric_ReportStyle_List_6,
164 1, /* Single element */
165 &asn_SPC_ric_ReportStyle_List_specs_6 /* Additional specs */
166};
167
168static asn_TYPE_member_t asn_MBR_e2SM_KPM_RANfunction_Item_3[] = {
169 { ATF_POINTER, 2, offsetof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item, ric_EventTriggerStyle_List),
170 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
171 0,
172 &asn_DEF_ric_EventTriggerStyle_List_4,
173 0,
174 { &asn_OER_memb_ric_EventTriggerStyle_List_constr_4, &asn_PER_memb_ric_EventTriggerStyle_List_constr_4, memb_ric_EventTriggerStyle_List_constraint_3 },
175 0, 0, /* No default value */
176 "ric-EventTriggerStyle-List"
177 },
178 { ATF_POINTER, 1, offsetof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item, ric_ReportStyle_List),
179 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
180 0,
181 &asn_DEF_ric_ReportStyle_List_6,
182 0,
183 { &asn_OER_memb_ric_ReportStyle_List_constr_6, &asn_PER_memb_ric_ReportStyle_List_constr_6, memb_ric_ReportStyle_List_constraint_3 },
184 0, 0, /* No default value */
185 "ric-ReportStyle-List"
186 },
187};
188static const int asn_MAP_e2SM_KPM_RANfunction_Item_oms_3[] = { 0, 1 };
189static const ber_tlv_tag_t asn_DEF_e2SM_KPM_RANfunction_Item_tags_3[] = {
190 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
191 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
192};
193static const asn_TYPE_tag2member_t asn_MAP_e2SM_KPM_RANfunction_Item_tag2el_3[] = {
194 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-List */
195 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-ReportStyle-List */
196};
197static asn_SEQUENCE_specifics_t asn_SPC_e2SM_KPM_RANfunction_Item_specs_3 = {
198 sizeof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item),
199 offsetof(struct E2SM_KPM_RANfunction_Description__e2SM_KPM_RANfunction_Item, _asn_ctx),
200 asn_MAP_e2SM_KPM_RANfunction_Item_tag2el_3,
201 2, /* Count of tags in the map */
202 asn_MAP_e2SM_KPM_RANfunction_Item_oms_3, /* Optional members */
203 2, 0, /* Root/Additions */
204 2, /* First extension addition */
205};
206static /* Use -fall-defs-global to expose */
207asn_TYPE_descriptor_t asn_DEF_e2SM_KPM_RANfunction_Item_3 = {
208 "e2SM-KPM-RANfunction-Item",
209 "e2SM-KPM-RANfunction-Item",
210 &asn_OP_SEQUENCE,
211 asn_DEF_e2SM_KPM_RANfunction_Item_tags_3,
212 sizeof(asn_DEF_e2SM_KPM_RANfunction_Item_tags_3)
213 /sizeof(asn_DEF_e2SM_KPM_RANfunction_Item_tags_3[0]) - 1, /* 1 */
214 asn_DEF_e2SM_KPM_RANfunction_Item_tags_3, /* Same as above */
215 sizeof(asn_DEF_e2SM_KPM_RANfunction_Item_tags_3)
216 /sizeof(asn_DEF_e2SM_KPM_RANfunction_Item_tags_3[0]), /* 2 */
217 { 0, 0, SEQUENCE_constraint },
218 asn_MBR_e2SM_KPM_RANfunction_Item_3,
219 2, /* Elements count */
220 &asn_SPC_e2SM_KPM_RANfunction_Item_specs_3 /* Additional specs */
221};
222
223static asn_TYPE_member_t asn_MBR_E2SM_KPM_RANfunction_Description_1[] = {
224 { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANfunction_Description, ranFunction_Name),
225 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
226 -1, /* IMPLICIT tag at current level */
227 &asn_DEF_RANfunction_Name,
228 0,
229 { 0, 0, 0 },
230 0, 0, /* No default value */
231 "ranFunction-Name"
232 },
233 { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANfunction_Description, e2SM_KPM_RANfunction_Item),
234 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
235 0,
236 &asn_DEF_e2SM_KPM_RANfunction_Item_3,
237 0,
238 { 0, 0, 0 },
239 0, 0, /* No default value */
240 "e2SM-KPM-RANfunction-Item"
241 },
242};
243static const ber_tlv_tag_t asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[] = {
244 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
245};
246static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_RANfunction_Description_tag2el_1[] = {
247 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
248 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* e2SM-KPM-RANfunction-Item */
249};
250static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_RANfunction_Description_specs_1 = {
251 sizeof(struct E2SM_KPM_RANfunction_Description),
252 offsetof(struct E2SM_KPM_RANfunction_Description, _asn_ctx),
253 asn_MAP_E2SM_KPM_RANfunction_Description_tag2el_1,
254 2, /* Count of tags in the map */
255 0, 0, 0, /* Optional elements (not needed) */
256 2, /* First extension addition */
257};
258asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANfunction_Description = {
259 "E2SM-KPM-RANfunction-Description",
260 "E2SM-KPM-RANfunction-Description",
261 &asn_OP_SEQUENCE,
262 asn_DEF_E2SM_KPM_RANfunction_Description_tags_1,
263 sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1)
264 /sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[0]), /* 1 */
265 asn_DEF_E2SM_KPM_RANfunction_Description_tags_1, /* Same as above */
266 sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1)
267 /sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[0]), /* 1 */
268 { 0, 0, SEQUENCE_constraint },
269 asn_MBR_E2SM_KPM_RANfunction_Description_1,
270 2, /* Elements count */
271 &asn_SPC_E2SM_KPM_RANfunction_Description_specs_1 /* Additional specs */
272};
273