[JIRA ID: ODUHIGH-246]-DeCoupling of F1AP functions
[o-du/l2.git] / src / du_app / du_mgr.h
index c9b1bc9..c9f402e 100644 (file)
@@ -71,6 +71,50 @@ typedef enum
    UE_ACTIVE
 }UeState;
 
+typedef enum
+{
+   UE_CTXT_UNKNOWN,
+   UE_CTXT_SETUP,
+   UE_CTXT_MOD
+}UeCtxtActionType;
+
+/** F1AP Msg IE **/
+typedef struct f1setupRsp
+{
+   uint32_t transId; /* Uniquely identify transaction */
+   char     cuName[CU_DU_NAME_LEN_MAX];   /* CU Name */
+   F1RrcVersion    rrcVersion;  /* RRC version */
+}F1SetupRsp;
+
+typedef struct f1DlRrcMsg 
+{
+   uint32_t gnbDuUeF1apId;
+   uint32_t gnbCuUeF1apId;
+   uint8_t  srbId;
+   bool     execDup;
+   bool     deliveryStatRpt;
+   uint16_t rrcMsgSize;
+   uint8_t  *rrcMsgPdu;
+}F1DlRrcMsg;
+
+typedef struct duUeCfg
+{
+   void *cellGrpCfg;
+   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 f1UeContextSetup
+{
+   UeCtxtActionType actionType;
+   uint8_t cellIdx;
+   DuUeCfg  duUeCfg;        
+   F1DlRrcMsg  *dlRrcMsg;
+}F1UeContextSetupDb;
+
 typedef struct cellCfgParams
 {
    NrEcgi      nrEcgi;         /* ECGI */
@@ -82,11 +126,14 @@ typedef struct cellCfgParams
 
 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;
+   F1UeContextSetupDb *f1UeDb;
+   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 */
 }DuUeCb;
 
 typedef struct duCellCb