2 * Generated by asn1c-0.9.29 n1 (http://lionet.info/asn1c)
3 * From ASN.1 module "X2AP-PDU-Contents"
4 * found in "../../asn_defs/asn1/x2ap-15-04.asn"
5 * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER`
8 #include "X2N_NRNeighbour-Information.h"
10 #include "X2N_ProtocolExtensionContainer.h"
11 #include "X2N_FDD-InfoNeighbourServedNRCell-Information.h"
12 #include "X2N_TDD-InfoNeighbourServedNRCell-Information.h"
13 static asn_per_constraints_t asn_PER_type_X2N_nRNeighbourModeInfo_constr_8 CC_NOTUSED = {
14 { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
15 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
16 0, 0 /* No PER value map */
18 asn_per_constraints_t asn_PER_type_X2N_NRNeighbour_Information_constr_1 CC_NOTUSED = {
19 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
20 { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
21 0, 0 /* No PER value map */
23 static asn_TYPE_member_t asn_MBR_X2N_nRNeighbourModeInfo_8[] = {
24 { ATF_POINTER, 0, offsetof(struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo, choice.fdd),
25 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
26 -1, /* IMPLICIT tag at current level */
27 &asn_DEF_X2N_FDD_InfoNeighbourServedNRCell_Information,
30 0, 0, /* No default value */
33 { ATF_POINTER, 0, offsetof(struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo, choice.tdd),
34 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
35 -1, /* IMPLICIT tag at current level */
36 &asn_DEF_X2N_TDD_InfoNeighbourServedNRCell_Information,
39 0, 0, /* No default value */
43 static const asn_TYPE_tag2member_t asn_MAP_X2N_nRNeighbourModeInfo_tag2el_8[] = {
44 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */
45 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tdd */
47 static asn_CHOICE_specifics_t asn_SPC_X2N_nRNeighbourModeInfo_specs_8 = {
48 sizeof(struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo),
49 offsetof(struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo, _asn_ctx),
50 offsetof(struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo, present),
51 sizeof(((struct X2N_NRNeighbour_Information__Member__nRNeighbourModeInfo *)0)->present),
52 asn_MAP_X2N_nRNeighbourModeInfo_tag2el_8,
53 2, /* Count of tags in the map */
55 2 /* Extensions start */
57 static /* Use -fall-defs-global to expose */
58 asn_TYPE_descriptor_t asn_DEF_X2N_nRNeighbourModeInfo_8 = {
59 "nRNeighbourModeInfo",
60 "nRNeighbourModeInfo",
62 0, /* No effective tags (pointer) */
63 0, /* No effective tags (count) */
64 0, /* No tags (pointer) */
65 0, /* No tags (count) */
66 { 0, &asn_PER_type_X2N_nRNeighbourModeInfo_constr_8, CHOICE_constraint },
67 asn_MBR_X2N_nRNeighbourModeInfo_8,
68 2, /* Elements count */
69 &asn_SPC_X2N_nRNeighbourModeInfo_specs_8 /* Additional specs */
72 static asn_TYPE_member_t asn_MBR_X2N_Member_2[] = {
73 { ATF_NOFLAGS, 0, offsetof(struct X2N_NRNeighbour_Information__Member, nrpCI),
74 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
75 -1, /* IMPLICIT tag at current level */
79 0, 0, /* No default value */
82 { ATF_NOFLAGS, 0, offsetof(struct X2N_NRNeighbour_Information__Member, nrCellID),
83 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
84 -1, /* IMPLICIT tag at current level */
88 0, 0, /* No default value */
91 { ATF_POINTER, 2, offsetof(struct X2N_NRNeighbour_Information__Member, fiveGS_TAC),
92 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
93 -1, /* IMPLICIT tag at current level */
94 &asn_DEF_X2N_FiveGS_TAC,
97 0, 0, /* No default value */
100 { ATF_POINTER, 1, offsetof(struct X2N_NRNeighbour_Information__Member, configured_TAC),
101 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
102 -1, /* IMPLICIT tag at current level */
106 0, 0, /* No default value */
109 { ATF_NOFLAGS, 0, offsetof(struct X2N_NRNeighbour_Information__Member, measurementTimingConfiguration),
110 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
111 -1, /* IMPLICIT tag at current level */
112 &asn_DEF_OCTET_STRING,
115 0, 0, /* No default value */
116 "measurementTimingConfiguration"
118 { ATF_NOFLAGS, 0, offsetof(struct X2N_NRNeighbour_Information__Member, nRNeighbourModeInfo),
119 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
120 +1, /* EXPLICIT tag at current level */
121 &asn_DEF_X2N_nRNeighbourModeInfo_8,
124 0, 0, /* No default value */
125 "nRNeighbourModeInfo"
127 { ATF_POINTER, 1, offsetof(struct X2N_NRNeighbour_Information__Member, iE_Extensions),
128 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
129 -1, /* IMPLICIT tag at current level */
130 &asn_DEF_X2N_ProtocolExtensionContainer_8231P97,
133 0, 0, /* No default value */
137 static const int asn_MAP_X2N_Member_oms_2[] = { 2, 3, 6 };
138 static const ber_tlv_tag_t asn_DEF_X2N_Member_tags_2[] = {
139 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
141 static const asn_TYPE_tag2member_t asn_MAP_X2N_Member_tag2el_2[] = {
142 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrpCI */
143 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrCellID */
144 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */
145 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* configured-TAC */
146 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* measurementTimingConfiguration */
147 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* nRNeighbourModeInfo */
148 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */
150 static asn_SEQUENCE_specifics_t asn_SPC_X2N_Member_specs_2 = {
151 sizeof(struct X2N_NRNeighbour_Information__Member),
152 offsetof(struct X2N_NRNeighbour_Information__Member, _asn_ctx),
153 asn_MAP_X2N_Member_tag2el_2,
154 7, /* Count of tags in the map */
155 asn_MAP_X2N_Member_oms_2, /* Optional members */
156 3, 0, /* Root/Additions */
157 7, /* First extension addition */
159 static /* Use -fall-defs-global to expose */
160 asn_TYPE_descriptor_t asn_DEF_X2N_Member_2 = {
164 asn_DEF_X2N_Member_tags_2,
165 sizeof(asn_DEF_X2N_Member_tags_2)
166 /sizeof(asn_DEF_X2N_Member_tags_2[0]), /* 1 */
167 asn_DEF_X2N_Member_tags_2, /* Same as above */
168 sizeof(asn_DEF_X2N_Member_tags_2)
169 /sizeof(asn_DEF_X2N_Member_tags_2[0]), /* 1 */
170 { 0, 0, SEQUENCE_constraint },
171 asn_MBR_X2N_Member_2,
172 7, /* Elements count */
173 &asn_SPC_X2N_Member_specs_2 /* Additional specs */
176 asn_TYPE_member_t asn_MBR_X2N_NRNeighbour_Information_1[] = {
178 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
180 &asn_DEF_X2N_Member_2,
183 0, 0, /* No default value */
187 static const ber_tlv_tag_t asn_DEF_X2N_NRNeighbour_Information_tags_1[] = {
188 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
190 asn_SET_OF_specifics_t asn_SPC_X2N_NRNeighbour_Information_specs_1 = {
191 sizeof(struct X2N_NRNeighbour_Information),
192 offsetof(struct X2N_NRNeighbour_Information, _asn_ctx),
193 0, /* XER encoding is XMLDelimitedItemList */
195 asn_TYPE_descriptor_t asn_DEF_X2N_NRNeighbour_Information = {
196 "NRNeighbour-Information",
197 "NRNeighbour-Information",
199 asn_DEF_X2N_NRNeighbour_Information_tags_1,
200 sizeof(asn_DEF_X2N_NRNeighbour_Information_tags_1)
201 /sizeof(asn_DEF_X2N_NRNeighbour_Information_tags_1[0]), /* 1 */
202 asn_DEF_X2N_NRNeighbour_Information_tags_1, /* Same as above */
203 sizeof(asn_DEF_X2N_NRNeighbour_Information_tags_1)
204 /sizeof(asn_DEF_X2N_NRNeighbour_Information_tags_1[0]), /* 1 */
205 { 0, &asn_PER_type_X2N_NRNeighbour_Information_constr_1, SEQUENCE_OF_constraint },
206 asn_MBR_X2N_NRNeighbour_Information_1,
207 1, /* Single element */
208 &asn_SPC_X2N_NRNeighbour_Information_specs_1 /* Additional specs */