SPutSBuf(CU_APP_MEM_REG, CU_POOL, \
(Data *)_datPtr, _size);
+typedef enum
+{
+ IDLE,
+ ATTACH_IN_PROGRESS,
+ ACTIVE,
+ HANDOVER_IN_PROGRESS
+}UeState;
+
typedef struct RrcVersion
{
uint8_t rrcVer; /* Latest RRC Version */
Plmn plmn;
EgtpParams egtpParams;
RrcVersion rrcVersion;
- uint8_t numSnssaiSupported;
- Snssai *snssaiList[MAX_NUM_OF_SLICE];
}CuCfgParams;
-CuCfgParams cuCfgParams; //global variable to hold all configs
+
+typedef struct cuCellCb CuCellCb;
+
+typedef struct cuUeCb
+{
+ CuCellCb *cellCb;
+ uint32_t crnti;
+ uint8_t gnbDuUeF1apId;
+ uint8_t gnbCuUeF1apId;
+ F1apMsgDb f1apMsgDb;
+ UeState state;
+}CuUeCb;
+
+struct cuCellCb
+{
+ uint32_t nrCellId;
+ uint8_t numUe;
+ CuUeCb *ueCb[MAX_NUM_UE];
+};
+
+typedef struct duDb
+{
+ uint32_t duId;
+ char duName[CU_DU_NAME_LEN_MAX];
+ uint8_t numCells;
+ CuCellCb cellCb[MAX_NUM_CELL];
+ uint8_t numUe;
+ CuUeCb ueCb[MAX_NUM_CELL * MAX_NUM_UE];
+}DuDb;
+
+typedef struct cuGlobalCb
+{
+ CuCfgParams cuCfgParams;
+ uint8_t numSnssaiSupported;
+ Snssai *snssaiList[MAX_NUM_OF_SLICE];
+ uint8_t numDu;
+ DuDb duInfo[MAX_DU_SUPPORTED];
+ uint32_t gnbCuUeF1apIdGenerator; /* Generating CU UE F1AP ID */
+}CuGlobalCb;
+
+CuGlobalCb cuCb;
void readCuCfg();
void cuAppInmsgHdlr(Buffer *mBuf);