[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / SupportedBandwidth.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 "SupportedBandwidth.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 static asn_oer_constraints_t asn_OER_type_fr1_constr_2 CC_NOTUSED = {
19         { 0, 0 },
20         -1};
21 static asn_per_constraints_t asn_PER_type_fr1_constr_2 CC_NOTUSED = {
22         { APC_CONSTRAINED,       4,  4,  0,  10 }       /* (0..10) */,
23         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
24         0, 0    /* No PER value map */
25 };
26 static asn_oer_constraints_t asn_OER_type_fr2_constr_14 CC_NOTUSED = {
27         { 0, 0 },
28         -1};
29 static asn_per_constraints_t asn_PER_type_fr2_constr_14 CC_NOTUSED = {
30         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
31         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
32         0, 0    /* No PER value map */
33 };
34 static asn_oer_constraints_t asn_OER_type_SupportedBandwidth_constr_1 CC_NOTUSED = {
35         { 0, 0 },
36         -1};
37 asn_per_constraints_t asn_PER_type_SupportedBandwidth_constr_1 CC_NOTUSED = {
38         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
39         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
40         0, 0    /* No PER value map */
41 };
42 static const asn_INTEGER_enum_map_t asn_MAP_fr1_value2enum_2[] = {
43         { 0,    4,      "mhz5" },
44         { 1,    5,      "mhz10" },
45         { 2,    5,      "mhz15" },
46         { 3,    5,      "mhz20" },
47         { 4,    5,      "mhz25" },
48         { 5,    5,      "mhz30" },
49         { 6,    5,      "mhz40" },
50         { 7,    5,      "mhz50" },
51         { 8,    5,      "mhz60" },
52         { 9,    5,      "mhz80" },
53         { 10,   6,      "mhz100" }
54 };
55 static const unsigned int asn_MAP_fr1_enum2value_2[] = {
56         1,      /* mhz10(1) */
57         10,     /* mhz100(10) */
58         2,      /* mhz15(2) */
59         3,      /* mhz20(3) */
60         4,      /* mhz25(4) */
61         5,      /* mhz30(5) */
62         6,      /* mhz40(6) */
63         0,      /* mhz5(0) */
64         7,      /* mhz50(7) */
65         8,      /* mhz60(8) */
66         9       /* mhz80(9) */
67 };
68 static const asn_INTEGER_specifics_t asn_SPC_fr1_specs_2 = {
69         asn_MAP_fr1_value2enum_2,       /* "tag" => N; sorted by tag */
70         asn_MAP_fr1_enum2value_2,       /* N => "tag"; sorted by N */
71         11,     /* Number of elements in the maps */
72         0,      /* Enumeration is not extensible */
73         1,      /* Strict enumeration */
74         0,      /* Native long size */
75         0
76 };
77 static const ber_tlv_tag_t asn_DEF_fr1_tags_2[] = {
78         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
79         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
80 };
81 static /* Use -fall-defs-global to expose */
82 asn_TYPE_descriptor_t asn_DEF_fr1_2 = {
83         "fr1",
84         "fr1",
85         &asn_OP_NativeEnumerated,
86         asn_DEF_fr1_tags_2,
87         sizeof(asn_DEF_fr1_tags_2)
88                 /sizeof(asn_DEF_fr1_tags_2[0]) - 1, /* 1 */
89         asn_DEF_fr1_tags_2,     /* Same as above */
90         sizeof(asn_DEF_fr1_tags_2)
91                 /sizeof(asn_DEF_fr1_tags_2[0]), /* 2 */
92         { &asn_OER_type_fr1_constr_2, &asn_PER_type_fr1_constr_2, NativeEnumerated_constraint },
93         0, 0,   /* Defined elsewhere */
94         &asn_SPC_fr1_specs_2    /* Additional specs */
95 };
96
97 static const asn_INTEGER_enum_map_t asn_MAP_fr2_value2enum_14[] = {
98         { 0,    5,      "mhz50" },
99         { 1,    6,      "mhz100" },
100         { 2,    6,      "mhz200" },
101         { 3,    6,      "mhz400" }
102 };
103 static const unsigned int asn_MAP_fr2_enum2value_14[] = {
104         1,      /* mhz100(1) */
105         2,      /* mhz200(2) */
106         3,      /* mhz400(3) */
107         0       /* mhz50(0) */
108 };
109 static const asn_INTEGER_specifics_t asn_SPC_fr2_specs_14 = {
110         asn_MAP_fr2_value2enum_14,      /* "tag" => N; sorted by tag */
111         asn_MAP_fr2_enum2value_14,      /* N => "tag"; sorted by N */
112         4,      /* Number of elements in the maps */
113         0,      /* Enumeration is not extensible */
114         1,      /* Strict enumeration */
115         0,      /* Native long size */
116         0
117 };
118 static const ber_tlv_tag_t asn_DEF_fr2_tags_14[] = {
119         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
120         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
121 };
122 static /* Use -fall-defs-global to expose */
123 asn_TYPE_descriptor_t asn_DEF_fr2_14 = {
124         "fr2",
125         "fr2",
126         &asn_OP_NativeEnumerated,
127         asn_DEF_fr2_tags_14,
128         sizeof(asn_DEF_fr2_tags_14)
129                 /sizeof(asn_DEF_fr2_tags_14[0]) - 1, /* 1 */
130         asn_DEF_fr2_tags_14,    /* Same as above */
131         sizeof(asn_DEF_fr2_tags_14)
132                 /sizeof(asn_DEF_fr2_tags_14[0]), /* 2 */
133         { &asn_OER_type_fr2_constr_14, &asn_PER_type_fr2_constr_14, NativeEnumerated_constraint },
134         0, 0,   /* Defined elsewhere */
135         &asn_SPC_fr2_specs_14   /* Additional specs */
136 };
137
138 asn_TYPE_member_t asn_MBR_SupportedBandwidth_1[] = {
139         { ATF_NOFLAGS, 0, offsetof(struct SupportedBandwidth, choice.fr1),
140                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
141                 -1,     /* IMPLICIT tag at current level */
142                 &asn_DEF_fr1_2,
143                 0,
144                 { 0, 0, 0 },
145                 0, 0, /* No default value */
146                 "fr1"
147                 },
148         { ATF_NOFLAGS, 0, offsetof(struct SupportedBandwidth, choice.fr2),
149                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
150                 -1,     /* IMPLICIT tag at current level */
151                 &asn_DEF_fr2_14,
152                 0,
153                 { 0, 0, 0 },
154                 0, 0, /* No default value */
155                 "fr2"
156                 },
157 };
158 static const asn_TYPE_tag2member_t asn_MAP_SupportedBandwidth_tag2el_1[] = {
159     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fr1 */
160     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fr2 */
161 };
162 asn_CHOICE_specifics_t asn_SPC_SupportedBandwidth_specs_1 = {
163         sizeof(struct SupportedBandwidth),
164         offsetof(struct SupportedBandwidth, _asn_ctx),
165         offsetof(struct SupportedBandwidth, present),
166         sizeof(((struct SupportedBandwidth *)0)->present),
167         asn_MAP_SupportedBandwidth_tag2el_1,
168         2,      /* Count of tags in the map */
169         0, 0,
170         -1      /* Extensions start */
171 };
172 asn_TYPE_descriptor_t asn_DEF_SupportedBandwidth = {
173         "SupportedBandwidth",
174         "SupportedBandwidth",
175         &asn_OP_CHOICE,
176         0,      /* No effective tags (pointer) */
177         0,      /* No effective tags (count) */
178         0,      /* No tags (pointer) */
179         0,      /* No tags (count) */
180         { &asn_OER_type_SupportedBandwidth_constr_1, &asn_PER_type_SupportedBandwidth_constr_1, CHOICE_constraint },
181         asn_MBR_SupportedBandwidth_1,
182         2,      /* Elements count */
183         &asn_SPC_SupportedBandwidth_specs_1     /* Additional specs */
184 };
185