2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
\r
3 * From ASN.1 module "X2AP-IEs"
\r
4 * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn"
\r
5 * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER`
\r
8 #include "DynamicNAICSInformation.h"
\r
10 #include "ProtocolExtensionContainer.h"
\r
12 memb_transmissionModes_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
13 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
14 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
\r
18 ASN__CTFAIL(app_key, td, sptr,
\r
19 "%s: value not given (%s:%d)",
\r
20 td->name, __FILE__, __LINE__);
\r
26 size = 8 * st->size - (st->bits_unused & 0x07);
\r
32 /* Constraint check succeeded */
\r
35 ASN__CTFAIL(app_key, td, sptr,
\r
36 "%s: constraint failed (%s:%d)",
\r
37 td->name, __FILE__, __LINE__);
\r
43 memb_pB_information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
44 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
48 ASN__CTFAIL(app_key, td, sptr,
\r
49 "%s: value not given (%s:%d)",
\r
50 td->name, __FILE__, __LINE__);
\r
54 value = *(const long *)sptr;
\r
56 if((value >= 0 && value <= 3)) {
\r
57 /* Constraint check succeeded */
\r
60 ASN__CTFAIL(app_key, td, sptr,
\r
61 "%s: constraint failed (%s:%d)",
\r
62 td->name, __FILE__, __LINE__);
\r
68 memb_pA_list_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
69 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
73 ASN__CTFAIL(app_key, td, sptr,
\r
74 "%s: value not given (%s:%d)",
\r
75 td->name, __FILE__, __LINE__);
\r
79 /* Determine the number of elements */
\r
80 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
\r
83 /* Perform validation of the inner elements */
\r
84 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
\r
86 ASN__CTFAIL(app_key, td, sptr,
\r
87 "%s: constraint failed (%s:%d)",
\r
88 td->name, __FILE__, __LINE__);
\r
93 static asn_per_constraints_t asn_PER_type_pA_list_constr_4 CC_NOTUSED = {
\r
94 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
95 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (SIZE(0..3)) */,
\r
96 0, 0 /* No PER value map */
\r
98 static asn_per_constraints_t asn_PER_memb_transmissionModes_constr_2 CC_NOTUSED = {
\r
99 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
100 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
\r
101 0, 0 /* No PER value map */
\r
103 static asn_per_constraints_t asn_PER_memb_pB_information_constr_3 CC_NOTUSED = {
\r
104 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
\r
105 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
106 0, 0 /* No PER value map */
\r
108 static asn_per_constraints_t asn_PER_memb_pA_list_constr_4 CC_NOTUSED = {
\r
109 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
110 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (SIZE(0..3)) */,
\r
111 0, 0 /* No PER value map */
\r
113 static asn_TYPE_member_t asn_MBR_pA_list_4[] = {
\r
114 { ATF_POINTER, 0, 0,
\r
115 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
\r
117 &asn_DEF_PA_Values,
\r
120 0, 0, /* No default value */
\r
124 static const ber_tlv_tag_t asn_DEF_pA_list_tags_4[] = {
\r
125 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
\r
126 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
\r
128 static asn_SET_OF_specifics_t asn_SPC_pA_list_specs_4 = {
\r
129 sizeof(struct DynamicNAICSInformation__pA_list),
\r
130 offsetof(struct DynamicNAICSInformation__pA_list, _asn_ctx),
\r
131 1, /* XER encoding is XMLValueList */
\r
133 static /* Use -fall-defs-global to expose */
\r
134 asn_TYPE_descriptor_t asn_DEF_pA_list_4 = {
\r
137 &asn_OP_SEQUENCE_OF,
\r
138 asn_DEF_pA_list_tags_4,
\r
139 sizeof(asn_DEF_pA_list_tags_4)
\r
140 /sizeof(asn_DEF_pA_list_tags_4[0]) - 1, /* 1 */
\r
141 asn_DEF_pA_list_tags_4, /* Same as above */
\r
142 sizeof(asn_DEF_pA_list_tags_4)
\r
143 /sizeof(asn_DEF_pA_list_tags_4[0]), /* 2 */
\r
144 { 0, &asn_PER_type_pA_list_constr_4, SEQUENCE_OF_constraint },
\r
146 1, /* Single element */
\r
147 &asn_SPC_pA_list_specs_4 /* Additional specs */
\r
150 asn_TYPE_member_t asn_MBR_DynamicNAICSInformation_1[] = {
\r
151 { ATF_POINTER, 2, offsetof(struct DynamicNAICSInformation, transmissionModes),
\r
152 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
\r
153 -1, /* IMPLICIT tag at current level */
\r
154 &asn_DEF_BIT_STRING,
\r
156 { 0, &asn_PER_memb_transmissionModes_constr_2, memb_transmissionModes_constraint_1 },
\r
157 0, 0, /* No default value */
\r
158 "transmissionModes"
\r
160 { ATF_POINTER, 1, offsetof(struct DynamicNAICSInformation, pB_information),
\r
161 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
\r
162 -1, /* IMPLICIT tag at current level */
\r
163 &asn_DEF_NativeInteger,
\r
165 { 0, &asn_PER_memb_pB_information_constr_3, memb_pB_information_constraint_1 },
\r
166 0, 0, /* No default value */
\r
169 { ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation, pA_list),
\r
170 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
\r
172 &asn_DEF_pA_list_4,
\r
174 { 0, &asn_PER_memb_pA_list_constr_4, memb_pA_list_constraint_1 },
\r
175 0, 0, /* No default value */
\r
178 { ATF_POINTER, 1, offsetof(struct DynamicNAICSInformation, iE_Extensions),
\r
179 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
\r
180 -1, /* IMPLICIT tag at current level */
\r
181 &asn_DEF_ProtocolExtensionContainer_8231P133,
\r
184 0, 0, /* No default value */
\r
188 static const int asn_MAP_DynamicNAICSInformation_oms_1[] = { 0, 1, 3 };
\r
189 static const ber_tlv_tag_t asn_DEF_DynamicNAICSInformation_tags_1[] = {
\r
190 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
\r
192 static const asn_TYPE_tag2member_t asn_MAP_DynamicNAICSInformation_tag2el_1[] = {
\r
193 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmissionModes */
\r
194 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pB-information */
\r
195 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pA-list */
\r
196 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
\r
198 asn_SEQUENCE_specifics_t asn_SPC_DynamicNAICSInformation_specs_1 = {
\r
199 sizeof(struct DynamicNAICSInformation),
\r
200 offsetof(struct DynamicNAICSInformation, _asn_ctx),
\r
201 asn_MAP_DynamicNAICSInformation_tag2el_1,
\r
202 4, /* Count of tags in the map */
\r
203 asn_MAP_DynamicNAICSInformation_oms_1, /* Optional members */
\r
204 3, 0, /* Root/Additions */
\r
205 4, /* First extension addition */
\r
207 asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation = {
\r
208 "DynamicNAICSInformation",
\r
209 "DynamicNAICSInformation",
\r
211 asn_DEF_DynamicNAICSInformation_tags_1,
\r
212 sizeof(asn_DEF_DynamicNAICSInformation_tags_1)
\r
213 /sizeof(asn_DEF_DynamicNAICSInformation_tags_1[0]), /* 1 */
\r
214 asn_DEF_DynamicNAICSInformation_tags_1, /* Same as above */
\r
215 sizeof(asn_DEF_DynamicNAICSInformation_tags_1)
\r
216 /sizeof(asn_DEF_DynamicNAICSInformation_tags_1[0]), /* 1 */
\r
217 { 0, 0, SEQUENCE_constraint },
\r
218 asn_MBR_DynamicNAICSInformation_1,
\r
219 4, /* Elements count */
\r
220 &asn_SPC_DynamicNAICSInformation_specs_1 /* Additional specs */
\r