e2ap message cleanup
[o-du/l2.git] / src / du_app / du_mgr.h
index a05e7c7..2b08c77 100644 (file)
@@ -58,9 +58,9 @@
 #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 RLC_UL_MEM_REGION    1
+#define RLC_DL_MEM_REGION    4
+#define MAC_MEM_REGION       4
 
 #define DU_POOL  1
 #define RLC_POOL  1
       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_MEM(_region, _pool, _datPtr, _size)             \
-   if(_datPtr)                                                  \
-          SPutSBuf(_region, _pool,(Data *)_datPtr, _size);          \
-   _datPtr = NULL;
+#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
 {
@@ -184,6 +205,14 @@ typedef struct duLSapCb
    TmrCfg      bndTmr;
 }DuLSapCb;
 
+typedef struct ueCcchCtxt
+{
+   uint32_t gnbDuUeF1apId; /* GNB DU UE F1AP ID */
+   uint16_t crnti;         /* CRNTI */
+   uint16_t cellId;        /* Cell Id */
+}UeCcchCtxt;
+
+
 /* DU APP DB */
 typedef struct duCb
 {
@@ -196,6 +225,8 @@ typedef struct duCb
    DuCellCb*     actvCellLst[DU_MAX_CELLS];    /* 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*/
 }DuCb;
 
 
@@ -253,6 +284,7 @@ S16 duSendEgtpTestData();
 S16 duSendEgtpDatInd(Buffer *mBuf);
 S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm);
 uint16_t duBuildAndSendMacCellStartReq();
+uint16_t duBuildAndSendMacCellStopReq();
 
 #endif