+typedef enum
+{
+ RRC_REJECT,
+ RRC_SETUP
+}DlCcchMsgType;
+
+/* Enums for Ue Create Request */
+
+/* SR PROHIBIT TIMER */
+typedef enum
+{
+ SR_PROHIBIT_MS_1,
+ SR_PROHIBIT_MS_2,
+ SR_PROHIBIT_MS_4,
+ SR_PROHIBIT_MS_8,
+ SR_PROHIBIT_MS_16,
+ SR_PROHIBIT_MS_32,
+ SR_PROHIBIT_MS_64,
+ SR_PROHIBIT_MS_128
+}SrProhibitTimer;
+
+typedef enum
+{
+ SR_TRANS_MAX_N_4,
+ SR_TRANS_MAX_N_8,
+ SR_TRANS_MAX_N_16,
+ SR_TRANS_MAX_N_32,
+ SR_TRANS_MAX_N_64,
+ SR_TRANS_MAX_spare3,
+ SR_TRANS_MAX_spare2,
+ SR_TRANS_MAX_spare1
+}SrTransMax;
+
+typedef enum
+{
+ TIME_ALIGNMENT_TIMER_MS_500,
+ TIME_ALIGNMENT_TIMER_MS_750,
+ TIME_ALIGNMENT_TIMER_MS_1280,
+ TIME_ALIGNMENT_TIMER_MS_1920,
+ TIME_ALIGNMENT_TIMER_MS_2560,
+ TIME_ALIGNMENT_TIMER_MS_5120,
+ TIME_ALIGNMENT_TIMER_MS_10240,
+ TIME_ALIGNMENT_TIMER_INFINITY
+}TimeAlignmentTimer;
+
+typedef enum
+{
+ PHR_PERIODIC_TIMER_SF_10,
+ PHR_PERIODIC_TIMER_SF_20,
+ PHR_PERIODIC_TIMER_SF_50,
+ PHR_PERIODIC_TIMER_SF_100,
+ PHR_PERIODIC_TIMER_SF_200,
+ PHR_PERIODIC_TIMER_SF_500,
+ PHR_PERIODIC_TIMER_SF_1000,
+ PHR_PERIODIC_TIMER_INFINITY
+}PhrPeriodicTimer;
+
+typedef enum
+{
+ PHR_PROHIBIT_TIMER_SF_0,
+ PHR_PROHIBIT_TIMER_SF_10,
+ PHR_PROHIBIT_TIMER_SF_20,
+ PHR_PROHIBIT_TIMER_SF_50,
+ PHR_PROHIBIT_TIMER_SF_100,
+ PHR_PROHIBIT_TIMER_SF_200,
+ PHR_PROHIBIT_TIMER_SF_500,
+ PHR_PROHIBIT_TIMER_SF_1000
+}PhrProhibitTimer;
+
+typedef enum
+{
+ PHR_TX_PWR_FACTOR_CHANGE_DB_1,
+ PHR_TX_PWR_FACTOR_CHANGE_DB_3,
+ PHR_TX_PWR_FACTOR_CHANGE_DB_6,
+ PHR_TX_PWR_FACTOR_CHANGE_INFINITY
+}PhrTxPwrFactorChange;
+
+typedef enum
+{
+ PHR_MODE_OTHER_CG_REAL,
+ PHR_MODE_OTHER_CG_VIRTUAL
+}PhrModeOtherCG;
+
+typedef enum
+{
+ PDSCH_HARQ_ACK_CODEBOOK_SEMISTATIC,
+ PDSCH_HARQ_ACK_CODEBOOK_DYNAMIC
+}PdschHarqAckCodebook;
+
+typedef enum
+{
+ NUM_HARQ_PROC_FOR_PDSCH_N_2,
+ NUM_HARQ_PROC_FOR_PDSCH_N_4,
+ NUM_HARQ_PROC_FOR_PDSCH_N_6,
+ NUM_HARQ_PROC_FOR_PDSCH_N_10,
+ NUM_HARQ_PROC_FOR_PDSCH_N_16
+}NumHarqProcForPdsch;
+
+typedef enum
+{
+ MAX_CODE_BLOCK_GROUP_PER_TB_N_2,
+ MAX_CODE_BLOCK_GROUP_PER_TB_N_4,
+ MAX_CODE_BLOCK_GROUP_PER_TB_N_6,
+ MAX_CODE_BLOCK_GROUP_PER_TB_N_8
+}MaxCodeBlkGrpPerTB;
+
+typedef enum
+{
+ PDSCH_X_OVERHEAD_6,
+ PDSCH_X_OVERHEAD_12,
+ PDSCH_X_OVERHEAD_18
+}PdschXOverhead;
+
+typedef enum
+{
+ TRANSFORM_PRECODER_ENABLED,
+ TRANSFORM_PRECODER_DISABLED
+}TransformPrecoder;
+
+typedef enum
+{
+ CCE_REG_MAPPINGTYPE_PR_INTERLEAVED = 1,
+ CCE_REG_MAPPINGTYPE_PR_NONINTERLEAVED
+}REGMappingType;
+
+typedef enum
+{
+ SLOTPERIODICITYANDOFFSET_PR_SL1 = 1,
+ SLOTPERIODICITYANDOFFSET_PR_SL2,
+ SLOTPERIODICITYANDOFFSET_PR_SL4,
+ SLOTPERIODICITYANDOFFSET_PR_SL5,
+ SLOTPERIODICITYANDOFFSET_PR_SL8,
+ SLOTPERIODICITYANDOFFSET_PR_SL10,
+ SLOTPERIODICITYANDOFFSET_PR_SL16,
+ SLOTPERIODICITYANDOFFSET_PR_SL20,
+ SLOTPERIODICITYANDOFFSET_PR_SL40,
+ SLOTPERIODICITYANDOFFSET_PR_SL80,
+ SLOTPERIODICITYANDOFFSET_PR_SL160,
+ SLOTPERIODICITYANDOFFSET_PR_SL320,
+ SLOTPERIODICITYANDOFFSET_PR_SL640,
+ SLOTPERIODICITYANDOFFSET_PR_SL1280,
+ SLOTPERIODICITYANDOFFSET_PR_SL2560
+}MSlotPeriodAndOffset;
+
+typedef enum
+{
+ SAMEASREG_BUNDLE,
+ ALL_CONTIGUOUS_RBS
+}PrecoderGranul;
+
+typedef enum
+{
+ SEARCHSPACETYPE_PR_COMMON = 1,
+ SEARCHSPACETYPE_PR_UE_SPECIFIC
+}SearchSpaceType;
+
+typedef enum
+{
+ QOS_NON_DYNAMIC = 1,
+ QOS_DYNAMIC
+}QosType;
+
+typedef enum
+{
+ AGGREGATIONLEVEL_N0 = 0,
+ AGGREGATIONLEVEL_N1 = 1,
+ AGGREGATIONLEVEL_N2 = 2,
+ AGGREGATIONLEVEL_N3 = 3,
+ AGGREGATIONLEVEL_N4 = 4,
+ AGGREGATIONLEVEL_N5 = 5,
+ AGGREGATIONLEVEL_N6 = 6,
+ AGGREGATIONLEVEL_N8 = 7
+}AggrLevel;
+
+typedef enum
+{
+ ADDITIONALPOSITION_POS0,
+ ADDITIONALPOSITION_POS1,
+ ADDITIONALPOSITION_POS3
+}AddPosType;
+
+typedef enum
+{
+ MAPPING_TYPEA,
+ MAPPING_TYPEB
+}CommonMappingType;
+
+typedef enum
+{
+ RESOURCEALLOCATION_TYPE0,
+ RESOURCEALLOCATION_TYPE1,
+ RESOURCEALLOCATION_DYNAMICSWITCH
+}ResAllocType;
+
+typedef enum
+{
+ RBG_SIZE_CONFIG1,
+ RBG_SIZE_CONFIG2
+}RBGSize;
+
+typedef enum
+{
+ CODEWORDS_SCHED_BY_DCI_N1,
+ CODEWORDS_SCHED_BY_DCI_N2
+}CodeWordsSchedDci;
+
+typedef enum
+{
+ TYPE_STATIC_BUNDLING = 1,
+ TYPE_DYNAMIC_BUNDLING
+}BundlingType;
+
+typedef enum
+{
+ SET2_SIZE_N4,
+ SET2_SIZE_WIDEBAND
+}BundlingSizeSet2;
+
+typedef enum
+{
+ SET1_SIZE_N4,
+ SET1_SIZE_WIDEBAND,
+ SET1_SIZE_N2_WIDEBAND,
+ SET1_SIZE_N4_WIDEBAND
+}BundlingSizeSet1;
+
+typedef enum
+{
+ LC_PRIORITY_1 = 1,
+ LC_PRIORITY_2,
+ LC_PRIORITY_3
+}LcPriority;
+
+typedef enum
+{
+ PBR_KBPS_0,
+ PBR_KBPS_8,
+ PBR_KBPS_16,
+ PBR_KBPS_32,
+ PBR_KBPS_64,
+ PBR_KBPS_128,
+ PBR_KBPS_256,
+ PBR_KBPS_512,
+ PBR_KBPS_1024,
+ PBR_KBPS_2048,
+ PBR_KBPS_4096,
+ PBR_KBPS_8192,
+ PBR_KBPS_16384,
+ PBR_KBPS_32768,
+ PBR_KBPS_65536,
+ PBR_KBPS_INFINITY
+}PBitRate;
+
+typedef enum
+{
+ BSD_MS_5,
+ BSD_MS_10,
+ BSD_MS_20,
+ BSD_MS_50,
+ BSD_MS_100,
+ BSD_MS_150,
+ BSD_MS_300,
+ BSD_MS_500,
+ BSD_MS_1000,
+ BSD_SPARE_7,
+ BSD_SPARE_6,
+ BSD_SPARE_5,
+ BSD_SPARE_4,
+ BSD_SPARE_3,
+ BSD_SPARE_2,
+ BSD_SPARE_1
+
+}BucketSizeDur;
+
+typedef enum
+{
+ RADIO_NW_LAYER_FAIL,
+ TRANSPORT_LAYER_FAIL,
+ PROTOCOL_FAIL,
+ MISCELLANEOUS
+}CauseGrp;
+
+typedef enum
+{
+ UNSPECIFIED_RADIO_NW_CAUSE,
+ RL_FAIL_RLC,
+ UNKNOWN_GNB_CU_UE_F1AP_ID,
+ ALREADY_ALLOCATED_GNB_CU_UE_F1AP_ID,
+ UNKNOWN_GNB_DU_UE_F1AP_ID,
+ ALREADY_ALLOCATED_GNB_DU_UE_F1AP_ID,
+ UNKNOWN_UE_F1AP_ID_PAIR,
+ INCONSISTENT_UE_F1AP_ID_PAIR,
+ INTERACTION_WITH_OTHER_PROCEDURE,
+ UNSUPPORTED_QCI,
+ ACTION_REQUIRED_FOR_RADIO_REASONS,
+ RADIO_RESOURCES_UNAVAILABLE,
+ CANCELLED_PROCEDURE,
+ RELEASE_NORMAL,
+ CELL_UNAVAILABLE,
+ OTHER_RL_FAILURE,
+ UE_REJECTION,
+ RESOURCES_UNAVAILABLE_FOR_SLICE
+}RadioNwLyrCause;
+
+typedef enum
+{
+ UNSPECIFIED_TRANSPORT_LAYER_CAUSE,
+ TRANSPORT_RESOURCE_UNAVAILABLE
+}TransLyrCause;
+
+typedef enum
+{
+ TRANSFER_SYNTAX_ERROR,
+ ABSTRACT_SYNTAX_ERROR_REJECT,
+ ABSTRACT_SYNTAX_ERROR_IGNORE_AND_REJECT,
+ INCOMPATIBLE_MESSAGE_FOR_RECEIVER_STATE,
+ SEMANTIC_ERR,
+ ABSTRAXCT_SYNTAX_ERROR_FALSELY_CONSTRUCTED_MSG,
+ UNSPECIFIED_PROTOCOL_CAUSE
+}ProtCause;
+
+typedef enum
+{
+ CONTROL_PROCESSING_OVERLOAD,
+ NOT_ENOUGH_USER,
+ PLANE_PROCESSING_RESOURCES,
+ HARDWARE_FAIL,
+ INTERVENTION_BY_O_AND_M,
+ UNSPECIFIED_MISC_CAUSE
+}MiscFailCause;
+
+typedef enum
+{
+ MCS_TABLE_QAM64,
+ MCS_TABLE_QAM256,
+ MCS_TABLE_QAM64_LOW_SE
+}McsTable;
+
+typedef struct failureCause
+{
+ CauseGrp type;
+ union
+ {
+ RadioNwLyrCause radioNwCause;
+ TransLyrCause transportCause;
+ ProtCause protcolCause;
+ MiscFailCause miscCause;
+ }u;
+}FailureCause;
+