75de38934a1746a17fdabb701e0d621a553ecd5c
[o-du/l2.git] / src / codec_utils / RRC / BSR-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 "BSR-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 static asn_oer_constraints_t asn_OER_type_periodicBSR_Timer_constr_2 CC_NOTUSED = {
23         { 0, 0 },
24         -1};
25 static asn_per_constraints_t asn_PER_type_periodicBSR_Timer_constr_2 CC_NOTUSED = {
26         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
27         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
28         0, 0    /* No PER value map */
29 };
30 static asn_oer_constraints_t asn_OER_type_retxBSR_Timer_constr_19 CC_NOTUSED = {
31         { 0, 0 },
32         -1};
33 static asn_per_constraints_t asn_PER_type_retxBSR_Timer_constr_19 CC_NOTUSED = {
34         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
35         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
36         0, 0    /* No PER value map */
37 };
38 static asn_oer_constraints_t asn_OER_type_logicalChannelSR_DelayTimer_constr_36 CC_NOTUSED = {
39         { 0, 0 },
40         -1};
41 static asn_per_constraints_t asn_PER_type_logicalChannelSR_DelayTimer_constr_36 CC_NOTUSED = {
42         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
43         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
44         0, 0    /* No PER value map */
45 };
46 static const asn_INTEGER_enum_map_t asn_MAP_periodicBSR_Timer_value2enum_2[] = {
47         { 0,    3,      "sf1" },
48         { 1,    3,      "sf5" },
49         { 2,    4,      "sf10" },
50         { 3,    4,      "sf16" },
51         { 4,    4,      "sf20" },
52         { 5,    4,      "sf32" },
53         { 6,    4,      "sf40" },
54         { 7,    4,      "sf64" },
55         { 8,    4,      "sf80" },
56         { 9,    5,      "sf128" },
57         { 10,   5,      "sf160" },
58         { 11,   5,      "sf320" },
59         { 12,   5,      "sf640" },
60         { 13,   6,      "sf1280" },
61         { 14,   6,      "sf2560" },
62         { 15,   8,      "infinity" }
63 };
64 static const unsigned int asn_MAP_periodicBSR_Timer_enum2value_2[] = {
65         15,     /* infinity(15) */
66         0,      /* sf1(0) */
67         2,      /* sf10(2) */
68         9,      /* sf128(9) */
69         13,     /* sf1280(13) */
70         3,      /* sf16(3) */
71         10,     /* sf160(10) */
72         4,      /* sf20(4) */
73         14,     /* sf2560(14) */
74         5,      /* sf32(5) */
75         11,     /* sf320(11) */
76         6,      /* sf40(6) */
77         1,      /* sf5(1) */
78         7,      /* sf64(7) */
79         12,     /* sf640(12) */
80         8       /* sf80(8) */
81 };
82 static const asn_INTEGER_specifics_t asn_SPC_periodicBSR_Timer_specs_2 = {
83         asn_MAP_periodicBSR_Timer_value2enum_2, /* "tag" => N; sorted by tag */
84         asn_MAP_periodicBSR_Timer_enum2value_2, /* N => "tag"; sorted by N */
85         16,     /* Number of elements in the maps */
86         0,      /* Enumeration is not extensible */
87         1,      /* Strict enumeration */
88         0,      /* Native long size */
89         0
90 };
91 static const ber_tlv_tag_t asn_DEF_periodicBSR_Timer_tags_2[] = {
92         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
93         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
94 };
95 static /* Use -fall-defs-global to expose */
96 asn_TYPE_descriptor_t asn_DEF_periodicBSR_Timer_2 = {
97         "periodicBSR-Timer",
98         "periodicBSR-Timer",
99         &asn_OP_NativeEnumerated,
100         asn_DEF_periodicBSR_Timer_tags_2,
101         sizeof(asn_DEF_periodicBSR_Timer_tags_2)
102                 /sizeof(asn_DEF_periodicBSR_Timer_tags_2[0]) - 1, /* 1 */
103         asn_DEF_periodicBSR_Timer_tags_2,       /* Same as above */
104         sizeof(asn_DEF_periodicBSR_Timer_tags_2)
105                 /sizeof(asn_DEF_periodicBSR_Timer_tags_2[0]), /* 2 */
106         { &asn_OER_type_periodicBSR_Timer_constr_2, &asn_PER_type_periodicBSR_Timer_constr_2, NativeEnumerated_constraint },
107         0, 0,   /* Defined elsewhere */
108         &asn_SPC_periodicBSR_Timer_specs_2      /* Additional specs */
109 };
110
111 static const asn_INTEGER_enum_map_t asn_MAP_retxBSR_Timer_value2enum_19[] = {
112         { 0,    4,      "sf10" },
113         { 1,    4,      "sf20" },
114         { 2,    4,      "sf40" },
115         { 3,    4,      "sf80" },
116         { 4,    5,      "sf160" },
117         { 5,    5,      "sf320" },
118         { 6,    5,      "sf640" },
119         { 7,    6,      "sf1280" },
120         { 8,    6,      "sf2560" },
121         { 9,    6,      "sf5120" },
122         { 10,   7,      "sf10240" },
123         { 11,   6,      "spare5" },
124         { 12,   6,      "spare4" },
125         { 13,   6,      "spare3" },
126         { 14,   6,      "spare2" },
127         { 15,   6,      "spare1" }
128 };
129 static const unsigned int asn_MAP_retxBSR_Timer_enum2value_19[] = {
130         0,      /* sf10(0) */
131         10,     /* sf10240(10) */
132         7,      /* sf1280(7) */
133         4,      /* sf160(4) */
134         1,      /* sf20(1) */
135         8,      /* sf2560(8) */
136         5,      /* sf320(5) */
137         2,      /* sf40(2) */
138         9,      /* sf5120(9) */
139         6,      /* sf640(6) */
140         3,      /* sf80(3) */
141         15,     /* spare1(15) */
142         14,     /* spare2(14) */
143         13,     /* spare3(13) */
144         12,     /* spare4(12) */
145         11      /* spare5(11) */
146 };
147 static const asn_INTEGER_specifics_t asn_SPC_retxBSR_Timer_specs_19 = {
148         asn_MAP_retxBSR_Timer_value2enum_19,    /* "tag" => N; sorted by tag */
149         asn_MAP_retxBSR_Timer_enum2value_19,    /* N => "tag"; sorted by N */
150         16,     /* Number of elements in the maps */
151         0,      /* Enumeration is not extensible */
152         1,      /* Strict enumeration */
153         0,      /* Native long size */
154         0
155 };
156 static const ber_tlv_tag_t asn_DEF_retxBSR_Timer_tags_19[] = {
157         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
158         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
159 };
160 static /* Use -fall-defs-global to expose */
161 asn_TYPE_descriptor_t asn_DEF_retxBSR_Timer_19 = {
162         "retxBSR-Timer",
163         "retxBSR-Timer",
164         &asn_OP_NativeEnumerated,
165         asn_DEF_retxBSR_Timer_tags_19,
166         sizeof(asn_DEF_retxBSR_Timer_tags_19)
167                 /sizeof(asn_DEF_retxBSR_Timer_tags_19[0]) - 1, /* 1 */
168         asn_DEF_retxBSR_Timer_tags_19,  /* Same as above */
169         sizeof(asn_DEF_retxBSR_Timer_tags_19)
170                 /sizeof(asn_DEF_retxBSR_Timer_tags_19[0]), /* 2 */
171         { &asn_OER_type_retxBSR_Timer_constr_19, &asn_PER_type_retxBSR_Timer_constr_19, NativeEnumerated_constraint },
172         0, 0,   /* Defined elsewhere */
173         &asn_SPC_retxBSR_Timer_specs_19 /* Additional specs */
174 };
175
176 static const asn_INTEGER_enum_map_t asn_MAP_logicalChannelSR_DelayTimer_value2enum_36[] = {
177         { 0,    4,      "sf20" },
178         { 1,    4,      "sf40" },
179         { 2,    4,      "sf64" },
180         { 3,    5,      "sf128" },
181         { 4,    5,      "sf512" },
182         { 5,    6,      "sf1024" },
183         { 6,    6,      "sf2560" },
184         { 7,    6,      "spare1" }
185 };
186 static const unsigned int asn_MAP_logicalChannelSR_DelayTimer_enum2value_36[] = {
187         5,      /* sf1024(5) */
188         3,      /* sf128(3) */
189         0,      /* sf20(0) */
190         6,      /* sf2560(6) */
191         1,      /* sf40(1) */
192         4,      /* sf512(4) */
193         2,      /* sf64(2) */
194         7       /* spare1(7) */
195 };
196 static const asn_INTEGER_specifics_t asn_SPC_logicalChannelSR_DelayTimer_specs_36 = {
197         asn_MAP_logicalChannelSR_DelayTimer_value2enum_36,      /* "tag" => N; sorted by tag */
198         asn_MAP_logicalChannelSR_DelayTimer_enum2value_36,      /* N => "tag"; sorted by N */
199         8,      /* Number of elements in the maps */
200         0,      /* Enumeration is not extensible */
201         1,      /* Strict enumeration */
202         0,      /* Native long size */
203         0
204 };
205 static const ber_tlv_tag_t asn_DEF_logicalChannelSR_DelayTimer_tags_36[] = {
206         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
207         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
208 };
209 static /* Use -fall-defs-global to expose */
210 asn_TYPE_descriptor_t asn_DEF_logicalChannelSR_DelayTimer_36 = {
211         "logicalChannelSR-DelayTimer",
212         "logicalChannelSR-DelayTimer",
213         &asn_OP_NativeEnumerated,
214         asn_DEF_logicalChannelSR_DelayTimer_tags_36,
215         sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_36)
216                 /sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_36[0]) - 1, /* 1 */
217         asn_DEF_logicalChannelSR_DelayTimer_tags_36,    /* Same as above */
218         sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_36)
219                 /sizeof(asn_DEF_logicalChannelSR_DelayTimer_tags_36[0]), /* 2 */
220         { &asn_OER_type_logicalChannelSR_DelayTimer_constr_36, &asn_PER_type_logicalChannelSR_DelayTimer_constr_36, NativeEnumerated_constraint },
221         0, 0,   /* Defined elsewhere */
222         &asn_SPC_logicalChannelSR_DelayTimer_specs_36   /* Additional specs */
223 };
224
225 asn_TYPE_member_t asn_MBR_BSR_Config_1[] = {
226         { ATF_NOFLAGS, 0, offsetof(struct BSR_Config, periodicBSR_Timer),
227                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
228                 -1,     /* IMPLICIT tag at current level */
229                 &asn_DEF_periodicBSR_Timer_2,
230                 0,
231                 { 0, 0, 0 },
232                 0, 0, /* No default value */
233                 "periodicBSR-Timer"
234                 },
235         { ATF_NOFLAGS, 0, offsetof(struct BSR_Config, retxBSR_Timer),
236                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
237                 -1,     /* IMPLICIT tag at current level */
238                 &asn_DEF_retxBSR_Timer_19,
239                 0,
240                 { 0, 0, 0 },
241                 0, 0, /* No default value */
242                 "retxBSR-Timer"
243                 },
244         { ATF_POINTER, 1, offsetof(struct BSR_Config, logicalChannelSR_DelayTimer),
245                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
246                 -1,     /* IMPLICIT tag at current level */
247                 &asn_DEF_logicalChannelSR_DelayTimer_36,
248                 0,
249                 { 0, 0, 0 },
250                 0, 0, /* No default value */
251                 "logicalChannelSR-DelayTimer"
252                 },
253 };
254 static const int asn_MAP_BSR_Config_oms_1[] = { 2 };
255 static const ber_tlv_tag_t asn_DEF_BSR_Config_tags_1[] = {
256         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
257 };
258 static const asn_TYPE_tag2member_t asn_MAP_BSR_Config_tag2el_1[] = {
259     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodicBSR-Timer */
260     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* retxBSR-Timer */
261     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalChannelSR-DelayTimer */
262 };
263 asn_SEQUENCE_specifics_t asn_SPC_BSR_Config_specs_1 = {
264         sizeof(struct BSR_Config),
265         offsetof(struct BSR_Config, _asn_ctx),
266         asn_MAP_BSR_Config_tag2el_1,
267         3,      /* Count of tags in the map */
268         asn_MAP_BSR_Config_oms_1,       /* Optional members */
269         1, 0,   /* Root/Additions */
270         3,      /* First extension addition */
271 };
272 asn_TYPE_descriptor_t asn_DEF_BSR_Config = {
273         "BSR-Config",
274         "BSR-Config",
275         &asn_OP_SEQUENCE,
276         asn_DEF_BSR_Config_tags_1,
277         sizeof(asn_DEF_BSR_Config_tags_1)
278                 /sizeof(asn_DEF_BSR_Config_tags_1[0]), /* 1 */
279         asn_DEF_BSR_Config_tags_1,      /* Same as above */
280         sizeof(asn_DEF_BSR_Config_tags_1)
281                 /sizeof(asn_DEF_BSR_Config_tags_1[0]), /* 1 */
282         { 0, 0, SEQUENCE_constraint },
283         asn_MBR_BSR_Config_1,
284         3,      /* Elements count */
285         &asn_SPC_BSR_Config_specs_1     /* Additional specs */
286 };
287