Add version 0.5.0
[ric-plt/submgr.git] / e2ap / lib / NRNeighbour-Information.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "X2AP-PDU-Contents"
4  *      found in "Spec/e2ap-v031ex.asn"
5  *      `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
6  */
7
8 #include "NRNeighbour-Information.h"
9
10 #include "ProtocolExtensionContainer.h"
11 #include "FDD-InfoNeighbourServedNRCell-Information.h"
12 #include "TDD-InfoNeighbourServedNRCell-Information.h"
13 static asn_oer_constraints_t asn_OER_type_nRNeighbourModeInfo_constr_8 CC_NOTUSED = {
14         { 0, 0 },
15         -1};
16 static asn_per_constraints_t asn_PER_type_nRNeighbourModeInfo_constr_8 CC_NOTUSED = {
17         { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
18         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
19         0, 0    /* No PER value map */
20 };
21 static asn_oer_constraints_t asn_OER_type_NRNeighbour_Information_constr_1 CC_NOTUSED = {
22         { 0, 0 },
23         -1      /* (SIZE(1..1024)) */};
24 asn_per_constraints_t asn_PER_type_NRNeighbour_Information_constr_1 CC_NOTUSED = {
25         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
26         { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
27         0, 0    /* No PER value map */
28 };
29 static asn_TYPE_member_t asn_MBR_nRNeighbourModeInfo_8[] = {
30         { ATF_POINTER, 0, offsetof(struct NRNeighbour_Information__Member__nRNeighbourModeInfo, choice.fdd),
31                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
32                 -1,     /* IMPLICIT tag at current level */
33                 &asn_DEF_FDD_InfoNeighbourServedNRCell_Information,
34                 0,
35                 { 0, 0, 0 },
36                 0, 0, /* No default value */
37                 "fdd"
38                 },
39         { ATF_POINTER, 0, offsetof(struct NRNeighbour_Information__Member__nRNeighbourModeInfo, choice.tdd),
40                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
41                 -1,     /* IMPLICIT tag at current level */
42                 &asn_DEF_TDD_InfoNeighbourServedNRCell_Information,
43                 0,
44                 { 0, 0, 0 },
45                 0, 0, /* No default value */
46                 "tdd"
47                 },
48 };
49 static const asn_TYPE_tag2member_t asn_MAP_nRNeighbourModeInfo_tag2el_8[] = {
50     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */
51     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tdd */
52 };
53 static asn_CHOICE_specifics_t asn_SPC_nRNeighbourModeInfo_specs_8 = {
54         sizeof(struct NRNeighbour_Information__Member__nRNeighbourModeInfo),
55         offsetof(struct NRNeighbour_Information__Member__nRNeighbourModeInfo, _asn_ctx),
56         offsetof(struct NRNeighbour_Information__Member__nRNeighbourModeInfo, present),
57         sizeof(((struct NRNeighbour_Information__Member__nRNeighbourModeInfo *)0)->present),
58         asn_MAP_nRNeighbourModeInfo_tag2el_8,
59         2,      /* Count of tags in the map */
60         0, 0,
61         2       /* Extensions start */
62 };
63 static /* Use -fall-defs-global to expose */
64 asn_TYPE_descriptor_t asn_DEF_nRNeighbourModeInfo_8 = {
65         "nRNeighbourModeInfo",
66         "nRNeighbourModeInfo",
67         &asn_OP_CHOICE,
68         0,      /* No effective tags (pointer) */
69         0,      /* No effective tags (count) */
70         0,      /* No tags (pointer) */
71         0,      /* No tags (count) */
72         { &asn_OER_type_nRNeighbourModeInfo_constr_8, &asn_PER_type_nRNeighbourModeInfo_constr_8, CHOICE_constraint },
73         asn_MBR_nRNeighbourModeInfo_8,
74         2,      /* Elements count */
75         &asn_SPC_nRNeighbourModeInfo_specs_8    /* Additional specs */
76 };
77
78 static asn_TYPE_member_t asn_MBR_Member_2[] = {
79         { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nrpCI),
80                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
81                 -1,     /* IMPLICIT tag at current level */
82                 &asn_DEF_NRPCI,
83                 0,
84                 { 0, 0, 0 },
85                 0, 0, /* No default value */
86                 "nrpCI"
87                 },
88         { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nrCellID),
89                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
90                 -1,     /* IMPLICIT tag at current level */
91                 &asn_DEF_NRCGI,
92                 0,
93                 { 0, 0, 0 },
94                 0, 0, /* No default value */
95                 "nrCellID"
96                 },
97         { ATF_POINTER, 2, offsetof(struct NRNeighbour_Information__Member, fiveGS_TAC),
98                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
99                 -1,     /* IMPLICIT tag at current level */
100                 &asn_DEF_FiveGS_TAC,
101                 0,
102                 { 0, 0, 0 },
103                 0, 0, /* No default value */
104                 "fiveGS-TAC"
105                 },
106         { ATF_POINTER, 1, offsetof(struct NRNeighbour_Information__Member, configured_TAC),
107                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
108                 -1,     /* IMPLICIT tag at current level */
109                 &asn_DEF_TAC,
110                 0,
111                 { 0, 0, 0 },
112                 0, 0, /* No default value */
113                 "configured-TAC"
114                 },
115         { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, measurementTimingConfiguration),
116                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
117                 -1,     /* IMPLICIT tag at current level */
118                 &asn_DEF_OCTET_STRING,
119                 0,
120                 { 0, 0, 0 },
121                 0, 0, /* No default value */
122                 "measurementTimingConfiguration"
123                 },
124         { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nRNeighbourModeInfo),
125                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
126                 +1,     /* EXPLICIT tag at current level */
127                 &asn_DEF_nRNeighbourModeInfo_8,
128                 0,
129                 { 0, 0, 0 },
130                 0, 0, /* No default value */
131                 "nRNeighbourModeInfo"
132                 },
133         { ATF_POINTER, 1, offsetof(struct NRNeighbour_Information__Member, iE_Extensions),
134                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
135                 -1,     /* IMPLICIT tag at current level */
136                 &asn_DEF_ProtocolExtensionContainer_9566P97,
137                 0,
138                 { 0, 0, 0 },
139                 0, 0, /* No default value */
140                 "iE-Extensions"
141                 },
142 };
143 static const int asn_MAP_Member_oms_2[] = { 2, 3, 6 };
144 static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
145         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
146 };
147 static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
148     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrpCI */
149     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrCellID */
150     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */
151     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* configured-TAC */
152     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* measurementTimingConfiguration */
153     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* nRNeighbourModeInfo */
154     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */
155 };
156 static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
157         sizeof(struct NRNeighbour_Information__Member),
158         offsetof(struct NRNeighbour_Information__Member, _asn_ctx),
159         asn_MAP_Member_tag2el_2,
160         7,      /* Count of tags in the map */
161         asn_MAP_Member_oms_2,   /* Optional members */
162         3, 0,   /* Root/Additions */
163         7,      /* First extension addition */
164 };
165 static /* Use -fall-defs-global to expose */
166 asn_TYPE_descriptor_t asn_DEF_Member_2 = {
167         "SEQUENCE",
168         "SEQUENCE",
169         &asn_OP_SEQUENCE,
170         asn_DEF_Member_tags_2,
171         sizeof(asn_DEF_Member_tags_2)
172                 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
173         asn_DEF_Member_tags_2,  /* Same as above */
174         sizeof(asn_DEF_Member_tags_2)
175                 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
176         { 0, 0, SEQUENCE_constraint },
177         asn_MBR_Member_2,
178         7,      /* Elements count */
179         &asn_SPC_Member_specs_2 /* Additional specs */
180 };
181
182 asn_TYPE_member_t asn_MBR_NRNeighbour_Information_1[] = {
183         { ATF_POINTER, 0, 0,
184                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
185                 0,
186                 &asn_DEF_Member_2,
187                 0,
188                 { 0, 0, 0 },
189                 0, 0, /* No default value */
190                 ""
191                 },
192 };
193 static const ber_tlv_tag_t asn_DEF_NRNeighbour_Information_tags_1[] = {
194         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
195 };
196 asn_SET_OF_specifics_t asn_SPC_NRNeighbour_Information_specs_1 = {
197         sizeof(struct NRNeighbour_Information),
198         offsetof(struct NRNeighbour_Information, _asn_ctx),
199         0,      /* XER encoding is XMLDelimitedItemList */
200 };
201 asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information = {
202         "NRNeighbour-Information",
203         "NRNeighbour-Information",
204         &asn_OP_SEQUENCE_OF,
205         asn_DEF_NRNeighbour_Information_tags_1,
206         sizeof(asn_DEF_NRNeighbour_Information_tags_1)
207                 /sizeof(asn_DEF_NRNeighbour_Information_tags_1[0]), /* 1 */
208         asn_DEF_NRNeighbour_Information_tags_1, /* Same as above */
209         sizeof(asn_DEF_NRNeighbour_Information_tags_1)
210                 /sizeof(asn_DEF_NRNeighbour_Information_tags_1[0]), /* 1 */
211         { &asn_OER_type_NRNeighbour_Information_constr_1, &asn_PER_type_NRNeighbour_Information_constr_1, SEQUENCE_OF_constraint },
212         asn_MBR_NRNeighbour_Information_1,
213         1,      /* Single element */
214         &asn_SPC_NRNeighbour_Information_specs_1        /* Additional specs */
215 };
216