PUCCH CHANGES AT SCH AND LOWER MAC
[o-du/l2.git] / src / cm / mac_sch_interface.h
index 677e846..650dca2 100644 (file)
@@ -304,6 +304,12 @@ typedef struct schPdschCfgCmn
    uint8_t lengthSymbol;
 }SchPdschCfgCmn;
 
+typedef struct schPucchCfgCmn
+{
+   uint8_t pucchResourceCommon;
+   uint8_t pucchGroupHopping;
+}SchPucchCfgCmn;
+
 typedef struct schPuschCfgCmn
 {
    uint8_t k2;
@@ -322,6 +328,7 @@ typedef struct schBwpDlCfg
 typedef struct schBwpUlCfg
 {
    SchBwpParams   bwp;
+       SchPucchCfgCmn pucchCommon;
        SchPuschCfgCmn puschCommon;
 }SchBwpUlCfg;
 
@@ -406,6 +413,7 @@ typedef struct rarAlloc
 
 typedef struct msg4Info
 {
+   uint16_t crnti;
        uint8_t  ndi;
        uint8_t  harqProcNum;
        uint8_t  dlAssignIdx;
@@ -413,9 +421,8 @@ typedef struct msg4Info
        uint8_t  pucchResInd;
        uint8_t  harqFeedbackInd;
        uint8_t  dciFormatId;
-   uint16_t crnti;
    uint8_t  *msg4Pdu;
-   uint8_t  msg4PduLen;
+   uint16_t  msg4PduLen;
 }Msg4Info;
 
 typedef struct msg4Alloc
@@ -469,6 +476,18 @@ typedef struct schPuschInfo
    TbInfo           tbInfo;       /* TB info */
 }SchPuschInfo;
 
+typedef struct schPucchInfo
+{
+   uint16_t         rnti;
+   uint8_t          pucchFormat;
+   FreqDomainAlloc  fdAlloc;      /* Freq domain allocation */
+   TimeDomainAlloc  tdAlloc;      /* Time domain allocation */
+       uint8_t          srFlag;
+       uint8_t          harqFlag;
+       uint8_t          numHarqBits;
+       uint8_t          uciFlag;
+       uint8_t          numUciBits;
+}SchPucchInfo;
 
 typedef struct ulSchedInfo
 {
@@ -478,6 +497,7 @@ typedef struct ulSchedInfo
        uint8_t       dataType;       /* Type of info being scheduled */
        PrachSchInfo  prachSchInfo;   /* Prach scheduling info */
        SchPuschInfo  schPuschInfo;   /* Pusch scheduling info */
+       SchPucchInfo  schPucchInfo;   /* Pusch scheduling info */
 }UlSchedInfo;
 
 typedef struct rachIndInfo