2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "02_Aug/rrc_15_3_asn.asn1"
5 * `asn1c -D ./Aug02 -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "CFRA-CSIRS-Resource.h"
11 memb_NativeInteger_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
22 value = *(const long *)sptr;
24 if((value >= 0 && value <= 511)) {
25 /* Constraint check succeeded */
28 ASN__CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
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) {
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: value not given (%s:%d)",
43 td->name, __FILE__, __LINE__);
47 /* Determine the number of elements */
48 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
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);
54 ASN__CTFAIL(app_key, td, sptr,
55 "%s: constraint failed (%s:%d)",
56 td->name, __FILE__, __LINE__);
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) {
67 ASN__CTFAIL(app_key, td, sptr,
68 "%s: value not given (%s:%d)",
69 td->name, __FILE__, __LINE__);
73 value = *(const long *)sptr;
75 if((value >= 0 && value <= 63)) {
76 /* Constraint check succeeded */
79 ASN__CTFAIL(app_key, td, sptr,
80 "%s: constraint failed (%s:%d)",
81 td->name, __FILE__, __LINE__);
86 static asn_oer_constraints_t asn_OER_memb_Member_constr_4 CC_NOTUSED = {
87 { 2, 1 } /* (0..511) */,
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 */
94 static asn_oer_constraints_t asn_OER_type_ra_OccasionList_constr_3 CC_NOTUSED = {
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 */
102 static asn_oer_constraints_t asn_OER_memb_ra_OccasionList_constr_3 CC_NOTUSED = {
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 */
110 static asn_oer_constraints_t asn_OER_memb_ra_PreambleIndex_constr_5 CC_NOTUSED = {
111 { 1, 1 } /* (0..63) */,
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 */
118 static asn_TYPE_member_t asn_MBR_ra_OccasionList_3[] = {
120 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
122 &asn_DEF_NativeInteger,
124 { &asn_OER_memb_Member_constr_4, &asn_PER_memb_Member_constr_4, memb_NativeInteger_constraint_3 },
125 0, 0, /* No default value */
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))
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 */
138 static /* Use -fall-defs-global to expose */
139 asn_TYPE_descriptor_t asn_DEF_ra_OccasionList_3 = {
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 */
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,
162 0, 0, /* No default value */
165 { ATF_NOFLAGS, 0, offsetof(struct CFRA_CSIRS_Resource, ra_OccasionList),
166 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
168 &asn_DEF_ra_OccasionList_3,
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 */
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,
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 */
184 static const ber_tlv_tag_t asn_DEF_CFRA_CSIRS_Resource_tags_1[] = {
185 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
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 */
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 */
200 asn_TYPE_descriptor_t asn_DEF_CFRA_CSIRS_Resource = {
201 "CFRA-CSIRS-Resource",
202 "CFRA-CSIRS-Resource",
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 */