Merge "[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-437] Establishing communication betwee...
[o-du/l2.git] / src / codec_utils / RRC / ConfigRestrictInfoSCG.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-InterNodeDefinitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "ConfigRestrictInfoSCG.h"
9
10 #include "BandCombinationInfoList.h"
11 static int
12 memb_maxMeasFreqsSCG_NR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
13                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
14         long value;
15         
16         if(!sptr) {
17                 ASN__CTFAIL(app_key, td, sptr,
18                         "%s: value not given (%s:%d)",
19                         td->name, __FILE__, __LINE__);
20                 return -1;
21         }
22         
23         value = *(const long *)sptr;
24         
25         if((value >= 1 && value <= 32)) {
26                 /* Constraint check succeeded */
27                 return 0;
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
36 static int
37 memb_maxMeasIdentitiesSCG_NR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
38                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
39         long value;
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         value = *(const long *)sptr;
49         
50         if((value >= 1 && value <= 62)) {
51                 /* Constraint check succeeded */
52                 return 0;
53         } else {
54                 ASN__CTFAIL(app_key, td, sptr,
55                         "%s: constraint failed (%s:%d)",
56                         td->name, __FILE__, __LINE__);
57                 return -1;
58         }
59 }
60
61 static asn_oer_constraints_t asn_OER_memb_maxMeasFreqsSCG_NR_constr_10 CC_NOTUSED = {
62         { 1, 1 }        /* (1..32) */,
63         -1};
64 static asn_per_constraints_t asn_PER_memb_maxMeasFreqsSCG_NR_constr_10 CC_NOTUSED = {
65         { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (1..32) */,
66         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
67         0, 0    /* No PER value map */
68 };
69 static asn_oer_constraints_t asn_OER_memb_maxMeasIdentitiesSCG_NR_constr_11 CC_NOTUSED = {
70         { 1, 1 }        /* (1..62) */,
71         -1};
72 static asn_per_constraints_t asn_PER_memb_maxMeasIdentitiesSCG_NR_constr_11 CC_NOTUSED = {
73         { APC_CONSTRAINED,       6,  6,  1,  62 }       /* (1..62) */,
74         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
75         0, 0    /* No PER value map */
76 };
77 static asn_TYPE_member_t asn_MBR_powerCoordination_FR1_3[] = {
78         { ATF_POINTER, 3, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxNR_FR1),
79                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
80                 -1,     /* IMPLICIT tag at current level */
81                 &asn_DEF_P_Max,
82                 0,
83                 { 0, 0, 0 },
84                 0, 0, /* No default value */
85                 "p-maxNR-FR1"
86                 },
87         { ATF_POINTER, 2, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxEUTRA),
88                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
89                 -1,     /* IMPLICIT tag at current level */
90                 &asn_DEF_P_Max,
91                 0,
92                 { 0, 0, 0 },
93                 0, 0, /* No default value */
94                 "p-maxEUTRA"
95                 },
96         { ATF_POINTER, 1, offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, p_maxUE_FR1),
97                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
98                 -1,     /* IMPLICIT tag at current level */
99                 &asn_DEF_P_Max,
100                 0,
101                 { 0, 0, 0 },
102                 0, 0, /* No default value */
103                 "p-maxUE-FR1"
104                 },
105 };
106 static const int asn_MAP_powerCoordination_FR1_oms_3[] = { 0, 1, 2 };
107 static const ber_tlv_tag_t asn_DEF_powerCoordination_FR1_tags_3[] = {
108         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
109         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
110 };
111 static const asn_TYPE_tag2member_t asn_MAP_powerCoordination_FR1_tag2el_3[] = {
112     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* p-maxNR-FR1 */
113     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* p-maxEUTRA */
114     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* p-maxUE-FR1 */
115 };
116 static asn_SEQUENCE_specifics_t asn_SPC_powerCoordination_FR1_specs_3 = {
117         sizeof(struct ConfigRestrictInfoSCG__powerCoordination_FR1),
118         offsetof(struct ConfigRestrictInfoSCG__powerCoordination_FR1, _asn_ctx),
119         asn_MAP_powerCoordination_FR1_tag2el_3,
120         3,      /* Count of tags in the map */
121         asn_MAP_powerCoordination_FR1_oms_3,    /* Optional members */
122         3, 0,   /* Root/Additions */
123         -1,     /* First extension addition */
124 };
125 static /* Use -fall-defs-global to expose */
126 asn_TYPE_descriptor_t asn_DEF_powerCoordination_FR1_3 = {
127         "powerCoordination-FR1",
128         "powerCoordination-FR1",
129         &asn_OP_SEQUENCE,
130         asn_DEF_powerCoordination_FR1_tags_3,
131         sizeof(asn_DEF_powerCoordination_FR1_tags_3)
132                 /sizeof(asn_DEF_powerCoordination_FR1_tags_3[0]) - 1, /* 1 */
133         asn_DEF_powerCoordination_FR1_tags_3,   /* Same as above */
134         sizeof(asn_DEF_powerCoordination_FR1_tags_3)
135                 /sizeof(asn_DEF_powerCoordination_FR1_tags_3[0]), /* 2 */
136         { 0, 0, SEQUENCE_constraint },
137         asn_MBR_powerCoordination_FR1_3,
138         3,      /* Elements count */
139         &asn_SPC_powerCoordination_FR1_specs_3  /* Additional specs */
140 };
141
142 static asn_TYPE_member_t asn_MBR_servCellIndexRangeSCG_7[] = {
143         { ATF_NOFLAGS, 0, offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, lowBound),
144                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
145                 -1,     /* IMPLICIT tag at current level */
146                 &asn_DEF_ServCellIndex,
147                 0,
148                 { 0, 0, 0 },
149                 0, 0, /* No default value */
150                 "lowBound"
151                 },
152         { ATF_NOFLAGS, 0, offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, upBound),
153                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
154                 -1,     /* IMPLICIT tag at current level */
155                 &asn_DEF_ServCellIndex,
156                 0,
157                 { 0, 0, 0 },
158                 0, 0, /* No default value */
159                 "upBound"
160                 },
161 };
162 static const ber_tlv_tag_t asn_DEF_servCellIndexRangeSCG_tags_7[] = {
163         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
164         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
165 };
166 static const asn_TYPE_tag2member_t asn_MAP_servCellIndexRangeSCG_tag2el_7[] = {
167     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lowBound */
168     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* upBound */
169 };
170 static asn_SEQUENCE_specifics_t asn_SPC_servCellIndexRangeSCG_specs_7 = {
171         sizeof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG),
172         offsetof(struct ConfigRestrictInfoSCG__servCellIndexRangeSCG, _asn_ctx),
173         asn_MAP_servCellIndexRangeSCG_tag2el_7,
174         2,      /* Count of tags in the map */
175         0, 0, 0,        /* Optional elements (not needed) */
176         -1,     /* First extension addition */
177 };
178 static /* Use -fall-defs-global to expose */
179 asn_TYPE_descriptor_t asn_DEF_servCellIndexRangeSCG_7 = {
180         "servCellIndexRangeSCG",
181         "servCellIndexRangeSCG",
182         &asn_OP_SEQUENCE,
183         asn_DEF_servCellIndexRangeSCG_tags_7,
184         sizeof(asn_DEF_servCellIndexRangeSCG_tags_7)
185                 /sizeof(asn_DEF_servCellIndexRangeSCG_tags_7[0]) - 1, /* 1 */
186         asn_DEF_servCellIndexRangeSCG_tags_7,   /* Same as above */
187         sizeof(asn_DEF_servCellIndexRangeSCG_tags_7)
188                 /sizeof(asn_DEF_servCellIndexRangeSCG_tags_7[0]), /* 2 */
189         { 0, 0, SEQUENCE_constraint },
190         asn_MBR_servCellIndexRangeSCG_7,
191         2,      /* Elements count */
192         &asn_SPC_servCellIndexRangeSCG_specs_7  /* Additional specs */
193 };
194
195 asn_TYPE_member_t asn_MBR_ConfigRestrictInfoSCG_1[] = {
196         { ATF_POINTER, 5, offsetof(struct ConfigRestrictInfoSCG, allowedBC_ListMRDC),
197                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
198                 -1,     /* IMPLICIT tag at current level */
199                 &asn_DEF_BandCombinationInfoList,
200                 0,
201                 { 0, 0, 0 },
202                 0, 0, /* No default value */
203                 "allowedBC-ListMRDC"
204                 },
205         { ATF_POINTER, 4, offsetof(struct ConfigRestrictInfoSCG, powerCoordination_FR1),
206                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
207                 0,
208                 &asn_DEF_powerCoordination_FR1_3,
209                 0,
210                 { 0, 0, 0 },
211                 0, 0, /* No default value */
212                 "powerCoordination-FR1"
213                 },
214         { ATF_POINTER, 3, offsetof(struct ConfigRestrictInfoSCG, servCellIndexRangeSCG),
215                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
216                 0,
217                 &asn_DEF_servCellIndexRangeSCG_7,
218                 0,
219                 { 0, 0, 0 },
220                 0, 0, /* No default value */
221                 "servCellIndexRangeSCG"
222                 },
223         { ATF_POINTER, 2, offsetof(struct ConfigRestrictInfoSCG, maxMeasFreqsSCG_NR),
224                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
225                 -1,     /* IMPLICIT tag at current level */
226                 &asn_DEF_NativeInteger,
227                 0,
228                 { &asn_OER_memb_maxMeasFreqsSCG_NR_constr_10, &asn_PER_memb_maxMeasFreqsSCG_NR_constr_10,  memb_maxMeasFreqsSCG_NR_constraint_1 },
229                 0, 0, /* No default value */
230                 "maxMeasFreqsSCG-NR"
231                 },
232         { ATF_POINTER, 1, offsetof(struct ConfigRestrictInfoSCG, maxMeasIdentitiesSCG_NR),
233                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
234                 -1,     /* IMPLICIT tag at current level */
235                 &asn_DEF_NativeInteger,
236                 0,
237                 { &asn_OER_memb_maxMeasIdentitiesSCG_NR_constr_11, &asn_PER_memb_maxMeasIdentitiesSCG_NR_constr_11,  memb_maxMeasIdentitiesSCG_NR_constraint_1 },
238                 0, 0, /* No default value */
239                 "maxMeasIdentitiesSCG-NR"
240                 },
241 };
242 static const int asn_MAP_ConfigRestrictInfoSCG_oms_1[] = { 0, 1, 2, 3, 4 };
243 static const ber_tlv_tag_t asn_DEF_ConfigRestrictInfoSCG_tags_1[] = {
244         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
245 };
246 static const asn_TYPE_tag2member_t asn_MAP_ConfigRestrictInfoSCG_tag2el_1[] = {
247     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* allowedBC-ListMRDC */
248     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* powerCoordination-FR1 */
249     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* servCellIndexRangeSCG */
250     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxMeasFreqsSCG-NR */
251     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* maxMeasIdentitiesSCG-NR */
252 };
253 asn_SEQUENCE_specifics_t asn_SPC_ConfigRestrictInfoSCG_specs_1 = {
254         sizeof(struct ConfigRestrictInfoSCG),
255         offsetof(struct ConfigRestrictInfoSCG, _asn_ctx),
256         asn_MAP_ConfigRestrictInfoSCG_tag2el_1,
257         5,      /* Count of tags in the map */
258         asn_MAP_ConfigRestrictInfoSCG_oms_1,    /* Optional members */
259         5, 0,   /* Root/Additions */
260         5,      /* First extension addition */
261 };
262 asn_TYPE_descriptor_t asn_DEF_ConfigRestrictInfoSCG = {
263         "ConfigRestrictInfoSCG",
264         "ConfigRestrictInfoSCG",
265         &asn_OP_SEQUENCE,
266         asn_DEF_ConfigRestrictInfoSCG_tags_1,
267         sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1)
268                 /sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1[0]), /* 1 */
269         asn_DEF_ConfigRestrictInfoSCG_tags_1,   /* Same as above */
270         sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1)
271                 /sizeof(asn_DEF_ConfigRestrictInfoSCG_tags_1[0]), /* 1 */
272         { 0, 0, SEQUENCE_constraint },
273         asn_MBR_ConfigRestrictInfoSCG_1,
274         5,      /* Elements count */
275         &asn_SPC_ConfigRestrictInfoSCG_specs_1  /* Additional specs */
276 };
277