MAC Clean-up [Issue-ID: ODUHIGH-212]
[o-du/l2.git] / src / 5gnrmac / mac.h
index ff88ad0..69fa37a 100644 (file)
 #ifndef _MAC_H_
 #define _MAC_H_
 
-#include <stdio.h>
-
-/* header include files (.h) */
-#include "envopt.h"        /* environment options */
-#include "envdep.h"        /* environment dependent */
-#include "envind.h"        /* environment independent */
-#include "gen.h"           /* general */
-#include "ssi.h"           /* system services */
-#include "cm_tkns.h"       /* Common Token Defines */
-#include "cm_llist.h"      /* Common Link List Defines */
-#include "cm_hash.h"       /* Common Hash List Defines */
-#include "cm_lte.h"        /* Common LTE Defines */
-#include "cm_mblk.h"        /* Common LTE Defines */
-#include "rgu.h"           /* RGU interface includes*/
-#include "tfu.h"           /* TFU Interface defines */
-#include "lrg.h"
-#include "du_app_mac_inf.h"
-#include "mac_sch_interface.h"
-#include "rg.h"
-
-/* header/extern include files (.x) */
-#include "gen.x"           /* general */
-#include "ssi.x"           /* system services */
-#include "cm_tkns.x"       /* Common Token Definitions */
-#include "cm_llist.x"      /* Common Link List Definitions */
-#include "cm_lib.x"        /* Common Library Definitions */
-#include "cm_hash.x"       /* Common Hash List Definitions */
-#include "cm_lte.x"        /* Common LTE Defines */
-#include "cm_mblk.x"        /* Common LTE Defines */
-#include "rgu.x"           
-#include "tfu.x"           /* RGU Interface includes */
-#include "lrg.x"
-
-#define MAX_SLOT_SUPPORTED    10 /* numerology 0 15Khz */
-#define MAX_ZERO_CORR_CFG_IDX 16 /* max zero correlation config index */
-#define SI_RNTI 0xFFFF
-#define P_RNTI 0xFFFE
+/* MAX values */
 #define MAX_MAC_CE 6
-#define MAX_UE 1
 #define MAX_CRI_SIZE 6
 #define MAX_MAC_DL_PDU 10
 #define MAX_NUM_HARQ_PROC  16
+#define MAX_SLOT_SUPPORTED    10 /* numerology 0 15Khz */
+#define MAX_ZERO_CORR_CFG_IDX 16 /* max zero correlation config index */
+
+#define DEFAULT_CELLS 1
+#define SI_RNTI 0xFFFF
+#define P_RNTI 0xFFFE
 
 #define PERIODIC_BSR_TMR_1MS    1
 #define PERIODIC_BSR_TMR_5MS    5
@@ -245,30 +214,31 @@ typedef struct macUeCb
 struct macCellCb
 {
    uint16_t    cellId;
-   MacRaCbInfo macRaCb[MAX_UE];
+   MacRaCbInfo macRaCb[MAX_NUM_UE];
    MacDlSlot   dlSlot[MAX_SLOT_SUPPORTED];
    MacUlSlot   ulSlot[MAX_SLOT_SUPPORTED];
    uint16_t    numActvUe;
-   MacUeCb     ueCb[MAX_UE];
+   MacUeCb     ueCb[MAX_NUM_UE];
+   MacCellCfg  macCellCfg;
+   SlotIndInfo currTime;
 };
 
 typedef struct macCb
 {
    Inst       macInst;
    ProcId     procId;
-   MacCellCb  *macCell;
+   MacCellCb  *macCell[MAX_NUM_CELL];
 }MacCb;
 
 /* global variable */
 MacCb macCb;
-void fillMacToSchPst(Pst *pst);
 void fillRarPdu(RarInfo *rarInfo);
 void createMacRaCb(uint16_t cellId, uint16_t crnti);
-void fillMsg4DlData(MacDlData *dlData, uint8_t *msg4Pdu);
+void fillMsg4DlData(uint16_t cellId, MacDlData *dlData, uint8_t *msg4Pdu);
 void fillMacCe(MacCeInfo  *macCeData, uint8_t *msg3Pdu);
 void macMuxPdu(MacDlData *dlData, MacCeInfo *macCeData, uint8_t *msg4TxPdu, uint16_t tbSize);
-int unpackRxData(RxDataIndPdu *rxDataIndPdu);
-uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti);
+uint8_t unpackRxData(uint16_t cellId, RxDataIndPdu *rxDataIndPdu);
+uint8_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti);
 void fillMg4Pdu(Msg4Alloc *msg4Alloc);
 void buildAndSendMuxPdu(SlotIndInfo currTimingInfo);