Initial commit for Bronze release
[o-du/l2.git] / src / codec_utils / SYSINFO / RACH-ConfigCommon.c
diff --git a/src/codec_utils/SYSINFO/RACH-ConfigCommon.c b/src/codec_utils/SYSINFO/RACH-ConfigCommon.c
new file mode 100644 (file)
index 0000000..1e86751
--- /dev/null
@@ -0,0 +1,1286 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "NR-RRC-Definitions"
+ *     found in "../../mib_sib1.asn1"
+ *     `asn1c -D ./mib_sib_out/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RACH-ConfigCommon.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_four_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 16)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_eight_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 8)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_sixteen_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 4)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_numberOfRA_PreamblesGroupA_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 64)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_l839_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 837)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_l139_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 137)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_totalNumberOfRA_Preambles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 63)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_oneEighth_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_oneEighth_constr_5 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_oneFourth_constr_22 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_oneFourth_constr_22 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_oneHalf_constr_39 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_oneHalf_constr_39 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_one_constr_56 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_one_constr_56 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_two_constr_73 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_two_constr_73 CC_NOTUSED = {
+       { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_four_constr_82 CC_NOTUSED = {
+       { 1, 1 }        /* (1..16) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_four_constr_82 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (1..16) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_eight_constr_83 CC_NOTUSED = {
+       { 1, 1 }        /* (1..8) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_eight_constr_83 CC_NOTUSED = {
+       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (1..8) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_sixteen_constr_84 CC_NOTUSED = {
+       { 1, 1 }        /* (1..4) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_sixteen_constr_84 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (1..4) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4 CC_NOTUSED = {
+       { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ra_Msg3SizeGroupA_constr_86 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ra_Msg3SizeGroupA_constr_86 CC_NOTUSED = {
+       { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_messagePowerOffsetGroupB_constr_103 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_messagePowerOffsetGroupB_constr_103 CC_NOTUSED = {
+       { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_numberOfRA_PreamblesGroupA_constr_112 CC_NOTUSED = {
+       { 1, 1 }        /* (1..64) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_numberOfRA_PreamblesGroupA_constr_112 CC_NOTUSED = {
+       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (1..64) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ra_ContentionResolutionTimer_constr_113 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ra_ContentionResolutionTimer_constr_113 CC_NOTUSED = {
+       { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_l839_constr_125 CC_NOTUSED = {
+       { 2, 1 }        /* (0..837) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_l839_constr_125 CC_NOTUSED = {
+       { APC_CONSTRAINED,       10,  10,  0,  837 }    /* (0..837) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_l139_constr_126 CC_NOTUSED = {
+       { 1, 1 }        /* (0..137) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_l139_constr_126 CC_NOTUSED = {
+       { APC_CONSTRAINED,       8,  8,  0,  137 }      /* (0..137) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_prach_RootSequenceIndex_constr_124 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_prach_RootSequenceIndex_constr_124 CC_NOTUSED = {
+       { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_restrictedSetConfig_constr_128 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_restrictedSetConfig_constr_128 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_msg3_transformPrecoder_constr_132 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_msg3_transformPrecoder_constr_132 CC_NOTUSED = {
+       { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_totalNumberOfRA_Preambles_constr_3 CC_NOTUSED = {
+       { 1, 1 }        /* (1..63) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_totalNumberOfRA_Preambles_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (1..63) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_oneEighth_value2enum_5[] = {
+       { 0,    2,      "n4" },
+       { 1,    2,      "n8" },
+       { 2,    3,      "n12" },
+       { 3,    3,      "n16" },
+       { 4,    3,      "n20" },
+       { 5,    3,      "n24" },
+       { 6,    3,      "n28" },
+       { 7,    3,      "n32" },
+       { 8,    3,      "n36" },
+       { 9,    3,      "n40" },
+       { 10,   3,      "n44" },
+       { 11,   3,      "n48" },
+       { 12,   3,      "n52" },
+       { 13,   3,      "n56" },
+       { 14,   3,      "n60" },
+       { 15,   3,      "n64" }
+};
+static const unsigned int asn_MAP_oneEighth_enum2value_5[] = {
+       2,      /* n12(2) */
+       3,      /* n16(3) */
+       4,      /* n20(4) */
+       5,      /* n24(5) */
+       6,      /* n28(6) */
+       7,      /* n32(7) */
+       8,      /* n36(8) */
+       0,      /* n4(0) */
+       9,      /* n40(9) */
+       10,     /* n44(10) */
+       11,     /* n48(11) */
+       12,     /* n52(12) */
+       13,     /* n56(13) */
+       14,     /* n60(14) */
+       15,     /* n64(15) */
+       1       /* n8(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_oneEighth_specs_5 = {
+       asn_MAP_oneEighth_value2enum_5, /* "tag" => N; sorted by tag */
+       asn_MAP_oneEighth_enum2value_5, /* N => "tag"; sorted by N */
+       16,     /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_oneEighth_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_oneEighth_5 = {
+       "oneEighth",
+       "oneEighth",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_oneEighth_tags_5,
+       sizeof(asn_DEF_oneEighth_tags_5)
+               /sizeof(asn_DEF_oneEighth_tags_5[0]) - 1, /* 1 */
+       asn_DEF_oneEighth_tags_5,       /* Same as above */
+       sizeof(asn_DEF_oneEighth_tags_5)
+               /sizeof(asn_DEF_oneEighth_tags_5[0]), /* 2 */
+       { &asn_OER_type_oneEighth_constr_5, &asn_PER_type_oneEighth_constr_5, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_oneEighth_specs_5      /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_oneFourth_value2enum_22[] = {
+       { 0,    2,      "n4" },
+       { 1,    2,      "n8" },
+       { 2,    3,      "n12" },
+       { 3,    3,      "n16" },
+       { 4,    3,      "n20" },
+       { 5,    3,      "n24" },
+       { 6,    3,      "n28" },
+       { 7,    3,      "n32" },
+       { 8,    3,      "n36" },
+       { 9,    3,      "n40" },
+       { 10,   3,      "n44" },
+       { 11,   3,      "n48" },
+       { 12,   3,      "n52" },
+       { 13,   3,      "n56" },
+       { 14,   3,      "n60" },
+       { 15,   3,      "n64" }
+};
+static const unsigned int asn_MAP_oneFourth_enum2value_22[] = {
+       2,      /* n12(2) */
+       3,      /* n16(3) */
+       4,      /* n20(4) */
+       5,      /* n24(5) */
+       6,      /* n28(6) */
+       7,      /* n32(7) */
+       8,      /* n36(8) */
+       0,      /* n4(0) */
+       9,      /* n40(9) */
+       10,     /* n44(10) */
+       11,     /* n48(11) */
+       12,     /* n52(12) */
+       13,     /* n56(13) */
+       14,     /* n60(14) */
+       15,     /* n64(15) */
+       1       /* n8(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_oneFourth_specs_22 = {
+       asn_MAP_oneFourth_value2enum_22,        /* "tag" => N; sorted by tag */
+       asn_MAP_oneFourth_enum2value_22,        /* N => "tag"; sorted by N */
+       16,     /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_oneFourth_tags_22[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_oneFourth_22 = {
+       "oneFourth",
+       "oneFourth",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_oneFourth_tags_22,
+       sizeof(asn_DEF_oneFourth_tags_22)
+               /sizeof(asn_DEF_oneFourth_tags_22[0]) - 1, /* 1 */
+       asn_DEF_oneFourth_tags_22,      /* Same as above */
+       sizeof(asn_DEF_oneFourth_tags_22)
+               /sizeof(asn_DEF_oneFourth_tags_22[0]), /* 2 */
+       { &asn_OER_type_oneFourth_constr_22, &asn_PER_type_oneFourth_constr_22, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_oneFourth_specs_22     /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_oneHalf_value2enum_39[] = {
+       { 0,    2,      "n4" },
+       { 1,    2,      "n8" },
+       { 2,    3,      "n12" },
+       { 3,    3,      "n16" },
+       { 4,    3,      "n20" },
+       { 5,    3,      "n24" },
+       { 6,    3,      "n28" },
+       { 7,    3,      "n32" },
+       { 8,    3,      "n36" },
+       { 9,    3,      "n40" },
+       { 10,   3,      "n44" },
+       { 11,   3,      "n48" },
+       { 12,   3,      "n52" },
+       { 13,   3,      "n56" },
+       { 14,   3,      "n60" },
+       { 15,   3,      "n64" }
+};
+static const unsigned int asn_MAP_oneHalf_enum2value_39[] = {
+       2,      /* n12(2) */
+       3,      /* n16(3) */
+       4,      /* n20(4) */
+       5,      /* n24(5) */
+       6,      /* n28(6) */
+       7,      /* n32(7) */
+       8,      /* n36(8) */
+       0,      /* n4(0) */
+       9,      /* n40(9) */
+       10,     /* n44(10) */
+       11,     /* n48(11) */
+       12,     /* n52(12) */
+       13,     /* n56(13) */
+       14,     /* n60(14) */
+       15,     /* n64(15) */
+       1       /* n8(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_oneHalf_specs_39 = {
+       asn_MAP_oneHalf_value2enum_39,  /* "tag" => N; sorted by tag */
+       asn_MAP_oneHalf_enum2value_39,  /* N => "tag"; sorted by N */
+       16,     /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_oneHalf_tags_39[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_oneHalf_39 = {
+       "oneHalf",
+       "oneHalf",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_oneHalf_tags_39,
+       sizeof(asn_DEF_oneHalf_tags_39)
+               /sizeof(asn_DEF_oneHalf_tags_39[0]) - 1, /* 1 */
+       asn_DEF_oneHalf_tags_39,        /* Same as above */
+       sizeof(asn_DEF_oneHalf_tags_39)
+               /sizeof(asn_DEF_oneHalf_tags_39[0]), /* 2 */
+       { &asn_OER_type_oneHalf_constr_39, &asn_PER_type_oneHalf_constr_39, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_oneHalf_specs_39       /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_one_value2enum_56[] = {
+       { 0,    2,      "n4" },
+       { 1,    2,      "n8" },
+       { 2,    3,      "n12" },
+       { 3,    3,      "n16" },
+       { 4,    3,      "n20" },
+       { 5,    3,      "n24" },
+       { 6,    3,      "n28" },
+       { 7,    3,      "n32" },
+       { 8,    3,      "n36" },
+       { 9,    3,      "n40" },
+       { 10,   3,      "n44" },
+       { 11,   3,      "n48" },
+       { 12,   3,      "n52" },
+       { 13,   3,      "n56" },
+       { 14,   3,      "n60" },
+       { 15,   3,      "n64" }
+};
+static const unsigned int asn_MAP_one_enum2value_56[] = {
+       2,      /* n12(2) */
+       3,      /* n16(3) */
+       4,      /* n20(4) */
+       5,      /* n24(5) */
+       6,      /* n28(6) */
+       7,      /* n32(7) */
+       8,      /* n36(8) */
+       0,      /* n4(0) */
+       9,      /* n40(9) */
+       10,     /* n44(10) */
+       11,     /* n48(11) */
+       12,     /* n52(12) */
+       13,     /* n56(13) */
+       14,     /* n60(14) */
+       15,     /* n64(15) */
+       1       /* n8(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_one_specs_56 = {
+       asn_MAP_one_value2enum_56,      /* "tag" => N; sorted by tag */
+       asn_MAP_one_enum2value_56,      /* N => "tag"; sorted by N */
+       16,     /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_one_tags_56[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_one_56 = {
+       "one",
+       "one",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_one_tags_56,
+       sizeof(asn_DEF_one_tags_56)
+               /sizeof(asn_DEF_one_tags_56[0]) - 1, /* 1 */
+       asn_DEF_one_tags_56,    /* Same as above */
+       sizeof(asn_DEF_one_tags_56)
+               /sizeof(asn_DEF_one_tags_56[0]), /* 2 */
+       { &asn_OER_type_one_constr_56, &asn_PER_type_one_constr_56, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_one_specs_56   /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_two_value2enum_73[] = {
+       { 0,    2,      "n4" },
+       { 1,    2,      "n8" },
+       { 2,    3,      "n12" },
+       { 3,    3,      "n16" },
+       { 4,    3,      "n20" },
+       { 5,    3,      "n24" },
+       { 6,    3,      "n28" },
+       { 7,    3,      "n32" }
+};
+static const unsigned int asn_MAP_two_enum2value_73[] = {
+       2,      /* n12(2) */
+       3,      /* n16(3) */
+       4,      /* n20(4) */
+       5,      /* n24(5) */
+       6,      /* n28(6) */
+       7,      /* n32(7) */
+       0,      /* n4(0) */
+       1       /* n8(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_two_specs_73 = {
+       asn_MAP_two_value2enum_73,      /* "tag" => N; sorted by tag */
+       asn_MAP_two_enum2value_73,      /* N => "tag"; sorted by N */
+       8,      /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_two_tags_73[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_two_73 = {
+       "two",
+       "two",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_two_tags_73,
+       sizeof(asn_DEF_two_tags_73)
+               /sizeof(asn_DEF_two_tags_73[0]) - 1, /* 1 */
+       asn_DEF_two_tags_73,    /* Same as above */
+       sizeof(asn_DEF_two_tags_73)
+               /sizeof(asn_DEF_two_tags_73[0]), /* 2 */
+       { &asn_OER_type_two_constr_73, &asn_PER_type_two_constr_73, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_two_specs_73   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneEighth),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_oneEighth_5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "oneEighth"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneFourth),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_oneFourth_22,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "oneFourth"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneHalf),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_oneHalf_39,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "oneHalf"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.one),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_one_56,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "one"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.two),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_two_73,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "two"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.four),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_four_constr_82, &asn_PER_memb_four_constr_82,  memb_four_constraint_4 },
+               0, 0, /* No default value */
+               "four"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.eight),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_eight_constr_83, &asn_PER_memb_eight_constr_83,  memb_eight_constraint_4 },
+               0, 0, /* No default value */
+               "eight"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.sixteen),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_sixteen_constr_84, &asn_PER_memb_sixteen_constr_84,  memb_sixteen_constraint_4 },
+               0, 0, /* No default value */
+               "sixteen"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_tag2el_4[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oneEighth */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* oneFourth */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* oneHalf */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* one */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* two */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* four */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eight */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* sixteen */
+};
+static asn_CHOICE_specifics_t asn_SPC_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_specs_4 = {
+       sizeof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB),
+       offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, _asn_ctx),
+       offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, present),
+       sizeof(((struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB *)0)->present),
+       asn_MAP_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_tag2el_4,
+       8,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4 = {
+       "ssb-perRACH-OccasionAndCB-PreamblesPerSSB",
+       "ssb-perRACH-OccasionAndCB-PreamblesPerSSB",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4, &asn_PER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4, CHOICE_constraint },
+       asn_MBR_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4,
+       8,      /* Elements count */
+       &asn_SPC_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_specs_4      /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_ra_Msg3SizeGroupA_value2enum_86[] = {
+       { 0,    3,      "b56" },
+       { 1,    4,      "b144" },
+       { 2,    4,      "b208" },
+       { 3,    4,      "b256" },
+       { 4,    4,      "b282" },
+       { 5,    4,      "b480" },
+       { 6,    4,      "b640" },
+       { 7,    4,      "b800" },
+       { 8,    5,      "b1000" },
+       { 9,    3,      "b72" },
+       { 10,   6,      "spare6" },
+       { 11,   6,      "spare5" },
+       { 12,   6,      "spare4" },
+       { 13,   6,      "spare3" },
+       { 14,   6,      "spare2" },
+       { 15,   6,      "spare1" }
+};
+static const unsigned int asn_MAP_ra_Msg3SizeGroupA_enum2value_86[] = {
+       8,      /* b1000(8) */
+       1,      /* b144(1) */
+       2,      /* b208(2) */
+       3,      /* b256(3) */
+       4,      /* b282(4) */
+       5,      /* b480(5) */
+       0,      /* b56(0) */
+       6,      /* b640(6) */
+       9,      /* b72(9) */
+       7,      /* b800(7) */
+       15,     /* spare1(15) */
+       14,     /* spare2(14) */
+       13,     /* spare3(13) */
+       12,     /* spare4(12) */
+       11,     /* spare5(11) */
+       10      /* spare6(10) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ra_Msg3SizeGroupA_specs_86 = {
+       asn_MAP_ra_Msg3SizeGroupA_value2enum_86,        /* "tag" => N; sorted by tag */
+       asn_MAP_ra_Msg3SizeGroupA_enum2value_86,        /* N => "tag"; sorted by N */
+       16,     /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_ra_Msg3SizeGroupA_tags_86[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ra_Msg3SizeGroupA_86 = {
+       "ra-Msg3SizeGroupA",
+       "ra-Msg3SizeGroupA",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_ra_Msg3SizeGroupA_tags_86,
+       sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86)
+               /sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86[0]) - 1, /* 1 */
+       asn_DEF_ra_Msg3SizeGroupA_tags_86,      /* Same as above */
+       sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86)
+               /sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86[0]), /* 2 */
+       { &asn_OER_type_ra_Msg3SizeGroupA_constr_86, &asn_PER_type_ra_Msg3SizeGroupA_constr_86, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_ra_Msg3SizeGroupA_specs_86     /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_messagePowerOffsetGroupB_value2enum_103[] = {
+       { 0,    13,     "minusinfinity" },
+       { 1,    3,      "dB0" },
+       { 2,    3,      "dB5" },
+       { 3,    3,      "dB8" },
+       { 4,    4,      "dB10" },
+       { 5,    4,      "dB12" },
+       { 6,    4,      "dB15" },
+       { 7,    4,      "dB18" }
+};
+static const unsigned int asn_MAP_messagePowerOffsetGroupB_enum2value_103[] = {
+       1,      /* dB0(1) */
+       4,      /* dB10(4) */
+       5,      /* dB12(5) */
+       6,      /* dB15(6) */
+       7,      /* dB18(7) */
+       2,      /* dB5(2) */
+       3,      /* dB8(3) */
+       0       /* minusinfinity(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_messagePowerOffsetGroupB_specs_103 = {
+       asn_MAP_messagePowerOffsetGroupB_value2enum_103,        /* "tag" => N; sorted by tag */
+       asn_MAP_messagePowerOffsetGroupB_enum2value_103,        /* N => "tag"; sorted by N */
+       8,      /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_messagePowerOffsetGroupB_tags_103[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_messagePowerOffsetGroupB_103 = {
+       "messagePowerOffsetGroupB",
+       "messagePowerOffsetGroupB",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_messagePowerOffsetGroupB_tags_103,
+       sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103)
+               /sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103[0]) - 1, /* 1 */
+       asn_DEF_messagePowerOffsetGroupB_tags_103,      /* Same as above */
+       sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103)
+               /sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103[0]), /* 2 */
+       { &asn_OER_type_messagePowerOffsetGroupB_constr_103, &asn_PER_type_messagePowerOffsetGroupB_constr_103, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_messagePowerOffsetGroupB_specs_103     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_groupBconfigured_85[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, ra_Msg3SizeGroupA),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ra_Msg3SizeGroupA_86,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ra-Msg3SizeGroupA"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, messagePowerOffsetGroupB),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_messagePowerOffsetGroupB_103,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messagePowerOffsetGroupB"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, numberOfRA_PreamblesGroupA),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_numberOfRA_PreamblesGroupA_constr_112, &asn_PER_memb_numberOfRA_PreamblesGroupA_constr_112,  memb_numberOfRA_PreamblesGroupA_constraint_85 },
+               0, 0, /* No default value */
+               "numberOfRA-PreamblesGroupA"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_groupBconfigured_tags_85[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_groupBconfigured_tag2el_85[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ra-Msg3SizeGroupA */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* messagePowerOffsetGroupB */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* numberOfRA-PreamblesGroupA */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_groupBconfigured_specs_85 = {
+       sizeof(struct RACH_ConfigCommon__groupBconfigured),
+       offsetof(struct RACH_ConfigCommon__groupBconfigured, _asn_ctx),
+       asn_MAP_groupBconfigured_tag2el_85,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_groupBconfigured_85 = {
+       "groupBconfigured",
+       "groupBconfigured",
+       &asn_OP_SEQUENCE,
+       asn_DEF_groupBconfigured_tags_85,
+       sizeof(asn_DEF_groupBconfigured_tags_85)
+               /sizeof(asn_DEF_groupBconfigured_tags_85[0]) - 1, /* 1 */
+       asn_DEF_groupBconfigured_tags_85,       /* Same as above */
+       sizeof(asn_DEF_groupBconfigured_tags_85)
+               /sizeof(asn_DEF_groupBconfigured_tags_85[0]), /* 2 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_groupBconfigured_85,
+       3,      /* Elements count */
+       &asn_SPC_groupBconfigured_specs_85      /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_ra_ContentionResolutionTimer_value2enum_113[] = {
+       { 0,    3,      "sf8" },
+       { 1,    4,      "sf16" },
+       { 2,    4,      "sf24" },
+       { 3,    4,      "sf32" },
+       { 4,    4,      "sf40" },
+       { 5,    4,      "sf48" },
+       { 6,    4,      "sf56" },
+       { 7,    4,      "sf64" }
+};
+static const unsigned int asn_MAP_ra_ContentionResolutionTimer_enum2value_113[] = {
+       1,      /* sf16(1) */
+       2,      /* sf24(2) */
+       3,      /* sf32(3) */
+       4,      /* sf40(4) */
+       5,      /* sf48(5) */
+       6,      /* sf56(6) */
+       7,      /* sf64(7) */
+       0       /* sf8(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ra_ContentionResolutionTimer_specs_113 = {
+       asn_MAP_ra_ContentionResolutionTimer_value2enum_113,    /* "tag" => N; sorted by tag */
+       asn_MAP_ra_ContentionResolutionTimer_enum2value_113,    /* N => "tag"; sorted by N */
+       8,      /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_ra_ContentionResolutionTimer_tags_113[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ra_ContentionResolutionTimer_113 = {
+       "ra-ContentionResolutionTimer",
+       "ra-ContentionResolutionTimer",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_ra_ContentionResolutionTimer_tags_113,
+       sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113)
+               /sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113[0]) - 1, /* 1 */
+       asn_DEF_ra_ContentionResolutionTimer_tags_113,  /* Same as above */
+       sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113)
+               /sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113[0]), /* 2 */
+       { &asn_OER_type_ra_ContentionResolutionTimer_constr_113, &asn_PER_type_ra_ContentionResolutionTimer_constr_113, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_ra_ContentionResolutionTimer_specs_113 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_prach_RootSequenceIndex_124[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, choice.l839),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_l839_constr_125, &asn_PER_memb_l839_constr_125,  memb_l839_constraint_124 },
+               0, 0, /* No default value */
+               "l839"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, choice.l139),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_l139_constr_126, &asn_PER_memb_l139_constr_126,  memb_l139_constraint_124 },
+               0, 0, /* No default value */
+               "l139"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_prach_RootSequenceIndex_tag2el_124[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* l839 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* l139 */
+};
+static asn_CHOICE_specifics_t asn_SPC_prach_RootSequenceIndex_specs_124 = {
+       sizeof(struct RACH_ConfigCommon__prach_RootSequenceIndex),
+       offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, _asn_ctx),
+       offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, present),
+       sizeof(((struct RACH_ConfigCommon__prach_RootSequenceIndex *)0)->present),
+       asn_MAP_prach_RootSequenceIndex_tag2el_124,
+       2,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_prach_RootSequenceIndex_124 = {
+       "prach-RootSequenceIndex",
+       "prach-RootSequenceIndex",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_prach_RootSequenceIndex_constr_124, &asn_PER_type_prach_RootSequenceIndex_constr_124, CHOICE_constraint },
+       asn_MBR_prach_RootSequenceIndex_124,
+       2,      /* Elements count */
+       &asn_SPC_prach_RootSequenceIndex_specs_124      /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_restrictedSetConfig_value2enum_128[] = {
+       { 0,    15,     "unrestrictedSet" },
+       { 1,    18,     "restrictedSetTypeA" },
+       { 2,    18,     "restrictedSetTypeB" }
+};
+static const unsigned int asn_MAP_restrictedSetConfig_enum2value_128[] = {
+       1,      /* restrictedSetTypeA(1) */
+       2,      /* restrictedSetTypeB(2) */
+       0       /* unrestrictedSet(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_restrictedSetConfig_specs_128 = {
+       asn_MAP_restrictedSetConfig_value2enum_128,     /* "tag" => N; sorted by tag */
+       asn_MAP_restrictedSetConfig_enum2value_128,     /* N => "tag"; sorted by N */
+       3,      /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_restrictedSetConfig_tags_128[] = {
+       (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_restrictedSetConfig_128 = {
+       "restrictedSetConfig",
+       "restrictedSetConfig",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_restrictedSetConfig_tags_128,
+       sizeof(asn_DEF_restrictedSetConfig_tags_128)
+               /sizeof(asn_DEF_restrictedSetConfig_tags_128[0]) - 1, /* 1 */
+       asn_DEF_restrictedSetConfig_tags_128,   /* Same as above */
+       sizeof(asn_DEF_restrictedSetConfig_tags_128)
+               /sizeof(asn_DEF_restrictedSetConfig_tags_128[0]), /* 2 */
+       { &asn_OER_type_restrictedSetConfig_constr_128, &asn_PER_type_restrictedSetConfig_constr_128, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_restrictedSetConfig_specs_128  /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_msg3_transformPrecoder_value2enum_132[] = {
+       { 0,    7,      "enabled" }
+};
+static const unsigned int asn_MAP_msg3_transformPrecoder_enum2value_132[] = {
+       0       /* enabled(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_msg3_transformPrecoder_specs_132 = {
+       asn_MAP_msg3_transformPrecoder_value2enum_132,  /* "tag" => N; sorted by tag */
+       asn_MAP_msg3_transformPrecoder_enum2value_132,  /* N => "tag"; sorted by N */
+       1,      /* Number of elements in the maps */
+       0,      /* Enumeration is not extensible */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_msg3_transformPrecoder_tags_132[] = {
+       (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_msg3_transformPrecoder_132 = {
+       "msg3-transformPrecoder",
+       "msg3-transformPrecoder",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_msg3_transformPrecoder_tags_132,
+       sizeof(asn_DEF_msg3_transformPrecoder_tags_132)
+               /sizeof(asn_DEF_msg3_transformPrecoder_tags_132[0]) - 1, /* 1 */
+       asn_DEF_msg3_transformPrecoder_tags_132,        /* Same as above */
+       sizeof(asn_DEF_msg3_transformPrecoder_tags_132)
+               /sizeof(asn_DEF_msg3_transformPrecoder_tags_132[0]), /* 2 */
+       { &asn_OER_type_msg3_transformPrecoder_constr_132, &asn_PER_type_msg3_transformPrecoder_constr_132, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_msg3_transformPrecoder_specs_132       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RACH_ConfigCommon_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, rach_ConfigGeneric),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RACH_ConfigGeneric,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "rach-ConfigGeneric"
+               },
+       { ATF_POINTER, 3, offsetof(struct RACH_ConfigCommon, totalNumberOfRA_Preambles),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_totalNumberOfRA_Preambles_constr_3, &asn_PER_memb_totalNumberOfRA_Preambles_constr_3,  memb_totalNumberOfRA_Preambles_constraint_1 },
+               0, 0, /* No default value */
+               "totalNumberOfRA-Preambles"
+               },
+       { ATF_POINTER, 2, offsetof(struct RACH_ConfigCommon, ssb_perRACH_OccasionAndCB_PreamblesPerSSB),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ssb-perRACH-OccasionAndCB-PreamblesPerSSB"
+               },
+       { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, groupBconfigured),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               0,
+               &asn_DEF_groupBconfigured_85,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "groupBconfigured"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, ra_ContentionResolutionTimer),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ra_ContentionResolutionTimer_113,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ra-ContentionResolutionTimer"
+               },
+       { ATF_POINTER, 2, offsetof(struct RACH_ConfigCommon, rsrp_ThresholdSSB),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RSRP_Range,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "rsrp-ThresholdSSB"
+               },
+       { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, rsrp_ThresholdSSB_SUL),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RSRP_Range,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "rsrp-ThresholdSSB-SUL"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, prach_RootSequenceIndex),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_prach_RootSequenceIndex_124,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "prach-RootSequenceIndex"
+               },
+       { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, msg1_SubcarrierSpacing),
+               (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_SubcarrierSpacing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "msg1-SubcarrierSpacing"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, restrictedSetConfig),
+               (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_restrictedSetConfig_128,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "restrictedSetConfig"
+               },
+       { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, msg3_transformPrecoder),
+               (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_msg3_transformPrecoder_132,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "msg3-transformPrecoder"
+               },
+};
+static const int asn_MAP_RACH_ConfigCommon_oms_1[] = { 1, 2, 3, 5, 6, 8, 10 };
+static const ber_tlv_tag_t asn_DEF_RACH_ConfigCommon_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RACH_ConfigCommon_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rach-ConfigGeneric */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* totalNumberOfRA-Preambles */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ssb-perRACH-OccasionAndCB-PreamblesPerSSB */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* groupBconfigured */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ra-ContentionResolutionTimer */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rsrp-ThresholdSSB */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rsrp-ThresholdSSB-SUL */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* prach-RootSequenceIndex */
+    { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* msg1-SubcarrierSpacing */
+    { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* restrictedSetConfig */
+    { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* msg3-transformPrecoder */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RACH_ConfigCommon_specs_1 = {
+       sizeof(struct RACH_ConfigCommon),
+       offsetof(struct RACH_ConfigCommon, _asn_ctx),
+       asn_MAP_RACH_ConfigCommon_tag2el_1,
+       11,     /* Count of tags in the map */
+       asn_MAP_RACH_ConfigCommon_oms_1,        /* Optional members */
+       7, 0,   /* Root/Additions */
+       11,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RACH_ConfigCommon = {
+       "RACH-ConfigCommon",
+       "RACH-ConfigCommon",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RACH_ConfigCommon_tags_1,
+       sizeof(asn_DEF_RACH_ConfigCommon_tags_1)
+               /sizeof(asn_DEF_RACH_ConfigCommon_tags_1[0]), /* 1 */
+       asn_DEF_RACH_ConfigCommon_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RACH_ConfigCommon_tags_1)
+               /sizeof(asn_DEF_RACH_ConfigCommon_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RACH_ConfigCommon_1,
+       11,     /* Elements count */
+       &asn_SPC_RACH_ConfigCommon_specs_1      /* Additional specs */
+};
+