<[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-421]Paging Message: CU_STUB Trigger and...
[o-du/l2.git] / src / cm / du_app_mac_inf.h
index a29d53d..16763d9 100644 (file)
 #define EVENT_MAC_SLICE_CFG_RSP      217
 #define EVENT_MAC_SLICE_RECFG_REQ    218
 #define EVENT_MAC_SLICE_RECFG_RSP    219
+#define EVENT_MAC_SLOT_IND           220
 
 #define BSR_PERIODIC_TIMER_SF_10 10
 #define BSR_RETX_TIMER_SF_320 320
 #define BSR_SR_DELAY_TMR_2560 2560
 
+#define PAGING_SCHED_DELTA  4
+
 typedef enum
 {
    MAC_DU_APP_RSP_NOK,
@@ -503,6 +506,13 @@ typedef enum
    RSRC_RRC_CONNECTED_USERS
 }ResourceType;
 
+typedef enum
+{
+   TRANSMISSION_ALLOWED,
+   STOP_TRANSMISSION,
+   RESTART_TRANSMISSION
+}DataTransmissionAction;
+
 typedef struct failureCause
 {
    CauseGrp   type;
@@ -1241,6 +1251,7 @@ typedef struct macUeCfg
    uint8_t numLcs;
    LcCfg lcCfgList[MAX_NUM_LC];
    UeCfgState macUeCfgState;    /* InActive / Completed */
+   DataTransmissionAction transmissionAction;
 }MacUeCfg;
 
 typedef struct nrcgi
@@ -1342,6 +1353,11 @@ typedef uint8_t (*DuMacCellUpInd) ARGS((
         Pst       *pst,
         OduCellId *cellId ));
 
+/* Functions for slot Ind from MAC to DU APP*/
+typedef uint8_t (*DuMacSlotInd) ARGS((
+        Pst       *pst,
+        SlotTimingInfo *slotIndInfo));
+
 /* Functions for stop Ind from MAC to DU APP*/
 typedef uint8_t (*DuMacStopInd) ARGS((
         Pst        *pst,
@@ -1439,6 +1455,7 @@ typedef uint8_t (*MacDuSliceReCfgRspFunc) ARGS((
         Pst           *pst,
         MacSliceCfgRsp   *cfgRsp));
 
+uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
 
 uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId);
 uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf);
@@ -1498,7 +1515,11 @@ uint8_t unpackMacSliceReCfgReq(DuMacSliceRecfgReq func, Pst *pst, Buffer *mBuf);
 uint8_t DuProcMacSliceReCfgRsp(Pst *pst,  MacSliceCfgRsp *cfgRsp);
 uint8_t packDuMacSliceReCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
 uint8_t unpackDuMacSliceReCfgRsp(MacDuSliceReCfgRspFunc func, Pst *pst, Buffer *mBuf);
-
+uint8_t duHandleSlotInd(Pst *pst, SlotTimingInfo *slotIndInfo);
+uint8_t packMacSlotInd(Pst *pst, SlotTimingInfo *slotIndInfo);
+uint8_t unpackDuMacSlotInd(DuMacSlotInd func, Pst *pst, Buffer *mBuf);
+int8_t getFreeBitFromUeBitMap(uint16_t cellId);
+void unsetBitInUeBitMap(uint16_t cellId, uint8_t bitPos);
 #endif