Added missing triggers and state params for cell up
[o-du/l2.git] / src / du_app / du_mgr.h
index 10ba6af..35ef06a 100644 (file)
@@ -37,7 +37,7 @@
 #include "lkw.h"
 #include "lrg.h"
 #include "legtp.h"
-
+#include "du_app_mac_inf.h"
 
 #include "gen.x"           /* General */
 #include "ssi.x"           /* System services */
@@ -53,6 +53,8 @@
 #include "lkw.x"
 #include "lrg.x"
 
+#include "du_cfg.h"
+
 #define DU_PROC  0
 /* Memory related configs */
 #define DU_APP_MEM_REGION    0
 /* Events */
 #define EVTCFG 0
 #define EVTSCTPSTRT  1
-#define EVTSCTPDATA  2
-#define EVTSCTPNTFY  3
+#define EVENT_CU_DATA  2
+#define EVENT_SCTP_NTFY  3
 #define EVTSRVOPENREQ  4
 #define EVTSRVOPENCFM  5
 #define EVTTNLMGMTREQ  6
 #define EVTTNLMGMTCFM  7
-#define EVTTTIIND    8
+#define EVTSLOTIND    8
+#define EVTSTARTPOLL  9
+#define EVENT_RIC_DATA  10
 
 /* Selector */
 #define DU_SELECTOR_LC   0
 #define DU_ZERO_VAL 0
 
 /* Macros */
-#define DEFAULT_CELLS    1
-#define NR_RANAC 150
 
 #define ADD 0
 #define DEL 1
       SPutSBuf(DU_APP_MEM_REGION, DU_POOL,                      \
          (Data *)_datPtr, _size);
 
+/* Free shared memory, received through LWLC */
+#define DU_FREE_MEM(_region, _pool, _datPtr, _size)             \
+   if(_datPtr)                                                  \
+          SPutSBuf(_region, _pool,(Data *)_datPtr, _size);          \
+   _datPtr = NULL;
+
 typedef enum
 {
-   OOS,
+   CELL_OUT_OF_SERVICE,
    ACTIVATION_IN_PROGRESS,
    ACTIVATED,
    DELETION_IN_PROGRESS
 }CellStatus;
 
-#if 0
+typedef struct cellCfgParams
+{
+   NrEcgi      nrEcgi;         /* ECGI */
+   U16         nrPci;          /* PCI */
+   U16         fiveGsTac;         /* 5gSTac */
+   Plmn      plmn[MAX_PLMN]; /* List of serving PLMN IDs */
+   U32         maxUe;          /* max UE per slot */
+}CellCfgParams;
+
+
 typedef struct duCellCb
 {
    U32            cellId;      /* Internal cell Id */
    CellCfgParams  cellInfo;    /* Cell info */
+   Bool           firstSlotIndRcvd;
    CellStatus     cellStatus;  /*Cell status */
 }DuCellCb;
-#endif
 
 typedef struct duLSapCb
 {
@@ -162,9 +179,9 @@ typedef struct duLSapCb
    State       sapState;
    Mem         mem;
    CmTimer     timer;
-   U8                        bndRetryCnt;
-   U8                        maxBndRetry;
-   TmrCfg                    bndTmr;
+   U8          bndRetryCnt;
+   U8          maxBndRetry;
+   TmrCfg      bndTmr;
 }DuLSapCb;
 
 /* DU APP DB */
@@ -174,8 +191,11 @@ typedef struct duCb
    TskInit       init;   /* DU Init */
    //DuLSapCb      **macSap;  /* MAC SAP */
    Bool          f1Status; /* Status of F1 connection */
-   CmHashListCp  cellLst;     /* List of cells at DU APP of type DuCellCb */
-   CmHashListCp  actvCellLst; /* List of cells activated/to be activated of type DuCellCb */
+   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 */
+   /* 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 */
 }DuCb;
 
 
@@ -229,8 +249,10 @@ S16 duSendEgtpSrvOpenReq();
 S16 duHdlEgtpSrvOpenComplete(CmStatus cfm);
 S16 duSendEgtpTnlMgmtReq(U8 action, U32 lclTeid, U32 remTeid);
 S16 duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm);
-S16 duSendEgtpDatInd();
+S16 duSendEgtpTestData();
+S16 duSendEgtpDatInd(Buffer *mBuf);
 S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm);
+uint16_t duBuildAndSendMacCellStartReq();
 
 #endif