X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fmac_sch_interface.h;h=6fc4caf9ed517cbe6f55226df832913a06b5ed8f;hb=c4b8f7a0c5c6491323c6a87b2d1031d61ee0188e;hp=0c599ee9a13a47e8ee58185edb1533ba6741e91e;hpb=50aa3f9538e700074800c809f226760079e68d4a;p=o-du%2Fl2.git diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index 0c599ee9a..6fc4caf9e 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -19,8 +19,11 @@ /* events */ #define EVENT_SCH_CELL_CFG 1 #define EVENT_SCH_CELL_CFG_CFM 2 -#define EVENT_DL_ALLOC 3 +#define EVENT_DL_ALLOC 3 #define EVENT_UL_SCH_INFO 4 +#define EVENT_RACH_IND_TO_SCH 5 +#define EVENT_CRC_IND_TO_SCH 6 +#define EVENT_DL_RLC_BO_INFO_TO_SCH 7 /* selector */ #define MAC_SCH_LC_SELECTOR 0 @@ -51,6 +54,9 @@ #define SCH_DATATYPE_PRACH 16 #define MAX_NUMBER_OF_CRC_IND_BITS 1 +#define MAX_NUM_LOGICAL_CHANNELS 11 + +#define CCCH_LCID 0 /*structures*/ @@ -387,6 +393,27 @@ typedef struct rarAlloc PdschCfg rarPdschCfg; }RarAlloc; +typedef struct msg4Info +{ + uint8_t ndi; + uint8_t harqProcNum; + uint8_t dlAssignIdx; + uint8_t pucchTpc; + uint8_t pucchResInd; + uint8_t harqFeedbackInd; + uint8_t dciFormatId; + uint16_t crnti; + uint8_t *msg4Pdu; + uint8_t msg4PduLen; +}Msg4Info; + +typedef struct msg4Alloc +{ + Msg4Info msg4Info; + PdcchCfg msg4PdcchCfg; + PdschCfg msg4PdschCfg; +}Msg4Alloc; + typedef struct dlAlloc { uint16_t cellId; /* Cell Id */ @@ -399,6 +426,9 @@ typedef struct dlAlloc /* Allocation for RAR message */ uint8_t isRarPres; RarAlloc rarAlloc; + + /* Allocation from MSG4 */ + Msg4Alloc *msg4Alloc; }DlAlloc; typedef struct tbInfo @@ -422,6 +452,7 @@ typedef struct schPuschInfo typedef struct ulSchInfo { uint16_t cellId; /* Cell Id */ + uint16_t crnti; /* CRNI */ SlotIndInfo slotIndInfo; /* Slot Info: sfn, slot number */ uint8_t dataType; /* Type of info being scheduled */ PrachSchInfo prachSchInfo; /* Prach scheduling info */ @@ -450,6 +481,20 @@ typedef struct crcIndInfo uint8_t crcInd[MAX_NUMBER_OF_CRC_IND_BITS]; }CrcIndInfo; +typedef struct boInfo +{ + uint8_t lcId; + uint32_t dataVolume; +}BOInfo; + +typedef struct dlRlcBOInfo +{ + uint16_t cellId; + uint16_t crnti; + uint16_t numLc; + BOInfo boInfo[MAX_NUM_LOGICAL_CHANNELS]; +}DlRlcBOInfo; + /* function pointers */ @@ -493,6 +538,10 @@ int macSchRachInd(Pst *pst, RachIndInfo *rachInd); typedef int (*MacSchCrcIndFunc)(Pst *pst, CrcIndInfo *crcInd); int packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd); int macSchCrcInd(Pst *pst, CrcIndInfo *crcInd); +typedef uint8_t (*MacSchDlRlcBoInfoFunc)(Pst *pst, DlRlcBOInfo *dlBoInfo); +uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBOInfo *dlBoInfo); +uint8_t macSchDlRlcBoInfo(Pst *pst, DlRlcBOInfo *dlBoInfo); + /********************************************************************** End of file