[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / RF-Parameters.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "../../../rrc_15.3_asn.asn1"
5  *      `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "RF-Parameters.h"
9
10 #include "BandCombinationList.h"
11 #include "FreqBandList.h"
12 #include "BandNR.h"
13 static int
14 memb_supportedBandListNR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
15                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16         size_t size;
17         
18         if(!sptr) {
19                 ASN__CTFAIL(app_key, td, sptr,
20                         "%s: value not given (%s:%d)",
21                         td->name, __FILE__, __LINE__);
22                 return -1;
23         }
24         
25         /* Determine the number of elements */
26         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
27         
28         if((size >= 1 && size <= 1024)) {
29                 /* Perform validation of the inner elements */
30                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
31         } else {
32                 ASN__CTFAIL(app_key, td, sptr,
33                         "%s: constraint failed (%s:%d)",
34                         td->name, __FILE__, __LINE__);
35                 return -1;
36         }
37 }
38
39 static asn_oer_constraints_t asn_OER_type_supportedBandListNR_constr_2 CC_NOTUSED = {
40         { 0, 0 },
41         -1      /* (SIZE(1..1024)) */};
42 static asn_per_constraints_t asn_PER_type_supportedBandListNR_constr_2 CC_NOTUSED = {
43         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
44         { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
45         0, 0    /* No PER value map */
46 };
47 static asn_oer_constraints_t asn_OER_memb_supportedBandListNR_constr_2 CC_NOTUSED = {
48         { 0, 0 },
49         -1      /* (SIZE(1..1024)) */};
50 static asn_per_constraints_t asn_PER_memb_supportedBandListNR_constr_2 CC_NOTUSED = {
51         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
52         { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
53         0, 0    /* No PER value map */
54 };
55 static asn_TYPE_member_t asn_MBR_supportedBandListNR_2[] = {
56         { ATF_POINTER, 0, 0,
57                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
58                 0,
59                 &asn_DEF_BandNR,
60                 0,
61                 { 0, 0, 0 },
62                 0, 0, /* No default value */
63                 ""
64                 },
65 };
66 static const ber_tlv_tag_t asn_DEF_supportedBandListNR_tags_2[] = {
67         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
68         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
69 };
70 static asn_SET_OF_specifics_t asn_SPC_supportedBandListNR_specs_2 = {
71         sizeof(struct RF_Parameters__supportedBandListNR),
72         offsetof(struct RF_Parameters__supportedBandListNR, _asn_ctx),
73         0,      /* XER encoding is XMLDelimitedItemList */
74 };
75 static /* Use -fall-defs-global to expose */
76 asn_TYPE_descriptor_t asn_DEF_supportedBandListNR_2 = {
77         "supportedBandListNR",
78         "supportedBandListNR",
79         &asn_OP_SEQUENCE_OF,
80         asn_DEF_supportedBandListNR_tags_2,
81         sizeof(asn_DEF_supportedBandListNR_tags_2)
82                 /sizeof(asn_DEF_supportedBandListNR_tags_2[0]) - 1, /* 1 */
83         asn_DEF_supportedBandListNR_tags_2,     /* Same as above */
84         sizeof(asn_DEF_supportedBandListNR_tags_2)
85                 /sizeof(asn_DEF_supportedBandListNR_tags_2[0]), /* 2 */
86         { &asn_OER_type_supportedBandListNR_constr_2, &asn_PER_type_supportedBandListNR_constr_2, SEQUENCE_OF_constraint },
87         asn_MBR_supportedBandListNR_2,
88         1,      /* Single element */
89         &asn_SPC_supportedBandListNR_specs_2    /* Additional specs */
90 };
91
92 asn_TYPE_member_t asn_MBR_RF_Parameters_1[] = {
93         { ATF_NOFLAGS, 0, offsetof(struct RF_Parameters, supportedBandListNR),
94                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
95                 0,
96                 &asn_DEF_supportedBandListNR_2,
97                 0,
98                 { &asn_OER_memb_supportedBandListNR_constr_2, &asn_PER_memb_supportedBandListNR_constr_2,  memb_supportedBandListNR_constraint_1 },
99                 0, 0, /* No default value */
100                 "supportedBandListNR"
101                 },
102         { ATF_POINTER, 2, offsetof(struct RF_Parameters, supportedBandCombinationList),
103                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
104                 -1,     /* IMPLICIT tag at current level */
105                 &asn_DEF_BandCombinationList,
106                 0,
107                 { 0, 0, 0 },
108                 0, 0, /* No default value */
109                 "supportedBandCombinationList"
110                 },
111         { ATF_POINTER, 1, offsetof(struct RF_Parameters, appliedFreqBandListFilter),
112                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
113                 -1,     /* IMPLICIT tag at current level */
114                 &asn_DEF_FreqBandList,
115                 0,
116                 { 0, 0, 0 },
117                 0, 0, /* No default value */
118                 "appliedFreqBandListFilter"
119                 },
120 };
121 static const int asn_MAP_RF_Parameters_oms_1[] = { 1, 2 };
122 static const ber_tlv_tag_t asn_DEF_RF_Parameters_tags_1[] = {
123         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
124 };
125 static const asn_TYPE_tag2member_t asn_MAP_RF_Parameters_tag2el_1[] = {
126     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* supportedBandListNR */
127     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* supportedBandCombinationList */
128     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* appliedFreqBandListFilter */
129 };
130 asn_SEQUENCE_specifics_t asn_SPC_RF_Parameters_specs_1 = {
131         sizeof(struct RF_Parameters),
132         offsetof(struct RF_Parameters, _asn_ctx),
133         asn_MAP_RF_Parameters_tag2el_1,
134         3,      /* Count of tags in the map */
135         asn_MAP_RF_Parameters_oms_1,    /* Optional members */
136         2, 0,   /* Root/Additions */
137         3,      /* First extension addition */
138 };
139 asn_TYPE_descriptor_t asn_DEF_RF_Parameters = {
140         "RF-Parameters",
141         "RF-Parameters",
142         &asn_OP_SEQUENCE,
143         asn_DEF_RF_Parameters_tags_1,
144         sizeof(asn_DEF_RF_Parameters_tags_1)
145                 /sizeof(asn_DEF_RF_Parameters_tags_1[0]), /* 1 */
146         asn_DEF_RF_Parameters_tags_1,   /* Same as above */
147         sizeof(asn_DEF_RF_Parameters_tags_1)
148                 /sizeof(asn_DEF_RF_Parameters_tags_1[0]), /* 1 */
149         { 0, 0, SEQUENCE_constraint },
150         asn_MBR_RF_Parameters_1,
151         3,      /* Elements count */
152         &asn_SPC_RF_Parameters_specs_1  /* Additional specs */
153 };
154