#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 RLC_UL_MEM_REGION 1
+#define RLC_DL_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
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,
NrEcgi nrEcgi; /* ECGI */
U16 nrPci; /* PCI */
U16 fiveGsTac; /* 5gSTac */
- PlmnId plmn[MAX_PLMN]; /* List of serving PLMN IDs */
+ Plmn plmn[MAX_PLMN]; /* List of serving PLMN IDs */
U32 maxUe; /* max UE per slot */
}CellCfgParams;
{
U32 cellId; /* Internal cell Id */
CellCfgParams cellInfo; /* Cell info */
+ Bool firstSlotIndRcvd;
CellStatus cellStatus; /*Cell status */
}DuCellCb;
S16 duSendEgtpTestData();
S16 duSendEgtpDatInd(Buffer *mBuf);
S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm);
+uint16_t duBuildAndSendMacCellStartReq();
+uint16_t duBuildAndSendMacCellStopReq();
#endif