bb54b6ec1e84e37e9735a554f19da70d2e4dab21
[o-du/l2.git] / src / codec_utils / RRC / EUTRA-PhysCellIdRange.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 "EUTRA-PhysCellIdRange.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 static asn_oer_constraints_t asn_OER_type_range_constr_3 CC_NOTUSED = {
15         { 0, 0 },
16         -1};
17 static asn_per_constraints_t asn_PER_type_range_constr_3 CC_NOTUSED = {
18         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
19         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
20         0, 0    /* No PER value map */
21 };
22 static const asn_INTEGER_enum_map_t asn_MAP_range_value2enum_3[] = {
23         { 0,    2,      "n4" },
24         { 1,    2,      "n8" },
25         { 2,    3,      "n12" },
26         { 3,    3,      "n16" },
27         { 4,    3,      "n24" },
28         { 5,    3,      "n32" },
29         { 6,    3,      "n48" },
30         { 7,    3,      "n64" },
31         { 8,    3,      "n84" },
32         { 9,    3,      "n96" },
33         { 10,   4,      "n128" },
34         { 11,   4,      "n168" },
35         { 12,   4,      "n252" },
36         { 13,   4,      "n504" },
37         { 14,   6,      "spare2" },
38         { 15,   6,      "spare1" }
39 };
40 static const unsigned int asn_MAP_range_enum2value_3[] = {
41         2,      /* n12(2) */
42         10,     /* n128(10) */
43         3,      /* n16(3) */
44         11,     /* n168(11) */
45         4,      /* n24(4) */
46         12,     /* n252(12) */
47         5,      /* n32(5) */
48         0,      /* n4(0) */
49         6,      /* n48(6) */
50         13,     /* n504(13) */
51         7,      /* n64(7) */
52         1,      /* n8(1) */
53         8,      /* n84(8) */
54         9,      /* n96(9) */
55         15,     /* spare1(15) */
56         14      /* spare2(14) */
57 };
58 static const asn_INTEGER_specifics_t asn_SPC_range_specs_3 = {
59         asn_MAP_range_value2enum_3,     /* "tag" => N; sorted by tag */
60         asn_MAP_range_enum2value_3,     /* N => "tag"; sorted by N */
61         16,     /* Number of elements in the maps */
62         0,      /* Enumeration is not extensible */
63         1,      /* Strict enumeration */
64         0,      /* Native long size */
65         0
66 };
67 static const ber_tlv_tag_t asn_DEF_range_tags_3[] = {
68         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
69         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
70 };
71 static /* Use -fall-defs-global to expose */
72 asn_TYPE_descriptor_t asn_DEF_range_3 = {
73         "range",
74         "range",
75         &asn_OP_NativeEnumerated,
76         asn_DEF_range_tags_3,
77         sizeof(asn_DEF_range_tags_3)
78                 /sizeof(asn_DEF_range_tags_3[0]) - 1, /* 1 */
79         asn_DEF_range_tags_3,   /* Same as above */
80         sizeof(asn_DEF_range_tags_3)
81                 /sizeof(asn_DEF_range_tags_3[0]), /* 2 */
82         { &asn_OER_type_range_constr_3, &asn_PER_type_range_constr_3, NativeEnumerated_constraint },
83         0, 0,   /* Defined elsewhere */
84         &asn_SPC_range_specs_3  /* Additional specs */
85 };
86
87 asn_TYPE_member_t asn_MBR_EUTRA_PhysCellIdRange_1[] = {
88         { ATF_NOFLAGS, 0, offsetof(struct EUTRA_PhysCellIdRange, start),
89                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
90                 -1,     /* IMPLICIT tag at current level */
91                 &asn_DEF_EUTRA_PhysCellId,
92                 0,
93                 { 0, 0, 0 },
94                 0, 0, /* No default value */
95                 "start"
96                 },
97         { ATF_POINTER, 1, offsetof(struct EUTRA_PhysCellIdRange, range),
98                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
99                 -1,     /* IMPLICIT tag at current level */
100                 &asn_DEF_range_3,
101                 0,
102                 { 0, 0, 0 },
103                 0, 0, /* No default value */
104                 "range"
105                 },
106 };
107 static const int asn_MAP_EUTRA_PhysCellIdRange_oms_1[] = { 1 };
108 static const ber_tlv_tag_t asn_DEF_EUTRA_PhysCellIdRange_tags_1[] = {
109         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
110 };
111 static const asn_TYPE_tag2member_t asn_MAP_EUTRA_PhysCellIdRange_tag2el_1[] = {
112     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* start */
113     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* range */
114 };
115 asn_SEQUENCE_specifics_t asn_SPC_EUTRA_PhysCellIdRange_specs_1 = {
116         sizeof(struct EUTRA_PhysCellIdRange),
117         offsetof(struct EUTRA_PhysCellIdRange, _asn_ctx),
118         asn_MAP_EUTRA_PhysCellIdRange_tag2el_1,
119         2,      /* Count of tags in the map */
120         asn_MAP_EUTRA_PhysCellIdRange_oms_1,    /* Optional members */
121         1, 0,   /* Root/Additions */
122         -1,     /* First extension addition */
123 };
124 asn_TYPE_descriptor_t asn_DEF_EUTRA_PhysCellIdRange = {
125         "EUTRA-PhysCellIdRange",
126         "EUTRA-PhysCellIdRange",
127         &asn_OP_SEQUENCE,
128         asn_DEF_EUTRA_PhysCellIdRange_tags_1,
129         sizeof(asn_DEF_EUTRA_PhysCellIdRange_tags_1)
130                 /sizeof(asn_DEF_EUTRA_PhysCellIdRange_tags_1[0]), /* 1 */
131         asn_DEF_EUTRA_PhysCellIdRange_tags_1,   /* Same as above */
132         sizeof(asn_DEF_EUTRA_PhysCellIdRange_tags_1)
133                 /sizeof(asn_DEF_EUTRA_PhysCellIdRange_tags_1[0]), /* 1 */
134         { 0, 0, SEQUENCE_constraint },
135         asn_MBR_EUTRA_PhysCellIdRange_1,
136         2,      /* Elements count */
137         &asn_SPC_EUTRA_PhysCellIdRange_specs_1  /* Additional specs */
138 };
139