2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "SSB-ToMeasure.h"
11 memb_shortBitmap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
17 ASN__CTFAIL(app_key, td, sptr,
18 "%s: value not given (%s:%d)",
19 td->name, __FILE__, __LINE__);
25 size = 8 * st->size - (st->bits_unused & 0x07);
31 /* Constraint check succeeded */
34 ASN__CTFAIL(app_key, td, sptr,
35 "%s: constraint failed (%s:%d)",
36 td->name, __FILE__, __LINE__);
42 memb_mediumBitmap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
43 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
44 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
48 ASN__CTFAIL(app_key, td, sptr,
49 "%s: value not given (%s:%d)",
50 td->name, __FILE__, __LINE__);
56 size = 8 * st->size - (st->bits_unused & 0x07);
62 /* Constraint check succeeded */
65 ASN__CTFAIL(app_key, td, sptr,
66 "%s: constraint failed (%s:%d)",
67 td->name, __FILE__, __LINE__);
73 memb_longBitmap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
74 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
75 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
79 ASN__CTFAIL(app_key, td, sptr,
80 "%s: value not given (%s:%d)",
81 td->name, __FILE__, __LINE__);
87 size = 8 * st->size - (st->bits_unused & 0x07);
93 /* Constraint check succeeded */
96 ASN__CTFAIL(app_key, td, sptr,
97 "%s: constraint failed (%s:%d)",
98 td->name, __FILE__, __LINE__);
103 static asn_oer_constraints_t asn_OER_memb_shortBitmap_constr_2 CC_NOTUSED = {
105 4 /* (SIZE(4..4)) */};
106 static asn_per_constraints_t asn_PER_memb_shortBitmap_constr_2 CC_NOTUSED = {
107 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
108 { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
109 0, 0 /* No PER value map */
111 static asn_oer_constraints_t asn_OER_memb_mediumBitmap_constr_3 CC_NOTUSED = {
113 8 /* (SIZE(8..8)) */};
114 static asn_per_constraints_t asn_PER_memb_mediumBitmap_constr_3 CC_NOTUSED = {
115 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
116 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
117 0, 0 /* No PER value map */
119 static asn_oer_constraints_t asn_OER_memb_longBitmap_constr_4 CC_NOTUSED = {
121 64 /* (SIZE(64..64)) */};
122 static asn_per_constraints_t asn_PER_memb_longBitmap_constr_4 CC_NOTUSED = {
123 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
124 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
125 0, 0 /* No PER value map */
127 static asn_oer_constraints_t asn_OER_type_SSB_ToMeasure_constr_1 CC_NOTUSED = {
130 asn_per_constraints_t asn_PER_type_SSB_ToMeasure_constr_1 CC_NOTUSED = {
131 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
132 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
133 0, 0 /* No PER value map */
135 asn_TYPE_member_t asn_MBR_SSB_ToMeasure_1[] = {
136 { ATF_NOFLAGS, 0, offsetof(struct SSB_ToMeasure, choice.shortBitmap),
137 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
138 -1, /* IMPLICIT tag at current level */
141 { &asn_OER_memb_shortBitmap_constr_2, &asn_PER_memb_shortBitmap_constr_2, memb_shortBitmap_constraint_1 },
142 0, 0, /* No default value */
145 { ATF_NOFLAGS, 0, offsetof(struct SSB_ToMeasure, choice.mediumBitmap),
146 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
147 -1, /* IMPLICIT tag at current level */
150 { &asn_OER_memb_mediumBitmap_constr_3, &asn_PER_memb_mediumBitmap_constr_3, memb_mediumBitmap_constraint_1 },
151 0, 0, /* No default value */
154 { ATF_NOFLAGS, 0, offsetof(struct SSB_ToMeasure, choice.longBitmap),
155 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
156 -1, /* IMPLICIT tag at current level */
159 { &asn_OER_memb_longBitmap_constr_4, &asn_PER_memb_longBitmap_constr_4, memb_longBitmap_constraint_1 },
160 0, 0, /* No default value */
164 static const asn_TYPE_tag2member_t asn_MAP_SSB_ToMeasure_tag2el_1[] = {
165 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shortBitmap */
166 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mediumBitmap */
167 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* longBitmap */
169 asn_CHOICE_specifics_t asn_SPC_SSB_ToMeasure_specs_1 = {
170 sizeof(struct SSB_ToMeasure),
171 offsetof(struct SSB_ToMeasure, _asn_ctx),
172 offsetof(struct SSB_ToMeasure, present),
173 sizeof(((struct SSB_ToMeasure *)0)->present),
174 asn_MAP_SSB_ToMeasure_tag2el_1,
175 3, /* Count of tags in the map */
177 -1 /* Extensions start */
179 asn_TYPE_descriptor_t asn_DEF_SSB_ToMeasure = {
183 0, /* No effective tags (pointer) */
184 0, /* No effective tags (count) */
185 0, /* No tags (pointer) */
186 0, /* No tags (count) */
187 { &asn_OER_type_SSB_ToMeasure_constr_1, &asn_PER_type_SSB_ToMeasure_constr_1, CHOICE_constraint },
188 asn_MBR_SSB_ToMeasure_1,
189 3, /* Elements count */
190 &asn_SPC_SSB_ToMeasure_specs_1 /* Additional specs */