2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "X2AP-PDU-Contents"
4 * found in "X2AP-15-4-0.asn1"
5 * `asn1c -D ./asn1_n1 -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
8 #include "NRNeighbour-Information.h"
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 = {
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 */
21 static asn_oer_constraints_t asn_OER_type_NRNeighbour_Information_constr_1 CC_NOTUSED = {
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 */
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,
36 0, 0, /* No default value */
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,
45 0, 0, /* No default value */
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 */
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 */
61 2 /* Extensions start */
63 static /* Use -fall-defs-global to expose */
64 asn_TYPE_descriptor_t asn_DEF_nRNeighbourModeInfo_8 = {
65 "nRNeighbourModeInfo",
66 "nRNeighbourModeInfo",
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 */
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 */
85 0, 0, /* No default value */
88 { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nrCellID),
89 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
90 -1, /* IMPLICIT tag at current level */
94 0, 0, /* No default value */
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 */
103 0, 0, /* No default value */
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 */
112 0, 0, /* No default value */
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,
121 0, 0, /* No default value */
122 "measurementTimingConfiguration"
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,
130 0, 0, /* No default value */
131 "nRNeighbourModeInfo"
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_7683P97,
139 0, 0, /* No default value */
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))
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 */
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 */
165 static /* Use -fall-defs-global to expose */
166 asn_TYPE_descriptor_t asn_DEF_Member_2 = {
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 },
178 7, /* Elements count */
179 &asn_SPC_Member_specs_2 /* Additional specs */
182 asn_TYPE_member_t asn_MBR_NRNeighbour_Information_1[] = {
184 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
189 0, 0, /* No default value */
193 static const ber_tlv_tag_t asn_DEF_NRNeighbour_Information_tags_1[] = {
194 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
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 */
201 asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information = {
202 "NRNeighbour-Information",
203 "NRNeighbour-Information",
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 */