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`
8 #include "CodebookConfig.h"
11 memb_twoTX_CodebookSubsetRestriction_constraint_7(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_two_one_TypeI_SinglePanel_Restriction_constraint_10(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_two_two_TypeI_SinglePanel_Restriction_constraint_10(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__);
104 memb_four_one_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
105 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
106 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
110 ASN__CTFAIL(app_key, td, sptr,
111 "%s: value not given (%s:%d)",
112 td->name, __FILE__, __LINE__);
118 size = 8 * st->size - (st->bits_unused & 0x07);
124 /* Constraint check succeeded */
127 ASN__CTFAIL(app_key, td, sptr,
128 "%s: constraint failed (%s:%d)",
129 td->name, __FILE__, __LINE__);
135 memb_three_two_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
136 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
137 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
141 ASN__CTFAIL(app_key, td, sptr,
142 "%s: value not given (%s:%d)",
143 td->name, __FILE__, __LINE__);
149 size = 8 * st->size - (st->bits_unused & 0x07);
155 /* Constraint check succeeded */
158 ASN__CTFAIL(app_key, td, sptr,
159 "%s: constraint failed (%s:%d)",
160 td->name, __FILE__, __LINE__);
166 memb_six_one_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
167 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
168 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
172 ASN__CTFAIL(app_key, td, sptr,
173 "%s: value not given (%s:%d)",
174 td->name, __FILE__, __LINE__);
180 size = 8 * st->size - (st->bits_unused & 0x07);
186 /* Constraint check succeeded */
189 ASN__CTFAIL(app_key, td, sptr,
190 "%s: constraint failed (%s:%d)",
191 td->name, __FILE__, __LINE__);
197 memb_four_two_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
198 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
199 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
203 ASN__CTFAIL(app_key, td, sptr,
204 "%s: value not given (%s:%d)",
205 td->name, __FILE__, __LINE__);
211 size = 8 * st->size - (st->bits_unused & 0x07);
217 /* Constraint check succeeded */
220 ASN__CTFAIL(app_key, td, sptr,
221 "%s: constraint failed (%s:%d)",
222 td->name, __FILE__, __LINE__);
228 memb_eight_one_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
229 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
230 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
234 ASN__CTFAIL(app_key, td, sptr,
235 "%s: value not given (%s:%d)",
236 td->name, __FILE__, __LINE__);
242 size = 8 * st->size - (st->bits_unused & 0x07);
248 /* Constraint check succeeded */
251 ASN__CTFAIL(app_key, td, sptr,
252 "%s: constraint failed (%s:%d)",
253 td->name, __FILE__, __LINE__);
259 memb_four_three_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
260 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
261 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
265 ASN__CTFAIL(app_key, td, sptr,
266 "%s: value not given (%s:%d)",
267 td->name, __FILE__, __LINE__);
273 size = 8 * st->size - (st->bits_unused & 0x07);
279 /* Constraint check succeeded */
282 ASN__CTFAIL(app_key, td, sptr,
283 "%s: constraint failed (%s:%d)",
284 td->name, __FILE__, __LINE__);
290 memb_six_two_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
291 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
292 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
296 ASN__CTFAIL(app_key, td, sptr,
297 "%s: value not given (%s:%d)",
298 td->name, __FILE__, __LINE__);
304 size = 8 * st->size - (st->bits_unused & 0x07);
310 /* Constraint check succeeded */
313 ASN__CTFAIL(app_key, td, sptr,
314 "%s: constraint failed (%s:%d)",
315 td->name, __FILE__, __LINE__);
321 memb_twelve_one_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
322 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
323 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
327 ASN__CTFAIL(app_key, td, sptr,
328 "%s: value not given (%s:%d)",
329 td->name, __FILE__, __LINE__);
335 size = 8 * st->size - (st->bits_unused & 0x07);
341 /* Constraint check succeeded */
344 ASN__CTFAIL(app_key, td, sptr,
345 "%s: constraint failed (%s:%d)",
346 td->name, __FILE__, __LINE__);
352 memb_four_four_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
353 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
354 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
358 ASN__CTFAIL(app_key, td, sptr,
359 "%s: value not given (%s:%d)",
360 td->name, __FILE__, __LINE__);
366 size = 8 * st->size - (st->bits_unused & 0x07);
372 /* Constraint check succeeded */
375 ASN__CTFAIL(app_key, td, sptr,
376 "%s: constraint failed (%s:%d)",
377 td->name, __FILE__, __LINE__);
383 memb_eight_two_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
384 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
385 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
389 ASN__CTFAIL(app_key, td, sptr,
390 "%s: value not given (%s:%d)",
391 td->name, __FILE__, __LINE__);
397 size = 8 * st->size - (st->bits_unused & 0x07);
403 /* Constraint check succeeded */
406 ASN__CTFAIL(app_key, td, sptr,
407 "%s: constraint failed (%s:%d)",
408 td->name, __FILE__, __LINE__);
414 memb_sixteen_one_TypeI_SinglePanel_Restriction_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr,
415 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
416 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
420 ASN__CTFAIL(app_key, td, sptr,
421 "%s: value not given (%s:%d)",
422 td->name, __FILE__, __LINE__);
428 size = 8 * st->size - (st->bits_unused & 0x07);
434 /* Constraint check succeeded */
437 ASN__CTFAIL(app_key, td, sptr,
438 "%s: constraint failed (%s:%d)",
439 td->name, __FILE__, __LINE__);
445 memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr,
446 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
447 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
451 ASN__CTFAIL(app_key, td, sptr,
452 "%s: value not given (%s:%d)",
453 td->name, __FILE__, __LINE__);
459 size = 8 * st->size - (st->bits_unused & 0x07);
465 /* Constraint check succeeded */
468 ASN__CTFAIL(app_key, td, sptr,
469 "%s: constraint failed (%s:%d)",
470 td->name, __FILE__, __LINE__);
476 memb_typeI_SinglePanel_ri_Restriction_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr,
477 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
478 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
482 ASN__CTFAIL(app_key, td, sptr,
483 "%s: value not given (%s:%d)",
484 td->name, __FILE__, __LINE__);
490 size = 8 * st->size - (st->bits_unused & 0x07);
496 /* Constraint check succeeded */
499 ASN__CTFAIL(app_key, td, sptr,
500 "%s: constraint failed (%s:%d)",
501 td->name, __FILE__, __LINE__);
507 memb_two_two_one_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
508 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
509 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
513 ASN__CTFAIL(app_key, td, sptr,
514 "%s: value not given (%s:%d)",
515 td->name, __FILE__, __LINE__);
521 size = 8 * st->size - (st->bits_unused & 0x07);
527 /* Constraint check succeeded */
530 ASN__CTFAIL(app_key, td, sptr,
531 "%s: constraint failed (%s:%d)",
532 td->name, __FILE__, __LINE__);
538 memb_two_four_one_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
539 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
540 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
544 ASN__CTFAIL(app_key, td, sptr,
545 "%s: value not given (%s:%d)",
546 td->name, __FILE__, __LINE__);
552 size = 8 * st->size - (st->bits_unused & 0x07);
558 /* Constraint check succeeded */
561 ASN__CTFAIL(app_key, td, sptr,
562 "%s: constraint failed (%s:%d)",
563 td->name, __FILE__, __LINE__);
569 memb_four_two_one_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
570 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
571 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
575 ASN__CTFAIL(app_key, td, sptr,
576 "%s: value not given (%s:%d)",
577 td->name, __FILE__, __LINE__);
583 size = 8 * st->size - (st->bits_unused & 0x07);
589 /* Constraint check succeeded */
592 ASN__CTFAIL(app_key, td, sptr,
593 "%s: constraint failed (%s:%d)",
594 td->name, __FILE__, __LINE__);
600 memb_two_two_two_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
601 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
602 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
606 ASN__CTFAIL(app_key, td, sptr,
607 "%s: value not given (%s:%d)",
608 td->name, __FILE__, __LINE__);
614 size = 8 * st->size - (st->bits_unused & 0x07);
620 /* Constraint check succeeded */
623 ASN__CTFAIL(app_key, td, sptr,
624 "%s: constraint failed (%s:%d)",
625 td->name, __FILE__, __LINE__);
631 memb_two_eight_one_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
632 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
633 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
637 ASN__CTFAIL(app_key, td, sptr,
638 "%s: value not given (%s:%d)",
639 td->name, __FILE__, __LINE__);
645 size = 8 * st->size - (st->bits_unused & 0x07);
651 /* Constraint check succeeded */
654 ASN__CTFAIL(app_key, td, sptr,
655 "%s: constraint failed (%s:%d)",
656 td->name, __FILE__, __LINE__);
662 memb_four_four_one_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
663 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
664 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
668 ASN__CTFAIL(app_key, td, sptr,
669 "%s: value not given (%s:%d)",
670 td->name, __FILE__, __LINE__);
676 size = 8 * st->size - (st->bits_unused & 0x07);
682 /* Constraint check succeeded */
685 ASN__CTFAIL(app_key, td, sptr,
686 "%s: constraint failed (%s:%d)",
687 td->name, __FILE__, __LINE__);
693 memb_two_four_two_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
694 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
695 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
699 ASN__CTFAIL(app_key, td, sptr,
700 "%s: value not given (%s:%d)",
701 td->name, __FILE__, __LINE__);
707 size = 8 * st->size - (st->bits_unused & 0x07);
713 /* Constraint check succeeded */
716 ASN__CTFAIL(app_key, td, sptr,
717 "%s: constraint failed (%s:%d)",
718 td->name, __FILE__, __LINE__);
724 memb_four_two_two_TypeI_MultiPanel_Restriction_constraint_27(const asn_TYPE_descriptor_t *td, const void *sptr,
725 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
726 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
730 ASN__CTFAIL(app_key, td, sptr,
731 "%s: value not given (%s:%d)",
732 td->name, __FILE__, __LINE__);
738 size = 8 * st->size - (st->bits_unused & 0x07);
744 /* Constraint check succeeded */
747 ASN__CTFAIL(app_key, td, sptr,
748 "%s: constraint failed (%s:%d)",
749 td->name, __FILE__, __LINE__);
755 memb_ri_Restriction_constraint_26(const asn_TYPE_descriptor_t *td, const void *sptr,
756 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
757 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
761 ASN__CTFAIL(app_key, td, sptr,
762 "%s: value not given (%s:%d)",
763 td->name, __FILE__, __LINE__);
769 size = 8 * st->size - (st->bits_unused & 0x07);
775 /* Constraint check succeeded */
778 ASN__CTFAIL(app_key, td, sptr,
779 "%s: constraint failed (%s:%d)",
780 td->name, __FILE__, __LINE__);
786 memb_codebookMode_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
787 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
791 ASN__CTFAIL(app_key, td, sptr,
792 "%s: value not given (%s:%d)",
793 td->name, __FILE__, __LINE__);
797 value = *(const long *)sptr;
799 if((value >= 1 && value <= 2)) {
800 /* Constraint check succeeded */
803 ASN__CTFAIL(app_key, td, sptr,
804 "%s: constraint failed (%s:%d)",
805 td->name, __FILE__, __LINE__);
811 memb_two_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
812 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
813 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
817 ASN__CTFAIL(app_key, td, sptr,
818 "%s: value not given (%s:%d)",
819 td->name, __FILE__, __LINE__);
825 size = 8 * st->size - (st->bits_unused & 0x07);
831 /* Constraint check succeeded */
834 ASN__CTFAIL(app_key, td, sptr,
835 "%s: constraint failed (%s:%d)",
836 td->name, __FILE__, __LINE__);
842 memb_two_two_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
843 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
844 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
848 ASN__CTFAIL(app_key, td, sptr,
849 "%s: value not given (%s:%d)",
850 td->name, __FILE__, __LINE__);
856 size = 8 * st->size - (st->bits_unused & 0x07);
862 /* Constraint check succeeded */
865 ASN__CTFAIL(app_key, td, sptr,
866 "%s: constraint failed (%s:%d)",
867 td->name, __FILE__, __LINE__);
873 memb_four_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
874 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
875 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
879 ASN__CTFAIL(app_key, td, sptr,
880 "%s: value not given (%s:%d)",
881 td->name, __FILE__, __LINE__);
887 size = 8 * st->size - (st->bits_unused & 0x07);
893 /* Constraint check succeeded */
896 ASN__CTFAIL(app_key, td, sptr,
897 "%s: constraint failed (%s:%d)",
898 td->name, __FILE__, __LINE__);
904 memb_three_two_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
905 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
906 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
910 ASN__CTFAIL(app_key, td, sptr,
911 "%s: value not given (%s:%d)",
912 td->name, __FILE__, __LINE__);
918 size = 8 * st->size - (st->bits_unused & 0x07);
924 /* Constraint check succeeded */
927 ASN__CTFAIL(app_key, td, sptr,
928 "%s: constraint failed (%s:%d)",
929 td->name, __FILE__, __LINE__);
935 memb_six_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
936 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
937 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
941 ASN__CTFAIL(app_key, td, sptr,
942 "%s: value not given (%s:%d)",
943 td->name, __FILE__, __LINE__);
949 size = 8 * st->size - (st->bits_unused & 0x07);
955 /* Constraint check succeeded */
958 ASN__CTFAIL(app_key, td, sptr,
959 "%s: constraint failed (%s:%d)",
960 td->name, __FILE__, __LINE__);
966 memb_four_two_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
967 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
968 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
972 ASN__CTFAIL(app_key, td, sptr,
973 "%s: value not given (%s:%d)",
974 td->name, __FILE__, __LINE__);
980 size = 8 * st->size - (st->bits_unused & 0x07);
986 /* Constraint check succeeded */
989 ASN__CTFAIL(app_key, td, sptr,
990 "%s: constraint failed (%s:%d)",
991 td->name, __FILE__, __LINE__);
997 memb_eight_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
998 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
999 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1003 ASN__CTFAIL(app_key, td, sptr,
1004 "%s: value not given (%s:%d)",
1005 td->name, __FILE__, __LINE__);
1011 size = 8 * st->size - (st->bits_unused & 0x07);
1017 /* Constraint check succeeded */
1020 ASN__CTFAIL(app_key, td, sptr,
1021 "%s: constraint failed (%s:%d)",
1022 td->name, __FILE__, __LINE__);
1028 memb_four_three_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1029 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1030 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1034 ASN__CTFAIL(app_key, td, sptr,
1035 "%s: value not given (%s:%d)",
1036 td->name, __FILE__, __LINE__);
1042 size = 8 * st->size - (st->bits_unused & 0x07);
1048 /* Constraint check succeeded */
1051 ASN__CTFAIL(app_key, td, sptr,
1052 "%s: constraint failed (%s:%d)",
1053 td->name, __FILE__, __LINE__);
1059 memb_six_two_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1060 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1061 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1065 ASN__CTFAIL(app_key, td, sptr,
1066 "%s: value not given (%s:%d)",
1067 td->name, __FILE__, __LINE__);
1073 size = 8 * st->size - (st->bits_unused & 0x07);
1079 /* Constraint check succeeded */
1082 ASN__CTFAIL(app_key, td, sptr,
1083 "%s: constraint failed (%s:%d)",
1084 td->name, __FILE__, __LINE__);
1090 memb_twelve_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1091 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1092 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1096 ASN__CTFAIL(app_key, td, sptr,
1097 "%s: value not given (%s:%d)",
1098 td->name, __FILE__, __LINE__);
1104 size = 8 * st->size - (st->bits_unused & 0x07);
1110 /* Constraint check succeeded */
1113 ASN__CTFAIL(app_key, td, sptr,
1114 "%s: constraint failed (%s:%d)",
1115 td->name, __FILE__, __LINE__);
1121 memb_four_four_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1122 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1123 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1127 ASN__CTFAIL(app_key, td, sptr,
1128 "%s: value not given (%s:%d)",
1129 td->name, __FILE__, __LINE__);
1135 size = 8 * st->size - (st->bits_unused & 0x07);
1141 /* Constraint check succeeded */
1144 ASN__CTFAIL(app_key, td, sptr,
1145 "%s: constraint failed (%s:%d)",
1146 td->name, __FILE__, __LINE__);
1152 memb_eight_two_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1153 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1154 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1158 ASN__CTFAIL(app_key, td, sptr,
1159 "%s: value not given (%s:%d)",
1160 td->name, __FILE__, __LINE__);
1166 size = 8 * st->size - (st->bits_unused & 0x07);
1172 /* Constraint check succeeded */
1175 ASN__CTFAIL(app_key, td, sptr,
1176 "%s: constraint failed (%s:%d)",
1177 td->name, __FILE__, __LINE__);
1183 memb_sixteen_one_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
1184 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1185 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1189 ASN__CTFAIL(app_key, td, sptr,
1190 "%s: value not given (%s:%d)",
1191 td->name, __FILE__, __LINE__);
1197 size = 8 * st->size - (st->bits_unused & 0x07);
1203 /* Constraint check succeeded */
1206 ASN__CTFAIL(app_key, td, sptr,
1207 "%s: constraint failed (%s:%d)",
1208 td->name, __FILE__, __LINE__);
1214 memb_typeII_RI_Restriction_constraint_40(const asn_TYPE_descriptor_t *td, const void *sptr,
1215 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1216 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1220 ASN__CTFAIL(app_key, td, sptr,
1221 "%s: value not given (%s:%d)",
1222 td->name, __FILE__, __LINE__);
1228 size = 8 * st->size - (st->bits_unused & 0x07);
1234 /* Constraint check succeeded */
1237 ASN__CTFAIL(app_key, td, sptr,
1238 "%s: constraint failed (%s:%d)",
1239 td->name, __FILE__, __LINE__);
1245 * This type is implemented using NativeEnumerated,
1246 * so here we adjust the DEF accordingly.
1249 memb_typeII_PortSelectionRI_Restriction_constraint_56(const asn_TYPE_descriptor_t *td, const void *sptr,
1250 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1251 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
1255 ASN__CTFAIL(app_key, td, sptr,
1256 "%s: value not given (%s:%d)",
1257 td->name, __FILE__, __LINE__);
1263 size = 8 * st->size - (st->bits_unused & 0x07);
1269 /* Constraint check succeeded */
1272 ASN__CTFAIL(app_key, td, sptr,
1273 "%s: constraint failed (%s:%d)",
1274 td->name, __FILE__, __LINE__);
1280 * This type is implemented using NativeEnumerated,
1281 * so here we adjust the DEF accordingly.
1284 * This type is implemented using NativeEnumerated,
1285 * so here we adjust the DEF accordingly.
1287 static asn_oer_constraints_t asn_OER_memb_twoTX_CodebookSubsetRestriction_constr_8 CC_NOTUSED = {
1289 6 /* (SIZE(6..6)) */};
1290 static asn_per_constraints_t asn_PER_memb_twoTX_CodebookSubsetRestriction_constr_8 CC_NOTUSED = {
1291 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1292 { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
1293 0, 0 /* No PER value map */
1295 static asn_oer_constraints_t asn_OER_memb_two_one_TypeI_SinglePanel_Restriction_constr_11 CC_NOTUSED = {
1297 8 /* (SIZE(8..8)) */};
1298 static asn_per_constraints_t asn_PER_memb_two_one_TypeI_SinglePanel_Restriction_constr_11 CC_NOTUSED = {
1299 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1300 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
1301 0, 0 /* No PER value map */
1303 static asn_oer_constraints_t asn_OER_memb_two_two_TypeI_SinglePanel_Restriction_constr_12 CC_NOTUSED = {
1305 64 /* (SIZE(64..64)) */};
1306 static asn_per_constraints_t asn_PER_memb_two_two_TypeI_SinglePanel_Restriction_constr_12 CC_NOTUSED = {
1307 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1308 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
1309 0, 0 /* No PER value map */
1311 static asn_oer_constraints_t asn_OER_memb_four_one_TypeI_SinglePanel_Restriction_constr_13 CC_NOTUSED = {
1313 16 /* (SIZE(16..16)) */};
1314 static asn_per_constraints_t asn_PER_memb_four_one_TypeI_SinglePanel_Restriction_constr_13 CC_NOTUSED = {
1315 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1316 { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
1317 0, 0 /* No PER value map */
1319 static asn_oer_constraints_t asn_OER_memb_three_two_TypeI_SinglePanel_Restriction_constr_14 CC_NOTUSED = {
1321 96 /* (SIZE(96..96)) */};
1322 static asn_per_constraints_t asn_PER_memb_three_two_TypeI_SinglePanel_Restriction_constr_14 CC_NOTUSED = {
1323 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1324 { APC_CONSTRAINED, 0, 0, 96, 96 } /* (SIZE(96..96)) */,
1325 0, 0 /* No PER value map */
1327 static asn_oer_constraints_t asn_OER_memb_six_one_TypeI_SinglePanel_Restriction_constr_15 CC_NOTUSED = {
1329 24 /* (SIZE(24..24)) */};
1330 static asn_per_constraints_t asn_PER_memb_six_one_TypeI_SinglePanel_Restriction_constr_15 CC_NOTUSED = {
1331 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1332 { APC_CONSTRAINED, 0, 0, 24, 24 } /* (SIZE(24..24)) */,
1333 0, 0 /* No PER value map */
1335 static asn_oer_constraints_t asn_OER_memb_four_two_TypeI_SinglePanel_Restriction_constr_16 CC_NOTUSED = {
1337 128 /* (SIZE(128..128)) */};
1338 static asn_per_constraints_t asn_PER_memb_four_two_TypeI_SinglePanel_Restriction_constr_16 CC_NOTUSED = {
1339 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1340 { APC_CONSTRAINED, 0, 0, 128, 128 } /* (SIZE(128..128)) */,
1341 0, 0 /* No PER value map */
1343 static asn_oer_constraints_t asn_OER_memb_eight_one_TypeI_SinglePanel_Restriction_constr_17 CC_NOTUSED = {
1345 32 /* (SIZE(32..32)) */};
1346 static asn_per_constraints_t asn_PER_memb_eight_one_TypeI_SinglePanel_Restriction_constr_17 CC_NOTUSED = {
1347 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1348 { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
1349 0, 0 /* No PER value map */
1351 static asn_oer_constraints_t asn_OER_memb_four_three_TypeI_SinglePanel_Restriction_constr_18 CC_NOTUSED = {
1353 192 /* (SIZE(192..192)) */};
1354 static asn_per_constraints_t asn_PER_memb_four_three_TypeI_SinglePanel_Restriction_constr_18 CC_NOTUSED = {
1355 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1356 { APC_CONSTRAINED, 0, 0, 192, 192 } /* (SIZE(192..192)) */,
1357 0, 0 /* No PER value map */
1359 static asn_oer_constraints_t asn_OER_memb_six_two_TypeI_SinglePanel_Restriction_constr_19 CC_NOTUSED = {
1361 192 /* (SIZE(192..192)) */};
1362 static asn_per_constraints_t asn_PER_memb_six_two_TypeI_SinglePanel_Restriction_constr_19 CC_NOTUSED = {
1363 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1364 { APC_CONSTRAINED, 0, 0, 192, 192 } /* (SIZE(192..192)) */,
1365 0, 0 /* No PER value map */
1367 static asn_oer_constraints_t asn_OER_memb_twelve_one_TypeI_SinglePanel_Restriction_constr_20 CC_NOTUSED = {
1369 48 /* (SIZE(48..48)) */};
1370 static asn_per_constraints_t asn_PER_memb_twelve_one_TypeI_SinglePanel_Restriction_constr_20 CC_NOTUSED = {
1371 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1372 { APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
1373 0, 0 /* No PER value map */
1375 static asn_oer_constraints_t asn_OER_memb_four_four_TypeI_SinglePanel_Restriction_constr_21 CC_NOTUSED = {
1377 256 /* (SIZE(256..256)) */};
1378 static asn_per_constraints_t asn_PER_memb_four_four_TypeI_SinglePanel_Restriction_constr_21 CC_NOTUSED = {
1379 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1380 { APC_CONSTRAINED, 0, 0, 256, 256 } /* (SIZE(256..256)) */,
1381 0, 0 /* No PER value map */
1383 static asn_oer_constraints_t asn_OER_memb_eight_two_TypeI_SinglePanel_Restriction_constr_22 CC_NOTUSED = {
1385 256 /* (SIZE(256..256)) */};
1386 static asn_per_constraints_t asn_PER_memb_eight_two_TypeI_SinglePanel_Restriction_constr_22 CC_NOTUSED = {
1387 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1388 { APC_CONSTRAINED, 0, 0, 256, 256 } /* (SIZE(256..256)) */,
1389 0, 0 /* No PER value map */
1391 static asn_oer_constraints_t asn_OER_memb_sixteen_one_TypeI_SinglePanel_Restriction_constr_23 CC_NOTUSED = {
1393 64 /* (SIZE(64..64)) */};
1394 static asn_per_constraints_t asn_PER_memb_sixteen_one_TypeI_SinglePanel_Restriction_constr_23 CC_NOTUSED = {
1395 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1396 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
1397 0, 0 /* No PER value map */
1399 static asn_oer_constraints_t asn_OER_type_n1_n2_constr_10 CC_NOTUSED = {
1402 static asn_per_constraints_t asn_PER_type_n1_n2_constr_10 CC_NOTUSED = {
1403 { APC_CONSTRAINED, 4, 4, 0, 12 } /* (0..12) */,
1404 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1405 0, 0 /* No PER value map */
1407 static asn_oer_constraints_t asn_OER_memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constr_24 CC_NOTUSED = {
1409 16 /* (SIZE(16..16)) */};
1410 static asn_per_constraints_t asn_PER_memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constr_24 CC_NOTUSED = {
1411 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1412 { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
1413 0, 0 /* No PER value map */
1415 static asn_oer_constraints_t asn_OER_type_nrOfAntennaPorts_constr_6 CC_NOTUSED = {
1418 static asn_per_constraints_t asn_PER_type_nrOfAntennaPorts_constr_6 CC_NOTUSED = {
1419 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
1420 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1421 0, 0 /* No PER value map */
1423 static asn_oer_constraints_t asn_OER_memb_typeI_SinglePanel_ri_Restriction_constr_25 CC_NOTUSED = {
1425 8 /* (SIZE(8..8)) */};
1426 static asn_per_constraints_t asn_PER_memb_typeI_SinglePanel_ri_Restriction_constr_25 CC_NOTUSED = {
1427 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1428 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
1429 0, 0 /* No PER value map */
1431 static asn_oer_constraints_t asn_OER_memb_two_two_one_TypeI_MultiPanel_Restriction_constr_28 CC_NOTUSED = {
1433 8 /* (SIZE(8..8)) */};
1434 static asn_per_constraints_t asn_PER_memb_two_two_one_TypeI_MultiPanel_Restriction_constr_28 CC_NOTUSED = {
1435 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1436 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
1437 0, 0 /* No PER value map */
1439 static asn_oer_constraints_t asn_OER_memb_two_four_one_TypeI_MultiPanel_Restriction_constr_29 CC_NOTUSED = {
1441 16 /* (SIZE(16..16)) */};
1442 static asn_per_constraints_t asn_PER_memb_two_four_one_TypeI_MultiPanel_Restriction_constr_29 CC_NOTUSED = {
1443 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1444 { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
1445 0, 0 /* No PER value map */
1447 static asn_oer_constraints_t asn_OER_memb_four_two_one_TypeI_MultiPanel_Restriction_constr_30 CC_NOTUSED = {
1449 8 /* (SIZE(8..8)) */};
1450 static asn_per_constraints_t asn_PER_memb_four_two_one_TypeI_MultiPanel_Restriction_constr_30 CC_NOTUSED = {
1451 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1452 { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
1453 0, 0 /* No PER value map */
1455 static asn_oer_constraints_t asn_OER_memb_two_two_two_TypeI_MultiPanel_Restriction_constr_31 CC_NOTUSED = {
1457 64 /* (SIZE(64..64)) */};
1458 static asn_per_constraints_t asn_PER_memb_two_two_two_TypeI_MultiPanel_Restriction_constr_31 CC_NOTUSED = {
1459 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1460 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
1461 0, 0 /* No PER value map */
1463 static asn_oer_constraints_t asn_OER_memb_two_eight_one_TypeI_MultiPanel_Restriction_constr_32 CC_NOTUSED = {
1465 32 /* (SIZE(32..32)) */};
1466 static asn_per_constraints_t asn_PER_memb_two_eight_one_TypeI_MultiPanel_Restriction_constr_32 CC_NOTUSED = {
1467 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1468 { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
1469 0, 0 /* No PER value map */
1471 static asn_oer_constraints_t asn_OER_memb_four_four_one_TypeI_MultiPanel_Restriction_constr_33 CC_NOTUSED = {
1473 16 /* (SIZE(16..16)) */};
1474 static asn_per_constraints_t asn_PER_memb_four_four_one_TypeI_MultiPanel_Restriction_constr_33 CC_NOTUSED = {
1475 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1476 { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
1477 0, 0 /* No PER value map */
1479 static asn_oer_constraints_t asn_OER_memb_two_four_two_TypeI_MultiPanel_Restriction_constr_34 CC_NOTUSED = {
1481 128 /* (SIZE(128..128)) */};
1482 static asn_per_constraints_t asn_PER_memb_two_four_two_TypeI_MultiPanel_Restriction_constr_34 CC_NOTUSED = {
1483 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1484 { APC_CONSTRAINED, 0, 0, 128, 128 } /* (SIZE(128..128)) */,
1485 0, 0 /* No PER value map */
1487 static asn_oer_constraints_t asn_OER_memb_four_two_two_TypeI_MultiPanel_Restriction_constr_35 CC_NOTUSED = {
1489 64 /* (SIZE(64..64)) */};
1490 static asn_per_constraints_t asn_PER_memb_four_two_two_TypeI_MultiPanel_Restriction_constr_35 CC_NOTUSED = {
1491 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1492 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
1493 0, 0 /* No PER value map */
1495 static asn_oer_constraints_t asn_OER_type_ng_n1_n2_constr_27 CC_NOTUSED = {
1498 static asn_per_constraints_t asn_PER_type_ng_n1_n2_constr_27 CC_NOTUSED = {
1499 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
1500 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1501 0, 0 /* No PER value map */
1503 static asn_oer_constraints_t asn_OER_memb_ri_Restriction_constr_36 CC_NOTUSED = {
1505 4 /* (SIZE(4..4)) */};
1506 static asn_per_constraints_t asn_PER_memb_ri_Restriction_constr_36 CC_NOTUSED = {
1507 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1508 { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
1509 0, 0 /* No PER value map */
1511 static asn_oer_constraints_t asn_OER_type_subType_constr_4 CC_NOTUSED = {
1514 static asn_per_constraints_t asn_PER_type_subType_constr_4 CC_NOTUSED = {
1515 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
1516 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1517 0, 0 /* No PER value map */
1519 static asn_oer_constraints_t asn_OER_memb_codebookMode_constr_37 CC_NOTUSED = {
1520 { 1, 1 } /* (1..2) */,
1522 static asn_per_constraints_t asn_PER_memb_codebookMode_constr_37 CC_NOTUSED = {
1523 { APC_CONSTRAINED, 1, 1, 1, 2 } /* (1..2) */,
1524 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1525 0, 0 /* No PER value map */
1527 static asn_oer_constraints_t asn_OER_memb_two_one_constr_42 CC_NOTUSED = {
1529 16 /* (SIZE(16..16)) */};
1530 static asn_per_constraints_t asn_PER_memb_two_one_constr_42 CC_NOTUSED = {
1531 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1532 { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
1533 0, 0 /* No PER value map */
1535 static asn_oer_constraints_t asn_OER_memb_two_two_constr_43 CC_NOTUSED = {
1537 43 /* (SIZE(43..43)) */};
1538 static asn_per_constraints_t asn_PER_memb_two_two_constr_43 CC_NOTUSED = {
1539 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1540 { APC_CONSTRAINED, 0, 0, 43, 43 } /* (SIZE(43..43)) */,
1541 0, 0 /* No PER value map */
1543 static asn_oer_constraints_t asn_OER_memb_four_one_constr_44 CC_NOTUSED = {
1545 32 /* (SIZE(32..32)) */};
1546 static asn_per_constraints_t asn_PER_memb_four_one_constr_44 CC_NOTUSED = {
1547 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1548 { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
1549 0, 0 /* No PER value map */
1551 static asn_oer_constraints_t asn_OER_memb_three_two_constr_45 CC_NOTUSED = {
1553 59 /* (SIZE(59..59)) */};
1554 static asn_per_constraints_t asn_PER_memb_three_two_constr_45 CC_NOTUSED = {
1555 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1556 { APC_CONSTRAINED, 0, 0, 59, 59 } /* (SIZE(59..59)) */,
1557 0, 0 /* No PER value map */
1559 static asn_oer_constraints_t asn_OER_memb_six_one_constr_46 CC_NOTUSED = {
1561 48 /* (SIZE(48..48)) */};
1562 static asn_per_constraints_t asn_PER_memb_six_one_constr_46 CC_NOTUSED = {
1563 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1564 { APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
1565 0, 0 /* No PER value map */
1567 static asn_oer_constraints_t asn_OER_memb_four_two_constr_47 CC_NOTUSED = {
1569 75 /* (SIZE(75..75)) */};
1570 static asn_per_constraints_t asn_PER_memb_four_two_constr_47 CC_NOTUSED = {
1571 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1572 { APC_CONSTRAINED, 0, 0, 75, 75 } /* (SIZE(75..75)) */,
1573 0, 0 /* No PER value map */
1575 static asn_oer_constraints_t asn_OER_memb_eight_one_constr_48 CC_NOTUSED = {
1577 64 /* (SIZE(64..64)) */};
1578 static asn_per_constraints_t asn_PER_memb_eight_one_constr_48 CC_NOTUSED = {
1579 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1580 { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
1581 0, 0 /* No PER value map */
1583 static asn_oer_constraints_t asn_OER_memb_four_three_constr_49 CC_NOTUSED = {
1585 107 /* (SIZE(107..107)) */};
1586 static asn_per_constraints_t asn_PER_memb_four_three_constr_49 CC_NOTUSED = {
1587 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1588 { APC_CONSTRAINED, 0, 0, 107, 107 } /* (SIZE(107..107)) */,
1589 0, 0 /* No PER value map */
1591 static asn_oer_constraints_t asn_OER_memb_six_two_constr_50 CC_NOTUSED = {
1593 107 /* (SIZE(107..107)) */};
1594 static asn_per_constraints_t asn_PER_memb_six_two_constr_50 CC_NOTUSED = {
1595 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1596 { APC_CONSTRAINED, 0, 0, 107, 107 } /* (SIZE(107..107)) */,
1597 0, 0 /* No PER value map */
1599 static asn_oer_constraints_t asn_OER_memb_twelve_one_constr_51 CC_NOTUSED = {
1601 96 /* (SIZE(96..96)) */};
1602 static asn_per_constraints_t asn_PER_memb_twelve_one_constr_51 CC_NOTUSED = {
1603 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1604 { APC_CONSTRAINED, 0, 0, 96, 96 } /* (SIZE(96..96)) */,
1605 0, 0 /* No PER value map */
1607 static asn_oer_constraints_t asn_OER_memb_four_four_constr_52 CC_NOTUSED = {
1609 139 /* (SIZE(139..139)) */};
1610 static asn_per_constraints_t asn_PER_memb_four_four_constr_52 CC_NOTUSED = {
1611 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1612 { APC_CONSTRAINED, 0, 0, 139, 139 } /* (SIZE(139..139)) */,
1613 0, 0 /* No PER value map */
1615 static asn_oer_constraints_t asn_OER_memb_eight_two_constr_53 CC_NOTUSED = {
1617 139 /* (SIZE(139..139)) */};
1618 static asn_per_constraints_t asn_PER_memb_eight_two_constr_53 CC_NOTUSED = {
1619 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1620 { APC_CONSTRAINED, 0, 0, 139, 139 } /* (SIZE(139..139)) */,
1621 0, 0 /* No PER value map */
1623 static asn_oer_constraints_t asn_OER_memb_sixteen_one_constr_54 CC_NOTUSED = {
1625 128 /* (SIZE(128..128)) */};
1626 static asn_per_constraints_t asn_PER_memb_sixteen_one_constr_54 CC_NOTUSED = {
1627 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1628 { APC_CONSTRAINED, 0, 0, 128, 128 } /* (SIZE(128..128)) */,
1629 0, 0 /* No PER value map */
1631 static asn_oer_constraints_t asn_OER_type_n1_n2_codebookSubsetRestriction_constr_41 CC_NOTUSED = {
1634 static asn_per_constraints_t asn_PER_type_n1_n2_codebookSubsetRestriction_constr_41 CC_NOTUSED = {
1635 { APC_CONSTRAINED, 4, 4, 0, 12 } /* (0..12) */,
1636 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1637 0, 0 /* No PER value map */
1639 static asn_oer_constraints_t asn_OER_memb_typeII_RI_Restriction_constr_55 CC_NOTUSED = {
1641 2 /* (SIZE(2..2)) */};
1642 static asn_per_constraints_t asn_PER_memb_typeII_RI_Restriction_constr_55 CC_NOTUSED = {
1643 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1644 { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */,
1645 0, 0 /* No PER value map */
1647 static asn_oer_constraints_t asn_OER_type_portSelectionSamplingSize_constr_57 CC_NOTUSED = {
1650 static asn_per_constraints_t asn_PER_type_portSelectionSamplingSize_constr_57 CC_NOTUSED = {
1651 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
1652 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1653 0, 0 /* No PER value map */
1655 static asn_oer_constraints_t asn_OER_memb_typeII_PortSelectionRI_Restriction_constr_62 CC_NOTUSED = {
1657 2 /* (SIZE(2..2)) */};
1658 static asn_per_constraints_t asn_PER_memb_typeII_PortSelectionRI_Restriction_constr_62 CC_NOTUSED = {
1659 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1660 { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */,
1661 0, 0 /* No PER value map */
1663 static asn_oer_constraints_t asn_OER_type_subType_constr_39 CC_NOTUSED = {
1666 static asn_per_constraints_t asn_PER_type_subType_constr_39 CC_NOTUSED = {
1667 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
1668 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1669 0, 0 /* No PER value map */
1671 static asn_oer_constraints_t asn_OER_type_phaseAlphabetSize_constr_63 CC_NOTUSED = {
1674 static asn_per_constraints_t asn_PER_type_phaseAlphabetSize_constr_63 CC_NOTUSED = {
1675 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
1676 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1677 0, 0 /* No PER value map */
1679 static asn_oer_constraints_t asn_OER_type_numberOfBeams_constr_67 CC_NOTUSED = {
1682 static asn_per_constraints_t asn_PER_type_numberOfBeams_constr_67 CC_NOTUSED = {
1683 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
1684 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1685 0, 0 /* No PER value map */
1687 static asn_oer_constraints_t asn_OER_type_codebookType_constr_2 CC_NOTUSED = {
1690 static asn_per_constraints_t asn_PER_type_codebookType_constr_2 CC_NOTUSED = {
1691 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
1692 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1693 0, 0 /* No PER value map */
1695 static asn_TYPE_member_t asn_MBR_two_7[] = {
1696 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__two, twoTX_CodebookSubsetRestriction),
1697 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1698 -1, /* IMPLICIT tag at current level */
1699 &asn_DEF_BIT_STRING,
1701 { &asn_OER_memb_twoTX_CodebookSubsetRestriction_constr_8, &asn_PER_memb_twoTX_CodebookSubsetRestriction_constr_8, memb_twoTX_CodebookSubsetRestriction_constraint_7 },
1702 0, 0, /* No default value */
1703 "twoTX-CodebookSubsetRestriction"
1706 static const ber_tlv_tag_t asn_DEF_two_tags_7[] = {
1707 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1708 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1710 static const asn_TYPE_tag2member_t asn_MAP_two_tag2el_7[] = {
1711 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* twoTX-CodebookSubsetRestriction */
1713 static asn_SEQUENCE_specifics_t asn_SPC_two_specs_7 = {
1714 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__two),
1715 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__two, _asn_ctx),
1716 asn_MAP_two_tag2el_7,
1717 1, /* Count of tags in the map */
1718 0, 0, 0, /* Optional elements (not needed) */
1719 -1, /* First extension addition */
1721 static /* Use -fall-defs-global to expose */
1722 asn_TYPE_descriptor_t asn_DEF_two_7 = {
1727 sizeof(asn_DEF_two_tags_7)
1728 /sizeof(asn_DEF_two_tags_7[0]) - 1, /* 1 */
1729 asn_DEF_two_tags_7, /* Same as above */
1730 sizeof(asn_DEF_two_tags_7)
1731 /sizeof(asn_DEF_two_tags_7[0]), /* 2 */
1732 { 0, 0, SEQUENCE_constraint },
1734 1, /* Elements count */
1735 &asn_SPC_two_specs_7 /* Additional specs */
1738 static asn_TYPE_member_t asn_MBR_n1_n2_10[] = {
1739 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.two_one_TypeI_SinglePanel_Restriction),
1740 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1741 -1, /* IMPLICIT tag at current level */
1742 &asn_DEF_BIT_STRING,
1744 { &asn_OER_memb_two_one_TypeI_SinglePanel_Restriction_constr_11, &asn_PER_memb_two_one_TypeI_SinglePanel_Restriction_constr_11, memb_two_one_TypeI_SinglePanel_Restriction_constraint_10 },
1745 0, 0, /* No default value */
1746 "two-one-TypeI-SinglePanel-Restriction"
1748 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.two_two_TypeI_SinglePanel_Restriction),
1749 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1750 -1, /* IMPLICIT tag at current level */
1751 &asn_DEF_BIT_STRING,
1753 { &asn_OER_memb_two_two_TypeI_SinglePanel_Restriction_constr_12, &asn_PER_memb_two_two_TypeI_SinglePanel_Restriction_constr_12, memb_two_two_TypeI_SinglePanel_Restriction_constraint_10 },
1754 0, 0, /* No default value */
1755 "two-two-TypeI-SinglePanel-Restriction"
1757 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.four_one_TypeI_SinglePanel_Restriction),
1758 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1759 -1, /* IMPLICIT tag at current level */
1760 &asn_DEF_BIT_STRING,
1762 { &asn_OER_memb_four_one_TypeI_SinglePanel_Restriction_constr_13, &asn_PER_memb_four_one_TypeI_SinglePanel_Restriction_constr_13, memb_four_one_TypeI_SinglePanel_Restriction_constraint_10 },
1763 0, 0, /* No default value */
1764 "four-one-TypeI-SinglePanel-Restriction"
1766 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.three_two_TypeI_SinglePanel_Restriction),
1767 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1768 -1, /* IMPLICIT tag at current level */
1769 &asn_DEF_BIT_STRING,
1771 { &asn_OER_memb_three_two_TypeI_SinglePanel_Restriction_constr_14, &asn_PER_memb_three_two_TypeI_SinglePanel_Restriction_constr_14, memb_three_two_TypeI_SinglePanel_Restriction_constraint_10 },
1772 0, 0, /* No default value */
1773 "three-two-TypeI-SinglePanel-Restriction"
1775 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.six_one_TypeI_SinglePanel_Restriction),
1776 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1777 -1, /* IMPLICIT tag at current level */
1778 &asn_DEF_BIT_STRING,
1780 { &asn_OER_memb_six_one_TypeI_SinglePanel_Restriction_constr_15, &asn_PER_memb_six_one_TypeI_SinglePanel_Restriction_constr_15, memb_six_one_TypeI_SinglePanel_Restriction_constraint_10 },
1781 0, 0, /* No default value */
1782 "six-one-TypeI-SinglePanel-Restriction"
1784 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.four_two_TypeI_SinglePanel_Restriction),
1785 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1786 -1, /* IMPLICIT tag at current level */
1787 &asn_DEF_BIT_STRING,
1789 { &asn_OER_memb_four_two_TypeI_SinglePanel_Restriction_constr_16, &asn_PER_memb_four_two_TypeI_SinglePanel_Restriction_constr_16, memb_four_two_TypeI_SinglePanel_Restriction_constraint_10 },
1790 0, 0, /* No default value */
1791 "four-two-TypeI-SinglePanel-Restriction"
1793 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.eight_one_TypeI_SinglePanel_Restriction),
1794 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1795 -1, /* IMPLICIT tag at current level */
1796 &asn_DEF_BIT_STRING,
1798 { &asn_OER_memb_eight_one_TypeI_SinglePanel_Restriction_constr_17, &asn_PER_memb_eight_one_TypeI_SinglePanel_Restriction_constr_17, memb_eight_one_TypeI_SinglePanel_Restriction_constraint_10 },
1799 0, 0, /* No default value */
1800 "eight-one-TypeI-SinglePanel-Restriction"
1802 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.four_three_TypeI_SinglePanel_Restriction),
1803 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1804 -1, /* IMPLICIT tag at current level */
1805 &asn_DEF_BIT_STRING,
1807 { &asn_OER_memb_four_three_TypeI_SinglePanel_Restriction_constr_18, &asn_PER_memb_four_three_TypeI_SinglePanel_Restriction_constr_18, memb_four_three_TypeI_SinglePanel_Restriction_constraint_10 },
1808 0, 0, /* No default value */
1809 "four-three-TypeI-SinglePanel-Restriction"
1811 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.six_two_TypeI_SinglePanel_Restriction),
1812 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1813 -1, /* IMPLICIT tag at current level */
1814 &asn_DEF_BIT_STRING,
1816 { &asn_OER_memb_six_two_TypeI_SinglePanel_Restriction_constr_19, &asn_PER_memb_six_two_TypeI_SinglePanel_Restriction_constr_19, memb_six_two_TypeI_SinglePanel_Restriction_constraint_10 },
1817 0, 0, /* No default value */
1818 "six-two-TypeI-SinglePanel-Restriction"
1820 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.twelve_one_TypeI_SinglePanel_Restriction),
1821 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1822 -1, /* IMPLICIT tag at current level */
1823 &asn_DEF_BIT_STRING,
1825 { &asn_OER_memb_twelve_one_TypeI_SinglePanel_Restriction_constr_20, &asn_PER_memb_twelve_one_TypeI_SinglePanel_Restriction_constr_20, memb_twelve_one_TypeI_SinglePanel_Restriction_constraint_10 },
1826 0, 0, /* No default value */
1827 "twelve-one-TypeI-SinglePanel-Restriction"
1829 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.four_four_TypeI_SinglePanel_Restriction),
1830 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1831 -1, /* IMPLICIT tag at current level */
1832 &asn_DEF_BIT_STRING,
1834 { &asn_OER_memb_four_four_TypeI_SinglePanel_Restriction_constr_21, &asn_PER_memb_four_four_TypeI_SinglePanel_Restriction_constr_21, memb_four_four_TypeI_SinglePanel_Restriction_constraint_10 },
1835 0, 0, /* No default value */
1836 "four-four-TypeI-SinglePanel-Restriction"
1838 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.eight_two_TypeI_SinglePanel_Restriction),
1839 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1840 -1, /* IMPLICIT tag at current level */
1841 &asn_DEF_BIT_STRING,
1843 { &asn_OER_memb_eight_two_TypeI_SinglePanel_Restriction_constr_22, &asn_PER_memb_eight_two_TypeI_SinglePanel_Restriction_constr_22, memb_eight_two_TypeI_SinglePanel_Restriction_constraint_10 },
1844 0, 0, /* No default value */
1845 "eight-two-TypeI-SinglePanel-Restriction"
1847 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, choice.sixteen_one_TypeI_SinglePanel_Restriction),
1848 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1849 -1, /* IMPLICIT tag at current level */
1850 &asn_DEF_BIT_STRING,
1852 { &asn_OER_memb_sixteen_one_TypeI_SinglePanel_Restriction_constr_23, &asn_PER_memb_sixteen_one_TypeI_SinglePanel_Restriction_constr_23, memb_sixteen_one_TypeI_SinglePanel_Restriction_constraint_10 },
1853 0, 0, /* No default value */
1854 "sixteen-one-TypeI-SinglePanel-Restriction"
1857 static const asn_TYPE_tag2member_t asn_MAP_n1_n2_tag2el_10[] = {
1858 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* two-one-TypeI-SinglePanel-Restriction */
1859 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* two-two-TypeI-SinglePanel-Restriction */
1860 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* four-one-TypeI-SinglePanel-Restriction */
1861 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* three-two-TypeI-SinglePanel-Restriction */
1862 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* six-one-TypeI-SinglePanel-Restriction */
1863 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* four-two-TypeI-SinglePanel-Restriction */
1864 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eight-one-TypeI-SinglePanel-Restriction */
1865 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* four-three-TypeI-SinglePanel-Restriction */
1866 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* six-two-TypeI-SinglePanel-Restriction */
1867 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* twelve-one-TypeI-SinglePanel-Restriction */
1868 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* four-four-TypeI-SinglePanel-Restriction */
1869 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* eight-two-TypeI-SinglePanel-Restriction */
1870 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* sixteen-one-TypeI-SinglePanel-Restriction */
1872 static asn_CHOICE_specifics_t asn_SPC_n1_n2_specs_10 = {
1873 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2),
1874 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, _asn_ctx),
1875 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2, present),
1876 sizeof(((struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo__n1_n2 *)0)->present),
1877 asn_MAP_n1_n2_tag2el_10,
1878 13, /* Count of tags in the map */
1880 -1 /* Extensions start */
1882 static /* Use -fall-defs-global to expose */
1883 asn_TYPE_descriptor_t asn_DEF_n1_n2_10 = {
1887 0, /* No effective tags (pointer) */
1888 0, /* No effective tags (count) */
1889 0, /* No tags (pointer) */
1890 0, /* No tags (count) */
1891 { &asn_OER_type_n1_n2_constr_10, &asn_PER_type_n1_n2_constr_10, CHOICE_constraint },
1893 13, /* Elements count */
1894 &asn_SPC_n1_n2_specs_10 /* Additional specs */
1897 static asn_TYPE_member_t asn_MBR_moreThanTwo_9[] = {
1898 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo, n1_n2),
1899 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1900 +1, /* EXPLICIT tag at current level */
1904 0, 0, /* No default value */
1907 { ATF_POINTER, 1, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo, typeI_SinglePanel_codebookSubsetRestriction_i2),
1908 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1909 -1, /* IMPLICIT tag at current level */
1910 &asn_DEF_BIT_STRING,
1912 { &asn_OER_memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constr_24, &asn_PER_memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constr_24, memb_typeI_SinglePanel_codebookSubsetRestriction_i2_constraint_9 },
1913 0, 0, /* No default value */
1914 "typeI-SinglePanel-codebookSubsetRestriction-i2"
1917 static const int asn_MAP_moreThanTwo_oms_9[] = { 1 };
1918 static const ber_tlv_tag_t asn_DEF_moreThanTwo_tags_9[] = {
1919 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1920 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1922 static const asn_TYPE_tag2member_t asn_MAP_moreThanTwo_tag2el_9[] = {
1923 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n1-n2 */
1924 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeI-SinglePanel-codebookSubsetRestriction-i2 */
1926 static asn_SEQUENCE_specifics_t asn_SPC_moreThanTwo_specs_9 = {
1927 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo),
1928 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts__moreThanTwo, _asn_ctx),
1929 asn_MAP_moreThanTwo_tag2el_9,
1930 2, /* Count of tags in the map */
1931 asn_MAP_moreThanTwo_oms_9, /* Optional members */
1932 1, 0, /* Root/Additions */
1933 -1, /* First extension addition */
1935 static /* Use -fall-defs-global to expose */
1936 asn_TYPE_descriptor_t asn_DEF_moreThanTwo_9 = {
1940 asn_DEF_moreThanTwo_tags_9,
1941 sizeof(asn_DEF_moreThanTwo_tags_9)
1942 /sizeof(asn_DEF_moreThanTwo_tags_9[0]) - 1, /* 1 */
1943 asn_DEF_moreThanTwo_tags_9, /* Same as above */
1944 sizeof(asn_DEF_moreThanTwo_tags_9)
1945 /sizeof(asn_DEF_moreThanTwo_tags_9[0]), /* 2 */
1946 { 0, 0, SEQUENCE_constraint },
1947 asn_MBR_moreThanTwo_9,
1948 2, /* Elements count */
1949 &asn_SPC_moreThanTwo_specs_9 /* Additional specs */
1952 static asn_TYPE_member_t asn_MBR_nrOfAntennaPorts_6[] = {
1953 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts, choice.two),
1954 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1959 0, 0, /* No default value */
1962 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts, choice.moreThanTwo),
1963 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1965 &asn_DEF_moreThanTwo_9,
1968 0, 0, /* No default value */
1972 static const asn_TYPE_tag2member_t asn_MAP_nrOfAntennaPorts_tag2el_6[] = {
1973 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* two */
1974 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* moreThanTwo */
1976 static asn_CHOICE_specifics_t asn_SPC_nrOfAntennaPorts_specs_6 = {
1977 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts),
1978 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts, _asn_ctx),
1979 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts, present),
1980 sizeof(((struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts *)0)->present),
1981 asn_MAP_nrOfAntennaPorts_tag2el_6,
1982 2, /* Count of tags in the map */
1984 -1 /* Extensions start */
1986 static /* Use -fall-defs-global to expose */
1987 asn_TYPE_descriptor_t asn_DEF_nrOfAntennaPorts_6 = {
1991 0, /* No effective tags (pointer) */
1992 0, /* No effective tags (count) */
1993 0, /* No tags (pointer) */
1994 0, /* No tags (count) */
1995 { &asn_OER_type_nrOfAntennaPorts_constr_6, &asn_PER_type_nrOfAntennaPorts_constr_6, CHOICE_constraint },
1996 asn_MBR_nrOfAntennaPorts_6,
1997 2, /* Elements count */
1998 &asn_SPC_nrOfAntennaPorts_specs_6 /* Additional specs */
2001 static asn_TYPE_member_t asn_MBR_typeI_SinglePanel_5[] = {
2002 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel, nrOfAntennaPorts),
2003 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2004 +1, /* EXPLICIT tag at current level */
2005 &asn_DEF_nrOfAntennaPorts_6,
2008 0, 0, /* No default value */
2011 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel, typeI_SinglePanel_ri_Restriction),
2012 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2013 -1, /* IMPLICIT tag at current level */
2014 &asn_DEF_BIT_STRING,
2016 { &asn_OER_memb_typeI_SinglePanel_ri_Restriction_constr_25, &asn_PER_memb_typeI_SinglePanel_ri_Restriction_constr_25, memb_typeI_SinglePanel_ri_Restriction_constraint_5 },
2017 0, 0, /* No default value */
2018 "typeI-SinglePanel-ri-Restriction"
2021 static const ber_tlv_tag_t asn_DEF_typeI_SinglePanel_tags_5[] = {
2022 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2023 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2025 static const asn_TYPE_tag2member_t asn_MAP_typeI_SinglePanel_tag2el_5[] = {
2026 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrOfAntennaPorts */
2027 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeI-SinglePanel-ri-Restriction */
2029 static asn_SEQUENCE_specifics_t asn_SPC_typeI_SinglePanel_specs_5 = {
2030 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel),
2031 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_SinglePanel, _asn_ctx),
2032 asn_MAP_typeI_SinglePanel_tag2el_5,
2033 2, /* Count of tags in the map */
2034 0, 0, 0, /* Optional elements (not needed) */
2035 -1, /* First extension addition */
2037 static /* Use -fall-defs-global to expose */
2038 asn_TYPE_descriptor_t asn_DEF_typeI_SinglePanel_5 = {
2039 "typeI-SinglePanel",
2040 "typeI-SinglePanel",
2042 asn_DEF_typeI_SinglePanel_tags_5,
2043 sizeof(asn_DEF_typeI_SinglePanel_tags_5)
2044 /sizeof(asn_DEF_typeI_SinglePanel_tags_5[0]) - 1, /* 1 */
2045 asn_DEF_typeI_SinglePanel_tags_5, /* Same as above */
2046 sizeof(asn_DEF_typeI_SinglePanel_tags_5)
2047 /sizeof(asn_DEF_typeI_SinglePanel_tags_5[0]), /* 2 */
2048 { 0, 0, SEQUENCE_constraint },
2049 asn_MBR_typeI_SinglePanel_5,
2050 2, /* Elements count */
2051 &asn_SPC_typeI_SinglePanel_specs_5 /* Additional specs */
2054 static asn_TYPE_member_t asn_MBR_ng_n1_n2_27[] = {
2055 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.two_two_one_TypeI_MultiPanel_Restriction),
2056 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2057 -1, /* IMPLICIT tag at current level */
2058 &asn_DEF_BIT_STRING,
2060 { &asn_OER_memb_two_two_one_TypeI_MultiPanel_Restriction_constr_28, &asn_PER_memb_two_two_one_TypeI_MultiPanel_Restriction_constr_28, memb_two_two_one_TypeI_MultiPanel_Restriction_constraint_27 },
2061 0, 0, /* No default value */
2062 "two-two-one-TypeI-MultiPanel-Restriction"
2064 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.two_four_one_TypeI_MultiPanel_Restriction),
2065 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2066 -1, /* IMPLICIT tag at current level */
2067 &asn_DEF_BIT_STRING,
2069 { &asn_OER_memb_two_four_one_TypeI_MultiPanel_Restriction_constr_29, &asn_PER_memb_two_four_one_TypeI_MultiPanel_Restriction_constr_29, memb_two_four_one_TypeI_MultiPanel_Restriction_constraint_27 },
2070 0, 0, /* No default value */
2071 "two-four-one-TypeI-MultiPanel-Restriction"
2073 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.four_two_one_TypeI_MultiPanel_Restriction),
2074 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2075 -1, /* IMPLICIT tag at current level */
2076 &asn_DEF_BIT_STRING,
2078 { &asn_OER_memb_four_two_one_TypeI_MultiPanel_Restriction_constr_30, &asn_PER_memb_four_two_one_TypeI_MultiPanel_Restriction_constr_30, memb_four_two_one_TypeI_MultiPanel_Restriction_constraint_27 },
2079 0, 0, /* No default value */
2080 "four-two-one-TypeI-MultiPanel-Restriction"
2082 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.two_two_two_TypeI_MultiPanel_Restriction),
2083 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
2084 -1, /* IMPLICIT tag at current level */
2085 &asn_DEF_BIT_STRING,
2087 { &asn_OER_memb_two_two_two_TypeI_MultiPanel_Restriction_constr_31, &asn_PER_memb_two_two_two_TypeI_MultiPanel_Restriction_constr_31, memb_two_two_two_TypeI_MultiPanel_Restriction_constraint_27 },
2088 0, 0, /* No default value */
2089 "two-two-two-TypeI-MultiPanel-Restriction"
2091 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.two_eight_one_TypeI_MultiPanel_Restriction),
2092 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
2093 -1, /* IMPLICIT tag at current level */
2094 &asn_DEF_BIT_STRING,
2096 { &asn_OER_memb_two_eight_one_TypeI_MultiPanel_Restriction_constr_32, &asn_PER_memb_two_eight_one_TypeI_MultiPanel_Restriction_constr_32, memb_two_eight_one_TypeI_MultiPanel_Restriction_constraint_27 },
2097 0, 0, /* No default value */
2098 "two-eight-one-TypeI-MultiPanel-Restriction"
2100 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.four_four_one_TypeI_MultiPanel_Restriction),
2101 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
2102 -1, /* IMPLICIT tag at current level */
2103 &asn_DEF_BIT_STRING,
2105 { &asn_OER_memb_four_four_one_TypeI_MultiPanel_Restriction_constr_33, &asn_PER_memb_four_four_one_TypeI_MultiPanel_Restriction_constr_33, memb_four_four_one_TypeI_MultiPanel_Restriction_constraint_27 },
2106 0, 0, /* No default value */
2107 "four-four-one-TypeI-MultiPanel-Restriction"
2109 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.two_four_two_TypeI_MultiPanel_Restriction),
2110 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
2111 -1, /* IMPLICIT tag at current level */
2112 &asn_DEF_BIT_STRING,
2114 { &asn_OER_memb_two_four_two_TypeI_MultiPanel_Restriction_constr_34, &asn_PER_memb_two_four_two_TypeI_MultiPanel_Restriction_constr_34, memb_two_four_two_TypeI_MultiPanel_Restriction_constraint_27 },
2115 0, 0, /* No default value */
2116 "two-four-two-TypeI-MultiPanel-Restriction"
2118 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, choice.four_two_two_TypeI_MultiPanel_Restriction),
2119 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
2120 -1, /* IMPLICIT tag at current level */
2121 &asn_DEF_BIT_STRING,
2123 { &asn_OER_memb_four_two_two_TypeI_MultiPanel_Restriction_constr_35, &asn_PER_memb_four_two_two_TypeI_MultiPanel_Restriction_constr_35, memb_four_two_two_TypeI_MultiPanel_Restriction_constraint_27 },
2124 0, 0, /* No default value */
2125 "four-two-two-TypeI-MultiPanel-Restriction"
2128 static const asn_TYPE_tag2member_t asn_MAP_ng_n1_n2_tag2el_27[] = {
2129 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* two-two-one-TypeI-MultiPanel-Restriction */
2130 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* two-four-one-TypeI-MultiPanel-Restriction */
2131 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* four-two-one-TypeI-MultiPanel-Restriction */
2132 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* two-two-two-TypeI-MultiPanel-Restriction */
2133 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* two-eight-one-TypeI-MultiPanel-Restriction */
2134 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* four-four-one-TypeI-MultiPanel-Restriction */
2135 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* two-four-two-TypeI-MultiPanel-Restriction */
2136 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* four-two-two-TypeI-MultiPanel-Restriction */
2138 static asn_CHOICE_specifics_t asn_SPC_ng_n1_n2_specs_27 = {
2139 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2),
2140 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, _asn_ctx),
2141 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2, present),
2142 sizeof(((struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel__ng_n1_n2 *)0)->present),
2143 asn_MAP_ng_n1_n2_tag2el_27,
2144 8, /* Count of tags in the map */
2146 -1 /* Extensions start */
2148 static /* Use -fall-defs-global to expose */
2149 asn_TYPE_descriptor_t asn_DEF_ng_n1_n2_27 = {
2153 0, /* No effective tags (pointer) */
2154 0, /* No effective tags (count) */
2155 0, /* No tags (pointer) */
2156 0, /* No tags (count) */
2157 { &asn_OER_type_ng_n1_n2_constr_27, &asn_PER_type_ng_n1_n2_constr_27, CHOICE_constraint },
2158 asn_MBR_ng_n1_n2_27,
2159 8, /* Elements count */
2160 &asn_SPC_ng_n1_n2_specs_27 /* Additional specs */
2163 static asn_TYPE_member_t asn_MBR_typeI_MultiPanel_26[] = {
2164 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel, ng_n1_n2),
2165 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2166 +1, /* EXPLICIT tag at current level */
2167 &asn_DEF_ng_n1_n2_27,
2170 0, 0, /* No default value */
2173 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel, ri_Restriction),
2174 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2175 -1, /* IMPLICIT tag at current level */
2176 &asn_DEF_BIT_STRING,
2178 { &asn_OER_memb_ri_Restriction_constr_36, &asn_PER_memb_ri_Restriction_constr_36, memb_ri_Restriction_constraint_26 },
2179 0, 0, /* No default value */
2183 static const ber_tlv_tag_t asn_DEF_typeI_MultiPanel_tags_26[] = {
2184 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2185 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2187 static const asn_TYPE_tag2member_t asn_MAP_typeI_MultiPanel_tag2el_26[] = {
2188 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ng-n1-n2 */
2189 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ri-Restriction */
2191 static asn_SEQUENCE_specifics_t asn_SPC_typeI_MultiPanel_specs_26 = {
2192 sizeof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel),
2193 offsetof(struct CodebookConfig__codebookType__type1__subType__typeI_MultiPanel, _asn_ctx),
2194 asn_MAP_typeI_MultiPanel_tag2el_26,
2195 2, /* Count of tags in the map */
2196 0, 0, 0, /* Optional elements (not needed) */
2197 -1, /* First extension addition */
2199 static /* Use -fall-defs-global to expose */
2200 asn_TYPE_descriptor_t asn_DEF_typeI_MultiPanel_26 = {
2204 asn_DEF_typeI_MultiPanel_tags_26,
2205 sizeof(asn_DEF_typeI_MultiPanel_tags_26)
2206 /sizeof(asn_DEF_typeI_MultiPanel_tags_26[0]) - 1, /* 1 */
2207 asn_DEF_typeI_MultiPanel_tags_26, /* Same as above */
2208 sizeof(asn_DEF_typeI_MultiPanel_tags_26)
2209 /sizeof(asn_DEF_typeI_MultiPanel_tags_26[0]), /* 2 */
2210 { 0, 0, SEQUENCE_constraint },
2211 asn_MBR_typeI_MultiPanel_26,
2212 2, /* Elements count */
2213 &asn_SPC_typeI_MultiPanel_specs_26 /* Additional specs */
2216 static asn_TYPE_member_t asn_MBR_subType_4[] = {
2217 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type1__subType, choice.typeI_SinglePanel),
2218 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2220 &asn_DEF_typeI_SinglePanel_5,
2223 0, 0, /* No default value */
2226 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type1__subType, choice.typeI_MultiPanel),
2227 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2229 &asn_DEF_typeI_MultiPanel_26,
2232 0, 0, /* No default value */
2236 static const asn_TYPE_tag2member_t asn_MAP_subType_tag2el_4[] = {
2237 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeI-SinglePanel */
2238 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeI-MultiPanel */
2240 static asn_CHOICE_specifics_t asn_SPC_subType_specs_4 = {
2241 sizeof(struct CodebookConfig__codebookType__type1__subType),
2242 offsetof(struct CodebookConfig__codebookType__type1__subType, _asn_ctx),
2243 offsetof(struct CodebookConfig__codebookType__type1__subType, present),
2244 sizeof(((struct CodebookConfig__codebookType__type1__subType *)0)->present),
2245 asn_MAP_subType_tag2el_4,
2246 2, /* Count of tags in the map */
2248 -1 /* Extensions start */
2250 static /* Use -fall-defs-global to expose */
2251 asn_TYPE_descriptor_t asn_DEF_subType_4 = {
2255 0, /* No effective tags (pointer) */
2256 0, /* No effective tags (count) */
2257 0, /* No tags (pointer) */
2258 0, /* No tags (count) */
2259 { &asn_OER_type_subType_constr_4, &asn_PER_type_subType_constr_4, CHOICE_constraint },
2261 2, /* Elements count */
2262 &asn_SPC_subType_specs_4 /* Additional specs */
2265 static asn_TYPE_member_t asn_MBR_type1_3[] = {
2266 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1, subType),
2267 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2268 +1, /* EXPLICIT tag at current level */
2272 0, 0, /* No default value */
2275 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type1, codebookMode),
2276 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2277 -1, /* IMPLICIT tag at current level */
2278 &asn_DEF_NativeInteger,
2280 { &asn_OER_memb_codebookMode_constr_37, &asn_PER_memb_codebookMode_constr_37, memb_codebookMode_constraint_3 },
2281 0, 0, /* No default value */
2285 static const ber_tlv_tag_t asn_DEF_type1_tags_3[] = {
2286 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2287 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2289 static const asn_TYPE_tag2member_t asn_MAP_type1_tag2el_3[] = {
2290 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subType */
2291 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* codebookMode */
2293 static asn_SEQUENCE_specifics_t asn_SPC_type1_specs_3 = {
2294 sizeof(struct CodebookConfig__codebookType__type1),
2295 offsetof(struct CodebookConfig__codebookType__type1, _asn_ctx),
2296 asn_MAP_type1_tag2el_3,
2297 2, /* Count of tags in the map */
2298 0, 0, 0, /* Optional elements (not needed) */
2299 -1, /* First extension addition */
2301 static /* Use -fall-defs-global to expose */
2302 asn_TYPE_descriptor_t asn_DEF_type1_3 = {
2306 asn_DEF_type1_tags_3,
2307 sizeof(asn_DEF_type1_tags_3)
2308 /sizeof(asn_DEF_type1_tags_3[0]) - 1, /* 1 */
2309 asn_DEF_type1_tags_3, /* Same as above */
2310 sizeof(asn_DEF_type1_tags_3)
2311 /sizeof(asn_DEF_type1_tags_3[0]), /* 2 */
2312 { 0, 0, SEQUENCE_constraint },
2314 2, /* Elements count */
2315 &asn_SPC_type1_specs_3 /* Additional specs */
2318 static asn_TYPE_member_t asn_MBR_n1_n2_codebookSubsetRestriction_41[] = {
2319 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.two_one),
2320 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2321 -1, /* IMPLICIT tag at current level */
2322 &asn_DEF_BIT_STRING,
2324 { &asn_OER_memb_two_one_constr_42, &asn_PER_memb_two_one_constr_42, memb_two_one_constraint_41 },
2325 0, 0, /* No default value */
2328 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.two_two),
2329 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2330 -1, /* IMPLICIT tag at current level */
2331 &asn_DEF_BIT_STRING,
2333 { &asn_OER_memb_two_two_constr_43, &asn_PER_memb_two_two_constr_43, memb_two_two_constraint_41 },
2334 0, 0, /* No default value */
2337 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.four_one),
2338 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2339 -1, /* IMPLICIT tag at current level */
2340 &asn_DEF_BIT_STRING,
2342 { &asn_OER_memb_four_one_constr_44, &asn_PER_memb_four_one_constr_44, memb_four_one_constraint_41 },
2343 0, 0, /* No default value */
2346 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.three_two),
2347 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
2348 -1, /* IMPLICIT tag at current level */
2349 &asn_DEF_BIT_STRING,
2351 { &asn_OER_memb_three_two_constr_45, &asn_PER_memb_three_two_constr_45, memb_three_two_constraint_41 },
2352 0, 0, /* No default value */
2355 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.six_one),
2356 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
2357 -1, /* IMPLICIT tag at current level */
2358 &asn_DEF_BIT_STRING,
2360 { &asn_OER_memb_six_one_constr_46, &asn_PER_memb_six_one_constr_46, memb_six_one_constraint_41 },
2361 0, 0, /* No default value */
2364 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.four_two),
2365 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
2366 -1, /* IMPLICIT tag at current level */
2367 &asn_DEF_BIT_STRING,
2369 { &asn_OER_memb_four_two_constr_47, &asn_PER_memb_four_two_constr_47, memb_four_two_constraint_41 },
2370 0, 0, /* No default value */
2373 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.eight_one),
2374 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
2375 -1, /* IMPLICIT tag at current level */
2376 &asn_DEF_BIT_STRING,
2378 { &asn_OER_memb_eight_one_constr_48, &asn_PER_memb_eight_one_constr_48, memb_eight_one_constraint_41 },
2379 0, 0, /* No default value */
2382 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.four_three),
2383 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
2384 -1, /* IMPLICIT tag at current level */
2385 &asn_DEF_BIT_STRING,
2387 { &asn_OER_memb_four_three_constr_49, &asn_PER_memb_four_three_constr_49, memb_four_three_constraint_41 },
2388 0, 0, /* No default value */
2391 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.six_two),
2392 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
2393 -1, /* IMPLICIT tag at current level */
2394 &asn_DEF_BIT_STRING,
2396 { &asn_OER_memb_six_two_constr_50, &asn_PER_memb_six_two_constr_50, memb_six_two_constraint_41 },
2397 0, 0, /* No default value */
2400 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.twelve_one),
2401 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
2402 -1, /* IMPLICIT tag at current level */
2403 &asn_DEF_BIT_STRING,
2405 { &asn_OER_memb_twelve_one_constr_51, &asn_PER_memb_twelve_one_constr_51, memb_twelve_one_constraint_41 },
2406 0, 0, /* No default value */
2409 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.four_four),
2410 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
2411 -1, /* IMPLICIT tag at current level */
2412 &asn_DEF_BIT_STRING,
2414 { &asn_OER_memb_four_four_constr_52, &asn_PER_memb_four_four_constr_52, memb_four_four_constraint_41 },
2415 0, 0, /* No default value */
2418 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.eight_two),
2419 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
2420 -1, /* IMPLICIT tag at current level */
2421 &asn_DEF_BIT_STRING,
2423 { &asn_OER_memb_eight_two_constr_53, &asn_PER_memb_eight_two_constr_53, memb_eight_two_constraint_41 },
2424 0, 0, /* No default value */
2427 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, choice.sixteen_one),
2428 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
2429 -1, /* IMPLICIT tag at current level */
2430 &asn_DEF_BIT_STRING,
2432 { &asn_OER_memb_sixteen_one_constr_54, &asn_PER_memb_sixteen_one_constr_54, memb_sixteen_one_constraint_41 },
2433 0, 0, /* No default value */
2437 static const asn_TYPE_tag2member_t asn_MAP_n1_n2_codebookSubsetRestriction_tag2el_41[] = {
2438 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* two-one */
2439 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* two-two */
2440 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* four-one */
2441 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* three-two */
2442 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* six-one */
2443 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* four-two */
2444 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eight-one */
2445 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* four-three */
2446 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* six-two */
2447 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* twelve-one */
2448 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* four-four */
2449 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* eight-two */
2450 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* sixteen-one */
2452 static asn_CHOICE_specifics_t asn_SPC_n1_n2_codebookSubsetRestriction_specs_41 = {
2453 sizeof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction),
2454 offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, _asn_ctx),
2455 offsetof(struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction, present),
2456 sizeof(((struct CodebookConfig__codebookType__type2__subType__typeII__n1_n2_codebookSubsetRestriction *)0)->present),
2457 asn_MAP_n1_n2_codebookSubsetRestriction_tag2el_41,
2458 13, /* Count of tags in the map */
2460 -1 /* Extensions start */
2462 static /* Use -fall-defs-global to expose */
2463 asn_TYPE_descriptor_t asn_DEF_n1_n2_codebookSubsetRestriction_41 = {
2464 "n1-n2-codebookSubsetRestriction",
2465 "n1-n2-codebookSubsetRestriction",
2467 0, /* No effective tags (pointer) */
2468 0, /* No effective tags (count) */
2469 0, /* No tags (pointer) */
2470 0, /* No tags (count) */
2471 { &asn_OER_type_n1_n2_codebookSubsetRestriction_constr_41, &asn_PER_type_n1_n2_codebookSubsetRestriction_constr_41, CHOICE_constraint },
2472 asn_MBR_n1_n2_codebookSubsetRestriction_41,
2473 13, /* Elements count */
2474 &asn_SPC_n1_n2_codebookSubsetRestriction_specs_41 /* Additional specs */
2477 static asn_TYPE_member_t asn_MBR_typeII_40[] = {
2478 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII, n1_n2_codebookSubsetRestriction),
2479 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2480 +1, /* EXPLICIT tag at current level */
2481 &asn_DEF_n1_n2_codebookSubsetRestriction_41,
2484 0, 0, /* No default value */
2485 "n1-n2-codebookSubsetRestriction"
2487 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII, typeII_RI_Restriction),
2488 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2489 -1, /* IMPLICIT tag at current level */
2490 &asn_DEF_BIT_STRING,
2492 { &asn_OER_memb_typeII_RI_Restriction_constr_55, &asn_PER_memb_typeII_RI_Restriction_constr_55, memb_typeII_RI_Restriction_constraint_40 },
2493 0, 0, /* No default value */
2494 "typeII-RI-Restriction"
2497 static const ber_tlv_tag_t asn_DEF_typeII_tags_40[] = {
2498 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2499 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2501 static const asn_TYPE_tag2member_t asn_MAP_typeII_tag2el_40[] = {
2502 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n1-n2-codebookSubsetRestriction */
2503 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeII-RI-Restriction */
2505 static asn_SEQUENCE_specifics_t asn_SPC_typeII_specs_40 = {
2506 sizeof(struct CodebookConfig__codebookType__type2__subType__typeII),
2507 offsetof(struct CodebookConfig__codebookType__type2__subType__typeII, _asn_ctx),
2508 asn_MAP_typeII_tag2el_40,
2509 2, /* Count of tags in the map */
2510 0, 0, 0, /* Optional elements (not needed) */
2511 -1, /* First extension addition */
2513 static /* Use -fall-defs-global to expose */
2514 asn_TYPE_descriptor_t asn_DEF_typeII_40 = {
2518 asn_DEF_typeII_tags_40,
2519 sizeof(asn_DEF_typeII_tags_40)
2520 /sizeof(asn_DEF_typeII_tags_40[0]) - 1, /* 1 */
2521 asn_DEF_typeII_tags_40, /* Same as above */
2522 sizeof(asn_DEF_typeII_tags_40)
2523 /sizeof(asn_DEF_typeII_tags_40[0]), /* 2 */
2524 { 0, 0, SEQUENCE_constraint },
2526 2, /* Elements count */
2527 &asn_SPC_typeII_specs_40 /* Additional specs */
2530 static const asn_INTEGER_enum_map_t asn_MAP_portSelectionSamplingSize_value2enum_57[] = {
2536 static const unsigned int asn_MAP_portSelectionSamplingSize_enum2value_57[] = {
2542 static const asn_INTEGER_specifics_t asn_SPC_portSelectionSamplingSize_specs_57 = {
2543 asn_MAP_portSelectionSamplingSize_value2enum_57, /* "tag" => N; sorted by tag */
2544 asn_MAP_portSelectionSamplingSize_enum2value_57, /* N => "tag"; sorted by N */
2545 4, /* Number of elements in the maps */
2546 0, /* Enumeration is not extensible */
2547 1, /* Strict enumeration */
2548 0, /* Native long size */
2551 static const ber_tlv_tag_t asn_DEF_portSelectionSamplingSize_tags_57[] = {
2552 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2553 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2555 static /* Use -fall-defs-global to expose */
2556 asn_TYPE_descriptor_t asn_DEF_portSelectionSamplingSize_57 = {
2557 "portSelectionSamplingSize",
2558 "portSelectionSamplingSize",
2559 &asn_OP_NativeEnumerated,
2560 asn_DEF_portSelectionSamplingSize_tags_57,
2561 sizeof(asn_DEF_portSelectionSamplingSize_tags_57)
2562 /sizeof(asn_DEF_portSelectionSamplingSize_tags_57[0]) - 1, /* 1 */
2563 asn_DEF_portSelectionSamplingSize_tags_57, /* Same as above */
2564 sizeof(asn_DEF_portSelectionSamplingSize_tags_57)
2565 /sizeof(asn_DEF_portSelectionSamplingSize_tags_57[0]), /* 2 */
2566 { &asn_OER_type_portSelectionSamplingSize_constr_57, &asn_PER_type_portSelectionSamplingSize_constr_57, NativeEnumerated_constraint },
2567 0, 0, /* Defined elsewhere */
2568 &asn_SPC_portSelectionSamplingSize_specs_57 /* Additional specs */
2571 static asn_TYPE_member_t asn_MBR_typeII_PortSelection_56[] = {
2572 { ATF_POINTER, 1, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII_PortSelection, portSelectionSamplingSize),
2573 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2574 -1, /* IMPLICIT tag at current level */
2575 &asn_DEF_portSelectionSamplingSize_57,
2578 0, 0, /* No default value */
2579 "portSelectionSamplingSize"
2581 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2__subType__typeII_PortSelection, typeII_PortSelectionRI_Restriction),
2582 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2583 -1, /* IMPLICIT tag at current level */
2584 &asn_DEF_BIT_STRING,
2586 { &asn_OER_memb_typeII_PortSelectionRI_Restriction_constr_62, &asn_PER_memb_typeII_PortSelectionRI_Restriction_constr_62, memb_typeII_PortSelectionRI_Restriction_constraint_56 },
2587 0, 0, /* No default value */
2588 "typeII-PortSelectionRI-Restriction"
2591 static const int asn_MAP_typeII_PortSelection_oms_56[] = { 0 };
2592 static const ber_tlv_tag_t asn_DEF_typeII_PortSelection_tags_56[] = {
2593 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2594 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2596 static const asn_TYPE_tag2member_t asn_MAP_typeII_PortSelection_tag2el_56[] = {
2597 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* portSelectionSamplingSize */
2598 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeII-PortSelectionRI-Restriction */
2600 static asn_SEQUENCE_specifics_t asn_SPC_typeII_PortSelection_specs_56 = {
2601 sizeof(struct CodebookConfig__codebookType__type2__subType__typeII_PortSelection),
2602 offsetof(struct CodebookConfig__codebookType__type2__subType__typeII_PortSelection, _asn_ctx),
2603 asn_MAP_typeII_PortSelection_tag2el_56,
2604 2, /* Count of tags in the map */
2605 asn_MAP_typeII_PortSelection_oms_56, /* Optional members */
2606 1, 0, /* Root/Additions */
2607 -1, /* First extension addition */
2609 static /* Use -fall-defs-global to expose */
2610 asn_TYPE_descriptor_t asn_DEF_typeII_PortSelection_56 = {
2611 "typeII-PortSelection",
2612 "typeII-PortSelection",
2614 asn_DEF_typeII_PortSelection_tags_56,
2615 sizeof(asn_DEF_typeII_PortSelection_tags_56)
2616 /sizeof(asn_DEF_typeII_PortSelection_tags_56[0]) - 1, /* 1 */
2617 asn_DEF_typeII_PortSelection_tags_56, /* Same as above */
2618 sizeof(asn_DEF_typeII_PortSelection_tags_56)
2619 /sizeof(asn_DEF_typeII_PortSelection_tags_56[0]), /* 2 */
2620 { 0, 0, SEQUENCE_constraint },
2621 asn_MBR_typeII_PortSelection_56,
2622 2, /* Elements count */
2623 &asn_SPC_typeII_PortSelection_specs_56 /* Additional specs */
2626 static asn_TYPE_member_t asn_MBR_subType_39[] = {
2627 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type2__subType, choice.typeII),
2628 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2633 0, 0, /* No default value */
2636 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType__type2__subType, choice.typeII_PortSelection),
2637 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2639 &asn_DEF_typeII_PortSelection_56,
2642 0, 0, /* No default value */
2643 "typeII-PortSelection"
2646 static const asn_TYPE_tag2member_t asn_MAP_subType_tag2el_39[] = {
2647 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeII */
2648 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* typeII-PortSelection */
2650 static asn_CHOICE_specifics_t asn_SPC_subType_specs_39 = {
2651 sizeof(struct CodebookConfig__codebookType__type2__subType),
2652 offsetof(struct CodebookConfig__codebookType__type2__subType, _asn_ctx),
2653 offsetof(struct CodebookConfig__codebookType__type2__subType, present),
2654 sizeof(((struct CodebookConfig__codebookType__type2__subType *)0)->present),
2655 asn_MAP_subType_tag2el_39,
2656 2, /* Count of tags in the map */
2658 -1 /* Extensions start */
2660 static /* Use -fall-defs-global to expose */
2661 asn_TYPE_descriptor_t asn_DEF_subType_39 = {
2665 0, /* No effective tags (pointer) */
2666 0, /* No effective tags (count) */
2667 0, /* No tags (pointer) */
2668 0, /* No tags (count) */
2669 { &asn_OER_type_subType_constr_39, &asn_PER_type_subType_constr_39, CHOICE_constraint },
2671 2, /* Elements count */
2672 &asn_SPC_subType_specs_39 /* Additional specs */
2675 static const asn_INTEGER_enum_map_t asn_MAP_phaseAlphabetSize_value2enum_63[] = {
2679 static const unsigned int asn_MAP_phaseAlphabetSize_enum2value_63[] = {
2683 static const asn_INTEGER_specifics_t asn_SPC_phaseAlphabetSize_specs_63 = {
2684 asn_MAP_phaseAlphabetSize_value2enum_63, /* "tag" => N; sorted by tag */
2685 asn_MAP_phaseAlphabetSize_enum2value_63, /* N => "tag"; sorted by N */
2686 2, /* Number of elements in the maps */
2687 0, /* Enumeration is not extensible */
2688 1, /* Strict enumeration */
2689 0, /* Native long size */
2692 static const ber_tlv_tag_t asn_DEF_phaseAlphabetSize_tags_63[] = {
2693 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2694 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2696 static /* Use -fall-defs-global to expose */
2697 asn_TYPE_descriptor_t asn_DEF_phaseAlphabetSize_63 = {
2698 "phaseAlphabetSize",
2699 "phaseAlphabetSize",
2700 &asn_OP_NativeEnumerated,
2701 asn_DEF_phaseAlphabetSize_tags_63,
2702 sizeof(asn_DEF_phaseAlphabetSize_tags_63)
2703 /sizeof(asn_DEF_phaseAlphabetSize_tags_63[0]) - 1, /* 1 */
2704 asn_DEF_phaseAlphabetSize_tags_63, /* Same as above */
2705 sizeof(asn_DEF_phaseAlphabetSize_tags_63)
2706 /sizeof(asn_DEF_phaseAlphabetSize_tags_63[0]), /* 2 */
2707 { &asn_OER_type_phaseAlphabetSize_constr_63, &asn_PER_type_phaseAlphabetSize_constr_63, NativeEnumerated_constraint },
2708 0, 0, /* Defined elsewhere */
2709 &asn_SPC_phaseAlphabetSize_specs_63 /* Additional specs */
2712 static const asn_INTEGER_enum_map_t asn_MAP_numberOfBeams_value2enum_67[] = {
2717 static const unsigned int asn_MAP_numberOfBeams_enum2value_67[] = {
2722 static const asn_INTEGER_specifics_t asn_SPC_numberOfBeams_specs_67 = {
2723 asn_MAP_numberOfBeams_value2enum_67, /* "tag" => N; sorted by tag */
2724 asn_MAP_numberOfBeams_enum2value_67, /* N => "tag"; sorted by N */
2725 3, /* Number of elements in the maps */
2726 0, /* Enumeration is not extensible */
2727 1, /* Strict enumeration */
2728 0, /* Native long size */
2731 static const ber_tlv_tag_t asn_DEF_numberOfBeams_tags_67[] = {
2732 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
2733 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2735 static /* Use -fall-defs-global to expose */
2736 asn_TYPE_descriptor_t asn_DEF_numberOfBeams_67 = {
2739 &asn_OP_NativeEnumerated,
2740 asn_DEF_numberOfBeams_tags_67,
2741 sizeof(asn_DEF_numberOfBeams_tags_67)
2742 /sizeof(asn_DEF_numberOfBeams_tags_67[0]) - 1, /* 1 */
2743 asn_DEF_numberOfBeams_tags_67, /* Same as above */
2744 sizeof(asn_DEF_numberOfBeams_tags_67)
2745 /sizeof(asn_DEF_numberOfBeams_tags_67[0]), /* 2 */
2746 { &asn_OER_type_numberOfBeams_constr_67, &asn_PER_type_numberOfBeams_constr_67, NativeEnumerated_constraint },
2747 0, 0, /* Defined elsewhere */
2748 &asn_SPC_numberOfBeams_specs_67 /* Additional specs */
2751 static asn_TYPE_member_t asn_MBR_type2_38[] = {
2752 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2, subType),
2753 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2754 +1, /* EXPLICIT tag at current level */
2755 &asn_DEF_subType_39,
2758 0, 0, /* No default value */
2761 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2, phaseAlphabetSize),
2762 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2763 -1, /* IMPLICIT tag at current level */
2764 &asn_DEF_phaseAlphabetSize_63,
2767 0, 0, /* No default value */
2770 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2, subbandAmplitude),
2771 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2772 -1, /* IMPLICIT tag at current level */
2776 0, 0, /* No default value */
2779 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig__codebookType__type2, numberOfBeams),
2780 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
2781 -1, /* IMPLICIT tag at current level */
2782 &asn_DEF_numberOfBeams_67,
2785 0, 0, /* No default value */
2789 static const ber_tlv_tag_t asn_DEF_type2_tags_38[] = {
2790 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2791 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2793 static const asn_TYPE_tag2member_t asn_MAP_type2_tag2el_38[] = {
2794 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subType */
2795 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* phaseAlphabetSize */
2796 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subbandAmplitude */
2797 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* numberOfBeams */
2799 static asn_SEQUENCE_specifics_t asn_SPC_type2_specs_38 = {
2800 sizeof(struct CodebookConfig__codebookType__type2),
2801 offsetof(struct CodebookConfig__codebookType__type2, _asn_ctx),
2802 asn_MAP_type2_tag2el_38,
2803 4, /* Count of tags in the map */
2804 0, 0, 0, /* Optional elements (not needed) */
2805 -1, /* First extension addition */
2807 static /* Use -fall-defs-global to expose */
2808 asn_TYPE_descriptor_t asn_DEF_type2_38 = {
2812 asn_DEF_type2_tags_38,
2813 sizeof(asn_DEF_type2_tags_38)
2814 /sizeof(asn_DEF_type2_tags_38[0]) - 1, /* 1 */
2815 asn_DEF_type2_tags_38, /* Same as above */
2816 sizeof(asn_DEF_type2_tags_38)
2817 /sizeof(asn_DEF_type2_tags_38[0]), /* 2 */
2818 { 0, 0, SEQUENCE_constraint },
2820 4, /* Elements count */
2821 &asn_SPC_type2_specs_38 /* Additional specs */
2824 static asn_TYPE_member_t asn_MBR_codebookType_2[] = {
2825 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType, choice.type1),
2826 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2831 0, 0, /* No default value */
2834 { ATF_POINTER, 0, offsetof(struct CodebookConfig__codebookType, choice.type2),
2835 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2840 0, 0, /* No default value */
2844 static const asn_TYPE_tag2member_t asn_MAP_codebookType_tag2el_2[] = {
2845 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type1 */
2846 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* type2 */
2848 static asn_CHOICE_specifics_t asn_SPC_codebookType_specs_2 = {
2849 sizeof(struct CodebookConfig__codebookType),
2850 offsetof(struct CodebookConfig__codebookType, _asn_ctx),
2851 offsetof(struct CodebookConfig__codebookType, present),
2852 sizeof(((struct CodebookConfig__codebookType *)0)->present),
2853 asn_MAP_codebookType_tag2el_2,
2854 2, /* Count of tags in the map */
2856 -1 /* Extensions start */
2858 static /* Use -fall-defs-global to expose */
2859 asn_TYPE_descriptor_t asn_DEF_codebookType_2 = {
2863 0, /* No effective tags (pointer) */
2864 0, /* No effective tags (count) */
2865 0, /* No tags (pointer) */
2866 0, /* No tags (count) */
2867 { &asn_OER_type_codebookType_constr_2, &asn_PER_type_codebookType_constr_2, CHOICE_constraint },
2868 asn_MBR_codebookType_2,
2869 2, /* Elements count */
2870 &asn_SPC_codebookType_specs_2 /* Additional specs */
2873 asn_TYPE_member_t asn_MBR_CodebookConfig_1[] = {
2874 { ATF_NOFLAGS, 0, offsetof(struct CodebookConfig, codebookType),
2875 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2876 +1, /* EXPLICIT tag at current level */
2877 &asn_DEF_codebookType_2,
2880 0, 0, /* No default value */
2884 static const ber_tlv_tag_t asn_DEF_CodebookConfig_tags_1[] = {
2885 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2887 static const asn_TYPE_tag2member_t asn_MAP_CodebookConfig_tag2el_1[] = {
2888 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* codebookType */
2890 asn_SEQUENCE_specifics_t asn_SPC_CodebookConfig_specs_1 = {
2891 sizeof(struct CodebookConfig),
2892 offsetof(struct CodebookConfig, _asn_ctx),
2893 asn_MAP_CodebookConfig_tag2el_1,
2894 1, /* Count of tags in the map */
2895 0, 0, 0, /* Optional elements (not needed) */
2896 -1, /* First extension addition */
2898 asn_TYPE_descriptor_t asn_DEF_CodebookConfig = {
2902 asn_DEF_CodebookConfig_tags_1,
2903 sizeof(asn_DEF_CodebookConfig_tags_1)
2904 /sizeof(asn_DEF_CodebookConfig_tags_1[0]), /* 1 */
2905 asn_DEF_CodebookConfig_tags_1, /* Same as above */
2906 sizeof(asn_DEF_CodebookConfig_tags_1)
2907 /sizeof(asn_DEF_CodebookConfig_tags_1[0]), /* 1 */
2908 { 0, 0, SEQUENCE_constraint },
2909 asn_MBR_CodebookConfig_1,
2910 1, /* Elements count */
2911 &asn_SPC_CodebookConfig_specs_1 /* Additional specs */