#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 RG_MEM_REGION 4
+#define MAC_MEM_REGION 4
#define DU_POOL 1
#define RLC_POOL 1
/* 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 EVTRICDATA 10
+#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
{
State sapState;
Mem mem;
CmTimer timer;
- U8 bndRetryCnt;
- U8 maxBndRetry;
- TmrCfg bndTmr;
+ U8 bndRetryCnt;
+ U8 maxBndRetry;
+ TmrCfg bndTmr;
}DuLSapCb;
/* DU APP DB */
//DuLSapCb **macSap; /* MAC SAP */
Bool f1Status; /* Status of F1 connection */
Bool e2Status; /* Status of E2 connection */
- CmHashListCp cellLst; /* List of cells at DU APP of type DuCellCb */
- CmHashListCp actvCellLst; /* List of cells activated/to be activated of type DuCellCb */
+ 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;
S16 duSendEgtpTestData();
S16 duSendEgtpDatInd(Buffer *mBuf);
S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm);
+uint16_t duBuildAndSendMacCellStartReq();
#endif