diff --git a/openair1/PHY/CODING/3gpplte_sse.c b/openair1/PHY/CODING/3gpplte_sse.c
index b2bdebbd3b9c5f95b460d67520c578bcedc56590..a27f2bb2ba6f15a7428dac3d81afe07883e51551 100755
--- a/openair1/PHY/CODING/3gpplte_sse.c
+++ b/openair1/PHY/CODING/3gpplte_sse.c
@@ -75,7 +75,7 @@ inline void threegpplte_rsc_termination(unsigned char *x,unsigned char *z,unsign
   *state = (*state)>>1;
 }
 
-void treillis_table_init() {
+void treillis_table_init(void) {
   //struct treillis t[][]=all_treillis;
   //t=memalign(16,sizeof(struct treillis)*8*256);
   int i, j,b;
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
index 268ff42abdef567afdf6dfba690808e00c29cc0f..12df10e5c63b61abfa19f416d503f68a8374907f 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
@@ -589,7 +589,7 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
 //int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8],
 int *pi2tab16[188],*pi5tab16[188],*pi4tab16[188],*pi6tab16[188];
 
-void free_td16() {
+void free_td16(void) {
     int ind;
     for (ind=0;ind<188;ind++) {
         free(pi2tab16[ind]);
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
index 8344118ffac40ac09250feef57488ac7efec1f9d..ac0673436868950e6258f13c7940f3b303463aa3 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
@@ -529,7 +529,7 @@ void compute_ext8(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext, l
 //int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8],
 int *pi2tab8[188],*pi5tab8[188],*pi4tab8[188],*pi6tab8[188];
 
-void free_td8() {
+void free_td8(void) {
     int ind;
     for (ind=0;ind<188;ind++) {
         free(pi2tab8[ind]);
diff --git a/openair1/PHY/INIT/defs.h b/openair1/PHY/INIT/defs.h
index 975173a74ccdb998cb5410de4eb091ff382160af..a75ebb2969d05cc3df0909ff8e831788630b831a 100644
--- a/openair1/PHY/INIT/defs.h
+++ b/openair1/PHY/INIT/defs.h
@@ -173,7 +173,7 @@ void phy_config_sib2_ue(module_id_t                     Mod_id,
   @param ho_failed flag to indicated whether the ho was successful or not
  */
 void phy_config_afterHO_ue(module_id_t Mod_id,
-                           int CC_id,
+                           uint8_t CC_id,
 			   uint8_t eNB_index,
                            MobilityControlInfo_t *mobilityControlInfo,
                            uint8_t ho_failed);
@@ -262,7 +262,7 @@ void  phy_config_cba_rnti (module_id_t Mod_id,int CC_id,eNB_flag_t eNB_flag, uin
 @param adj_cell_id Array of cell ids of adjacent cells
  */
 void phy_config_meas_ue(module_id_t Mod_id,
-                        int CC_id,
+                        uint8_t CC_id,
 			uint8_t eNB_index,
                         uint8_t n_adj_cells,
                         uint32_t *adj_cell_id);
diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c
index 6f0edf27a18eddfa48031ed71a273d60cd75cc73..2a936c8959867842b538d9e0099c2614878760f8 100644
--- a/openair1/PHY/INIT/lte_init.c
+++ b/openair1/PHY/INIT/lte_init.c
@@ -472,7 +472,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *phy_vars_eNB) {
 /*
  * Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover
  */
-void phy_config_afterHO_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed) {
+void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed) {
 
   if(mobilityControlInfo!=NULL) {
     RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon;
@@ -582,7 +582,7 @@ void phy_config_afterHO_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, MobilityCont
   }
 }
 
-void phy_config_meas_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_index,uint8_t n_adj_cells,unsigned int *adj_cell_id) {
+void phy_config_meas_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8_t n_adj_cells,unsigned int *adj_cell_id) {
   
   PHY_MEASUREMENTS *phy_meas = &PHY_vars_UE_g[Mod_id][CC_id]->PHY_measurements;
   int i;
diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
index afe302e0fdd675dcf02088be4b57d007410f6fc6..3f78b44fdccfb3d83c53e668ce2285f38b47deff 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
@@ -524,7 +524,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci) {
 
 }
 
-uint8_t get_transmission_mode(uint16_t Mod_id, uint8_t CC_id, uint16_t rnti) {
+uint8_t get_transmission_mode(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti) {
   unsigned char UE_id;
 
   // find the UE_index corresponding to rnti
diff --git a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
index 0868ea16aa3455c726bf477955268136bf33b52f..5e6a0551c9360354262d069d5a765cb704cdeee9 100644
--- a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
+++ b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
@@ -106,9 +106,9 @@ unsigned char I_TBS2I_MCS(unsigned char I_TBS) {
   return I_MCS;
 }
 
-uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) {
+uint32_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) {
 
-  uint64_t TBS;
+  uint32_t TBS;
 
   if ((nb_rb > 0) && (mcs < 29)) {
 #ifdef TBS_FIX
@@ -121,13 +121,13 @@ uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) {
     return(TBS);
   }
   else {
-    return(uint64_t)0;
+    return(uint32_t)0;
   }
 }
 
-uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) {
+uint32_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) {
 
-  uint64_t TBS = 0;
+  uint32_t TBS = 0;
 
   if ((nb_rb > 0) && (mcs < 29)) {
 #ifdef TBS_FIX
@@ -140,7 +140,7 @@ uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) {
     return(TBS);
   }
   else {
-    return(uint64_t)0;
+    return(uint32_t)0;
   }
 }
 
diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h
index 4a34070b8ac5c12c9dac0aa198c282306c052306..b25b161b6a20fbba04c54c659b9fdda966b17d47 100644
--- a/openair1/PHY/LTE_TRANSPORT/proto.h
+++ b/openair1/PHY/LTE_TRANSPORT/proto.h
@@ -1205,13 +1205,13 @@ unsigned char get_I_TBS_UL(unsigned char I_MCS);
     @param I_MCS
     @param nb_rb
     @return Transport block size */
-uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb);
+uint32_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb);
 
 /** \brief Compute Q (modulation order) based on uplink I_MCS. Implements table 7.1.7.1-1 from 36.213.
     @param I_MCS
     @param nb_rb
     @return Transport block size */
-uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb);
+uint32_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb);
 
 /* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type
    @param vrb_type VRB type (0=localized,1=distributed)
@@ -1222,7 +1222,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci);
 /* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type
    @returns Transmission mode (1-7)
 */
-uint8_t get_transmission_mode(uint16_t Mod_id, uint8_t CC_id, uint16_t rnti);
+uint8_t get_transmission_mode(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
 
 
 /* \brief 
diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h
index 636bf2cfc6da1248f9fbfd5e990229c971377443..8f287ea2bee91034920d571b5be4e520e488b4a6 100644
--- a/openair1/SCHED/defs.h
+++ b/openair1/SCHED/defs.h
@@ -428,12 +428,12 @@ int8_t find_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB);
 int32_t add_ue(int16_t rnti, PHY_VARS_eNB *phy_vars_eNB);
 int32_t remove_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag);
 
-void process_timing_advance(uint8_t Mod_id,uint8_t CC_id,int16_t timing_advance);
+void process_timing_advance(module_id_t Mod_id,uint8_t CC_id,int16_t timing_advance);
 void process_timing_advance_rar(PHY_VARS_UE *phy_vars_ue,uint16_t timing_advance);
 
 unsigned int get_tx_amp(int gain_dBm, int gain_max_dBm);
 
-void phy_reset_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
+void phy_reset_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
 
 /** \brief This function retrives the resource (n1_pucch) corresponding to a PDSCH transmission in 
 subframe n-4 which is acknowledged in subframe n (for FDD) according to n1_pucch = Ncce + N1_pucch.  For
@@ -523,7 +523,7 @@ LTE_eNB_UE_stats* get_eNB_UE_stats(uint8_t Mod_id, uint8_t CC_id,uint16_t rnti);
 
 LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id);
 
-MU_MIMO_mode* get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id);
+MU_MIMO_mode* get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
 
 int16_t get_hundred_times_delta_IF(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t harq_pid);
 
diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c
index e6369aa50a8cb70c6f4b033193c7e338acf10c1d..6c6b328ae596f6918ae2f5b468c802c0eb882db0 100755
--- a/openair1/SCHED/phy_procedures_lte_common.c
+++ b/openair1/SCHED/phy_procedures_lte_common.c
@@ -590,7 +590,7 @@ LTE_DL_FRAME_PARMS* get_lte_frame_parms(module_id_t Mod_id, uint8_t  CC_id){
 
 }
 
-MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t  CC_id){
+MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t  CC_id, rnti_t rnti){
 
-  return(&PHY_vars_eNB_g[Mod_id][CC_id]->mu_mimo_mode);
+  return(&PHY_vars_eNB_g[Mod_id][CC_id]->mu_mimo_mode[find_ue(rnti,PHY_vars_eNB_g[Mod_id][CC_id])]);
 }
diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c
index 33e16240526ce5ad0d3dc13e3bc249c8aa742daf..f3ff6c28a7e4887c78db9047a45dfd5aead906b3 100644
--- a/openair2/LAYER2/MAC/config.c
+++ b/openair2/LAYER2/MAC/config.c
@@ -69,7 +69,7 @@ void ue_mac_reset(module_id_t module_idP,uint8_t eNB_index) {
   //timeAlignmentTimer expires
 
   // PHY changes for UE MAC reset
-  mac_xface->phy_reset_ue(module_idP,eNB_index);
+  mac_xface->phy_reset_ue(module_idP,0,eNB_index);
 
   // notify RRC to relase PUCCH/SRS
   // cancel all pending SRs
@@ -346,7 +346,7 @@ int rrc_mac_config_req(module_id_t Mod_id, eNB_flag_t eNB_flagP,uint8_t UE_id,ui
                   (void*)mobilityControlInfo->rach_ConfigDedicated,
                   sizeof(*mobilityControlInfo->rach_ConfigDedicated));
           }
-          mac_xface->phy_config_afterHO_ue(Mod_id,eNB_index,mobilityControlInfo,0);
+          mac_xface->phy_config_afterHO_ue(Mod_id,0,eNB_index,mobilityControlInfo,0);
       }
   }
 
diff --git a/openair2/LAYER2/MAC/l1_helpers.c b/openair2/LAYER2/MAC/l1_helpers.c
index 1dae4563a82e2b9d01ad411bae85efc55a094bb1..dbb4504fd44c3de1c5051f1270e019cb86093532 100644
--- a/openair2/LAYER2/MAC/l1_helpers.c
+++ b/openair2/LAYER2/MAC/l1_helpers.c
@@ -41,7 +41,7 @@
 #include "UTIL/LOG/log.h"
 #include "proto.h"
 
-int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id) {
+int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,uint8_t CC_id) {
   RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
 
   if (CC_id>0) {
@@ -61,7 +61,7 @@ int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id) {
 	 get_DELTA_PREAMBLE(module_idP,CC_id));
 }
 
-int8_t get_deltaP_rampup(module_id_t module_idP,int CC_id) {
+int8_t get_deltaP_rampup(module_id_t module_idP,uint8_t CC_id) {
 
   if (CC_id>0) {
     LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h
index 7a0ca25e042db8b89f61b2dd1cbdd6e83ee0da0a..a0329423fa3093998b23e6c0b2b7496f28fcc4a9 100644
--- a/openair2/LAYER2/MAC/proto.h
+++ b/openair2/LAYER2/MAC/proto.h
@@ -136,7 +136,7 @@ void schedule_ue_spec(module_id_t module_idP,frame_t frameP,sub_frame_t subframe
     @param Mod_id Module id of UE
     @returns Po_NOMINAL_PUSCH (PREAMBLE_RECEIVED_TARGET_POWER+DELTA_PREAMBLE
 */
-int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id);
+int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,uint8_t CC_id);
 
 /** \brief Function to compute DELTA_PREAMBLE from 36.321 (for RA power ramping procedure and Msg3 PUSCH power control policy) 
     @param Mod_id Module id of UE
@@ -148,7 +148,7 @@ int8_t get_DELTA_PREAMBLE(module_id_t module_idP,int CC_id);
     @param Mod_id Module id of UE
     @returns deltaP_rampup
 */
-int8_t get_deltaP_rampup(module_id_t module_idP,int CC_id);
+int8_t get_deltaP_rampup(module_id_t module_idP,uint8_t CC_id);
 
 //main.c
 
@@ -621,7 +621,7 @@ void update_phr (module_id_t module_idP,int CC_id);
 \param[in] Mod_id Instance index of UE
 \param[in] eNB_id Index of eNB
 */
-void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id);
+void Msg3_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP,uint8_t eNB_id);
 
 
 /*! \brief Function to indicate the transmission of msg1/rach
@@ -629,7 +629,7 @@ void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id);
 \param[in] eNB_id Index of eNB
 */
 
-void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id);
+void Msg1_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id);
 
 void dl_phy_sync_success(module_id_t   module_idP,
                          frame_t       frameP,
diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c
index b82412202039e0b9fa113b7c62216ea4a62b5821..b7ae6b6ce8340a9addb0e74e4b77cd70f4548b86 100644
--- a/openair2/LAYER2/MAC/ra_procedures.c
+++ b/openair2/LAYER2/MAC/ra_procedures.c
@@ -200,7 +200,7 @@ void get_prach_resources(module_id_t module_idP,
   UE_mac_inst[module_idP].RA_prach_resources.ra_RNTI = 1 + t_id + 10*f_id;
 }
 
-void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) {
+void Msg1_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id) {
 
   if (CC_id>0) {
     LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
@@ -221,7 +221,7 @@ void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) {
 }
 
 
-void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) {
+void Msg3_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id) {
 
   if (CC_id>0) {
     LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 4c31298f36138f9057662264d488e2e273373ef3..a75512cebb50bd18be42fc80029b5afdc657cd3c 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -1394,7 +1394,7 @@ UE_L2_STATE_t ue_scheduler(module_id_t module_idP,frame_t frameP, sub_frame_t su
   case RRC_Handover_failed:
     LOG_N(MAC,"Handover failure for UE %d eNB_index %d\n",module_idP,eNB_indexP);
     //Invalid...need to add another MAC UE state for re-connection procedure
-    mac_xface->phy_config_afterHO_ue(module_idP,eNB_indexP,(MobilityControlInfo_t *)NULL,1);
+    mac_xface->phy_config_afterHO_ue(module_idP,0,eNB_indexP,(MobilityControlInfo_t *)NULL,1);
     //return(3);
     break;
   case RRC_HO_STARTED:
diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h
index 6c7378ada37b212ce7861708544f90c6260dd3c1..0ef6fc5fd3dc6bc227556d5316dec75cda5aff33 100755
--- a/openair2/PHY_INTERFACE/defs.h
+++ b/openair2/PHY_INTERFACE/defs.h
@@ -139,7 +139,7 @@ typedef struct
     /// UE functions
     
     /// reset the ue phy  
-    void (*phy_reset_ue)(module_id_t Mod_id,uint8_t eNB_index);
+    void (*phy_reset_ue)(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
     
     /// Indicate loss of synchronization of PBCH for this eNB to MAC layer
     void (*out_of_sync_ind)(module_id_t Mod_id,frame_t frameP,uint16_t eNB_index);
@@ -206,7 +206,7 @@ typedef struct
 				       int CC_id);
 #endif
     /// Configure Common PHY parameters from mobilityControlInfo
-    void (*phy_config_afterHO_ue)(module_id_t Mod_id,uint8_t CH_index,
+    void (*phy_config_afterHO_ue)(module_id_t Mod_id,uint8_t CC_id,uint8_t CH_index,
 				  MobilityControlInfo_t *mobilityControlInfo, 
 				  uint8_t ho_failed);
 
@@ -231,10 +231,10 @@ typedef struct
     uint16_t (*computeRIV)(uint16_t N_RB_DL,uint16_t RBstart,uint16_t Lcrbs);
 
     /// Downlink TBS table lookup from PHY
-    uint16_t (*get_TBS_DL)(uint8_t mcs, uint16_t nb_rb);
+    uint32_t (*get_TBS_DL)(uint8_t mcs, uint16_t nb_rb);
 
     /// Uplink TBS table lookup from PHY
-    uint16_t (*get_TBS_UL)(uint8_t mcs, uint16_t nb_rb);
+    uint32_t (*get_TBS_UL)(uint8_t mcs, uint16_t nb_rb);
 
     /// Function to retrieve the HARQ round index for a particular UL/DLSCH and harq_pid
     int (*get_ue_active_harq_pid)(module_id_t Mod_id, uint8_t CC_id,rnti_t rnti, int frame, uint8_t subframe, uint8_t *harq_pid, uint8_t *round, uint8_t ul_flag);
@@ -300,13 +300,13 @@ typedef struct
     /// Function for UE/PHY to compute PHR
     int8_t (*get_PHR)(module_id_t Mod_id, uint8_t CC_id,uint8_t eNB_index);
 
-    void (*process_timing_advance)(module_id_t Mod_id,int16_t timing_advance);
+    void (*process_timing_advance)(module_id_t Mod_id,uint8_t CC_id, int16_t timing_advance);
 
     LTE_eNB_UE_stats* (*get_eNB_UE_stats)(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
 
     LTE_DL_FRAME_PARMS* (*get_lte_frame_parms)(module_id_t Mod_id, uint8_t CC_id);
 
-    MU_MIMO_mode* (*get_mu_mimo_mode) (module_id_t Mod_id, uint8_t CC_id);
+    MU_MIMO_mode* (*get_mu_mimo_mode) (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
 
     int16_t (*get_hundred_times_delta_TF) (module_id_t module_idP, uint8_t CC_id, rnti_t rnti, uint8_t harq_pid);