2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.5.1_asn.asn1"
5 * `asn1c -D ./rrc_out_hlal -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "NZP-CSI-RS-ResourceSet.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 memb_nzp_CSI_RS_Resources_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
20 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
24 ASN__CTFAIL(app_key, td, sptr,
25 "%s: value not given (%s:%d)",
26 td->name, __FILE__, __LINE__);
30 /* Determine the number of elements */
31 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
33 if((size >= 1 && size <= 64)) {
34 /* Perform validation of the inner elements */
35 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
37 ASN__CTFAIL(app_key, td, sptr,
38 "%s: constraint failed (%s:%d)",
39 td->name, __FILE__, __LINE__);
45 memb_aperiodicTriggeringOffset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
46 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
50 ASN__CTFAIL(app_key, td, sptr,
51 "%s: value not given (%s:%d)",
52 td->name, __FILE__, __LINE__);
56 value = *(const long *)sptr;
58 if((value >= 0 && value <= 6)) {
59 /* Constraint check succeeded */
62 ASN__CTFAIL(app_key, td, sptr,
63 "%s: constraint failed (%s:%d)",
64 td->name, __FILE__, __LINE__);
69 static asn_oer_constraints_t asn_OER_type_nzp_CSI_RS_Resources_constr_3 CC_NOTUSED = {
71 -1 /* (SIZE(1..64)) */};
72 static asn_per_constraints_t asn_PER_type_nzp_CSI_RS_Resources_constr_3 CC_NOTUSED = {
73 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
74 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
75 0, 0 /* No PER value map */
77 static asn_oer_constraints_t asn_OER_type_repetition_constr_5 CC_NOTUSED = {
80 static asn_per_constraints_t asn_PER_type_repetition_constr_5 CC_NOTUSED = {
81 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
82 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
83 0, 0 /* No PER value map */
85 static asn_oer_constraints_t asn_OER_type_trs_Info_constr_9 CC_NOTUSED = {
88 static asn_per_constraints_t asn_PER_type_trs_Info_constr_9 CC_NOTUSED = {
89 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
90 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
91 0, 0 /* No PER value map */
93 static asn_oer_constraints_t asn_OER_memb_nzp_CSI_RS_Resources_constr_3 CC_NOTUSED = {
95 -1 /* (SIZE(1..64)) */};
96 static asn_per_constraints_t asn_PER_memb_nzp_CSI_RS_Resources_constr_3 CC_NOTUSED = {
97 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
98 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
99 0, 0 /* No PER value map */
101 static asn_oer_constraints_t asn_OER_memb_aperiodicTriggeringOffset_constr_8 CC_NOTUSED = {
102 { 1, 1 } /* (0..6) */,
104 static asn_per_constraints_t asn_PER_memb_aperiodicTriggeringOffset_constr_8 CC_NOTUSED = {
105 { APC_CONSTRAINED, 3, 3, 0, 6 } /* (0..6) */,
106 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
107 0, 0 /* No PER value map */
109 static asn_TYPE_member_t asn_MBR_nzp_CSI_RS_Resources_3[] = {
111 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
113 &asn_DEF_NZP_CSI_RS_ResourceId,
116 0, 0, /* No default value */
120 static const ber_tlv_tag_t asn_DEF_nzp_CSI_RS_Resources_tags_3[] = {
121 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
122 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
124 static asn_SET_OF_specifics_t asn_SPC_nzp_CSI_RS_Resources_specs_3 = {
125 sizeof(struct NZP_CSI_RS_ResourceSet__nzp_CSI_RS_Resources),
126 offsetof(struct NZP_CSI_RS_ResourceSet__nzp_CSI_RS_Resources, _asn_ctx),
127 0, /* XER encoding is XMLDelimitedItemList */
129 static /* Use -fall-defs-global to expose */
130 asn_TYPE_descriptor_t asn_DEF_nzp_CSI_RS_Resources_3 = {
131 "nzp-CSI-RS-Resources",
132 "nzp-CSI-RS-Resources",
134 asn_DEF_nzp_CSI_RS_Resources_tags_3,
135 sizeof(asn_DEF_nzp_CSI_RS_Resources_tags_3)
136 /sizeof(asn_DEF_nzp_CSI_RS_Resources_tags_3[0]) - 1, /* 1 */
137 asn_DEF_nzp_CSI_RS_Resources_tags_3, /* Same as above */
138 sizeof(asn_DEF_nzp_CSI_RS_Resources_tags_3)
139 /sizeof(asn_DEF_nzp_CSI_RS_Resources_tags_3[0]), /* 2 */
140 { &asn_OER_type_nzp_CSI_RS_Resources_constr_3, &asn_PER_type_nzp_CSI_RS_Resources_constr_3, SEQUENCE_OF_constraint },
141 asn_MBR_nzp_CSI_RS_Resources_3,
142 1, /* Single element */
143 &asn_SPC_nzp_CSI_RS_Resources_specs_3 /* Additional specs */
146 static const asn_INTEGER_enum_map_t asn_MAP_repetition_value2enum_5[] = {
150 static const unsigned int asn_MAP_repetition_enum2value_5[] = {
154 static const asn_INTEGER_specifics_t asn_SPC_repetition_specs_5 = {
155 asn_MAP_repetition_value2enum_5, /* "tag" => N; sorted by tag */
156 asn_MAP_repetition_enum2value_5, /* N => "tag"; sorted by N */
157 2, /* Number of elements in the maps */
158 0, /* Enumeration is not extensible */
159 1, /* Strict enumeration */
160 0, /* Native long size */
163 static const ber_tlv_tag_t asn_DEF_repetition_tags_5[] = {
164 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
165 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
167 static /* Use -fall-defs-global to expose */
168 asn_TYPE_descriptor_t asn_DEF_repetition_5 = {
171 &asn_OP_NativeEnumerated,
172 asn_DEF_repetition_tags_5,
173 sizeof(asn_DEF_repetition_tags_5)
174 /sizeof(asn_DEF_repetition_tags_5[0]) - 1, /* 1 */
175 asn_DEF_repetition_tags_5, /* Same as above */
176 sizeof(asn_DEF_repetition_tags_5)
177 /sizeof(asn_DEF_repetition_tags_5[0]), /* 2 */
178 { &asn_OER_type_repetition_constr_5, &asn_PER_type_repetition_constr_5, NativeEnumerated_constraint },
179 0, 0, /* Defined elsewhere */
180 &asn_SPC_repetition_specs_5 /* Additional specs */
183 static const asn_INTEGER_enum_map_t asn_MAP_trs_Info_value2enum_9[] = {
186 static const unsigned int asn_MAP_trs_Info_enum2value_9[] = {
189 static const asn_INTEGER_specifics_t asn_SPC_trs_Info_specs_9 = {
190 asn_MAP_trs_Info_value2enum_9, /* "tag" => N; sorted by tag */
191 asn_MAP_trs_Info_enum2value_9, /* N => "tag"; sorted by N */
192 1, /* Number of elements in the maps */
193 0, /* Enumeration is not extensible */
194 1, /* Strict enumeration */
195 0, /* Native long size */
198 static const ber_tlv_tag_t asn_DEF_trs_Info_tags_9[] = {
199 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
200 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
202 static /* Use -fall-defs-global to expose */
203 asn_TYPE_descriptor_t asn_DEF_trs_Info_9 = {
206 &asn_OP_NativeEnumerated,
207 asn_DEF_trs_Info_tags_9,
208 sizeof(asn_DEF_trs_Info_tags_9)
209 /sizeof(asn_DEF_trs_Info_tags_9[0]) - 1, /* 1 */
210 asn_DEF_trs_Info_tags_9, /* Same as above */
211 sizeof(asn_DEF_trs_Info_tags_9)
212 /sizeof(asn_DEF_trs_Info_tags_9[0]), /* 2 */
213 { &asn_OER_type_trs_Info_constr_9, &asn_PER_type_trs_Info_constr_9, NativeEnumerated_constraint },
214 0, 0, /* Defined elsewhere */
215 &asn_SPC_trs_Info_specs_9 /* Additional specs */
218 asn_TYPE_member_t asn_MBR_NZP_CSI_RS_ResourceSet_1[] = {
219 { ATF_NOFLAGS, 0, offsetof(struct NZP_CSI_RS_ResourceSet, nzp_CSI_ResourceSetId),
220 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
221 -1, /* IMPLICIT tag at current level */
222 &asn_DEF_NZP_CSI_RS_ResourceSetId,
225 0, 0, /* No default value */
226 "nzp-CSI-ResourceSetId"
228 { ATF_NOFLAGS, 0, offsetof(struct NZP_CSI_RS_ResourceSet, nzp_CSI_RS_Resources),
229 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
231 &asn_DEF_nzp_CSI_RS_Resources_3,
233 { &asn_OER_memb_nzp_CSI_RS_Resources_constr_3, &asn_PER_memb_nzp_CSI_RS_Resources_constr_3, memb_nzp_CSI_RS_Resources_constraint_1 },
234 0, 0, /* No default value */
235 "nzp-CSI-RS-Resources"
237 { ATF_POINTER, 3, offsetof(struct NZP_CSI_RS_ResourceSet, repetition),
238 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
239 -1, /* IMPLICIT tag at current level */
240 &asn_DEF_repetition_5,
243 0, 0, /* No default value */
246 { ATF_POINTER, 2, offsetof(struct NZP_CSI_RS_ResourceSet, aperiodicTriggeringOffset),
247 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
248 -1, /* IMPLICIT tag at current level */
249 &asn_DEF_NativeInteger,
251 { &asn_OER_memb_aperiodicTriggeringOffset_constr_8, &asn_PER_memb_aperiodicTriggeringOffset_constr_8, memb_aperiodicTriggeringOffset_constraint_1 },
252 0, 0, /* No default value */
253 "aperiodicTriggeringOffset"
255 { ATF_POINTER, 1, offsetof(struct NZP_CSI_RS_ResourceSet, trs_Info),
256 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
257 -1, /* IMPLICIT tag at current level */
261 0, 0, /* No default value */
265 static const int asn_MAP_NZP_CSI_RS_ResourceSet_oms_1[] = { 2, 3, 4 };
266 static const ber_tlv_tag_t asn_DEF_NZP_CSI_RS_ResourceSet_tags_1[] = {
267 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
269 static const asn_TYPE_tag2member_t asn_MAP_NZP_CSI_RS_ResourceSet_tag2el_1[] = {
270 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nzp-CSI-ResourceSetId */
271 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nzp-CSI-RS-Resources */
272 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* repetition */
273 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* aperiodicTriggeringOffset */
274 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* trs-Info */
276 asn_SEQUENCE_specifics_t asn_SPC_NZP_CSI_RS_ResourceSet_specs_1 = {
277 sizeof(struct NZP_CSI_RS_ResourceSet),
278 offsetof(struct NZP_CSI_RS_ResourceSet, _asn_ctx),
279 asn_MAP_NZP_CSI_RS_ResourceSet_tag2el_1,
280 5, /* Count of tags in the map */
281 asn_MAP_NZP_CSI_RS_ResourceSet_oms_1, /* Optional members */
282 3, 0, /* Root/Additions */
283 5, /* First extension addition */
285 asn_TYPE_descriptor_t asn_DEF_NZP_CSI_RS_ResourceSet = {
286 "NZP-CSI-RS-ResourceSet",
287 "NZP-CSI-RS-ResourceSet",
289 asn_DEF_NZP_CSI_RS_ResourceSet_tags_1,
290 sizeof(asn_DEF_NZP_CSI_RS_ResourceSet_tags_1)
291 /sizeof(asn_DEF_NZP_CSI_RS_ResourceSet_tags_1[0]), /* 1 */
292 asn_DEF_NZP_CSI_RS_ResourceSet_tags_1, /* Same as above */
293 sizeof(asn_DEF_NZP_CSI_RS_ResourceSet_tags_1)
294 /sizeof(asn_DEF_NZP_CSI_RS_ResourceSet_tags_1[0]), /* 1 */
295 { 0, 0, SEQUENCE_constraint },
296 asn_MBR_NZP_CSI_RS_ResourceSet_1,
297 5, /* Elements count */
298 &asn_SPC_NZP_CSI_RS_ResourceSet_specs_1 /* Additional specs */