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 "EventTriggerConfigInterRAT.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 memb_maxReportCells_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
16 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
20 ASN__CTFAIL(app_key, td, sptr,
21 "%s: value not given (%s:%d)",
22 td->name, __FILE__, __LINE__);
26 value = *(const long *)sptr;
28 if((value >= 1 && value <= 8)) {
29 /* Constraint check succeeded */
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: constraint failed (%s:%d)",
34 td->name, __FILE__, __LINE__);
39 static asn_oer_constraints_t asn_OER_type_eventId_constr_2 CC_NOTUSED = {
42 static asn_per_constraints_t asn_PER_type_eventId_constr_2 CC_NOTUSED = {
43 { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
44 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
45 0, 0 /* No PER value map */
47 static asn_oer_constraints_t asn_OER_type_reportAmount_constr_19 CC_NOTUSED = {
50 static asn_per_constraints_t asn_PER_type_reportAmount_constr_19 CC_NOTUSED = {
51 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
52 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
53 0, 0 /* No PER value map */
55 static asn_oer_constraints_t asn_OER_memb_maxReportCells_constr_29 CC_NOTUSED = {
56 { 1, 1 } /* (1..8) */,
58 static asn_per_constraints_t asn_PER_memb_maxReportCells_constr_29 CC_NOTUSED = {
59 { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */,
60 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
61 0, 0 /* No PER value map */
63 static asn_TYPE_member_t asn_MBR_eventB1_3[] = {
64 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB1, b1_ThresholdEUTRA),
65 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
66 +1, /* EXPLICIT tag at current level */
67 &asn_DEF_MeasTriggerQuantityEUTRA,
70 0, 0, /* No default value */
73 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB1, reportOnLeave),
74 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
75 -1, /* IMPLICIT tag at current level */
79 0, 0, /* No default value */
82 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB1, hysteresis),
83 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
84 -1, /* IMPLICIT tag at current level */
88 0, 0, /* No default value */
91 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB1, timeToTrigger),
92 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
93 -1, /* IMPLICIT tag at current level */
94 &asn_DEF_TimeToTrigger,
97 0, 0, /* No default value */
101 static const ber_tlv_tag_t asn_DEF_eventB1_tags_3[] = {
102 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
103 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
105 static const asn_TYPE_tag2member_t asn_MAP_eventB1_tag2el_3[] = {
106 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b1-ThresholdEUTRA */
107 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportOnLeave */
108 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hysteresis */
109 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* timeToTrigger */
111 static asn_SEQUENCE_specifics_t asn_SPC_eventB1_specs_3 = {
112 sizeof(struct EventTriggerConfigInterRAT__eventId__eventB1),
113 offsetof(struct EventTriggerConfigInterRAT__eventId__eventB1, _asn_ctx),
114 asn_MAP_eventB1_tag2el_3,
115 4, /* Count of tags in the map */
116 0, 0, 0, /* Optional elements (not needed) */
117 4, /* First extension addition */
119 static /* Use -fall-defs-global to expose */
120 asn_TYPE_descriptor_t asn_DEF_eventB1_3 = {
124 asn_DEF_eventB1_tags_3,
125 sizeof(asn_DEF_eventB1_tags_3)
126 /sizeof(asn_DEF_eventB1_tags_3[0]) - 1, /* 1 */
127 asn_DEF_eventB1_tags_3, /* Same as above */
128 sizeof(asn_DEF_eventB1_tags_3)
129 /sizeof(asn_DEF_eventB1_tags_3[0]), /* 2 */
130 { 0, 0, SEQUENCE_constraint },
132 4, /* Elements count */
133 &asn_SPC_eventB1_specs_3 /* Additional specs */
136 static asn_TYPE_member_t asn_MBR_eventB2_9[] = {
137 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, b2_Threshold1),
138 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
139 +1, /* EXPLICIT tag at current level */
140 &asn_DEF_MeasTriggerQuantity,
143 0, 0, /* No default value */
146 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, b2_Threshold2EUTRA),
147 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
148 +1, /* EXPLICIT tag at current level */
149 &asn_DEF_MeasTriggerQuantityEUTRA,
152 0, 0, /* No default value */
155 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, reportOnLeave),
156 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
157 -1, /* IMPLICIT tag at current level */
161 0, 0, /* No default value */
164 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, hysteresis),
165 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
166 -1, /* IMPLICIT tag at current level */
170 0, 0, /* No default value */
173 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, timeToTrigger),
174 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
175 -1, /* IMPLICIT tag at current level */
176 &asn_DEF_TimeToTrigger,
179 0, 0, /* No default value */
183 static const ber_tlv_tag_t asn_DEF_eventB2_tags_9[] = {
184 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
185 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
187 static const asn_TYPE_tag2member_t asn_MAP_eventB2_tag2el_9[] = {
188 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b2-Threshold1 */
189 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b2-Threshold2EUTRA */
190 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reportOnLeave */
191 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hysteresis */
192 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* timeToTrigger */
194 static asn_SEQUENCE_specifics_t asn_SPC_eventB2_specs_9 = {
195 sizeof(struct EventTriggerConfigInterRAT__eventId__eventB2),
196 offsetof(struct EventTriggerConfigInterRAT__eventId__eventB2, _asn_ctx),
197 asn_MAP_eventB2_tag2el_9,
198 5, /* Count of tags in the map */
199 0, 0, 0, /* Optional elements (not needed) */
200 5, /* First extension addition */
202 static /* Use -fall-defs-global to expose */
203 asn_TYPE_descriptor_t asn_DEF_eventB2_9 = {
207 asn_DEF_eventB2_tags_9,
208 sizeof(asn_DEF_eventB2_tags_9)
209 /sizeof(asn_DEF_eventB2_tags_9[0]) - 1, /* 1 */
210 asn_DEF_eventB2_tags_9, /* Same as above */
211 sizeof(asn_DEF_eventB2_tags_9)
212 /sizeof(asn_DEF_eventB2_tags_9[0]), /* 2 */
213 { 0, 0, SEQUENCE_constraint },
215 5, /* Elements count */
216 &asn_SPC_eventB2_specs_9 /* Additional specs */
219 static asn_TYPE_member_t asn_MBR_eventId_2[] = {
220 { ATF_POINTER, 0, offsetof(struct EventTriggerConfigInterRAT__eventId, choice.eventB1),
221 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
226 0, 0, /* No default value */
229 { ATF_POINTER, 0, offsetof(struct EventTriggerConfigInterRAT__eventId, choice.eventB2),
230 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
235 0, 0, /* No default value */
239 static const asn_TYPE_tag2member_t asn_MAP_eventId_tag2el_2[] = {
240 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventB1 */
241 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eventB2 */
243 static asn_CHOICE_specifics_t asn_SPC_eventId_specs_2 = {
244 sizeof(struct EventTriggerConfigInterRAT__eventId),
245 offsetof(struct EventTriggerConfigInterRAT__eventId, _asn_ctx),
246 offsetof(struct EventTriggerConfigInterRAT__eventId, present),
247 sizeof(((struct EventTriggerConfigInterRAT__eventId *)0)->present),
248 asn_MAP_eventId_tag2el_2,
249 2, /* Count of tags in the map */
251 2 /* Extensions start */
253 static /* Use -fall-defs-global to expose */
254 asn_TYPE_descriptor_t asn_DEF_eventId_2 = {
258 0, /* No effective tags (pointer) */
259 0, /* No effective tags (count) */
260 0, /* No tags (pointer) */
261 0, /* No tags (count) */
262 { &asn_OER_type_eventId_constr_2, &asn_PER_type_eventId_constr_2, CHOICE_constraint },
264 2, /* Elements count */
265 &asn_SPC_eventId_specs_2 /* Additional specs */
268 static const asn_INTEGER_enum_map_t asn_MAP_reportAmount_value2enum_19[] = {
278 static const unsigned int asn_MAP_reportAmount_enum2value_19[] = {
288 static const asn_INTEGER_specifics_t asn_SPC_reportAmount_specs_19 = {
289 asn_MAP_reportAmount_value2enum_19, /* "tag" => N; sorted by tag */
290 asn_MAP_reportAmount_enum2value_19, /* N => "tag"; sorted by N */
291 8, /* Number of elements in the maps */
292 0, /* Enumeration is not extensible */
293 1, /* Strict enumeration */
294 0, /* Native long size */
297 static const ber_tlv_tag_t asn_DEF_reportAmount_tags_19[] = {
298 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
299 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
301 static /* Use -fall-defs-global to expose */
302 asn_TYPE_descriptor_t asn_DEF_reportAmount_19 = {
305 &asn_OP_NativeEnumerated,
306 asn_DEF_reportAmount_tags_19,
307 sizeof(asn_DEF_reportAmount_tags_19)
308 /sizeof(asn_DEF_reportAmount_tags_19[0]) - 1, /* 1 */
309 asn_DEF_reportAmount_tags_19, /* Same as above */
310 sizeof(asn_DEF_reportAmount_tags_19)
311 /sizeof(asn_DEF_reportAmount_tags_19[0]), /* 2 */
312 { &asn_OER_type_reportAmount_constr_19, &asn_PER_type_reportAmount_constr_19, NativeEnumerated_constraint },
313 0, 0, /* Defined elsewhere */
314 &asn_SPC_reportAmount_specs_19 /* Additional specs */
317 asn_TYPE_member_t asn_MBR_EventTriggerConfigInterRAT_1[] = {
318 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, eventId),
319 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
320 +1, /* EXPLICIT tag at current level */
324 0, 0, /* No default value */
327 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, rsType),
328 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
329 -1, /* IMPLICIT tag at current level */
333 0, 0, /* No default value */
336 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, reportInterval),
337 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
338 -1, /* IMPLICIT tag at current level */
339 &asn_DEF_ReportInterval,
342 0, 0, /* No default value */
345 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, reportAmount),
346 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
347 -1, /* IMPLICIT tag at current level */
348 &asn_DEF_reportAmount_19,
351 0, 0, /* No default value */
354 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, reportQuantity),
355 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
356 -1, /* IMPLICIT tag at current level */
357 &asn_DEF_MeasReportQuantity,
360 0, 0, /* No default value */
363 { ATF_NOFLAGS, 0, offsetof(struct EventTriggerConfigInterRAT, maxReportCells),
364 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
365 -1, /* IMPLICIT tag at current level */
366 &asn_DEF_NativeInteger,
368 { &asn_OER_memb_maxReportCells_constr_29, &asn_PER_memb_maxReportCells_constr_29, memb_maxReportCells_constraint_1 },
369 0, 0, /* No default value */
373 static const ber_tlv_tag_t asn_DEF_EventTriggerConfigInterRAT_tags_1[] = {
374 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
376 static const asn_TYPE_tag2member_t asn_MAP_EventTriggerConfigInterRAT_tag2el_1[] = {
377 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventId */
378 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsType */
379 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reportInterval */
380 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* reportAmount */
381 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* reportQuantity */
382 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* maxReportCells */
384 asn_SEQUENCE_specifics_t asn_SPC_EventTriggerConfigInterRAT_specs_1 = {
385 sizeof(struct EventTriggerConfigInterRAT),
386 offsetof(struct EventTriggerConfigInterRAT, _asn_ctx),
387 asn_MAP_EventTriggerConfigInterRAT_tag2el_1,
388 6, /* Count of tags in the map */
389 0, 0, 0, /* Optional elements (not needed) */
390 6, /* First extension addition */
392 asn_TYPE_descriptor_t asn_DEF_EventTriggerConfigInterRAT = {
393 "EventTriggerConfigInterRAT",
394 "EventTriggerConfigInterRAT",
396 asn_DEF_EventTriggerConfigInterRAT_tags_1,
397 sizeof(asn_DEF_EventTriggerConfigInterRAT_tags_1)
398 /sizeof(asn_DEF_EventTriggerConfigInterRAT_tags_1[0]), /* 1 */
399 asn_DEF_EventTriggerConfigInterRAT_tags_1, /* Same as above */
400 sizeof(asn_DEF_EventTriggerConfigInterRAT_tags_1)
401 /sizeof(asn_DEF_EventTriggerConfigInterRAT_tags_1[0]), /* 1 */
402 { 0, 0, SEQUENCE_constraint },
403 asn_MBR_EventTriggerConfigInterRAT_1,
404 6, /* Elements count */
405 &asn_SPC_EventTriggerConfigInterRAT_specs_1 /* Additional specs */