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_E-RABs-SubjectToSgNBCounterCheck-Item.h"
10 #include "X2N_ProtocolExtensionContainer.h"
12 X2N_uL_Count_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
13 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
23 /* Constraint check succeeded */
28 * This type is implemented using NativeInteger,
29 * so here we adjust the DEF accordingly.
32 X2N_dL_Count_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
33 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
36 ASN__CTFAIL(app_key, td, sptr,
37 "%s: value not given (%s:%d)",
38 td->name, __FILE__, __LINE__);
43 /* Constraint check succeeded */
48 * This type is implemented using NativeInteger,
49 * so here we adjust the DEF accordingly.
52 memb_X2N_uL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
53 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
56 ASN__CTFAIL(app_key, td, sptr,
57 "%s: value not given (%s:%d)",
58 td->name, __FILE__, __LINE__);
63 /* Constraint check succeeded */
68 memb_X2N_dL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
69 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
72 ASN__CTFAIL(app_key, td, sptr,
73 "%s: value not given (%s:%d)",
74 td->name, __FILE__, __LINE__);
79 /* Constraint check succeeded */
83 static asn_per_constraints_t asn_PER_type_X2N_uL_Count_constr_3 CC_NOTUSED = {
84 { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
85 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
86 0, 0 /* No PER value map */
88 static asn_per_constraints_t asn_PER_type_X2N_dL_Count_constr_4 CC_NOTUSED = {
89 { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
90 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
91 0, 0 /* No PER value map */
93 static asn_per_constraints_t asn_PER_memb_X2N_uL_Count_constr_3 CC_NOTUSED = {
94 { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
95 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
96 0, 0 /* No PER value map */
98 static asn_per_constraints_t asn_PER_memb_X2N_dL_Count_constr_4 CC_NOTUSED = {
99 { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
100 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
101 0, 0 /* No PER value map */
103 static const asn_INTEGER_specifics_t asn_SPC_X2N_uL_Count_specs_3 = {
105 0, /* Native long size */
106 1 /* Unsigned representation */
108 static const ber_tlv_tag_t asn_DEF_X2N_uL_Count_tags_3[] = {
109 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
110 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
112 static /* Use -fall-defs-global to expose */
113 asn_TYPE_descriptor_t asn_DEF_X2N_uL_Count_3 = {
116 &asn_OP_NativeInteger,
117 asn_DEF_X2N_uL_Count_tags_3,
118 sizeof(asn_DEF_X2N_uL_Count_tags_3)
119 /sizeof(asn_DEF_X2N_uL_Count_tags_3[0]) - 1, /* 1 */
120 asn_DEF_X2N_uL_Count_tags_3, /* Same as above */
121 sizeof(asn_DEF_X2N_uL_Count_tags_3)
122 /sizeof(asn_DEF_X2N_uL_Count_tags_3[0]), /* 2 */
123 { 0, &asn_PER_type_X2N_uL_Count_constr_3, X2N_uL_Count_3_constraint },
124 0, 0, /* No members */
125 &asn_SPC_X2N_uL_Count_specs_3 /* Additional specs */
128 static const asn_INTEGER_specifics_t asn_SPC_X2N_dL_Count_specs_4 = {
130 0, /* Native long size */
131 1 /* Unsigned representation */
133 static const ber_tlv_tag_t asn_DEF_X2N_dL_Count_tags_4[] = {
134 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
135 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
137 static /* Use -fall-defs-global to expose */
138 asn_TYPE_descriptor_t asn_DEF_X2N_dL_Count_4 = {
141 &asn_OP_NativeInteger,
142 asn_DEF_X2N_dL_Count_tags_4,
143 sizeof(asn_DEF_X2N_dL_Count_tags_4)
144 /sizeof(asn_DEF_X2N_dL_Count_tags_4[0]) - 1, /* 1 */
145 asn_DEF_X2N_dL_Count_tags_4, /* Same as above */
146 sizeof(asn_DEF_X2N_dL_Count_tags_4)
147 /sizeof(asn_DEF_X2N_dL_Count_tags_4[0]), /* 2 */
148 { 0, &asn_PER_type_X2N_dL_Count_constr_4, X2N_dL_Count_4_constraint },
149 0, 0, /* No members */
150 &asn_SPC_X2N_dL_Count_specs_4 /* Additional specs */
153 static asn_TYPE_member_t asn_MBR_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_1[] = {
154 { ATF_NOFLAGS, 0, offsetof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item, e_RAB_ID),
155 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
156 -1, /* IMPLICIT tag at current level */
157 &asn_DEF_X2N_E_RAB_ID,
160 0, 0, /* No default value */
163 { ATF_NOFLAGS, 0, offsetof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item, uL_Count),
164 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
165 -1, /* IMPLICIT tag at current level */
166 &asn_DEF_X2N_uL_Count_3,
168 { 0, &asn_PER_memb_X2N_uL_Count_constr_3, memb_X2N_uL_Count_constraint_1 },
169 0, 0, /* No default value */
172 { ATF_NOFLAGS, 0, offsetof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item, dL_Count),
173 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
174 -1, /* IMPLICIT tag at current level */
175 &asn_DEF_X2N_dL_Count_4,
177 { 0, &asn_PER_memb_X2N_dL_Count_constr_4, memb_X2N_dL_Count_constraint_1 },
178 0, 0, /* No default value */
181 { ATF_POINTER, 1, offsetof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item, iE_Extensions),
182 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
183 -1, /* IMPLICIT tag at current level */
184 &asn_DEF_X2N_ProtocolExtensionContainer_8231P86,
187 0, 0, /* No default value */
191 static const int asn_MAP_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_oms_1[] = { 3 };
192 static const ber_tlv_tag_t asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[] = {
193 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
195 static const asn_TYPE_tag2member_t asn_MAP_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tag2el_1[] = {
196 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */
197 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-Count */
198 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Count */
199 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
201 static asn_SEQUENCE_specifics_t asn_SPC_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_specs_1 = {
202 sizeof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item),
203 offsetof(struct X2N_E_RABs_SubjectToSgNBCounterCheck_Item, _asn_ctx),
204 asn_MAP_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tag2el_1,
205 4, /* Count of tags in the map */
206 asn_MAP_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_oms_1, /* Optional members */
207 1, 0, /* Root/Additions */
208 4, /* First extension addition */
210 asn_TYPE_descriptor_t asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item = {
211 "E-RABs-SubjectToSgNBCounterCheck-Item",
212 "E-RABs-SubjectToSgNBCounterCheck-Item",
214 asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1,
215 sizeof(asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1)
216 /sizeof(asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[0]), /* 1 */
217 asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1, /* Same as above */
218 sizeof(asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1)
219 /sizeof(asn_DEF_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[0]), /* 1 */
220 { 0, 0, SEQUENCE_constraint },
221 asn_MBR_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_1,
222 4, /* Elements count */
223 &asn_SPC_X2N_E_RABs_SubjectToSgNBCounterCheck_Item_specs_1 /* Additional specs */