RLC UeCb Changes
[o-du/l2.git] / src / du_app / du_mgr.h
index 6b4183f..468a9e8 100644 (file)
 /* This file contains message handling functionality for DU cell management */
 #ifndef __DU_MGR_H__
 #define __DU_MGR_H__
-
-#include "stdio.h"
-#include "ctype.h"
-#include "envopt.h"        /* Environment options */
-#include "envdep.h"        /* Environment dependent */
-#include "envind.h"        /* Environment independent */
-#include "gen.h"           /* General */
-#include "ssi.h"           /* System services */
-#include "cm5.h"           /* Common timer defines */
-#include "cm_tkns.h"       /* Common tokens defines */
-#include "cm_mblk.h"       /* Common memory allocation library defines */
-#include "cm_llist.h"      /* Common link list  defines  */
-#include "cm_hash.h"       /* Common hashlist  defines */
-#include "cm_lte.h"
-#include "cm_inet.h"
-#include "lkw.h"
-#include "lrg.h"
-#include "legtp.h"
-#include "du_app_mac_inf.h"
-
-#include "gen.x"           /* General */
-#include "ssi.x"           /* System services */
-
-#include "cm5.x"           /* Common timer library */
-#include "cm_tkns.x"       /* Common tokens */
-#include "cm_mblk.x"       /* Common memory allocation */
-#include "cm_llist.x"      /* Common link list */
-#include "cm_hash.x"       /* Common hashlist */
-#include "cm_lte.x"
-#include "cm_inet.x"
-#include "cm_lib.x"
-#include "lkw.x"
-#include "lrg.x"
-
-#include "du_cfg.h"
-
 #define DU_PROC  0
-/* Memory related configs */
-#define DU_APP_MEM_REGION    0
-#define RLC_UL_MEM_REGION    1
-#define RLC_DL_MEM_REGION    4
-#define MAC_MEM_REGION       4
-
-#define DU_POOL  1
-#define RLC_POOL  1
-#define RG_POOL 1
-
-/* Events */
-#define EVTCFG 0
-#define EVTSCTPSTRT  1
-#define EVENT_CU_DATA  2
-#define EVENT_SCTP_NTFY  3
-#define EVTSRVOPENREQ  4
-#define EVTSRVOPENCFM  5
-#define EVTTNLMGMTREQ  6
-#define EVTTNLMGMTCFM  7
-#define EVTSLOTIND    8
-#define EVTSTARTPOLL  9
-#define EVENT_RIC_DATA  10
-
-/* Selector */
-#define DU_SELECTOR_LC   0
-#define DU_SELECTOR_TC   1
-#define DU_SELECTOR_LWLC 2
 
 /* SAP IDs */
 #define DU_MAC_SUID 0
@@ -99,8 +36,6 @@
 
 #define DU_ZERO_VAL 0
 
-#define DU_UE_START_CRNTI 100
-
 /* Macros */
 #define ADD 0
 #define DEL 1
 #define DU_SET_ZERO(_buf, _size)   \
    cmMemset((U8 *)(_buf), 0, _size);
 
-/* allocate and zero out a static buffer */
-#define DU_ALLOC(_datPtr, _size)                                \
-{                                                               \
-   S16 _ret;                                                    \
-   _ret = SGetSBuf(DU_APP_MEM_REGION, DU_POOL,                  \
-                    (Data **)&_datPtr, _size);                  \
-   if(_ret == ROK)                                              \
-      cmMemset((U8*)_datPtr, 0, _size);                         \
-   else                                                         \
-      _datPtr = NULLP;                                          \
-}
-
-/* free a static buffer */
-#define DU_FREE(_datPtr, _size)                                 \
-   if(_datPtr)                                                  \
-      SPutSBuf(DU_APP_MEM_REGION, DU_POOL,                      \
-         (Data *)_datPtr, _size);
-
-/* Allocate shared memory to be used for LWLC 
- * during inter-layer communication */
-#define DU_ALLOC_SHRABL_BUF(_buf, _size)                     \
-{                                                            \
-   if(SGetStaticBuffer(DU_APP_MEM_REGION, DU_POOL,           \
-      (Data **)&_buf, (Size) _size, 0) == ROK)               \
-   {                                                         \
-      cmMemset((U8 *)(_buf), 0, _size);                      \
-   }                                                         \
-   else                                                      \
-   {                                                         \
-      (_buf) = NULLP;                                        \
-   }                                                         \
-}
-
-/* Free shared memory, received through LWLC */
-#define DU_FREE_SHRABL_BUF(_region, _pool,_buf, _size)          \
-{                                                               \
-   if (_buf != NULLP)                                           \
-   {                                                            \
-      (Void) SPutStaticBuffer(_region, _pool,                   \
-           (Data *) _buf, (Size) _size, 0);                     \
-       _buf = NULLP;                                            \
-   }                                                            \
-}
-
-
 typedef enum
 {
    CELL_OUT_OF_SERVICE,
@@ -178,7 +68,7 @@ typedef enum
 typedef enum
 {
    UE_INACTIVE,
-       UE_ACTIVE
+   UE_ACTIVE
 }UeState;
 
 typedef struct cellCfgParams
@@ -196,6 +86,7 @@ typedef struct duUeCb
    uint32_t gnbCuUeF1apId; /* GNB CU UE F1AP ID */
    UeState  ueState;
    MacUeCfg macUeCfg;
+   RlcUeCfg rlcUeCfg;
 }DuUeCb;
 
 typedef struct duCellCb
@@ -204,8 +95,8 @@ typedef struct duCellCb
    CellCfgParams  cellInfo;         /* Cell info */
    Bool           firstSlotIndRcvd;
    CellStatus     cellStatus;       /* Cell status */
-       uint32_t       numActvUes;       /* Total Active UEs */
-   DuUeCb         ueCb[DU_MAX_UE];  /* UE CONTEXT */
+   uint32_t       numActvUes;       /* Total Active UEs */
+   DuUeCb         ueCb[MAX_NUM_UE];  /* UE CONTEXT */
 }DuCellCb;
 
 typedef struct duLSapCb
@@ -237,12 +128,14 @@ typedef struct duCb
    //DuLSapCb      **macSap;  /* MAC SAP */
    Bool          f1Status; /* Status of F1 connection */
    Bool          e2Status; /* Status of E2 connection */
-   DuCellCb*     cfgCellLst[DU_MAX_CELLS];     /* List of cells at DU APP of type DuCellCb */
-   DuCellCb*     actvCellLst[DU_MAX_CELLS];    /* List of cells activated/to be activated of type DuCellCb */
+   uint8_t       numCfgCells; 
+   DuCellCb*     cfgCellLst[MAX_NUM_CELL];     /* List of cells at DU APP of type DuCellCb */
+   uint8_t       numActvCells;
+   DuCellCb*     actvCellLst[MAX_NUM_CELL];    /* List of cells activated/to be activated of type DuCellCb */
    /* pointer to store the address of macCellCfg params used to send du-app to MAC */
    MacCellCfg    *duMacCellCfg;         /* pointer to store params while sending DU-APP to MAC */
    uint32_t       numUe;            /* current number of UEs */
-   UeCcchCtxt     ueCcchCtxt[DU_MAX_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/
+   UeCcchCtxt     ueCcchCtxt[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/
 }DuCb;
 
 
@@ -276,7 +169,7 @@ S16 duSendRlcDlCfg();
 S16 duBuildRlcCfg(Inst inst);
 S16 duBuildRlcLsapCfg(Ent ent, Inst inst, U8 lsapInst);
 S16 duBuildRlcUsapCfg(U8 elemId, Ent ent, Inst inst);
-S16 duHdlRlcCfgComplete(Pst *pst, KwMngmt *cfm);
+S16 DuHdlRlcCfgComplete(Pst *pst, KwMngmt *cfm);
 S16 duHdlRlcCntrlCfgComplete(Pst *pst, KwMngmt *cfm);
 S16 duProcRlcUlCfgComplete(Pst *pst, KwMngmt *cfm);
 S16 duProcRlcDlCfgComplete(Pst *pst, KwMngmt *cfm);
@@ -299,11 +192,10 @@ S16 duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm);
 S16 duSendEgtpTestData();
 S16 duSendEgtpDatInd(Buffer *mBuf);
 S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm);
-uint16_t duBuildAndSendMacCellStartReq();
-uint16_t duBuildAndSendMacCellStopReq();
-
+uint8_t duBuildAndSendMacCellStartReq();
+uint8_t duBuildAndSendMacCellStopReq();
 #endif
 
 /**********************************************************************
-         End of file
-**********************************************************************/
+  End of file
+ **********************************************************************/