Adding initial code jy.oak@samsung.com
[ric-app/kpimon.git] / asn1c_defs / all-defs / DynamicNAICSInformation.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 "DynamicNAICSInformation.h"\r
9 \r
10 #include "ProtocolExtensionContainer.h"\r
11 static int\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
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         if(st->size > 0) {\r
25                 /* Size in bits */\r
26                 size = 8 * st->size - (st->bits_unused & 0x07);\r
27         } else {\r
28                 size = 0;\r
29         }\r
30         \r
31         if((size == 8)) {\r
32                 /* Constraint check succeeded */\r
33                 return 0;\r
34         } else {\r
35                 ASN__CTFAIL(app_key, td, sptr,\r
36                         "%s: constraint failed (%s:%d)",\r
37                         td->name, __FILE__, __LINE__);\r
38                 return -1;\r
39         }\r
40 }\r
41 \r
42 static int\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
45         long value;\r
46         \r
47         if(!sptr) {\r
48                 ASN__CTFAIL(app_key, td, sptr,\r
49                         "%s: value not given (%s:%d)",\r
50                         td->name, __FILE__, __LINE__);\r
51                 return -1;\r
52         }\r
53         \r
54         value = *(const long *)sptr;\r
55         \r
56         if((value >= 0 && value <= 3)) {\r
57                 /* Constraint check succeeded */\r
58                 return 0;\r
59         } else {\r
60                 ASN__CTFAIL(app_key, td, sptr,\r
61                         "%s: constraint failed (%s:%d)",\r
62                         td->name, __FILE__, __LINE__);\r
63                 return -1;\r
64         }\r
65 }\r
66 \r
67 static int\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
70         size_t size;\r
71         \r
72         if(!sptr) {\r
73                 ASN__CTFAIL(app_key, td, sptr,\r
74                         "%s: value not given (%s:%d)",\r
75                         td->name, __FILE__, __LINE__);\r
76                 return -1;\r
77         }\r
78         \r
79         /* Determine the number of elements */\r
80         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;\r
81         \r
82         if((size <= 3)) {\r
83                 /* Perform validation of the inner elements */\r
84                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);\r
85         } else {\r
86                 ASN__CTFAIL(app_key, td, sptr,\r
87                         "%s: constraint failed (%s:%d)",\r
88                         td->name, __FILE__, __LINE__);\r
89                 return -1;\r
90         }\r
91 }\r
92 \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
97 };\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
102 };\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
107 };\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
112 };\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
116                 0,\r
117                 &asn_DEF_PA_Values,\r
118                 0,\r
119                 { 0, 0, 0 },\r
120                 0, 0, /* No default value */\r
121                 ""\r
122                 },\r
123 };\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
127 };\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
132 };\r
133 static /* Use -fall-defs-global to expose */\r
134 asn_TYPE_descriptor_t asn_DEF_pA_list_4 = {\r
135         "pA-list",\r
136         "pA-list",\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
145         asn_MBR_pA_list_4,\r
146         1,      /* Single element */\r
147         &asn_SPC_pA_list_specs_4        /* Additional specs */\r
148 };\r
149 \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
155                 0,\r
156                 { 0, &asn_PER_memb_transmissionModes_constr_2,  memb_transmissionModes_constraint_1 },\r
157                 0, 0, /* No default value */\r
158                 "transmissionModes"\r
159                 },\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
164                 0,\r
165                 { 0, &asn_PER_memb_pB_information_constr_3,  memb_pB_information_constraint_1 },\r
166                 0, 0, /* No default value */\r
167                 "pB-information"\r
168                 },\r
169         { ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation, pA_list),\r
170                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),\r
171                 0,\r
172                 &asn_DEF_pA_list_4,\r
173                 0,\r
174                 { 0, &asn_PER_memb_pA_list_constr_4,  memb_pA_list_constraint_1 },\r
175                 0, 0, /* No default value */\r
176                 "pA-list"\r
177                 },\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
182                 0,\r
183                 { 0, 0, 0 },\r
184                 0, 0, /* No default value */\r
185                 "iE-Extensions"\r
186                 },\r
187 };\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
191 };\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
197 };\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
206 };\r
207 asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation = {\r
208         "DynamicNAICSInformation",\r
209         "DynamicNAICSInformation",\r
210         &asn_OP_SEQUENCE,\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
221 };\r
222 \r