2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 memb_pci_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
16 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
20 ASN__CTFAIL(app_key, td, sptr,
21 "%s: value not given (%s:%d)",
22 td->name, __FILE__, __LINE__);
26 /* Determine the number of elements */
27 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
29 if((size >= 1 && size <= 64)) {
30 /* Perform validation of the inner elements */
31 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
33 ASN__CTFAIL(app_key, td, sptr,
34 "%s: constraint failed (%s:%d)",
35 td->name, __FILE__, __LINE__);
40 static asn_oer_constraints_t asn_OER_type_pci_List_constr_2 CC_NOTUSED = {
42 -1 /* (SIZE(1..64)) */};
43 static asn_per_constraints_t asn_PER_type_pci_List_constr_2 CC_NOTUSED = {
44 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
45 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
46 0, 0 /* No PER value map */
48 static asn_oer_constraints_t asn_OER_type_periodicity_constr_4 CC_NOTUSED = {
51 static asn_per_constraints_t asn_PER_type_periodicity_constr_4 CC_NOTUSED = {
52 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
53 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
54 0, 0 /* No PER value map */
56 static asn_oer_constraints_t asn_OER_memb_pci_List_constr_2 CC_NOTUSED = {
58 -1 /* (SIZE(1..64)) */};
59 static asn_per_constraints_t asn_PER_memb_pci_List_constr_2 CC_NOTUSED = {
60 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
61 { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
62 0, 0 /* No PER value map */
64 static asn_TYPE_member_t asn_MBR_pci_List_2[] = {
66 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
71 0, 0, /* No default value */
75 static const ber_tlv_tag_t asn_DEF_pci_List_tags_2[] = {
76 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
77 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
79 static asn_SET_OF_specifics_t asn_SPC_pci_List_specs_2 = {
80 sizeof(struct SSB_MTC2__pci_List),
81 offsetof(struct SSB_MTC2__pci_List, _asn_ctx),
82 0, /* XER encoding is XMLDelimitedItemList */
84 static /* Use -fall-defs-global to expose */
85 asn_TYPE_descriptor_t asn_DEF_pci_List_2 = {
89 asn_DEF_pci_List_tags_2,
90 sizeof(asn_DEF_pci_List_tags_2)
91 /sizeof(asn_DEF_pci_List_tags_2[0]) - 1, /* 1 */
92 asn_DEF_pci_List_tags_2, /* Same as above */
93 sizeof(asn_DEF_pci_List_tags_2)
94 /sizeof(asn_DEF_pci_List_tags_2[0]), /* 2 */
95 { &asn_OER_type_pci_List_constr_2, &asn_PER_type_pci_List_constr_2, SEQUENCE_OF_constraint },
97 1, /* Single element */
98 &asn_SPC_pci_List_specs_2 /* Additional specs */
101 static const asn_INTEGER_enum_map_t asn_MAP_periodicity_value2enum_4[] = {
111 static const unsigned int asn_MAP_periodicity_enum2value_4[] = {
121 static const asn_INTEGER_specifics_t asn_SPC_periodicity_specs_4 = {
122 asn_MAP_periodicity_value2enum_4, /* "tag" => N; sorted by tag */
123 asn_MAP_periodicity_enum2value_4, /* N => "tag"; sorted by N */
124 8, /* Number of elements in the maps */
125 0, /* Enumeration is not extensible */
126 1, /* Strict enumeration */
127 0, /* Native long size */
130 static const ber_tlv_tag_t asn_DEF_periodicity_tags_4[] = {
131 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
132 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
134 static /* Use -fall-defs-global to expose */
135 asn_TYPE_descriptor_t asn_DEF_periodicity_4 = {
138 &asn_OP_NativeEnumerated,
139 asn_DEF_periodicity_tags_4,
140 sizeof(asn_DEF_periodicity_tags_4)
141 /sizeof(asn_DEF_periodicity_tags_4[0]) - 1, /* 1 */
142 asn_DEF_periodicity_tags_4, /* Same as above */
143 sizeof(asn_DEF_periodicity_tags_4)
144 /sizeof(asn_DEF_periodicity_tags_4[0]), /* 2 */
145 { &asn_OER_type_periodicity_constr_4, &asn_PER_type_periodicity_constr_4, NativeEnumerated_constraint },
146 0, 0, /* Defined elsewhere */
147 &asn_SPC_periodicity_specs_4 /* Additional specs */
150 asn_TYPE_member_t asn_MBR_SSB_MTC2_1[] = {
151 { ATF_POINTER, 1, offsetof(struct SSB_MTC2, pci_List),
152 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
156 { &asn_OER_memb_pci_List_constr_2, &asn_PER_memb_pci_List_constr_2, memb_pci_List_constraint_1 },
157 0, 0, /* No default value */
160 { ATF_NOFLAGS, 0, offsetof(struct SSB_MTC2, periodicity),
161 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
162 -1, /* IMPLICIT tag at current level */
163 &asn_DEF_periodicity_4,
166 0, 0, /* No default value */
170 static const int asn_MAP_SSB_MTC2_oms_1[] = { 0 };
171 static const ber_tlv_tag_t asn_DEF_SSB_MTC2_tags_1[] = {
172 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
174 static const asn_TYPE_tag2member_t asn_MAP_SSB_MTC2_tag2el_1[] = {
175 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pci-List */
176 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* periodicity */
178 asn_SEQUENCE_specifics_t asn_SPC_SSB_MTC2_specs_1 = {
179 sizeof(struct SSB_MTC2),
180 offsetof(struct SSB_MTC2, _asn_ctx),
181 asn_MAP_SSB_MTC2_tag2el_1,
182 2, /* Count of tags in the map */
183 asn_MAP_SSB_MTC2_oms_1, /* Optional members */
184 1, 0, /* Root/Additions */
185 -1, /* First extension addition */
187 asn_TYPE_descriptor_t asn_DEF_SSB_MTC2 = {
191 asn_DEF_SSB_MTC2_tags_1,
192 sizeof(asn_DEF_SSB_MTC2_tags_1)
193 /sizeof(asn_DEF_SSB_MTC2_tags_1[0]), /* 1 */
194 asn_DEF_SSB_MTC2_tags_1, /* Same as above */
195 sizeof(asn_DEF_SSB_MTC2_tags_1)
196 /sizeof(asn_DEF_SSB_MTC2_tags_1[0]), /* 1 */
197 { 0, 0, SEQUENCE_constraint },
199 2, /* Elements count */
200 &asn_SPC_SSB_MTC2_specs_1 /* Additional specs */