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`
8 #include "SlotFormatIndicator.h"
10 #include "SlotFormatCombinationsPerCell.h"
12 memb_dci_PayloadSize_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
13 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
17 ASN__CTFAIL(app_key, td, sptr,
18 "%s: value not given (%s:%d)",
19 td->name, __FILE__, __LINE__);
23 value = *(const long *)sptr;
25 if((value >= 1 && value <= 128)) {
26 /* Constraint check succeeded */
29 ASN__CTFAIL(app_key, td, sptr,
30 "%s: constraint failed (%s:%d)",
31 td->name, __FILE__, __LINE__);
37 memb_slotFormatCombToAddModList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
38 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
42 ASN__CTFAIL(app_key, td, sptr,
43 "%s: value not given (%s:%d)",
44 td->name, __FILE__, __LINE__);
48 /* Determine the number of elements */
49 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
51 if((size >= 1 && size <= 16)) {
52 /* Perform validation of the inner elements */
53 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
55 ASN__CTFAIL(app_key, td, sptr,
56 "%s: constraint failed (%s:%d)",
57 td->name, __FILE__, __LINE__);
63 memb_slotFormatCombToReleaseList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
64 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
68 ASN__CTFAIL(app_key, td, sptr,
69 "%s: value not given (%s:%d)",
70 td->name, __FILE__, __LINE__);
74 /* Determine the number of elements */
75 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
77 if((size >= 1 && size <= 16)) {
78 /* Perform validation of the inner elements */
79 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
81 ASN__CTFAIL(app_key, td, sptr,
82 "%s: constraint failed (%s:%d)",
83 td->name, __FILE__, __LINE__);
88 static asn_oer_constraints_t asn_OER_type_slotFormatCombToAddModList_constr_4 CC_NOTUSED = {
90 -1 /* (SIZE(1..16)) */};
91 static asn_per_constraints_t asn_PER_type_slotFormatCombToAddModList_constr_4 CC_NOTUSED = {
92 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
93 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
94 0, 0 /* No PER value map */
96 static asn_oer_constraints_t asn_OER_type_slotFormatCombToReleaseList_constr_6 CC_NOTUSED = {
98 -1 /* (SIZE(1..16)) */};
99 static asn_per_constraints_t asn_PER_type_slotFormatCombToReleaseList_constr_6 CC_NOTUSED = {
100 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
101 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
102 0, 0 /* No PER value map */
104 static asn_oer_constraints_t asn_OER_memb_dci_PayloadSize_constr_3 CC_NOTUSED = {
105 { 1, 1 } /* (1..128) */,
107 static asn_per_constraints_t asn_PER_memb_dci_PayloadSize_constr_3 CC_NOTUSED = {
108 { APC_CONSTRAINED, 7, 7, 1, 128 } /* (1..128) */,
109 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
110 0, 0 /* No PER value map */
112 static asn_oer_constraints_t asn_OER_memb_slotFormatCombToAddModList_constr_4 CC_NOTUSED = {
114 -1 /* (SIZE(1..16)) */};
115 static asn_per_constraints_t asn_PER_memb_slotFormatCombToAddModList_constr_4 CC_NOTUSED = {
116 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
117 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
118 0, 0 /* No PER value map */
120 static asn_oer_constraints_t asn_OER_memb_slotFormatCombToReleaseList_constr_6 CC_NOTUSED = {
122 -1 /* (SIZE(1..16)) */};
123 static asn_per_constraints_t asn_PER_memb_slotFormatCombToReleaseList_constr_6 CC_NOTUSED = {
124 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
125 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
126 0, 0 /* No PER value map */
128 static asn_TYPE_member_t asn_MBR_slotFormatCombToAddModList_4[] = {
130 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
132 &asn_DEF_SlotFormatCombinationsPerCell,
135 0, 0, /* No default value */
139 static const ber_tlv_tag_t asn_DEF_slotFormatCombToAddModList_tags_4[] = {
140 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
141 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
143 static asn_SET_OF_specifics_t asn_SPC_slotFormatCombToAddModList_specs_4 = {
144 sizeof(struct SlotFormatIndicator__slotFormatCombToAddModList),
145 offsetof(struct SlotFormatIndicator__slotFormatCombToAddModList, _asn_ctx),
146 0, /* XER encoding is XMLDelimitedItemList */
148 static /* Use -fall-defs-global to expose */
149 asn_TYPE_descriptor_t asn_DEF_slotFormatCombToAddModList_4 = {
150 "slotFormatCombToAddModList",
151 "slotFormatCombToAddModList",
153 asn_DEF_slotFormatCombToAddModList_tags_4,
154 sizeof(asn_DEF_slotFormatCombToAddModList_tags_4)
155 /sizeof(asn_DEF_slotFormatCombToAddModList_tags_4[0]) - 1, /* 1 */
156 asn_DEF_slotFormatCombToAddModList_tags_4, /* Same as above */
157 sizeof(asn_DEF_slotFormatCombToAddModList_tags_4)
158 /sizeof(asn_DEF_slotFormatCombToAddModList_tags_4[0]), /* 2 */
159 { &asn_OER_type_slotFormatCombToAddModList_constr_4, &asn_PER_type_slotFormatCombToAddModList_constr_4, SEQUENCE_OF_constraint },
160 asn_MBR_slotFormatCombToAddModList_4,
161 1, /* Single element */
162 &asn_SPC_slotFormatCombToAddModList_specs_4 /* Additional specs */
165 static asn_TYPE_member_t asn_MBR_slotFormatCombToReleaseList_6[] = {
167 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
169 &asn_DEF_ServCellIndex,
172 0, 0, /* No default value */
176 static const ber_tlv_tag_t asn_DEF_slotFormatCombToReleaseList_tags_6[] = {
177 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
178 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
180 static asn_SET_OF_specifics_t asn_SPC_slotFormatCombToReleaseList_specs_6 = {
181 sizeof(struct SlotFormatIndicator__slotFormatCombToReleaseList),
182 offsetof(struct SlotFormatIndicator__slotFormatCombToReleaseList, _asn_ctx),
183 0, /* XER encoding is XMLDelimitedItemList */
185 static /* Use -fall-defs-global to expose */
186 asn_TYPE_descriptor_t asn_DEF_slotFormatCombToReleaseList_6 = {
187 "slotFormatCombToReleaseList",
188 "slotFormatCombToReleaseList",
190 asn_DEF_slotFormatCombToReleaseList_tags_6,
191 sizeof(asn_DEF_slotFormatCombToReleaseList_tags_6)
192 /sizeof(asn_DEF_slotFormatCombToReleaseList_tags_6[0]) - 1, /* 1 */
193 asn_DEF_slotFormatCombToReleaseList_tags_6, /* Same as above */
194 sizeof(asn_DEF_slotFormatCombToReleaseList_tags_6)
195 /sizeof(asn_DEF_slotFormatCombToReleaseList_tags_6[0]), /* 2 */
196 { &asn_OER_type_slotFormatCombToReleaseList_constr_6, &asn_PER_type_slotFormatCombToReleaseList_constr_6, SEQUENCE_OF_constraint },
197 asn_MBR_slotFormatCombToReleaseList_6,
198 1, /* Single element */
199 &asn_SPC_slotFormatCombToReleaseList_specs_6 /* Additional specs */
202 asn_TYPE_member_t asn_MBR_SlotFormatIndicator_1[] = {
203 { ATF_NOFLAGS, 0, offsetof(struct SlotFormatIndicator, sfi_RNTI),
204 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
205 -1, /* IMPLICIT tag at current level */
209 0, 0, /* No default value */
212 { ATF_NOFLAGS, 0, offsetof(struct SlotFormatIndicator, dci_PayloadSize),
213 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
214 -1, /* IMPLICIT tag at current level */
215 &asn_DEF_NativeInteger,
217 { &asn_OER_memb_dci_PayloadSize_constr_3, &asn_PER_memb_dci_PayloadSize_constr_3, memb_dci_PayloadSize_constraint_1 },
218 0, 0, /* No default value */
221 { ATF_POINTER, 2, offsetof(struct SlotFormatIndicator, slotFormatCombToAddModList),
222 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
224 &asn_DEF_slotFormatCombToAddModList_4,
226 { &asn_OER_memb_slotFormatCombToAddModList_constr_4, &asn_PER_memb_slotFormatCombToAddModList_constr_4, memb_slotFormatCombToAddModList_constraint_1 },
227 0, 0, /* No default value */
228 "slotFormatCombToAddModList"
230 { ATF_POINTER, 1, offsetof(struct SlotFormatIndicator, slotFormatCombToReleaseList),
231 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
233 &asn_DEF_slotFormatCombToReleaseList_6,
235 { &asn_OER_memb_slotFormatCombToReleaseList_constr_6, &asn_PER_memb_slotFormatCombToReleaseList_constr_6, memb_slotFormatCombToReleaseList_constraint_1 },
236 0, 0, /* No default value */
237 "slotFormatCombToReleaseList"
240 static const int asn_MAP_SlotFormatIndicator_oms_1[] = { 2, 3 };
241 static const ber_tlv_tag_t asn_DEF_SlotFormatIndicator_tags_1[] = {
242 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
244 static const asn_TYPE_tag2member_t asn_MAP_SlotFormatIndicator_tag2el_1[] = {
245 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sfi-RNTI */
246 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dci-PayloadSize */
247 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* slotFormatCombToAddModList */
248 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* slotFormatCombToReleaseList */
250 asn_SEQUENCE_specifics_t asn_SPC_SlotFormatIndicator_specs_1 = {
251 sizeof(struct SlotFormatIndicator),
252 offsetof(struct SlotFormatIndicator, _asn_ctx),
253 asn_MAP_SlotFormatIndicator_tag2el_1,
254 4, /* Count of tags in the map */
255 asn_MAP_SlotFormatIndicator_oms_1, /* Optional members */
256 2, 0, /* Root/Additions */
257 4, /* First extension addition */
259 asn_TYPE_descriptor_t asn_DEF_SlotFormatIndicator = {
260 "SlotFormatIndicator",
261 "SlotFormatIndicator",
263 asn_DEF_SlotFormatIndicator_tags_1,
264 sizeof(asn_DEF_SlotFormatIndicator_tags_1)
265 /sizeof(asn_DEF_SlotFormatIndicator_tags_1[0]), /* 1 */
266 asn_DEF_SlotFormatIndicator_tags_1, /* Same as above */
267 sizeof(asn_DEF_SlotFormatIndicator_tags_1)
268 /sizeof(asn_DEF_SlotFormatIndicator_tags_1[0]), /* 1 */
269 { 0, 0, SEQUENCE_constraint },
270 asn_MBR_SlotFormatIndicator_1,
271 4, /* Elements count */
272 &asn_SPC_SlotFormatIndicator_specs_1 /* Additional specs */