[Epic-ID: ODUHIGH-475][Task-ID: ODUHIGH-476]RRC codec upgrade
[o-du/l2.git] / src / cu_stub / cu_stub.h
index 01e62ea..f0b851c 100644 (file)
@@ -20,7 +20,7 @@
 #define __CU_MGR_MAIN_H__
 
 #define CU_ID 1
-#define CU_NAME "ORAN_OAM_CU"
+#define CU_NAME "ORAN OAM CU"
 
 #define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
 #define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
    }\
 }
 
+#ifdef NR_DRX
+/* Set this parameter true of false as per the need to enable or disable drx of
+ * a particular UE */
+#define DRX_TO_BE_RELEASE true 
+#endif
+
+typedef enum
+{
+   CELL_INACTIVE,
+   CELL_ACTIVE,
+   CELL_DELETION_IN_PROGRESS
+}CellStatusInfo;
 
 typedef enum
 {
@@ -246,18 +258,62 @@ typedef struct drbInfo
 
 typedef struct cuCellCb CuCellCb;
 
+#ifdef NR_DRX
+/* The following list of structures is taken from the DRX-Config section of specification 33.331. */
+typedef struct drxOnDurationTimer
+{
+   bool  onDurationTimerValInMs;
+   union
+   {
+      uint8_t  subMilliSeconds;
+      uint16_t milliSeconds;
+   }onDurationtimerValue;
+}DrxOnDurationTimer;
+
+typedef struct drxLongCycleStartOffset
+{
+   uint16_t drxLongCycleStartOffsetChoice;
+   uint16_t drxLongCycleStartOffsetVal;
+}DrxLongCycleStartOffset;
+
+typedef struct shortDrx
+{
+   uint16_t   drxShortCycle;
+   uint8_t    drxShortCycleTimer;
+}ShortDrx;
+
+typedef struct drxCfg
+{
+   DrxOnDurationTimer       drxOnDurationTimer;
+   uint16_t                 drxInactivityTimer;
+   uint8_t                  drxHarqRttTimerDl;
+   uint8_t                  drxHarqRttTimerUl;
+   uint16_t                 drxRetransmissionTimerDl;
+   uint16_t                 drxRetransmissionTimerUl;
+   DrxLongCycleStartOffset  drxLongCycleStartOffset;
+   bool                     shortDrxPres;
+   ShortDrx                 shortDrx;
+   uint8_t                  drxSlotOffset;
+}DrxCfg;
+#endif
+
 typedef struct cuUeCb
 {
    CuCellCb  *cellCb;
    uint32_t  crnti;
    uint8_t   gnbDuUeF1apId;
    uint8_t   gnbCuUeF1apId;
+   uint16_t  pdcpSn;
    uint8_t   numSrb;
    SrbInfo   srbList[MAX_NUM_SRB];
    uint8_t   numDrb;
    DrbInfo   drbList[MAX_NUM_DRB];
    F1apMsgDb f1apMsgDb;
    UeState   state;
+#ifdef NR_DRX
+   bool      drxCfgPresent;
+   DrxCfg    drxCfg;
+#endif
    HandoverInfo hoInfo;
 }CuUeCb;
 
@@ -266,6 +322,7 @@ struct cuCellCb
    uint32_t nrCellId;
    uint8_t  numUe;
    CuUeCb   *ueCb[MAX_NUM_UE];
+   CellStatusInfo cellStatus;
 };
 
 typedef struct duDb