CI: Add silent cmake SonarCloud scan
[o-du/l2.git] / src / cm / du_app_mac_inf.h
index 30a11a3..0aa7055 100644 (file)
 #define NUM_SSB                1       /* max value is 64 */
 #define SSB_MASK_SIZE  1       /* SSB mask size is 32bit for sub6 */
 #define SIB1_REPETITION_PERIOD   20
-#define CORESET_0_INDEX      0
 #define CORESET_1_INDEX      1
 #define CORESET_2_INDEX      2
 #define CORESET_3_INDEX      3
 #define CORESET_4_INDEX      4
 #define SEARCHSPACE_0_INDEX   0
-#define SEARCHSPACE_1_INDEX   1
 #define SEARCHSPACE_2_INDEX   2
 #define SEARCHSPACE_3_INDEX   3
 #define SEARCHSPACE_4_INDEX   4
-#define SS_MONITORING_SLOT_SL1   0 /* all slots */
-#define SS_MONITORING_SYMBOL     0x2000; /* symbol-0, set 14th bit */
 
 /* Macro for Ue Context */
 #define MAX_NUM_SR_CFG_PER_CELL_GRP 8   /* Max number of scheduling request config per cell group */
@@ -94,6 +90,8 @@
 #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
 #define MAX_PLMN 2
 
 /********************* Global Variable ********************/
-uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
+extern uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
 
 /********************* Interface structure definition ********************/
 typedef enum
@@ -362,22 +360,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
 {
@@ -647,8 +645,7 @@ typedef enum
 typedef struct plmnInfoList
 {
    Plmn           plmn;
-   uint8_t        numSupportedSlice; /* Total slice supporting */
-   Snssai         **snssai;         /* List of supporting snssai*/
+   SupportedSliceList suppSliceList;
 }PlmnInfoList;
 
 typedef struct schPageCfg
@@ -878,7 +875,7 @@ typedef struct beamformingConf
 
 typedef struct csiRsCfg
 {
-   uint8_t   *csiFreqDomainAlloc;
+   uint8_t    *csiFreqDomainAlloc;
    uint8_t    csiNrofPorts;
    uint8_t    csirsfirstOFDMSymbolInTimeDomain;
    uint8_t    csirsfirstOFDMSymbolInTimeDomain2;
@@ -896,7 +893,7 @@ typedef struct macCellCfg
    CarrierCfg       carrCfg;          /* Carrier configuration */
    CellCfg          cellCfg;          /* Cell Configuration*/
    SsbCfg           ssbCfg;           /* SSB configuration */          
-   CsiRsCfg         csiRsCfg;         /*Reference: 38.331 CSI-MeasConfig*/
+   CsiRsCfg         csiRsCfg;         /*Reference: 38.331 CSI-RS-ResourceMapping */
    PrachCfg         prachCfg;         /* PRACH Configuration */
 #ifdef NR_TDD
    TDDCfg           tddCfg;           /* TDD periodicity and slot configuration */
@@ -1008,6 +1005,12 @@ typedef struct controlRsrcSet
    uint16_t    dmrsScramblingId;
 }ControlRsrcSet;
 
+typedef struct mSlotPeriodAndOffset
+{
+   MSlotPeriodicity  mSlotPeriodicity;
+   uint16_t          mSlotOffset;
+}MSlotPeriodAndOffset;
+
 /* Search Space info */
 typedef struct searchSpace
 {
@@ -1903,16 +1906,30 @@ typedef struct macStatsInd
 
 typedef struct macStatsDeleteReq
 {
-   uint64_t      subscriptionId;
+   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;
-   MacRsp        result;
-   CauseOfResult status;
+   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*/
@@ -2092,6 +2109,16 @@ 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);
@@ -2233,6 +2260,15 @@ 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