[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-447] PCCH Scheduling at SCH
[o-du/l2.git] / src / cm / mac_sch_interface.h
index d09063a..c588951 100644 (file)
@@ -43,6 +43,8 @@
 #define EVENT_SLICE_RECFG_RSP_TO_MAC 24
 #define EVENT_RACH_RESOURCE_REQUEST_TO_SCH 25
 #define EVENT_RACH_RESOURCE_RESPONSE_TO_MAC 26
+#define EVENT_PAGING_IND_TO_SCH      27
+#define EVENT_DL_PAGING_ALLOC        28
 
 /*macros*/
 #define MAX_SSB_IDX 1 /* forcing it as 1 for now. Right value is 64 */
@@ -980,6 +982,20 @@ typedef struct dlSchedInfo
 
 }DlSchedInfo;
 
+typedef struct dlPageAlloc
+{
+   uint16_t       cellId;
+   SlotTimingInfo dlPageTime;
+   uint8_t        ssbIdx;
+   bool           shortMsgInd;
+   uint8_t        shortMsg;
+   BwpCfg         bwp;
+   PdcchCfg       pagePdcchCfg;
+   PdschCfg       pagePdschCfg;
+   uint16_t       dlPagePduLen;
+   uint8_t        *dlPagePdu;
+}DlPageAlloc;
+
 typedef struct tbInfo
 {
    uint8_t  qamOrder;  /* Modulation Order */
@@ -1704,6 +1720,15 @@ typedef struct schSliceRsp
    SliceRsp   **listOfSliceCfgRsp;
 }SchSliceCfgRsp;
 
+typedef struct schPageInd
+{
+   uint16_t  cellId;
+   uint16_t  pf;
+   uint8_t   i_s;
+   uint16_t  pduLen;
+   uint8_t  *pagePdu;
+}SchPageInd;
+
 /* function pointers */
 typedef uint8_t (*SchCellCfgCfmFunc)    ARGS((
         Pst            *pst,           /* Post Structure */                         
@@ -1720,6 +1745,11 @@ typedef uint8_t (*SchMacDlAllocFunc)     ARGS((
         DlSchedInfo    *dlSchedInfo   /* dl allocation Info */                      
         ));
 
+typedef uint8_t (*SchMacDlPageAllocFunc)     ARGS(( 
+         Pst            *pst,          /* Post Structure */
+         DlPageAlloc *dlPageAlloc      /* dl Page allocation Info */
+         ));
+
 typedef uint8_t (*SchMacUlSchInfoFunc)     ARGS((                     
         Pst         *pst,           /* Post Structure */                         
         UlSchedInfo *ulSchedInfo    /* UL Alloc Sch  Info */                      
@@ -1808,6 +1838,10 @@ typedef uint8_t (*SchSliceReCfgRspFunc)    ARGS((
         SchSliceCfgRsp  *schSliceReCfgRsp /* Cell ReCfg Cfm */
         ));
 
+typedef uint8_t (*MacSchPagingIndFunc) ARGS((
+   Pst         *pst,           /* Post structure */
+   SchPageInd *schPagingInd)); /* Paging Indication */
+
 /* function declarations */
 uint8_t packMacSchSlotInd(Pst *pst, SlotTimingInfo *slotInd);
 uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo  *dlSchedInfo);
@@ -1861,6 +1895,10 @@ uint8_t packMacSchSliceReCfgReq(Pst *pst, SchSliceCfgReq *cfgReq);
 uint8_t MacSchSliceReCfgReq(Pst *pst, SchSliceCfgReq *schSliceCfgReq);
 uint8_t packSchSliceReCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp);
 uint8_t MacProcSchSliceReCfgRsp(Pst *pst, SchSliceCfgRsp *sliceReCfgrsp);
+uint8_t packMacSchPagingInd(Pst *pst,  SchPageInd *pageInd);
+uint8_t MacSchPagingInd(Pst *pst,  SchPageInd *pageInd);
+uint8_t packSchMacDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc);
+uint8_t MacProcDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc);
 /**********************************************************************
   End of file
  **********************************************************************/