remove/replaced PRIVATE and EXTERN keywords
[o-du/l2.git] / src / du_app / du_mgr.h
index d3b5ea2..cd059c1 100644 (file)
@@ -71,6 +71,13 @@ typedef enum
    UE_ACTIVE
 }UeState;
 
+typedef enum
+{
+   UE_CTXT_UNKNOWN,
+   UE_CTXT_SETUP,
+   UE_CTXT_MOD
+}UeCtxtActionType;
+
 typedef struct cellCfgParams
 {
    NrEcgi      nrEcgi;         /* ECGI */
@@ -80,19 +87,44 @@ typedef struct cellCfgParams
    uint32_t    maxUe;          /* max UE per slot */
 }CellCfgParams;
 
+typedef struct duUeCfg
+{
+   uint8_t numRlcLcs;        /* Rlc Ue Cfg */
+   RlcBearerCfg rlcLcCfg[MAX_NUM_LC];
+   uint8_t numMacLcs;        /* Mac Ue Cfg */
+   LcCfg   macLcCfg[MAX_NUM_LC];
+   MaxAggrBitRate *maxAggrBitRate;
+}DuUeCfg;
+
+typedef struct ueContextSetup
+{
+   UeCtxtActionType actionType;
+   uint8_t  cellIdx;
+   void     *cellGrpCfg;
+   uint16_t rrcMsgLen;
+   uint8_t  *rrcMsg;
+   bool     deliveryStaReq; 
+   DuUeCfg  duUeCfg;          /* Du Ue Cfg */
+}UeContextSetupDb;
+
 typedef struct duUeCb
 {
-   uint32_t    gnbDuUeF1apId; /* GNB DU UE F1AP ID */
-   uint32_t    gnbCuUeF1apId; /* GNB CU UE F1AP ID */
-   UeState     ueState;
-   MacUeCfg    macUeCfg;
-   RlcUeCfg    rlcUeCfg;
+   uint16_t crnti;
+   uint32_t gnbDuUeF1apId;   /* GNB DU UE F1AP ID */
+   uint32_t gnbCuUeF1apId;   /* GNB CU UE F1AP ID */
+   uint32_t drbBitMap;       /* Drb Bit Map */
+   UeState  ueState;         /* UE Active/ Ue Inactive state */
+   MacUeCfg macUeCfg;        /* Mac Ue Cfg */
+   RlcUeCfg rlcUeCfg;        /* Rlc Ue Cfg */
+   UeContextSetupDb *f1UeDb;
 }DuUeCb;
 
 typedef struct duCellCb
 {
    uint16_t       cellId;           /* Internal cell Id */
    CellCfgParams  cellInfo;         /* Cell info */
+   /* pointer to store the address of macCellCfg params used to send du-app to MAC */
+   MacCellCfg    *duMacCellCfg;
    bool           firstSlotIndRcvd;
    CellStatus     cellStatus;       /* Cell status */
    uint32_t       numActvUes;       /* Total Active UEs */
@@ -132,8 +164,6 @@ typedef struct duCb
    DuCellCb*     cfgCellLst[MAX_NUM_CELL];     /* List of cells at DU APP of type DuCellCb */
    uint8_t       numActvCells;
    DuCellCb*     actvCellLst[MAX_NUM_CELL];    /* 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[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/
 }DuCb;