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 "E-RABUsageReport-Item.h"
\r
10 #include "ProtocolExtensionContainer.h"
\r
12 memb_startTimeStamp_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 OCTET_STRING_t *st = (const OCTET_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
27 /* Constraint check succeeded */
\r
30 ASN__CTFAIL(app_key, td, sptr,
\r
31 "%s: constraint failed (%s:%d)",
\r
32 td->name, __FILE__, __LINE__);
\r
38 memb_endTimeStamp_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
39 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
40 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
\r
44 ASN__CTFAIL(app_key, td, sptr,
\r
45 "%s: value not given (%s:%d)",
\r
46 td->name, __FILE__, __LINE__);
\r
53 /* Constraint check succeeded */
\r
56 ASN__CTFAIL(app_key, td, sptr,
\r
57 "%s: constraint failed (%s:%d)",
\r
58 td->name, __FILE__, __LINE__);
\r
64 memb_usageCountUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
65 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
66 const INTEGER_t *st = (const INTEGER_t *)sptr;
\r
70 ASN__CTFAIL(app_key, td, sptr,
\r
71 "%s: value not given (%s:%d)",
\r
72 td->name, __FILE__, __LINE__);
\r
76 if(asn_INTEGER2long(st, &value)) {
\r
77 ASN__CTFAIL(app_key, td, sptr,
\r
78 "%s: value too large (%s:%d)",
\r
79 td->name, __FILE__, __LINE__);
\r
83 if((value >= 0 && value <= 18446744073709551615)) {
\r
84 /* Constraint check succeeded */
\r
87 ASN__CTFAIL(app_key, td, sptr,
\r
88 "%s: constraint failed (%s:%d)",
\r
89 td->name, __FILE__, __LINE__);
\r
95 memb_usageCountDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
\r
96 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
\r
97 const INTEGER_t *st = (const INTEGER_t *)sptr;
\r
101 ASN__CTFAIL(app_key, td, sptr,
\r
102 "%s: value not given (%s:%d)",
\r
103 td->name, __FILE__, __LINE__);
\r
107 if(asn_INTEGER2long(st, &value)) {
\r
108 ASN__CTFAIL(app_key, td, sptr,
\r
109 "%s: value too large (%s:%d)",
\r
110 td->name, __FILE__, __LINE__);
\r
114 if((value >= 0 && value <= 18446744073709551615)) {
\r
115 /* Constraint check succeeded */
\r
118 ASN__CTFAIL(app_key, td, sptr,
\r
119 "%s: constraint failed (%s:%d)",
\r
120 td->name, __FILE__, __LINE__);
\r
125 static asn_per_constraints_t asn_PER_memb_startTimeStamp_constr_2 CC_NOTUSED = {
\r
126 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
127 { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
\r
128 0, 0 /* No PER value map */
\r
130 static asn_per_constraints_t asn_PER_memb_endTimeStamp_constr_3 CC_NOTUSED = {
\r
131 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
132 { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
\r
133 0, 0 /* No PER value map */
\r
135 static asn_per_constraints_t asn_PER_memb_usageCountUL_constr_4 CC_NOTUSED = {
\r
136 { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
\r
137 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
138 0, 0 /* No PER value map */
\r
140 static asn_per_constraints_t asn_PER_memb_usageCountDL_constr_5 CC_NOTUSED = {
\r
141 { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
\r
142 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
\r
143 0, 0 /* No PER value map */
\r
145 static asn_TYPE_member_t asn_MBR_E_RABUsageReport_Item_1[] = {
\r
146 { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, startTimeStamp),
\r
147 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
\r
148 -1, /* IMPLICIT tag at current level */
\r
149 &asn_DEF_OCTET_STRING,
\r
151 { 0, &asn_PER_memb_startTimeStamp_constr_2, memb_startTimeStamp_constraint_1 },
\r
152 0, 0, /* No default value */
\r
155 { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, endTimeStamp),
\r
156 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
\r
157 -1, /* IMPLICIT tag at current level */
\r
158 &asn_DEF_OCTET_STRING,
\r
160 { 0, &asn_PER_memb_endTimeStamp_constr_3, memb_endTimeStamp_constraint_1 },
\r
161 0, 0, /* No default value */
\r
164 { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, usageCountUL),
\r
165 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
\r
166 -1, /* IMPLICIT tag at current level */
\r
169 { 0, &asn_PER_memb_usageCountUL_constr_4, memb_usageCountUL_constraint_1 },
\r
170 0, 0, /* No default value */
\r
173 { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, usageCountDL),
\r
174 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
\r
175 -1, /* IMPLICIT tag at current level */
\r
178 { 0, &asn_PER_memb_usageCountDL_constr_5, memb_usageCountDL_constraint_1 },
\r
179 0, 0, /* No default value */
\r
182 { ATF_POINTER, 1, offsetof(struct E_RABUsageReport_Item, iE_Extensions),
\r
183 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
\r
184 -1, /* IMPLICIT tag at current level */
\r
185 &asn_DEF_ProtocolExtensionContainer_8231P141,
\r
188 0, 0, /* No default value */
\r
192 static const int asn_MAP_E_RABUsageReport_Item_oms_1[] = { 4 };
\r
193 static const ber_tlv_tag_t asn_DEF_E_RABUsageReport_Item_tags_1[] = {
\r
194 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
\r
196 static const asn_TYPE_tag2member_t asn_MAP_E_RABUsageReport_Item_tag2el_1[] = {
\r
197 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTimeStamp */
\r
198 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* endTimeStamp */
\r
199 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* usageCountUL */
\r
200 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* usageCountDL */
\r
201 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
\r
203 static asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_Item_specs_1 = {
\r
204 sizeof(struct E_RABUsageReport_Item),
\r
205 offsetof(struct E_RABUsageReport_Item, _asn_ctx),
\r
206 asn_MAP_E_RABUsageReport_Item_tag2el_1,
\r
207 5, /* Count of tags in the map */
\r
208 asn_MAP_E_RABUsageReport_Item_oms_1, /* Optional members */
\r
209 1, 0, /* Root/Additions */
\r
210 5, /* First extension addition */
\r
212 asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item = {
\r
213 "E-RABUsageReport-Item",
\r
214 "E-RABUsageReport-Item",
\r
216 asn_DEF_E_RABUsageReport_Item_tags_1,
\r
217 sizeof(asn_DEF_E_RABUsageReport_Item_tags_1)
\r
218 /sizeof(asn_DEF_E_RABUsageReport_Item_tags_1[0]), /* 1 */
\r
219 asn_DEF_E_RABUsageReport_Item_tags_1, /* Same as above */
\r
220 sizeof(asn_DEF_E_RABUsageReport_Item_tags_1)
\r
221 /sizeof(asn_DEF_E_RABUsageReport_Item_tags_1[0]), /* 1 */
\r
222 { 0, 0, SEQUENCE_constraint },
\r
223 asn_MBR_E_RABUsageReport_Item_1,
\r
224 5, /* Elements count */
\r
225 &asn_SPC_E_RABUsageReport_Item_specs_1 /* Additional specs */
\r