RARandSib1Transmission
[o-du/l2.git] / src / cm / du_app_mac_inf.h
index 9c64971..b8a5056 100644 (file)
@@ -30,6 +30,9 @@
 #define SIB1_REPETITION_PERIOD   20
 #define CORESET_0_INDEX      0
 #define SEARCHSPACE_0_INDEX   0
+#define SEARCHSPACE_1_INDEX   1
+#define SS_MONITORING_SLOT_SL1   0 /* all slots */
+#define SS_MONITORING_SYMBOL     0x2000; /* symbol-0, set 14th bit */
 #define SIB1_MCS  4
 
 /* Macros for coupling */
@@ -184,6 +187,44 @@ typedef struct sib1CellCfg
    uint16_t sib1Mcs;
 } Sib1CellCfg; 
 
+typedef struct bwpParams
+{
+   uint16_t firstPrb;
+   uint16_t numPrb;
+       uint8_t  scs;
+       uint8_t  cyclicPrefix;
+}BwpParams;
+
+typedef struct candidatesInfo
+{
+   uint8_t aggLevel1;
+   uint8_t aggLevel2;
+   uint8_t aggLevel4;
+   uint8_t aggLevel8;
+   uint8_t aggLevel16;
+}CandidatesInfo;
+
+typedef struct searchSpaceCfg
+{
+   uint8_t searchSpaceId;
+       uint8_t coresetId;
+       uint16_t monitoringSlot;
+       uint16_t duration;
+       uint16_t monitoringSymbol;
+       CandidatesInfo candidate;
+}SearchSpaceCfg;
+
+typedef struct pdcchConfigCommon
+{
+   SearchSpaceCfg raSearchSpace;
+}PdcchConfigCommon;
+
+typedef struct bwpDlConfig
+{
+   BwpParams      bwp;
+       PdcchConfigCommon pdcchCommon;
+}BwpDlConfig;
+
 typedef struct macCellCfg
 {
    U16            transId;
@@ -200,6 +241,7 @@ typedef struct macCellCfg
    TDDCfg         tddCfg;     /* TDD periodicity and slot configuration */
    RSSIMeasUnit   rssiUnit;   /* RSSI measurement unit */
    Sib1CellCfg    sib1Cfg;
+       BwpDlConfig    initialBwp;
 }MacCellCfg;
 
 typedef struct macCellCfgCfm
@@ -210,6 +252,7 @@ typedef struct macCellCfgCfm
 
 typedef struct slotInfo
 {
+   uint16_t cellId;
    uint16_t sfn;
    uint16_t slot;
 }SlotInfo;
@@ -252,26 +295,27 @@ extern uint16_t unpackMacCellStopReq(DuMacCellStopReq func, Pst *pst, Buffer *mB
 extern uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo  *cellStopInfo);
 
 /* Function pointers for packing macCellCfg Request and Confirm */
-typedef uint16_t (*packMacCellCfgReq) ARGS((
+typedef int (*packMacCellCfgReq) ARGS((
    Pst           *pst,
    MacCellCfg    *macCellCfg ));
 
-typedef uint16_t (*packMacCellCfgConfirm) ARGS((
+typedef int (*packMacCellCfgConfirm) ARGS((
    Pst              *pst,
    MacCellCfgCfm    *macCellCfgCfm ));
 
-typedef uint16_t (*DuMacCellCfgReq) ARGS((
+typedef int (*DuMacCellCfgReq) ARGS((
    Pst        *pst,        
    MacCellCfg *macCellCfg));
 
-typedef uint16_t (*DuMacCellCfgCfm) ARGS((
+typedef int (*DuMacCellCfgCfm) ARGS((
+   Pst        *pst,        
    MacCellCfgCfm *macCellCfgCfm ));
 
-extern uint16_t packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg);
+extern int  packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg);
 extern int MacHdlCellCfgReq(Pst *pst, MacCellCfg *macCellCfg);
 extern void cmUnpackLwLcMacCellCfg(DuMacCellCfgReq func, Pst *pst, Buffer *mBuf);
-extern uint16_t unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf);
-extern uint16_t duHandleMacCellCfgCfm(MacCellCfgCfm *macCellCfgCfm);
+extern int unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf);
+extern int duHandleMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
 
 #endif