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 "CrossCarrierSchedulingConfig.h"
11 memb_cif_InSchedulingCell_constraint_5(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 >= 1 && value <= 7)) {
25 /* Constraint check succeeded */
28 ASN__CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
35 static asn_oer_constraints_t asn_OER_memb_cif_InSchedulingCell_constr_7 CC_NOTUSED = {
36 { 1, 1 } /* (1..7) */,
38 static asn_per_constraints_t asn_PER_memb_cif_InSchedulingCell_constr_7 CC_NOTUSED = {
39 { APC_CONSTRAINED, 3, 3, 1, 7 } /* (1..7) */,
40 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
41 0, 0 /* No PER value map */
43 static asn_oer_constraints_t asn_OER_type_schedulingCellInfo_constr_2 CC_NOTUSED = {
46 static asn_per_constraints_t asn_PER_type_schedulingCellInfo_constr_2 CC_NOTUSED = {
47 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
48 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
49 0, 0 /* No PER value map */
51 static asn_TYPE_member_t asn_MBR_own_3[] = {
52 { ATF_NOFLAGS, 0, offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__own, cif_Presence),
53 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
54 -1, /* IMPLICIT tag at current level */
58 0, 0, /* No default value */
62 static const ber_tlv_tag_t asn_DEF_own_tags_3[] = {
63 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
64 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
66 static const asn_TYPE_tag2member_t asn_MAP_own_tag2el_3[] = {
67 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cif-Presence */
69 static asn_SEQUENCE_specifics_t asn_SPC_own_specs_3 = {
70 sizeof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__own),
71 offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__own, _asn_ctx),
73 1, /* Count of tags in the map */
74 0, 0, 0, /* Optional elements (not needed) */
75 -1, /* First extension addition */
77 static /* Use -fall-defs-global to expose */
78 asn_TYPE_descriptor_t asn_DEF_own_3 = {
83 sizeof(asn_DEF_own_tags_3)
84 /sizeof(asn_DEF_own_tags_3[0]) - 1, /* 1 */
85 asn_DEF_own_tags_3, /* Same as above */
86 sizeof(asn_DEF_own_tags_3)
87 /sizeof(asn_DEF_own_tags_3[0]), /* 2 */
88 { 0, 0, SEQUENCE_constraint },
90 1, /* Elements count */
91 &asn_SPC_own_specs_3 /* Additional specs */
94 static asn_TYPE_member_t asn_MBR_other_5[] = {
95 { ATF_NOFLAGS, 0, offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__other, schedulingCellId),
96 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
97 -1, /* IMPLICIT tag at current level */
98 &asn_DEF_ServCellIndex,
101 0, 0, /* No default value */
104 { ATF_NOFLAGS, 0, offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__other, cif_InSchedulingCell),
105 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
106 -1, /* IMPLICIT tag at current level */
107 &asn_DEF_NativeInteger,
109 { &asn_OER_memb_cif_InSchedulingCell_constr_7, &asn_PER_memb_cif_InSchedulingCell_constr_7, memb_cif_InSchedulingCell_constraint_5 },
110 0, 0, /* No default value */
111 "cif-InSchedulingCell"
114 static const ber_tlv_tag_t asn_DEF_other_tags_5[] = {
115 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
116 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
118 static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_5[] = {
119 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* schedulingCellId */
120 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cif-InSchedulingCell */
122 static asn_SEQUENCE_specifics_t asn_SPC_other_specs_5 = {
123 sizeof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__other),
124 offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo__other, _asn_ctx),
125 asn_MAP_other_tag2el_5,
126 2, /* Count of tags in the map */
127 0, 0, 0, /* Optional elements (not needed) */
128 -1, /* First extension addition */
130 static /* Use -fall-defs-global to expose */
131 asn_TYPE_descriptor_t asn_DEF_other_5 = {
135 asn_DEF_other_tags_5,
136 sizeof(asn_DEF_other_tags_5)
137 /sizeof(asn_DEF_other_tags_5[0]) - 1, /* 1 */
138 asn_DEF_other_tags_5, /* Same as above */
139 sizeof(asn_DEF_other_tags_5)
140 /sizeof(asn_DEF_other_tags_5[0]), /* 2 */
141 { 0, 0, SEQUENCE_constraint },
143 2, /* Elements count */
144 &asn_SPC_other_specs_5 /* Additional specs */
147 static asn_TYPE_member_t asn_MBR_schedulingCellInfo_2[] = {
148 { ATF_POINTER, 0, offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo, choice.own),
149 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
154 0, 0, /* No default value */
157 { ATF_POINTER, 0, offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo, choice.other),
158 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
163 0, 0, /* No default value */
167 static const asn_TYPE_tag2member_t asn_MAP_schedulingCellInfo_tag2el_2[] = {
168 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* own */
169 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* other */
171 static asn_CHOICE_specifics_t asn_SPC_schedulingCellInfo_specs_2 = {
172 sizeof(struct CrossCarrierSchedulingConfig__schedulingCellInfo),
173 offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo, _asn_ctx),
174 offsetof(struct CrossCarrierSchedulingConfig__schedulingCellInfo, present),
175 sizeof(((struct CrossCarrierSchedulingConfig__schedulingCellInfo *)0)->present),
176 asn_MAP_schedulingCellInfo_tag2el_2,
177 2, /* Count of tags in the map */
179 -1 /* Extensions start */
181 static /* Use -fall-defs-global to expose */
182 asn_TYPE_descriptor_t asn_DEF_schedulingCellInfo_2 = {
183 "schedulingCellInfo",
184 "schedulingCellInfo",
186 0, /* No effective tags (pointer) */
187 0, /* No effective tags (count) */
188 0, /* No tags (pointer) */
189 0, /* No tags (count) */
190 { &asn_OER_type_schedulingCellInfo_constr_2, &asn_PER_type_schedulingCellInfo_constr_2, CHOICE_constraint },
191 asn_MBR_schedulingCellInfo_2,
192 2, /* Elements count */
193 &asn_SPC_schedulingCellInfo_specs_2 /* Additional specs */
196 asn_TYPE_member_t asn_MBR_CrossCarrierSchedulingConfig_1[] = {
197 { ATF_NOFLAGS, 0, offsetof(struct CrossCarrierSchedulingConfig, schedulingCellInfo),
198 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
199 +1, /* EXPLICIT tag at current level */
200 &asn_DEF_schedulingCellInfo_2,
203 0, 0, /* No default value */
207 static const ber_tlv_tag_t asn_DEF_CrossCarrierSchedulingConfig_tags_1[] = {
208 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
210 static const asn_TYPE_tag2member_t asn_MAP_CrossCarrierSchedulingConfig_tag2el_1[] = {
211 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* schedulingCellInfo */
213 asn_SEQUENCE_specifics_t asn_SPC_CrossCarrierSchedulingConfig_specs_1 = {
214 sizeof(struct CrossCarrierSchedulingConfig),
215 offsetof(struct CrossCarrierSchedulingConfig, _asn_ctx),
216 asn_MAP_CrossCarrierSchedulingConfig_tag2el_1,
217 1, /* Count of tags in the map */
218 0, 0, 0, /* Optional elements (not needed) */
219 1, /* First extension addition */
221 asn_TYPE_descriptor_t asn_DEF_CrossCarrierSchedulingConfig = {
222 "CrossCarrierSchedulingConfig",
223 "CrossCarrierSchedulingConfig",
225 asn_DEF_CrossCarrierSchedulingConfig_tags_1,
226 sizeof(asn_DEF_CrossCarrierSchedulingConfig_tags_1)
227 /sizeof(asn_DEF_CrossCarrierSchedulingConfig_tags_1[0]), /* 1 */
228 asn_DEF_CrossCarrierSchedulingConfig_tags_1, /* Same as above */
229 sizeof(asn_DEF_CrossCarrierSchedulingConfig_tags_1)
230 /sizeof(asn_DEF_CrossCarrierSchedulingConfig_tags_1[0]), /* 1 */
231 { 0, 0, SEQUENCE_constraint },
232 asn_MBR_CrossCarrierSchedulingConfig_1,
233 1, /* Elements count */
234 &asn_SPC_CrossCarrierSchedulingConfig_specs_1 /* Additional specs */