MAC/SCH Ue Delete Request and Response [JIRA ID - ODUHIGH-318]
[o-du/l2.git] / src / cm / mac_sch_interface.h
index 80ef9bf..e3e3825 100644 (file)
@@ -31,7 +31,8 @@
 #define EVENT_UCI_IND_TO_SCH         12
 #define EVENT_MODIFY_UE_CONFIG_REQ_TO_SCH 13
 #define EVENT_UE_RECONFIG_RSP_TO_MAC 14
-
+#define EVENT_UE_DELETE_REQ_TO_SCH   15
+#define EVENT_UE_DELETE_RSP_TO_MAC   16
 
 /*macros*/
 #define NO_SSB 0
 #define MAX_SR_BITS_IN_BYTES       1
 #define MAX_NUM_LOGICAL_CHANNEL_GROUPS 8
 /* can we have a common numslot numscs between mac sch */
+#ifdef NR_TDD
+#define MAX_SLOTS 20
+#else
 #define MAX_SLOTS 10
+#endif
 #define MAX_SFN   1024
 #define MAX_NUM_SR_CFG_PER_CELL_GRP 8   /* Max number of scheduling request config per cell group */
 #define MAX_NUM_TAGS 4                  /* Max number of timing advance groups */
@@ -121,6 +126,13 @@ typedef enum
    SR_PROHIBIT_MS128
 }SchSrProhibitTimer;
 
+typedef enum
+{
+   NOT_APPLICABLE,
+   INVALID_CELLID,
+   INVALID_UEIDX
+}ErrorCause;
+
 typedef enum
 {
    SR_TRANS_MAX_N4,
@@ -444,7 +456,7 @@ typedef struct dmrsInfo
 typedef struct pdschFreqAlloc
 {
    uint8_t  resourceAllocType;
-   /* since we are using type-1, hence rbBitmap excluded */
+   /* since we are using type-1, rbBitmap excluded */
    FreqDomainAlloc freqAlloc;
    uint8_t  vrbPrbMapping;
 } PdschFreqAlloc;
@@ -530,7 +542,6 @@ typedef struct
 {
    /* parameters recieved from DU-APP */
    uint16_t sib1PduLen;
-   uint16_t sib1NewTxPeriod;
    uint16_t sib1RepetitionPeriod;
    uint8_t  coresetZeroIndex;     /* derived from 4 LSB of pdcchSib1 present in MIB */
    uint8_t  searchSpaceZeroIndex; /* derived from 4 MSB of pdcchSib1 present in MIB */
@@ -1452,6 +1463,21 @@ typedef struct schUeCfgRsp
    SchFailureCause cause;
 }SchUeCfgRsp;
 
+typedef struct schUeDelete
+{
+   uint16_t   cellId;
+   uint16_t   crnti;
+}SchUeDelete;
+
+typedef struct schUeDeleteRsp
+{
+    uint16_t   cellId;
+    uint16_t   crnti;
+    SchMacRsp  rsp;
+    ErrorCause cause;
+}SchUeDeleteRsp;
+
+
 typedef struct dataVolInfo
 {
    uint8_t  lcgId;
@@ -1538,6 +1564,13 @@ typedef uint8_t (*MacSchModUeConfigReqFunc) ARGS((
 typedef uint8_t (*SchUeReCfgRspFunc) ARGS((
         Pst         *pst,           /* Post structure */
         SchUeCfgRsp *cfgRsp));       /* Scheduler UE Cfg response */
+typedef uint8_t (*MacSchUeDeleteReqFunc) ARGS((
+   Pst         *pst,           /* Post structure */
+   SchUeDelete *schUeDel)); /*Scheduler UE Del*/
+
+typedef uint8_t (*SchUeDeleteRspFunc) ARGS((
+     Pst          *pst,           /* Post structure */
+     SchUeDeleteRsp *delRsp));       /* Scheduler UE delete response */
 
 /* function declarations */
 uint8_t packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd);
@@ -1573,6 +1606,10 @@ uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
 uint8_t MacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
 uint8_t packSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
 uint8_t MacProcSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
+uint8_t packMacSchUeDeleteReq(Pst *pst,  SchUeDelete *schUeDel);
+uint8_t MacSchUeDeleteReq(Pst *pst, SchUeDelete  *ueDelete);
+uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp  *delRsp);
+uint8_t MacProcSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *schUeDelRsp);
 
 /**********************************************************************
   End of file