[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / CFRA-CSIRS-Resource.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "CFRA-CSIRS-Resource.h"
9
10 static int
11 memb_NativeInteger_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         long value;
14         
15         if(!sptr) {
16                 ASN__CTFAIL(app_key, td, sptr,
17                         "%s: value not given (%s:%d)",
18                         td->name, __FILE__, __LINE__);
19                 return -1;
20         }
21         
22         value = *(const long *)sptr;
23         
24         if((value >= 0 && value <= 511)) {
25                 /* Constraint check succeeded */
26                 return 0;
27         } else {
28                 ASN__CTFAIL(app_key, td, sptr,
29                         "%s: constraint failed (%s:%d)",
30                         td->name, __FILE__, __LINE__);
31                 return -1;
32         }
33 }
34
35 static int
36 memb_ra_OccasionList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
37                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
38         size_t size;
39         
40         if(!sptr) {
41                 ASN__CTFAIL(app_key, td, sptr,
42                         "%s: value not given (%s:%d)",
43                         td->name, __FILE__, __LINE__);
44                 return -1;
45         }
46         
47         /* Determine the number of elements */
48         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
49         
50         if((size >= 1 && size <= 64)) {
51                 /* Perform validation of the inner elements */
52                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
53         } else {
54                 ASN__CTFAIL(app_key, td, sptr,
55                         "%s: constraint failed (%s:%d)",
56                         td->name, __FILE__, __LINE__);
57                 return -1;
58         }
59 }
60
61 static int
62 memb_ra_PreambleIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
63                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
64         long value;
65         
66         if(!sptr) {
67                 ASN__CTFAIL(app_key, td, sptr,
68                         "%s: value not given (%s:%d)",
69                         td->name, __FILE__, __LINE__);
70                 return -1;
71         }
72         
73         value = *(const long *)sptr;
74         
75         if((value >= 0 && value <= 63)) {
76                 /* Constraint check succeeded */
77                 return 0;
78         } else {
79                 ASN__CTFAIL(app_key, td, sptr,
80                         "%s: constraint failed (%s:%d)",
81                         td->name, __FILE__, __LINE__);
82                 return -1;
83         }
84 }
85
86 static asn_oer_constraints_t asn_OER_memb_Member_constr_4 CC_NOTUSED = {
87         { 2, 1 }        /* (0..511) */,
88         -1};
89 static asn_per_constraints_t asn_PER_memb_Member_constr_4 CC_NOTUSED = {
90         { APC_CONSTRAINED,       9,  9,  0,  511 }      /* (0..511) */,
91         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
92         0, 0    /* No PER value map */
93 };
94 static asn_oer_constraints_t asn_OER_type_ra_OccasionList_constr_3 CC_NOTUSED = {
95         { 0, 0 },
96         -1      /* (SIZE(1..64)) */};
97 static asn_per_constraints_t asn_PER_type_ra_OccasionList_constr_3 CC_NOTUSED = {
98         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
99         { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
100         0, 0    /* No PER value map */
101 };
102 static asn_oer_constraints_t asn_OER_memb_ra_OccasionList_constr_3 CC_NOTUSED = {
103         { 0, 0 },
104         -1      /* (SIZE(1..64)) */};
105 static asn_per_constraints_t asn_PER_memb_ra_OccasionList_constr_3 CC_NOTUSED = {
106         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
107         { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
108         0, 0    /* No PER value map */
109 };
110 static asn_oer_constraints_t asn_OER_memb_ra_PreambleIndex_constr_5 CC_NOTUSED = {
111         { 1, 1 }        /* (0..63) */,
112         -1};
113 static asn_per_constraints_t asn_PER_memb_ra_PreambleIndex_constr_5 CC_NOTUSED = {
114         { APC_CONSTRAINED,       6,  6,  0,  63 }       /* (0..63) */,
115         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
116         0, 0    /* No PER value map */
117 };
118 static asn_TYPE_member_t asn_MBR_ra_OccasionList_3[] = {
119         { ATF_POINTER, 0, 0,
120                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
121                 0,
122                 &asn_DEF_NativeInteger,
123                 0,
124                 { &asn_OER_memb_Member_constr_4, &asn_PER_memb_Member_constr_4,  memb_NativeInteger_constraint_3 },
125                 0, 0, /* No default value */
126                 ""
127                 },
128 };
129 static const ber_tlv_tag_t asn_DEF_ra_OccasionList_tags_3[] = {
130         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
131         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
132 };
133 static asn_SET_OF_specifics_t asn_SPC_ra_OccasionList_specs_3 = {
134         sizeof(struct CFRA_CSIRS_Resource__ra_OccasionList),
135         offsetof(struct CFRA_CSIRS_Resource__ra_OccasionList, _asn_ctx),
136         0,      /* XER encoding is XMLDelimitedItemList */
137 };
138 static /* Use -fall-defs-global to expose */
139 asn_TYPE_descriptor_t asn_DEF_ra_OccasionList_3 = {
140         "ra-OccasionList",
141         "ra-OccasionList",
142         &asn_OP_SEQUENCE_OF,
143         asn_DEF_ra_OccasionList_tags_3,
144         sizeof(asn_DEF_ra_OccasionList_tags_3)
145                 /sizeof(asn_DEF_ra_OccasionList_tags_3[0]) - 1, /* 1 */
146         asn_DEF_ra_OccasionList_tags_3, /* Same as above */
147         sizeof(asn_DEF_ra_OccasionList_tags_3)
148                 /sizeof(asn_DEF_ra_OccasionList_tags_3[0]), /* 2 */
149         { &asn_OER_type_ra_OccasionList_constr_3, &asn_PER_type_ra_OccasionList_constr_3, SEQUENCE_OF_constraint },
150         asn_MBR_ra_OccasionList_3,
151         1,      /* Single element */
152         &asn_SPC_ra_OccasionList_specs_3        /* Additional specs */
153 };
154
155 asn_TYPE_member_t asn_MBR_CFRA_CSIRS_Resource_1[] = {
156         { ATF_NOFLAGS, 0, offsetof(struct CFRA_CSIRS_Resource, csi_RS),
157                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
158                 -1,     /* IMPLICIT tag at current level */
159                 &asn_DEF_CSI_RS_Index,
160                 0,
161                 { 0, 0, 0 },
162                 0, 0, /* No default value */
163                 "csi-RS"
164                 },
165         { ATF_NOFLAGS, 0, offsetof(struct CFRA_CSIRS_Resource, ra_OccasionList),
166                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
167                 0,
168                 &asn_DEF_ra_OccasionList_3,
169                 0,
170                 { &asn_OER_memb_ra_OccasionList_constr_3, &asn_PER_memb_ra_OccasionList_constr_3,  memb_ra_OccasionList_constraint_1 },
171                 0, 0, /* No default value */
172                 "ra-OccasionList"
173                 },
174         { ATF_NOFLAGS, 0, offsetof(struct CFRA_CSIRS_Resource, ra_PreambleIndex),
175                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
176                 -1,     /* IMPLICIT tag at current level */
177                 &asn_DEF_NativeInteger,
178                 0,
179                 { &asn_OER_memb_ra_PreambleIndex_constr_5, &asn_PER_memb_ra_PreambleIndex_constr_5,  memb_ra_PreambleIndex_constraint_1 },
180                 0, 0, /* No default value */
181                 "ra-PreambleIndex"
182                 },
183 };
184 static const ber_tlv_tag_t asn_DEF_CFRA_CSIRS_Resource_tags_1[] = {
185         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
186 };
187 static const asn_TYPE_tag2member_t asn_MAP_CFRA_CSIRS_Resource_tag2el_1[] = {
188     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csi-RS */
189     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ra-OccasionList */
190     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ra-PreambleIndex */
191 };
192 asn_SEQUENCE_specifics_t asn_SPC_CFRA_CSIRS_Resource_specs_1 = {
193         sizeof(struct CFRA_CSIRS_Resource),
194         offsetof(struct CFRA_CSIRS_Resource, _asn_ctx),
195         asn_MAP_CFRA_CSIRS_Resource_tag2el_1,
196         3,      /* Count of tags in the map */
197         0, 0, 0,        /* Optional elements (not needed) */
198         3,      /* First extension addition */
199 };
200 asn_TYPE_descriptor_t asn_DEF_CFRA_CSIRS_Resource = {
201         "CFRA-CSIRS-Resource",
202         "CFRA-CSIRS-Resource",
203         &asn_OP_SEQUENCE,
204         asn_DEF_CFRA_CSIRS_Resource_tags_1,
205         sizeof(asn_DEF_CFRA_CSIRS_Resource_tags_1)
206                 /sizeof(asn_DEF_CFRA_CSIRS_Resource_tags_1[0]), /* 1 */
207         asn_DEF_CFRA_CSIRS_Resource_tags_1,     /* Same as above */
208         sizeof(asn_DEF_CFRA_CSIRS_Resource_tags_1)
209                 /sizeof(asn_DEF_CFRA_CSIRS_Resource_tags_1[0]), /* 1 */
210         { 0, 0, SEQUENCE_constraint },
211         asn_MBR_CFRA_CSIRS_Resource_1,
212         3,      /* Elements count */
213         &asn_SPC_CFRA_CSIRS_Resource_specs_1    /* Additional specs */
214 };
215