[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-532] RIC Subscription Delete Req/Rsp API...
[o-du/l2.git] / src / 5gnrmac / mac.h
index 64ff813..5a1db5a 100644 (file)
@@ -26,6 +26,7 @@
 #define MAX_ZERO_CORR_CFG_IDX 16 /* max zero correlation config index */
 #define MAC_TQ_SIZE    10        /* Timing Queue Size */
 #define MAX_NUM_TIMER  1         /* MAX number of MAC timers */
+#define MAX_PENDING_STATS_RSP  5      /* Maximum number of statistics request for which response is pending */
 
 #define DEFAULT_CELLS 1
 #define SI_RNTI 0xFFFF
@@ -59,6 +60,7 @@
 #define LC_ID_SIZE 6
 #define TIMING_ADVANCE_SIZE 12
 #define T_CRNTI_SIZE 16
+
 /*  UL Grant is of size = 27 bits. Refer to Spec 38.213, Table 8.2-1 for
  *  contents of UL grant in RAR */
 #define FREQ_HOP_FLAG_SIZE 1
@@ -241,9 +243,19 @@ struct macCellCb
    MacUeRecfg      *ueRecfgTmpData[MAX_NUM_UE];
    MacUeCb         ueCb[MAX_NUM_UE];
    MacCellCfg      macCellCfg;
+   uint8_t         numerology;
    SlotTimingInfo  currTime;
 };
 
+typedef struct macStatistics
+{
+   uint8_t      numPendingStatsRsp;
+   MacStatsRsp  pendingStatsRsp[MAX_PENDING_STATS_RSP];
+
+   /* This structure can be developed in future to add details of
+    * the statistics to be calculated at MAC */
+}MacStatistics;
+
 typedef struct macCb
 {
    Inst        macInst;
@@ -253,6 +265,7 @@ typedef struct macCb
    CmTqType    tmrTq[MAC_TQ_SIZE];        /*!< Timer Task Queue */
    CmTimer     tmrBlk[MAX_NUM_TIMER];     /*!< Timer Block */
    MacCellCb   *macCell[MAX_NUM_CELL];
+   MacStatistics  statistics;
 }MacCb;
 
 /* global variable */
@@ -286,6 +299,11 @@ uint8_t MacProcUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo);
 uint8_t MacProcSchRachRsrcRsp(Pst *pst, SchRachRsrcRsp *schRachRsrcRsp);
 uint8_t MacProcDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc);
 uint8_t MacProcSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp);
+
+uint8_t MacProcSchStatsRsp(Pst *pst, SchStatsRsp *schStatsRsp);
+uint8_t MacProcSchStatsInd(Pst *pst, SchStatsInd *schStatsInd);
+uint8_t MacProcSchStatsDeleteRsp(Pst *pst, SchStatsDeleteRsp *schStatsDeleteRsp);
+
 #endif
 /**********************************************************************
   End of file