af72e0f3d7dc5f604d41058344a38016d8190986
[o-du/l2.git] / src / codec_utils / RRC / PHR-Config.c
1 /*
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`
6  */
7
8 #include "PHR-Config.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 /*
15  * This type is implemented using NativeEnumerated,
16  * so here we adjust the DEF accordingly.
17  */
18 /*
19  * This type is implemented using NativeEnumerated,
20  * so here we adjust the DEF accordingly.
21  */
22 /*
23  * This type is implemented using NativeEnumerated,
24  * so here we adjust the DEF accordingly.
25  */
26 static asn_oer_constraints_t asn_OER_type_phr_PeriodicTimer_constr_2 CC_NOTUSED = {
27         { 0, 0 },
28         -1};
29 static asn_per_constraints_t asn_PER_type_phr_PeriodicTimer_constr_2 CC_NOTUSED = {
30         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
31         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
32         0, 0    /* No PER value map */
33 };
34 static asn_oer_constraints_t asn_OER_type_phr_ProhibitTimer_constr_11 CC_NOTUSED = {
35         { 0, 0 },
36         -1};
37 static asn_per_constraints_t asn_PER_type_phr_ProhibitTimer_constr_11 CC_NOTUSED = {
38         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
39         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
40         0, 0    /* No PER value map */
41 };
42 static asn_oer_constraints_t asn_OER_type_phr_Tx_PowerFactorChange_constr_20 CC_NOTUSED = {
43         { 0, 0 },
44         -1};
45 static asn_per_constraints_t asn_PER_type_phr_Tx_PowerFactorChange_constr_20 CC_NOTUSED = {
46         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
47         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
48         0, 0    /* No PER value map */
49 };
50 static asn_oer_constraints_t asn_OER_type_phr_ModeOtherCG_constr_28 CC_NOTUSED = {
51         { 0, 0 },
52         -1};
53 static asn_per_constraints_t asn_PER_type_phr_ModeOtherCG_constr_28 CC_NOTUSED = {
54         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
55         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
56         0, 0    /* No PER value map */
57 };
58 static const asn_INTEGER_enum_map_t asn_MAP_phr_PeriodicTimer_value2enum_2[] = {
59         { 0,    4,      "sf10" },
60         { 1,    4,      "sf20" },
61         { 2,    4,      "sf50" },
62         { 3,    5,      "sf100" },
63         { 4,    5,      "sf200" },
64         { 5,    5,      "sf500" },
65         { 6,    6,      "sf1000" },
66         { 7,    8,      "infinity" }
67 };
68 static const unsigned int asn_MAP_phr_PeriodicTimer_enum2value_2[] = {
69         7,      /* infinity(7) */
70         0,      /* sf10(0) */
71         3,      /* sf100(3) */
72         6,      /* sf1000(6) */
73         1,      /* sf20(1) */
74         4,      /* sf200(4) */
75         2,      /* sf50(2) */
76         5       /* sf500(5) */
77 };
78 static const asn_INTEGER_specifics_t asn_SPC_phr_PeriodicTimer_specs_2 = {
79         asn_MAP_phr_PeriodicTimer_value2enum_2, /* "tag" => N; sorted by tag */
80         asn_MAP_phr_PeriodicTimer_enum2value_2, /* N => "tag"; sorted by N */
81         8,      /* Number of elements in the maps */
82         0,      /* Enumeration is not extensible */
83         1,      /* Strict enumeration */
84         0,      /* Native long size */
85         0
86 };
87 static const ber_tlv_tag_t asn_DEF_phr_PeriodicTimer_tags_2[] = {
88         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
89         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
90 };
91 static /* Use -fall-defs-global to expose */
92 asn_TYPE_descriptor_t asn_DEF_phr_PeriodicTimer_2 = {
93         "phr-PeriodicTimer",
94         "phr-PeriodicTimer",
95         &asn_OP_NativeEnumerated,
96         asn_DEF_phr_PeriodicTimer_tags_2,
97         sizeof(asn_DEF_phr_PeriodicTimer_tags_2)
98                 /sizeof(asn_DEF_phr_PeriodicTimer_tags_2[0]) - 1, /* 1 */
99         asn_DEF_phr_PeriodicTimer_tags_2,       /* Same as above */
100         sizeof(asn_DEF_phr_PeriodicTimer_tags_2)
101                 /sizeof(asn_DEF_phr_PeriodicTimer_tags_2[0]), /* 2 */
102         { &asn_OER_type_phr_PeriodicTimer_constr_2, &asn_PER_type_phr_PeriodicTimer_constr_2, NativeEnumerated_constraint },
103         0, 0,   /* Defined elsewhere */
104         &asn_SPC_phr_PeriodicTimer_specs_2      /* Additional specs */
105 };
106
107 static const asn_INTEGER_enum_map_t asn_MAP_phr_ProhibitTimer_value2enum_11[] = {
108         { 0,    3,      "sf0" },
109         { 1,    4,      "sf10" },
110         { 2,    4,      "sf20" },
111         { 3,    4,      "sf50" },
112         { 4,    5,      "sf100" },
113         { 5,    5,      "sf200" },
114         { 6,    5,      "sf500" },
115         { 7,    6,      "sf1000" }
116 };
117 static const unsigned int asn_MAP_phr_ProhibitTimer_enum2value_11[] = {
118         0,      /* sf0(0) */
119         1,      /* sf10(1) */
120         4,      /* sf100(4) */
121         7,      /* sf1000(7) */
122         2,      /* sf20(2) */
123         5,      /* sf200(5) */
124         3,      /* sf50(3) */
125         6       /* sf500(6) */
126 };
127 static const asn_INTEGER_specifics_t asn_SPC_phr_ProhibitTimer_specs_11 = {
128         asn_MAP_phr_ProhibitTimer_value2enum_11,        /* "tag" => N; sorted by tag */
129         asn_MAP_phr_ProhibitTimer_enum2value_11,        /* N => "tag"; sorted by N */
130         8,      /* Number of elements in the maps */
131         0,      /* Enumeration is not extensible */
132         1,      /* Strict enumeration */
133         0,      /* Native long size */
134         0
135 };
136 static const ber_tlv_tag_t asn_DEF_phr_ProhibitTimer_tags_11[] = {
137         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
138         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
139 };
140 static /* Use -fall-defs-global to expose */
141 asn_TYPE_descriptor_t asn_DEF_phr_ProhibitTimer_11 = {
142         "phr-ProhibitTimer",
143         "phr-ProhibitTimer",
144         &asn_OP_NativeEnumerated,
145         asn_DEF_phr_ProhibitTimer_tags_11,
146         sizeof(asn_DEF_phr_ProhibitTimer_tags_11)
147                 /sizeof(asn_DEF_phr_ProhibitTimer_tags_11[0]) - 1, /* 1 */
148         asn_DEF_phr_ProhibitTimer_tags_11,      /* Same as above */
149         sizeof(asn_DEF_phr_ProhibitTimer_tags_11)
150                 /sizeof(asn_DEF_phr_ProhibitTimer_tags_11[0]), /* 2 */
151         { &asn_OER_type_phr_ProhibitTimer_constr_11, &asn_PER_type_phr_ProhibitTimer_constr_11, NativeEnumerated_constraint },
152         0, 0,   /* Defined elsewhere */
153         &asn_SPC_phr_ProhibitTimer_specs_11     /* Additional specs */
154 };
155
156 static const asn_INTEGER_enum_map_t asn_MAP_phr_Tx_PowerFactorChange_value2enum_20[] = {
157         { 0,    3,      "dB1" },
158         { 1,    3,      "dB3" },
159         { 2,    3,      "dB6" },
160         { 3,    8,      "infinity" }
161 };
162 static const unsigned int asn_MAP_phr_Tx_PowerFactorChange_enum2value_20[] = {
163         0,      /* dB1(0) */
164         1,      /* dB3(1) */
165         2,      /* dB6(2) */
166         3       /* infinity(3) */
167 };
168 static const asn_INTEGER_specifics_t asn_SPC_phr_Tx_PowerFactorChange_specs_20 = {
169         asn_MAP_phr_Tx_PowerFactorChange_value2enum_20, /* "tag" => N; sorted by tag */
170         asn_MAP_phr_Tx_PowerFactorChange_enum2value_20, /* N => "tag"; sorted by N */
171         4,      /* Number of elements in the maps */
172         0,      /* Enumeration is not extensible */
173         1,      /* Strict enumeration */
174         0,      /* Native long size */
175         0
176 };
177 static const ber_tlv_tag_t asn_DEF_phr_Tx_PowerFactorChange_tags_20[] = {
178         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
179         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
180 };
181 static /* Use -fall-defs-global to expose */
182 asn_TYPE_descriptor_t asn_DEF_phr_Tx_PowerFactorChange_20 = {
183         "phr-Tx-PowerFactorChange",
184         "phr-Tx-PowerFactorChange",
185         &asn_OP_NativeEnumerated,
186         asn_DEF_phr_Tx_PowerFactorChange_tags_20,
187         sizeof(asn_DEF_phr_Tx_PowerFactorChange_tags_20)
188                 /sizeof(asn_DEF_phr_Tx_PowerFactorChange_tags_20[0]) - 1, /* 1 */
189         asn_DEF_phr_Tx_PowerFactorChange_tags_20,       /* Same as above */
190         sizeof(asn_DEF_phr_Tx_PowerFactorChange_tags_20)
191                 /sizeof(asn_DEF_phr_Tx_PowerFactorChange_tags_20[0]), /* 2 */
192         { &asn_OER_type_phr_Tx_PowerFactorChange_constr_20, &asn_PER_type_phr_Tx_PowerFactorChange_constr_20, NativeEnumerated_constraint },
193         0, 0,   /* Defined elsewhere */
194         &asn_SPC_phr_Tx_PowerFactorChange_specs_20      /* Additional specs */
195 };
196
197 static const asn_INTEGER_enum_map_t asn_MAP_phr_ModeOtherCG_value2enum_28[] = {
198         { 0,    4,      "real" },
199         { 1,    7,      "virtual" }
200 };
201 static const unsigned int asn_MAP_phr_ModeOtherCG_enum2value_28[] = {
202         0,      /* real(0) */
203         1       /* virtual(1) */
204 };
205 static const asn_INTEGER_specifics_t asn_SPC_phr_ModeOtherCG_specs_28 = {
206         asn_MAP_phr_ModeOtherCG_value2enum_28,  /* "tag" => N; sorted by tag */
207         asn_MAP_phr_ModeOtherCG_enum2value_28,  /* N => "tag"; sorted by N */
208         2,      /* Number of elements in the maps */
209         0,      /* Enumeration is not extensible */
210         1,      /* Strict enumeration */
211         0,      /* Native long size */
212         0
213 };
214 static const ber_tlv_tag_t asn_DEF_phr_ModeOtherCG_tags_28[] = {
215         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
216         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
217 };
218 static /* Use -fall-defs-global to expose */
219 asn_TYPE_descriptor_t asn_DEF_phr_ModeOtherCG_28 = {
220         "phr-ModeOtherCG",
221         "phr-ModeOtherCG",
222         &asn_OP_NativeEnumerated,
223         asn_DEF_phr_ModeOtherCG_tags_28,
224         sizeof(asn_DEF_phr_ModeOtherCG_tags_28)
225                 /sizeof(asn_DEF_phr_ModeOtherCG_tags_28[0]) - 1, /* 1 */
226         asn_DEF_phr_ModeOtherCG_tags_28,        /* Same as above */
227         sizeof(asn_DEF_phr_ModeOtherCG_tags_28)
228                 /sizeof(asn_DEF_phr_ModeOtherCG_tags_28[0]), /* 2 */
229         { &asn_OER_type_phr_ModeOtherCG_constr_28, &asn_PER_type_phr_ModeOtherCG_constr_28, NativeEnumerated_constraint },
230         0, 0,   /* Defined elsewhere */
231         &asn_SPC_phr_ModeOtherCG_specs_28       /* Additional specs */
232 };
233
234 asn_TYPE_member_t asn_MBR_PHR_Config_1[] = {
235         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, phr_PeriodicTimer),
236                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
237                 -1,     /* IMPLICIT tag at current level */
238                 &asn_DEF_phr_PeriodicTimer_2,
239                 0,
240                 { 0, 0, 0 },
241                 0, 0, /* No default value */
242                 "phr-PeriodicTimer"
243                 },
244         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, phr_ProhibitTimer),
245                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
246                 -1,     /* IMPLICIT tag at current level */
247                 &asn_DEF_phr_ProhibitTimer_11,
248                 0,
249                 { 0, 0, 0 },
250                 0, 0, /* No default value */
251                 "phr-ProhibitTimer"
252                 },
253         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, phr_Tx_PowerFactorChange),
254                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
255                 -1,     /* IMPLICIT tag at current level */
256                 &asn_DEF_phr_Tx_PowerFactorChange_20,
257                 0,
258                 { 0, 0, 0 },
259                 0, 0, /* No default value */
260                 "phr-Tx-PowerFactorChange"
261                 },
262         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, multiplePHR),
263                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
264                 -1,     /* IMPLICIT tag at current level */
265                 &asn_DEF_BOOLEAN,
266                 0,
267                 { 0, 0, 0 },
268                 0, 0, /* No default value */
269                 "multiplePHR"
270                 },
271         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, dummy),
272                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
273                 -1,     /* IMPLICIT tag at current level */
274                 &asn_DEF_BOOLEAN,
275                 0,
276                 { 0, 0, 0 },
277                 0, 0, /* No default value */
278                 "dummy"
279                 },
280         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, phr_Type2OtherCell),
281                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
282                 -1,     /* IMPLICIT tag at current level */
283                 &asn_DEF_BOOLEAN,
284                 0,
285                 { 0, 0, 0 },
286                 0, 0, /* No default value */
287                 "phr-Type2OtherCell"
288                 },
289         { ATF_NOFLAGS, 0, offsetof(struct PHR_Config, phr_ModeOtherCG),
290                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
291                 -1,     /* IMPLICIT tag at current level */
292                 &asn_DEF_phr_ModeOtherCG_28,
293                 0,
294                 { 0, 0, 0 },
295                 0, 0, /* No default value */
296                 "phr-ModeOtherCG"
297                 },
298 };
299 static const ber_tlv_tag_t asn_DEF_PHR_Config_tags_1[] = {
300         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
301 };
302 static const asn_TYPE_tag2member_t asn_MAP_PHR_Config_tag2el_1[] = {
303     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* phr-PeriodicTimer */
304     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* phr-ProhibitTimer */
305     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* phr-Tx-PowerFactorChange */
306     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* multiplePHR */
307     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dummy */
308     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* phr-Type2OtherCell */
309     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* phr-ModeOtherCG */
310 };
311 asn_SEQUENCE_specifics_t asn_SPC_PHR_Config_specs_1 = {
312         sizeof(struct PHR_Config),
313         offsetof(struct PHR_Config, _asn_ctx),
314         asn_MAP_PHR_Config_tag2el_1,
315         7,      /* Count of tags in the map */
316         0, 0, 0,        /* Optional elements (not needed) */
317         7,      /* First extension addition */
318 };
319 asn_TYPE_descriptor_t asn_DEF_PHR_Config = {
320         "PHR-Config",
321         "PHR-Config",
322         &asn_OP_SEQUENCE,
323         asn_DEF_PHR_Config_tags_1,
324         sizeof(asn_DEF_PHR_Config_tags_1)
325                 /sizeof(asn_DEF_PHR_Config_tags_1[0]), /* 1 */
326         asn_DEF_PHR_Config_tags_1,      /* Same as above */
327         sizeof(asn_DEF_PHR_Config_tags_1)
328                 /sizeof(asn_DEF_PHR_Config_tags_1[0]), /* 1 */
329         { 0, 0, SEQUENCE_constraint },
330         asn_MBR_PHR_Config_1,
331         7,      /* Elements count */
332         &asn_SPC_PHR_Config_specs_1     /* Additional specs */
333 };
334