4c00f1445216cb7e871eb29d798c3aecfee71b97
[ric-plt/resource-status-manager.git] / RSM / asn1codec / e2ap_engine / CSIReportPerCSIProcessItem.c
1 /*
2  *
3  * Copyright 2019 AT&T Intellectual Property
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18
19
20 /*
21  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
22  * From ASN.1 module "X2AP-IEs"
23  *      found in "../../asnFiles/X2AP-IEs.asn"
24  *      `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
25  */
26
27 #include "CSIReportPerCSIProcessItem.h"
28
29 #include "SubbandCQIList.h"
30 #include "ProtocolExtensionContainer.h"
31 static int
32 memb_rI_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
33                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
34         long value;
35         
36         if(!sptr) {
37                 ASN__CTFAIL(app_key, td, sptr,
38                         "%s: value not given (%s:%d)",
39                         td->name, __FILE__, __LINE__);
40                 return -1;
41         }
42         
43         value = *(const long *)sptr;
44         
45         if((value >= 1 && value <= 8)) {
46                 /* Constraint check succeeded */
47                 return 0;
48         } else {
49                 ASN__CTFAIL(app_key, td, sptr,
50                         "%s: constraint failed (%s:%d)",
51                         td->name, __FILE__, __LINE__);
52                 return -1;
53         }
54 }
55
56 static asn_per_constraints_t asn_PER_memb_rI_constr_3 CC_NOTUSED = {
57         { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  1,  8 }    /* (1..8,...) */,
58         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
59         0, 0    /* No PER value map */
60 };
61 asn_per_constraints_t asn_PER_type_CSIReportPerCSIProcessItem_constr_1 CC_NOTUSED = {
62         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
63         { APC_CONSTRAINED,       1,  1,  1,  2 }        /* (SIZE(1..2)) */,
64         0, 0    /* No PER value map */
65 };
66 static asn_TYPE_member_t asn_MBR_Member_2[] = {
67         { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, rI),
68                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
69                 -1,     /* IMPLICIT tag at current level */
70                 &asn_DEF_NativeInteger,
71                 0,
72                 { 0, &asn_PER_memb_rI_constr_3,  memb_rI_constraint_2 },
73                 0, 0, /* No default value */
74                 "rI"
75                 },
76         { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, widebandCQI),
77                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
78                 -1,     /* IMPLICIT tag at current level */
79                 &asn_DEF_WidebandCQI,
80                 0,
81                 { 0, 0, 0 },
82                 0, 0, /* No default value */
83                 "widebandCQI"
84                 },
85         { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, subbandSize),
86                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
87                 -1,     /* IMPLICIT tag at current level */
88                 &asn_DEF_SubbandSize,
89                 0,
90                 { 0, 0, 0 },
91                 0, 0, /* No default value */
92                 "subbandSize"
93                 },
94         { ATF_POINTER, 2, offsetof(struct CSIReportPerCSIProcessItem__Member, subbandCQIList),
95                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
96                 -1,     /* IMPLICIT tag at current level */
97                 &asn_DEF_SubbandCQIList,
98                 0,
99                 { 0, 0, 0 },
100                 0, 0, /* No default value */
101                 "subbandCQIList"
102                 },
103         { ATF_POINTER, 1, offsetof(struct CSIReportPerCSIProcessItem__Member, iE_Extensions),
104                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
105                 -1,     /* IMPLICIT tag at current level */
106                 &asn_DEF_ProtocolExtensionContainer_170P130,
107                 0,
108                 { 0, 0, 0 },
109                 0, 0, /* No default value */
110                 "iE-Extensions"
111                 },
112 };
113 static const int asn_MAP_Member_oms_2[] = { 3, 4 };
114 static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
115         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
116 };
117 static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
118     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rI */
119     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* widebandCQI */
120     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subbandSize */
121     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* subbandCQIList */
122     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
123 };
124 static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
125         sizeof(struct CSIReportPerCSIProcessItem__Member),
126         offsetof(struct CSIReportPerCSIProcessItem__Member, _asn_ctx),
127         asn_MAP_Member_tag2el_2,
128         5,      /* Count of tags in the map */
129         asn_MAP_Member_oms_2,   /* Optional members */
130         2, 0,   /* Root/Additions */
131         5,      /* First extension addition */
132 };
133 static /* Use -fall-defs-global to expose */
134 asn_TYPE_descriptor_t asn_DEF_Member_2 = {
135         "SEQUENCE",
136         "SEQUENCE",
137         &asn_OP_SEQUENCE,
138         asn_DEF_Member_tags_2,
139         sizeof(asn_DEF_Member_tags_2)
140                 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
141         asn_DEF_Member_tags_2,  /* Same as above */
142         sizeof(asn_DEF_Member_tags_2)
143                 /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
144         { 0, 0, SEQUENCE_constraint },
145         asn_MBR_Member_2,
146         5,      /* Elements count */
147         &asn_SPC_Member_specs_2 /* Additional specs */
148 };
149
150 asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcessItem_1[] = {
151         { ATF_POINTER, 0, 0,
152                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
153                 0,
154                 &asn_DEF_Member_2,
155                 0,
156                 { 0, 0, 0 },
157                 0, 0, /* No default value */
158                 ""
159                 },
160 };
161 static const ber_tlv_tag_t asn_DEF_CSIReportPerCSIProcessItem_tags_1[] = {
162         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
163 };
164 asn_SET_OF_specifics_t asn_SPC_CSIReportPerCSIProcessItem_specs_1 = {
165         sizeof(struct CSIReportPerCSIProcessItem),
166         offsetof(struct CSIReportPerCSIProcessItem, _asn_ctx),
167         0,      /* XER encoding is XMLDelimitedItemList */
168 };
169 asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcessItem = {
170         "CSIReportPerCSIProcessItem",
171         "CSIReportPerCSIProcessItem",
172         &asn_OP_SEQUENCE_OF,
173         asn_DEF_CSIReportPerCSIProcessItem_tags_1,
174         sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1)
175                 /sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1[0]), /* 1 */
176         asn_DEF_CSIReportPerCSIProcessItem_tags_1,      /* Same as above */
177         sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1)
178                 /sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1[0]), /* 1 */
179         { 0, &asn_PER_type_CSIReportPerCSIProcessItem_constr_1, SEQUENCE_OF_constraint },
180         asn_MBR_CSIReportPerCSIProcessItem_1,
181         1,      /* Single element */
182         &asn_SPC_CSIReportPerCSIProcessItem_specs_1     /* Additional specs */
183 };
184