Adding initial code jy.oak@samsung.com
[ric-app/kpimon.git] / asn1c_defs / all-defs / E-RABUsageReport-Item.c
1 /*\r
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
6  */\r
7 \r
8 #include "E-RABUsageReport-Item.h"\r
9 \r
10 #include "ProtocolExtensionContainer.h"\r
11 static int\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
15         size_t size;\r
16         \r
17         if(!sptr) {\r
18                 ASN__CTFAIL(app_key, td, sptr,\r
19                         "%s: value not given (%s:%d)",\r
20                         td->name, __FILE__, __LINE__);\r
21                 return -1;\r
22         }\r
23         \r
24         size = st->size;\r
25         \r
26         if((size == 4)) {\r
27                 /* Constraint check succeeded */\r
28                 return 0;\r
29         } else {\r
30                 ASN__CTFAIL(app_key, td, sptr,\r
31                         "%s: constraint failed (%s:%d)",\r
32                         td->name, __FILE__, __LINE__);\r
33                 return -1;\r
34         }\r
35 }\r
36 \r
37 static int\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
41         size_t size;\r
42         \r
43         if(!sptr) {\r
44                 ASN__CTFAIL(app_key, td, sptr,\r
45                         "%s: value not given (%s:%d)",\r
46                         td->name, __FILE__, __LINE__);\r
47                 return -1;\r
48         }\r
49         \r
50         size = st->size;\r
51         \r
52         if((size == 4)) {\r
53                 /* Constraint check succeeded */\r
54                 return 0;\r
55         } else {\r
56                 ASN__CTFAIL(app_key, td, sptr,\r
57                         "%s: constraint failed (%s:%d)",\r
58                         td->name, __FILE__, __LINE__);\r
59                 return -1;\r
60         }\r
61 }\r
62 \r
63 static int\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
67         long value;\r
68         \r
69         if(!sptr) {\r
70                 ASN__CTFAIL(app_key, td, sptr,\r
71                         "%s: value not given (%s:%d)",\r
72                         td->name, __FILE__, __LINE__);\r
73                 return -1;\r
74         }\r
75         \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
80                 return -1;\r
81         }\r
82         \r
83         if((value >= 0 && value <= 18446744073709551615)) {\r
84                 /* Constraint check succeeded */\r
85                 return 0;\r
86         } else {\r
87                 ASN__CTFAIL(app_key, td, sptr,\r
88                         "%s: constraint failed (%s:%d)",\r
89                         td->name, __FILE__, __LINE__);\r
90                 return -1;\r
91         }\r
92 }\r
93 \r
94 static int\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
98         long value;\r
99         \r
100         if(!sptr) {\r
101                 ASN__CTFAIL(app_key, td, sptr,\r
102                         "%s: value not given (%s:%d)",\r
103                         td->name, __FILE__, __LINE__);\r
104                 return -1;\r
105         }\r
106         \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
111                 return -1;\r
112         }\r
113         \r
114         if((value >= 0 && value <= 18446744073709551615)) {\r
115                 /* Constraint check succeeded */\r
116                 return 0;\r
117         } else {\r
118                 ASN__CTFAIL(app_key, td, sptr,\r
119                         "%s: constraint failed (%s:%d)",\r
120                         td->name, __FILE__, __LINE__);\r
121                 return -1;\r
122         }\r
123 }\r
124 \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
129 };\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
134 };\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
139 };\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
144 };\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
150                 0,\r
151                 { 0, &asn_PER_memb_startTimeStamp_constr_2,  memb_startTimeStamp_constraint_1 },\r
152                 0, 0, /* No default value */\r
153                 "startTimeStamp"\r
154                 },\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
159                 0,\r
160                 { 0, &asn_PER_memb_endTimeStamp_constr_3,  memb_endTimeStamp_constraint_1 },\r
161                 0, 0, /* No default value */\r
162                 "endTimeStamp"\r
163                 },\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
167                 &asn_DEF_INTEGER,\r
168                 0,\r
169                 { 0, &asn_PER_memb_usageCountUL_constr_4,  memb_usageCountUL_constraint_1 },\r
170                 0, 0, /* No default value */\r
171                 "usageCountUL"\r
172                 },\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
176                 &asn_DEF_INTEGER,\r
177                 0,\r
178                 { 0, &asn_PER_memb_usageCountDL_constr_5,  memb_usageCountDL_constraint_1 },\r
179                 0, 0, /* No default value */\r
180                 "usageCountDL"\r
181                 },\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
186                 0,\r
187                 { 0, 0, 0 },\r
188                 0, 0, /* No default value */\r
189                 "iE-Extensions"\r
190                 },\r
191 };\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
195 };\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
202 };\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
211 };\r
212 asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item = {\r
213         "E-RABUsageReport-Item",\r
214         "E-RABUsageReport-Item",\r
215         &asn_OP_SEQUENCE,\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
226 };\r
227 \r