[Epic-ID: ODUHIGH-517][Task-ID: ODUHIGH-539][SubTask-Id: ODUHIGH-542] Multi UE| DL...
[o-du/l2.git] / src / cm / du_app_mac_inf.h
index 3514714..32cd057 100644 (file)
 #define EVENT_MAC_STATISTICS_REQ     229
 #define EVENT_MAC_STATISTICS_RSP     230
 #define EVENT_MAC_STATISTICS_IND     231
+#define EVENT_MAC_STATS_DELETE_REQ   232
+#define EVENT_MAC_STATS_DELETE_RSP   233
+#define EVENT_MAC_STATISTICS_MODIFY_REQ     234
+#define EVENT_MAC_STATISTICS_MODIFY_RSP     235
 
 #define BSR_PERIODIC_TIMER_SF_10 10
 #define BSR_RETX_TIMER_SF_320 320
@@ -360,22 +364,22 @@ typedef enum
 
 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;
+   SLOTPERIODICITY_PR_SL1 = 1,
+   SLOTPERIODICITY_PR_SL2,
+   SLOTPERIODICITY_PR_SL4,
+   SLOTPERIODICITY_PR_SL5,
+   SLOTPERIODICITY_PR_SL8,
+   SLOTPERIODICITY_PR_SL10,
+   SLOTPERIODICITY_PR_SL16,
+   SLOTPERIODICITY_PR_SL20,
+   SLOTPERIODICITY_PR_SL40,
+   SLOTPERIODICITY_PR_SL80,
+   SLOTPERIODICITY_PR_SL160,
+   SLOTPERIODICITY_PR_SL320,
+   SLOTPERIODICITY_PR_SL640,
+   SLOTPERIODICITY_PR_SL1280,
+   SLOTPERIODICITY_PR_SL2560
+}MSlotPeriodicity;
 
 typedef enum
 {
@@ -1006,6 +1010,12 @@ typedef struct controlRsrcSet
    uint16_t    dmrsScramblingId;
 }ControlRsrcSet;
 
+typedef struct mSlotPeriodAndOffset
+{
+   MSlotPeriodicity  mSlotPeriodicity;
+   uint16_t          mSlotOffset;
+}MSlotPeriodAndOffset;
+
 /* Search Space info */
 typedef struct searchSpace
 {
@@ -1899,6 +1909,32 @@ typedef struct macStatsInd
    MacStats    measuredStatsList[MAX_NUM_STATS];
 }MacStatsInd;
 
+typedef struct macStatsDeleteReq
+{
+   uint64_t    subscriptionId;
+   uint8_t     numStatsGroupToBeDeleted;
+   uint8_t     statsGrpIdToBeDelList[MAX_NUM_STATS_GRP];
+}MacStatsDeleteReq;
+
+typedef struct macStatsDeleteInfo
+{
+   uint8_t       groupId;
+   MacRsp        statsGrpDelRsp;
+   CauseOfResult statsGrpDelCause;
+}MacStatsDeleteInfo;
+
+typedef struct macStatsDeleteRsp
+{
+   uint64_t           subscriptionId; /* subscription Id */
+   MacRsp             subsDelRsp;    /* deletion status of all statsGrp with given subscriptionId */
+   CauseOfResult      subsDelCause;  /* cause of failure in deletion of all statsGrp with given subscriptionId */
+   uint8_t            numStatsGroupDeleted; /* number of actions to deleted */ 
+   MacStatsDeleteInfo statsGrpDelInfo[MAX_NUM_STATS_GRP]; /*list of the deletion statuses for specific actions */
+}MacStatsDeleteRsp;
+
+typedef struct macStatsReq MacStatsModificationReq;
+typedef struct macStatsRsp MacStatsModificationRsp;
+
 /****************** FUNCTION POINTERS ********************************/
 
 /* DL broadcast req from DU APP to MAC*/
@@ -2068,6 +2104,26 @@ typedef uint8_t (*MacDuStatsIndFunc) ARGS((
       Pst *pst,
       MacStatsInd *statsInd));
 
+/* Statitics Delete Request from DU APP to MAC */
+typedef uint8_t (*DuMacStatsDeleteReqFunc) ARGS((
+         Pst *pst,
+         MacStatsDeleteReq *statsDeleteReq));
+
+/* Statistics Delete Response from MAC to DU APP */
+typedef uint8_t (*MacDuStatsDeleteRspFunc) ARGS((
+         Pst *pst,
+         MacStatsDeleteRsp *statsDeleteRsp));
+
+/* Statitics Modification Request from DU APP to MAC */
+typedef uint8_t (*DuMacStatsModificationReqFunc) ARGS((
+      Pst *pst,
+      MacStatsModificationReq *statsModificationReq));
+
+/* Statistics Modification Response from MAC to DU APP */
+typedef uint8_t (*MacDuStatsModificationRspFunc) ARGS((
+      Pst *pst,
+      MacStatsModificationRsp *statsModificationRsp));
+
 /******************** FUNCTION DECLARATIONS ********************************/
 uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId);
 uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf);
@@ -2200,6 +2256,24 @@ uint8_t unpackDuMacStatsRsp(MacDuStatsRspFunc func, Pst *pst, Buffer *mBuf);
 uint8_t packDuMacStatsInd(Pst *pst, MacStatsInd *statsRsp);
 uint8_t DuProcMacStatsInd(Pst *pst, MacStatsInd *statsRsp);
 uint8_t unpackDuMacStatsInd(MacDuStatsIndFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsDeleteReq(Pst *pst, MacStatsDeleteReq *statsDeleteReq);
+uint8_t MacProcStatsDeleteReq(Pst *pst, MacStatsDeleteReq *statsDeleteReq);
+uint8_t unpackMacStatsDeleteReq(DuMacStatsDeleteReqFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsDeleteRsp(Pst *pst, MacStatsDeleteRsp *statsDeleteRsp);
+uint8_t DuProcMacStatsDeleteRsp(Pst *pst, MacStatsDeleteRsp *statsDeleteRsp);
+uint8_t unpackDuMacStatsDeleteRsp(MacDuStatsDeleteRspFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsModificationReq(Pst *pst, MacStatsModificationReq *statsModificationReq);
+uint8_t MacProcStatsModificationReq(Pst *pst, MacStatsModificationReq *statsModificationReq);
+uint8_t unpackMacStatsModificationReq(DuMacStatsModificationReqFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsModificationRsp(Pst *pst, MacStatsModificationRsp *statsModificationRsp);
+uint8_t DuProcMacStatsModificationRsp(Pst *pst, MacStatsModificationRsp *statsModificationRsp);
+uint8_t unpackDuMacStatsModificationRsp(MacDuStatsModificationRspFunc func, Pst *pst, Buffer *mBuf);
+
+
 #endif