[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / SIB1.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "../../../rrc_15.3_asn.asn1"
5  *      `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "SIB1.h"
9
10 #include "ConnEstFailureControl.h"
11 #include "SI-SchedulingInfo.h"
12 #include "ServingCellConfigCommonSIB.h"
13 #include "UE-TimersAndConstants.h"
14 #include "UAC-BarringPerCatList.h"
15 #include "UAC-BarringPerPLMN-List.h"
16 static int
17 memb_q_RxLevMinOffset_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
18                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
19         long value;
20         
21         if(!sptr) {
22                 ASN__CTFAIL(app_key, td, sptr,
23                         "%s: value not given (%s:%d)",
24                         td->name, __FILE__, __LINE__);
25                 return -1;
26         }
27         
28         value = *(const long *)sptr;
29         
30         if((value >= 1 && value <= 8)) {
31                 /* Constraint check succeeded */
32                 return 0;
33         } else {
34                 ASN__CTFAIL(app_key, td, sptr,
35                         "%s: constraint failed (%s:%d)",
36                         td->name, __FILE__, __LINE__);
37                 return -1;
38         }
39 }
40
41 static int
42 memb_q_QualMinOffset_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
43                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
44         long value;
45         
46         if(!sptr) {
47                 ASN__CTFAIL(app_key, td, sptr,
48                         "%s: value not given (%s:%d)",
49                         td->name, __FILE__, __LINE__);
50                 return -1;
51         }
52         
53         value = *(const long *)sptr;
54         
55         if((value >= 1 && value <= 8)) {
56                 /* Constraint check succeeded */
57                 return 0;
58         } else {
59                 ASN__CTFAIL(app_key, td, sptr,
60                         "%s: constraint failed (%s:%d)",
61                         td->name, __FILE__, __LINE__);
62                 return -1;
63         }
64 }
65
66 /*
67  * This type is implemented using NativeEnumerated,
68  * so here we adjust the DEF accordingly.
69  */
70 /*
71  * This type is implemented using NativeEnumerated,
72  * so here we adjust the DEF accordingly.
73  */
74 static int
75 memb_individualPLMNList_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr,
76                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
77         size_t size;
78         
79         if(!sptr) {
80                 ASN__CTFAIL(app_key, td, sptr,
81                         "%s: value not given (%s:%d)",
82                         td->name, __FILE__, __LINE__);
83                 return -1;
84         }
85         
86         /* Determine the number of elements */
87         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
88         
89         if((size >= 2 && size <= 12)) {
90                 /* Perform validation of the inner elements */
91                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
92         } else {
93                 ASN__CTFAIL(app_key, td, sptr,
94                         "%s: constraint failed (%s:%d)",
95                         td->name, __FILE__, __LINE__);
96                 return -1;
97         }
98 }
99
100 /*
101  * This type is implemented using NativeEnumerated,
102  * so here we adjust the DEF accordingly.
103  */
104 static asn_oer_constraints_t asn_OER_memb_q_RxLevMinOffset_constr_4 CC_NOTUSED = {
105         { 1, 1 }        /* (1..8) */,
106         -1};
107 static asn_per_constraints_t asn_PER_memb_q_RxLevMinOffset_constr_4 CC_NOTUSED = {
108         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (1..8) */,
109         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
110         0, 0    /* No PER value map */
111 };
112 static asn_oer_constraints_t asn_OER_memb_q_QualMinOffset_constr_7 CC_NOTUSED = {
113         { 1, 1 }        /* (1..8) */,
114         -1};
115 static asn_per_constraints_t asn_PER_memb_q_QualMinOffset_constr_7 CC_NOTUSED = {
116         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (1..8) */,
117         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
118         0, 0    /* No PER value map */
119 };
120 static asn_oer_constraints_t asn_OER_type_ims_EmergencySupport_constr_12 CC_NOTUSED = {
121         { 0, 0 },
122         -1};
123 static asn_per_constraints_t asn_PER_type_ims_EmergencySupport_constr_12 CC_NOTUSED = {
124         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
125         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
126         0, 0    /* No PER value map */
127 };
128 static asn_oer_constraints_t asn_OER_type_eCallOverIMS_Support_constr_14 CC_NOTUSED = {
129         { 0, 0 },
130         -1};
131 static asn_per_constraints_t asn_PER_type_eCallOverIMS_Support_constr_14 CC_NOTUSED = {
132         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
133         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
134         0, 0    /* No PER value map */
135 };
136 static asn_oer_constraints_t asn_OER_type_individualPLMNList_constr_23 CC_NOTUSED = {
137         { 0, 0 },
138         -1      /* (SIZE(2..12)) */};
139 static asn_per_constraints_t asn_PER_type_individualPLMNList_constr_23 CC_NOTUSED = {
140         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
141         { APC_CONSTRAINED,       4,  4,  2,  12 }       /* (SIZE(2..12)) */,
142         0, 0    /* No PER value map */
143 };
144 static asn_oer_constraints_t asn_OER_memb_individualPLMNList_constr_23 CC_NOTUSED = {
145         { 0, 0 },
146         -1      /* (SIZE(2..12)) */};
147 static asn_per_constraints_t asn_PER_memb_individualPLMNList_constr_23 CC_NOTUSED = {
148         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
149         { APC_CONSTRAINED,       4,  4,  2,  12 }       /* (SIZE(2..12)) */,
150         0, 0    /* No PER value map */
151 };
152 static asn_oer_constraints_t asn_OER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21 CC_NOTUSED = {
153         { 0, 0 },
154         -1};
155 static asn_per_constraints_t asn_PER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21 CC_NOTUSED = {
156         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
157         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
158         0, 0    /* No PER value map */
159 };
160 static asn_oer_constraints_t asn_OER_type_useFullResumeID_constr_25 CC_NOTUSED = {
161         { 0, 0 },
162         -1};
163 static asn_per_constraints_t asn_PER_type_useFullResumeID_constr_25 CC_NOTUSED = {
164         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
165         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
166         0, 0    /* No PER value map */
167 };
168 static asn_TYPE_member_t asn_MBR_cellSelectionInfo_2[] = {
169         { ATF_NOFLAGS, 0, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMin),
170                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
171                 -1,     /* IMPLICIT tag at current level */
172                 &asn_DEF_Q_RxLevMin,
173                 0,
174                 { 0, 0, 0 },
175                 0, 0, /* No default value */
176                 "q-RxLevMin"
177                 },
178         { ATF_POINTER, 4, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMinOffset),
179                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
180                 -1,     /* IMPLICIT tag at current level */
181                 &asn_DEF_NativeInteger,
182                 0,
183                 { &asn_OER_memb_q_RxLevMinOffset_constr_4, &asn_PER_memb_q_RxLevMinOffset_constr_4,  memb_q_RxLevMinOffset_constraint_2 },
184                 0, 0, /* No default value */
185                 "q-RxLevMinOffset"
186                 },
187         { ATF_POINTER, 3, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMinSUL),
188                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
189                 -1,     /* IMPLICIT tag at current level */
190                 &asn_DEF_Q_RxLevMin,
191                 0,
192                 { 0, 0, 0 },
193                 0, 0, /* No default value */
194                 "q-RxLevMinSUL"
195                 },
196         { ATF_POINTER, 2, offsetof(struct SIB1__cellSelectionInfo, q_QualMin),
197                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
198                 -1,     /* IMPLICIT tag at current level */
199                 &asn_DEF_Q_QualMin,
200                 0,
201                 { 0, 0, 0 },
202                 0, 0, /* No default value */
203                 "q-QualMin"
204                 },
205         { ATF_POINTER, 1, offsetof(struct SIB1__cellSelectionInfo, q_QualMinOffset),
206                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
207                 -1,     /* IMPLICIT tag at current level */
208                 &asn_DEF_NativeInteger,
209                 0,
210                 { &asn_OER_memb_q_QualMinOffset_constr_7, &asn_PER_memb_q_QualMinOffset_constr_7,  memb_q_QualMinOffset_constraint_2 },
211                 0, 0, /* No default value */
212                 "q-QualMinOffset"
213                 },
214 };
215 static const int asn_MAP_cellSelectionInfo_oms_2[] = { 1, 2, 3, 4 };
216 static const ber_tlv_tag_t asn_DEF_cellSelectionInfo_tags_2[] = {
217         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
218         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
219 };
220 static const asn_TYPE_tag2member_t asn_MAP_cellSelectionInfo_tag2el_2[] = {
221     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* q-RxLevMin */
222     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* q-RxLevMinOffset */
223     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* q-RxLevMinSUL */
224     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* q-QualMin */
225     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* q-QualMinOffset */
226 };
227 static asn_SEQUENCE_specifics_t asn_SPC_cellSelectionInfo_specs_2 = {
228         sizeof(struct SIB1__cellSelectionInfo),
229         offsetof(struct SIB1__cellSelectionInfo, _asn_ctx),
230         asn_MAP_cellSelectionInfo_tag2el_2,
231         5,      /* Count of tags in the map */
232         asn_MAP_cellSelectionInfo_oms_2,        /* Optional members */
233         4, 0,   /* Root/Additions */
234         -1,     /* First extension addition */
235 };
236 static /* Use -fall-defs-global to expose */
237 asn_TYPE_descriptor_t asn_DEF_cellSelectionInfo_2 = {
238         "cellSelectionInfo",
239         "cellSelectionInfo",
240         &asn_OP_SEQUENCE,
241         asn_DEF_cellSelectionInfo_tags_2,
242         sizeof(asn_DEF_cellSelectionInfo_tags_2)
243                 /sizeof(asn_DEF_cellSelectionInfo_tags_2[0]) - 1, /* 1 */
244         asn_DEF_cellSelectionInfo_tags_2,       /* Same as above */
245         sizeof(asn_DEF_cellSelectionInfo_tags_2)
246                 /sizeof(asn_DEF_cellSelectionInfo_tags_2[0]), /* 2 */
247         { 0, 0, SEQUENCE_constraint },
248         asn_MBR_cellSelectionInfo_2,
249         5,      /* Elements count */
250         &asn_SPC_cellSelectionInfo_specs_2      /* Additional specs */
251 };
252
253 static const asn_INTEGER_enum_map_t asn_MAP_ims_EmergencySupport_value2enum_12[] = {
254         { 0,    4,      "true" }
255 };
256 static const unsigned int asn_MAP_ims_EmergencySupport_enum2value_12[] = {
257         0       /* true(0) */
258 };
259 static const asn_INTEGER_specifics_t asn_SPC_ims_EmergencySupport_specs_12 = {
260         asn_MAP_ims_EmergencySupport_value2enum_12,     /* "tag" => N; sorted by tag */
261         asn_MAP_ims_EmergencySupport_enum2value_12,     /* N => "tag"; sorted by N */
262         1,      /* Number of elements in the maps */
263         0,      /* Enumeration is not extensible */
264         1,      /* Strict enumeration */
265         0,      /* Native long size */
266         0
267 };
268 static const ber_tlv_tag_t asn_DEF_ims_EmergencySupport_tags_12[] = {
269         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
270         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
271 };
272 static /* Use -fall-defs-global to expose */
273 asn_TYPE_descriptor_t asn_DEF_ims_EmergencySupport_12 = {
274         "ims-EmergencySupport",
275         "ims-EmergencySupport",
276         &asn_OP_NativeEnumerated,
277         asn_DEF_ims_EmergencySupport_tags_12,
278         sizeof(asn_DEF_ims_EmergencySupport_tags_12)
279                 /sizeof(asn_DEF_ims_EmergencySupport_tags_12[0]) - 1, /* 1 */
280         asn_DEF_ims_EmergencySupport_tags_12,   /* Same as above */
281         sizeof(asn_DEF_ims_EmergencySupport_tags_12)
282                 /sizeof(asn_DEF_ims_EmergencySupport_tags_12[0]), /* 2 */
283         { &asn_OER_type_ims_EmergencySupport_constr_12, &asn_PER_type_ims_EmergencySupport_constr_12, NativeEnumerated_constraint },
284         0, 0,   /* Defined elsewhere */
285         &asn_SPC_ims_EmergencySupport_specs_12  /* Additional specs */
286 };
287
288 static const asn_INTEGER_enum_map_t asn_MAP_eCallOverIMS_Support_value2enum_14[] = {
289         { 0,    4,      "true" }
290 };
291 static const unsigned int asn_MAP_eCallOverIMS_Support_enum2value_14[] = {
292         0       /* true(0) */
293 };
294 static const asn_INTEGER_specifics_t asn_SPC_eCallOverIMS_Support_specs_14 = {
295         asn_MAP_eCallOverIMS_Support_value2enum_14,     /* "tag" => N; sorted by tag */
296         asn_MAP_eCallOverIMS_Support_enum2value_14,     /* N => "tag"; sorted by N */
297         1,      /* Number of elements in the maps */
298         0,      /* Enumeration is not extensible */
299         1,      /* Strict enumeration */
300         0,      /* Native long size */
301         0
302 };
303 static const ber_tlv_tag_t asn_DEF_eCallOverIMS_Support_tags_14[] = {
304         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
305         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
306 };
307 static /* Use -fall-defs-global to expose */
308 asn_TYPE_descriptor_t asn_DEF_eCallOverIMS_Support_14 = {
309         "eCallOverIMS-Support",
310         "eCallOverIMS-Support",
311         &asn_OP_NativeEnumerated,
312         asn_DEF_eCallOverIMS_Support_tags_14,
313         sizeof(asn_DEF_eCallOverIMS_Support_tags_14)
314                 /sizeof(asn_DEF_eCallOverIMS_Support_tags_14[0]) - 1, /* 1 */
315         asn_DEF_eCallOverIMS_Support_tags_14,   /* Same as above */
316         sizeof(asn_DEF_eCallOverIMS_Support_tags_14)
317                 /sizeof(asn_DEF_eCallOverIMS_Support_tags_14[0]), /* 2 */
318         { &asn_OER_type_eCallOverIMS_Support_constr_14, &asn_PER_type_eCallOverIMS_Support_constr_14, NativeEnumerated_constraint },
319         0, 0,   /* Defined elsewhere */
320         &asn_SPC_eCallOverIMS_Support_specs_14  /* Additional specs */
321 };
322
323 static asn_TYPE_member_t asn_MBR_individualPLMNList_23[] = {
324         { ATF_POINTER, 0, 0,
325                 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
326                 0,
327                 &asn_DEF_UAC_AccessCategory1_SelectionAssistanceInfo,
328                 0,
329                 { 0, 0, 0 },
330                 0, 0, /* No default value */
331                 ""
332                 },
333 };
334 static const ber_tlv_tag_t asn_DEF_individualPLMNList_tags_23[] = {
335         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
336         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
337 };
338 static asn_SET_OF_specifics_t asn_SPC_individualPLMNList_specs_23 = {
339         sizeof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo__individualPLMNList),
340         offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo__individualPLMNList, _asn_ctx),
341         1,      /* XER encoding is XMLValueList */
342 };
343 static /* Use -fall-defs-global to expose */
344 asn_TYPE_descriptor_t asn_DEF_individualPLMNList_23 = {
345         "individualPLMNList",
346         "individualPLMNList",
347         &asn_OP_SEQUENCE_OF,
348         asn_DEF_individualPLMNList_tags_23,
349         sizeof(asn_DEF_individualPLMNList_tags_23)
350                 /sizeof(asn_DEF_individualPLMNList_tags_23[0]) - 1, /* 1 */
351         asn_DEF_individualPLMNList_tags_23,     /* Same as above */
352         sizeof(asn_DEF_individualPLMNList_tags_23)
353                 /sizeof(asn_DEF_individualPLMNList_tags_23[0]), /* 2 */
354         { &asn_OER_type_individualPLMNList_constr_23, &asn_PER_type_individualPLMNList_constr_23, SEQUENCE_OF_constraint },
355         asn_MBR_individualPLMNList_23,
356         1,      /* Single element */
357         &asn_SPC_individualPLMNList_specs_23    /* Additional specs */
358 };
359
360 static asn_TYPE_member_t asn_MBR_uac_AccessCategory1_SelectionAssistanceInfo_21[] = {
361         { ATF_NOFLAGS, 0, offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, choice.plmnCommon),
362                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
363                 -1,     /* IMPLICIT tag at current level */
364                 &asn_DEF_UAC_AccessCategory1_SelectionAssistanceInfo,
365                 0,
366                 { 0, 0, 0 },
367                 0, 0, /* No default value */
368                 "plmnCommon"
369                 },
370         { ATF_POINTER, 0, offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, choice.individualPLMNList),
371                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
372                 0,
373                 &asn_DEF_individualPLMNList_23,
374                 0,
375                 { &asn_OER_memb_individualPLMNList_constr_23, &asn_PER_memb_individualPLMNList_constr_23,  memb_individualPLMNList_constraint_21 },
376                 0, 0, /* No default value */
377                 "individualPLMNList"
378                 },
379 };
380 static const asn_TYPE_tag2member_t asn_MAP_uac_AccessCategory1_SelectionAssistanceInfo_tag2el_21[] = {
381     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmnCommon */
382     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* individualPLMNList */
383 };
384 static asn_CHOICE_specifics_t asn_SPC_uac_AccessCategory1_SelectionAssistanceInfo_specs_21 = {
385         sizeof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo),
386         offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, _asn_ctx),
387         offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, present),
388         sizeof(((struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo *)0)->present),
389         asn_MAP_uac_AccessCategory1_SelectionAssistanceInfo_tag2el_21,
390         2,      /* Count of tags in the map */
391         0, 0,
392         -1      /* Extensions start */
393 };
394 static /* Use -fall-defs-global to expose */
395 asn_TYPE_descriptor_t asn_DEF_uac_AccessCategory1_SelectionAssistanceInfo_21 = {
396         "uac-AccessCategory1-SelectionAssistanceInfo",
397         "uac-AccessCategory1-SelectionAssistanceInfo",
398         &asn_OP_CHOICE,
399         0,      /* No effective tags (pointer) */
400         0,      /* No effective tags (count) */
401         0,      /* No tags (pointer) */
402         0,      /* No tags (count) */
403         { &asn_OER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21, &asn_PER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21, CHOICE_constraint },
404         asn_MBR_uac_AccessCategory1_SelectionAssistanceInfo_21,
405         2,      /* Elements count */
406         &asn_SPC_uac_AccessCategory1_SelectionAssistanceInfo_specs_21   /* Additional specs */
407 };
408
409 static asn_TYPE_member_t asn_MBR_uac_BarringInfo_17[] = {
410         { ATF_POINTER, 2, offsetof(struct SIB1__uac_BarringInfo, uac_BarringForCommon),
411                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
412                 -1,     /* IMPLICIT tag at current level */
413                 &asn_DEF_UAC_BarringPerCatList,
414                 0,
415                 { 0, 0, 0 },
416                 0, 0, /* No default value */
417                 "uac-BarringForCommon"
418                 },
419         { ATF_POINTER, 1, offsetof(struct SIB1__uac_BarringInfo, uac_BarringPerPLMN_List),
420                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
421                 -1,     /* IMPLICIT tag at current level */
422                 &asn_DEF_UAC_BarringPerPLMN_List,
423                 0,
424                 { 0, 0, 0 },
425                 0, 0, /* No default value */
426                 "uac-BarringPerPLMN-List"
427                 },
428         { ATF_NOFLAGS, 0, offsetof(struct SIB1__uac_BarringInfo, uac_BarringInfoSetList),
429                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
430                 -1,     /* IMPLICIT tag at current level */
431                 &asn_DEF_UAC_BarringInfoSetList,
432                 0,
433                 { 0, 0, 0 },
434                 0, 0, /* No default value */
435                 "uac-BarringInfoSetList"
436                 },
437         { ATF_POINTER, 1, offsetof(struct SIB1__uac_BarringInfo, uac_AccessCategory1_SelectionAssistanceInfo),
438                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
439                 +1,     /* EXPLICIT tag at current level */
440                 &asn_DEF_uac_AccessCategory1_SelectionAssistanceInfo_21,
441                 0,
442                 { 0, 0, 0 },
443                 0, 0, /* No default value */
444                 "uac-AccessCategory1-SelectionAssistanceInfo"
445                 },
446 };
447 static const int asn_MAP_uac_BarringInfo_oms_17[] = { 0, 1, 3 };
448 static const ber_tlv_tag_t asn_DEF_uac_BarringInfo_tags_17[] = {
449         (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
450         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
451 };
452 static const asn_TYPE_tag2member_t asn_MAP_uac_BarringInfo_tag2el_17[] = {
453     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uac-BarringForCommon */
454     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uac-BarringPerPLMN-List */
455     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uac-BarringInfoSetList */
456     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* uac-AccessCategory1-SelectionAssistanceInfo */
457 };
458 static asn_SEQUENCE_specifics_t asn_SPC_uac_BarringInfo_specs_17 = {
459         sizeof(struct SIB1__uac_BarringInfo),
460         offsetof(struct SIB1__uac_BarringInfo, _asn_ctx),
461         asn_MAP_uac_BarringInfo_tag2el_17,
462         4,      /* Count of tags in the map */
463         asn_MAP_uac_BarringInfo_oms_17, /* Optional members */
464         3, 0,   /* Root/Additions */
465         -1,     /* First extension addition */
466 };
467 static /* Use -fall-defs-global to expose */
468 asn_TYPE_descriptor_t asn_DEF_uac_BarringInfo_17 = {
469         "uac-BarringInfo",
470         "uac-BarringInfo",
471         &asn_OP_SEQUENCE,
472         asn_DEF_uac_BarringInfo_tags_17,
473         sizeof(asn_DEF_uac_BarringInfo_tags_17)
474                 /sizeof(asn_DEF_uac_BarringInfo_tags_17[0]) - 1, /* 1 */
475         asn_DEF_uac_BarringInfo_tags_17,        /* Same as above */
476         sizeof(asn_DEF_uac_BarringInfo_tags_17)
477                 /sizeof(asn_DEF_uac_BarringInfo_tags_17[0]), /* 2 */
478         { 0, 0, SEQUENCE_constraint },
479         asn_MBR_uac_BarringInfo_17,
480         4,      /* Elements count */
481         &asn_SPC_uac_BarringInfo_specs_17       /* Additional specs */
482 };
483
484 static const asn_INTEGER_enum_map_t asn_MAP_useFullResumeID_value2enum_25[] = {
485         { 0,    4,      "true" }
486 };
487 static const unsigned int asn_MAP_useFullResumeID_enum2value_25[] = {
488         0       /* true(0) */
489 };
490 static const asn_INTEGER_specifics_t asn_SPC_useFullResumeID_specs_25 = {
491         asn_MAP_useFullResumeID_value2enum_25,  /* "tag" => N; sorted by tag */
492         asn_MAP_useFullResumeID_enum2value_25,  /* N => "tag"; sorted by N */
493         1,      /* Number of elements in the maps */
494         0,      /* Enumeration is not extensible */
495         1,      /* Strict enumeration */
496         0,      /* Native long size */
497         0
498 };
499 static const ber_tlv_tag_t asn_DEF_useFullResumeID_tags_25[] = {
500         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
501         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
502 };
503 static /* Use -fall-defs-global to expose */
504 asn_TYPE_descriptor_t asn_DEF_useFullResumeID_25 = {
505         "useFullResumeID",
506         "useFullResumeID",
507         &asn_OP_NativeEnumerated,
508         asn_DEF_useFullResumeID_tags_25,
509         sizeof(asn_DEF_useFullResumeID_tags_25)
510                 /sizeof(asn_DEF_useFullResumeID_tags_25[0]) - 1, /* 1 */
511         asn_DEF_useFullResumeID_tags_25,        /* Same as above */
512         sizeof(asn_DEF_useFullResumeID_tags_25)
513                 /sizeof(asn_DEF_useFullResumeID_tags_25[0]), /* 2 */
514         { &asn_OER_type_useFullResumeID_constr_25, &asn_PER_type_useFullResumeID_constr_25, NativeEnumerated_constraint },
515         0, 0,   /* Defined elsewhere */
516         &asn_SPC_useFullResumeID_specs_25       /* Additional specs */
517 };
518
519 static const ber_tlv_tag_t asn_DEF_nonCriticalExtension_tags_28[] = {
520         (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
521         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
522 };
523 static asn_SEQUENCE_specifics_t asn_SPC_nonCriticalExtension_specs_28 = {
524         sizeof(struct SIB1__nonCriticalExtension),
525         offsetof(struct SIB1__nonCriticalExtension, _asn_ctx),
526         0,      /* No top level tags */
527         0,      /* No tags in the map */
528         0, 0, 0,        /* Optional elements (not needed) */
529         -1,     /* First extension addition */
530 };
531 static /* Use -fall-defs-global to expose */
532 asn_TYPE_descriptor_t asn_DEF_nonCriticalExtension_28 = {
533         "nonCriticalExtension",
534         "nonCriticalExtension",
535         &asn_OP_SEQUENCE,
536         asn_DEF_nonCriticalExtension_tags_28,
537         sizeof(asn_DEF_nonCriticalExtension_tags_28)
538                 /sizeof(asn_DEF_nonCriticalExtension_tags_28[0]) - 1, /* 1 */
539         asn_DEF_nonCriticalExtension_tags_28,   /* Same as above */
540         sizeof(asn_DEF_nonCriticalExtension_tags_28)
541                 /sizeof(asn_DEF_nonCriticalExtension_tags_28[0]), /* 2 */
542         { 0, 0, SEQUENCE_constraint },
543         0, 0,   /* No members */
544         &asn_SPC_nonCriticalExtension_specs_28  /* Additional specs */
545 };
546
547 asn_TYPE_member_t asn_MBR_SIB1_1[] = {
548         { ATF_POINTER, 1, offsetof(struct SIB1, cellSelectionInfo),
549                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
550                 0,
551                 &asn_DEF_cellSelectionInfo_2,
552                 0,
553                 { 0, 0, 0 },
554                 0, 0, /* No default value */
555                 "cellSelectionInfo"
556                 },
557         { ATF_NOFLAGS, 0, offsetof(struct SIB1, cellAccessRelatedInfo),
558                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
559                 -1,     /* IMPLICIT tag at current level */
560                 &asn_DEF_CellAccessRelatedInfo,
561                 0,
562                 { 0, 0, 0 },
563                 0, 0, /* No default value */
564                 "cellAccessRelatedInfo"
565                 },
566         { ATF_POINTER, 10, offsetof(struct SIB1, connEstFailureControl),
567                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
568                 -1,     /* IMPLICIT tag at current level */
569                 &asn_DEF_ConnEstFailureControl,
570                 0,
571                 { 0, 0, 0 },
572                 0, 0, /* No default value */
573                 "connEstFailureControl"
574                 },
575         { ATF_POINTER, 9, offsetof(struct SIB1, si_SchedulingInfo),
576                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
577                 -1,     /* IMPLICIT tag at current level */
578                 &asn_DEF_SI_SchedulingInfo,
579                 0,
580                 { 0, 0, 0 },
581                 0, 0, /* No default value */
582                 "si-SchedulingInfo"
583                 },
584         { ATF_POINTER, 8, offsetof(struct SIB1, servingCellConfigCommon),
585                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
586                 -1,     /* IMPLICIT tag at current level */
587                 &asn_DEF_ServingCellConfigCommonSIB,
588                 0,
589                 { 0, 0, 0 },
590                 0, 0, /* No default value */
591                 "servingCellConfigCommon"
592                 },
593         { ATF_POINTER, 7, offsetof(struct SIB1, ims_EmergencySupport),
594                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
595                 -1,     /* IMPLICIT tag at current level */
596                 &asn_DEF_ims_EmergencySupport_12,
597                 0,
598                 { 0, 0, 0 },
599                 0, 0, /* No default value */
600                 "ims-EmergencySupport"
601                 },
602         { ATF_POINTER, 6, offsetof(struct SIB1, eCallOverIMS_Support),
603                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
604                 -1,     /* IMPLICIT tag at current level */
605                 &asn_DEF_eCallOverIMS_Support_14,
606                 0,
607                 { 0, 0, 0 },
608                 0, 0, /* No default value */
609                 "eCallOverIMS-Support"
610                 },
611         { ATF_POINTER, 5, offsetof(struct SIB1, ue_TimersAndConstants),
612                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
613                 -1,     /* IMPLICIT tag at current level */
614                 &asn_DEF_UE_TimersAndConstants,
615                 0,
616                 { 0, 0, 0 },
617                 0, 0, /* No default value */
618                 "ue-TimersAndConstants"
619                 },
620         { ATF_POINTER, 4, offsetof(struct SIB1, uac_BarringInfo),
621                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
622                 0,
623                 &asn_DEF_uac_BarringInfo_17,
624                 0,
625                 { 0, 0, 0 },
626                 0, 0, /* No default value */
627                 "uac-BarringInfo"
628                 },
629         { ATF_POINTER, 3, offsetof(struct SIB1, useFullResumeID),
630                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
631                 -1,     /* IMPLICIT tag at current level */
632                 &asn_DEF_useFullResumeID_25,
633                 0,
634                 { 0, 0, 0 },
635                 0, 0, /* No default value */
636                 "useFullResumeID"
637                 },
638         { ATF_POINTER, 2, offsetof(struct SIB1, lateNonCriticalExtension),
639                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
640                 -1,     /* IMPLICIT tag at current level */
641                 &asn_DEF_OCTET_STRING,
642                 0,
643                 { 0, 0, 0 },
644                 0, 0, /* No default value */
645                 "lateNonCriticalExtension"
646                 },
647         { ATF_POINTER, 1, offsetof(struct SIB1, nonCriticalExtension),
648                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
649                 0,
650                 &asn_DEF_nonCriticalExtension_28,
651                 0,
652                 { 0, 0, 0 },
653                 0, 0, /* No default value */
654                 "nonCriticalExtension"
655                 },
656 };
657 static const int asn_MAP_SIB1_oms_1[] = { 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
658 static const ber_tlv_tag_t asn_DEF_SIB1_tags_1[] = {
659         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
660 };
661 static const asn_TYPE_tag2member_t asn_MAP_SIB1_tag2el_1[] = {
662     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellSelectionInfo */
663     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellAccessRelatedInfo */
664     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* connEstFailureControl */
665     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* si-SchedulingInfo */
666     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* servingCellConfigCommon */
667     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ims-EmergencySupport */
668     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eCallOverIMS-Support */
669     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ue-TimersAndConstants */
670     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* uac-BarringInfo */
671     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* useFullResumeID */
672     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* lateNonCriticalExtension */
673     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* nonCriticalExtension */
674 };
675 asn_SEQUENCE_specifics_t asn_SPC_SIB1_specs_1 = {
676         sizeof(struct SIB1),
677         offsetof(struct SIB1, _asn_ctx),
678         asn_MAP_SIB1_tag2el_1,
679         12,     /* Count of tags in the map */
680         asn_MAP_SIB1_oms_1,     /* Optional members */
681         11, 0,  /* Root/Additions */
682         -1,     /* First extension addition */
683 };
684 asn_TYPE_descriptor_t asn_DEF_SIB1 = {
685         "SIB1",
686         "SIB1",
687         &asn_OP_SEQUENCE,
688         asn_DEF_SIB1_tags_1,
689         sizeof(asn_DEF_SIB1_tags_1)
690                 /sizeof(asn_DEF_SIB1_tags_1[0]), /* 1 */
691         asn_DEF_SIB1_tags_1,    /* Same as above */
692         sizeof(asn_DEF_SIB1_tags_1)
693                 /sizeof(asn_DEF_SIB1_tags_1[0]), /* 1 */
694         { 0, 0, SEQUENCE_constraint },
695         asn_MBR_SIB1_1,
696         12,     /* Elements count */
697         &asn_SPC_SIB1_specs_1   /* Additional specs */
698 };
699