<JIRA ID: ODUHIGH-368 : Slice information associated during PDU session establishment...
[o-du/l2.git] / src / cm / common_def.h
index 56a9bae..90bbf0b 100644 (file)
 #include <stdint.h>
 
 #include "cm_mem.h"
-#include "cm_math.h"
 #include "envopt.h"
 #include "envdep.h"
 #include "envind.h"
 #include "gen.h" 
 #include "ssi.h" 
+#include "cm_math.h"
 #include "cm5.h"
 #include "cm_tkns.h"
 #include "cm_mblk.h"
@@ -43,7 +43,6 @@
 #include "cm.h"
 #include "gen.x"           /* general */
 #include "ssi.x"           /* system services */
-#include "cm_math.x"
 #include "cm_tpt.x"
 #include "cm_tkns.x" 
 #include "cm_mblk.x"
 #include "cm_lib.x"
 #include "du_log.h"
 
+#define RADIO_FRAME_DURATION 10 /* Time duration of a radio frame in ms */
 /* MAX values */
 #define MAX_NUM_CELL 1
-#define MAX_NUM_UE   1
-#define MAX_NUM_LC   11
+#define MAX_NUM_MU   4
+#define MAX_NUM_UE   2
+#define MAX_NUM_UE_PER_TTI 1
+#define MAX_NUM_LC   32   /*Spec 38.331: Sec 6.4: maxLC-ID Keyword*/
+#define MAX_NUM_SRB  3    /* Max. no of Srbs */
+#define MAX_NUM_DRB  29   /* spec 38.331, maxDRB */
 
 /* 5G ORAN phy delay */
-#define PHY_DELTA 2
+#define PHY_DELTA_DL 1
+#define PHY_DELTA_UL 0
 
  /* SELECTORS */ 
 #define ODU_SELECTOR_LC 0
@@ -92,6 +97,8 @@
 #define TOTAL_PRB_20MHZ_MU0 106
 #define TOTAL_PRB_100MHZ_MU1 273
 
+#define ODU_THROUGHPUT_PRINT_TIME_INTERVAL  5 /* in milliseconds */
+
 /* Defining macros for common utility functions */
 #define ODU_GET_MSG_BUF SGetMsg
 #define ODU_PUT_MSG_BUF SPutMsg
    _bitPos = __builtin_ctz(_in);                 \
 }
 
+/* MACRO for checking CRNTI range*/
+#define CHECK_CRNTI(_crnti, _isCrntiValid)                                         \
+{                                                                   \
+  _isCrntiValid = ((_crnti >= ODU_START_CRNTI && _crnti <= ODU_END_CRNTI ) ? 1 : 0); \
+}
+
 typedef enum
 {
    UE_CFG_INACTIVE,
+   UE_CFG_INPROGRESS,
    UE_CREATE_COMPLETE,
+   UE_DELETE_COMPLETE,
    UE_RECFG_COMPLETE
 }UeCfgState;
 
@@ -207,12 +222,27 @@ typedef enum
 }DlUlTxPeriodicity;
 #endif
 
-typedef struct slotIndInfo
+typedef enum
+{
+   SCS_15KHZ,
+   SCS_30KHZ,
+   SCS_60KHZ,
+   SCS_120KHZ,
+   SCS_240KHZ
+}SCS;
+
+typedef enum
+{
+   CELL_UP,
+   CELL_DOWN
+}OduCellStatus;
+
+typedef struct slotTimingInfo
 {
    uint16_t cellId;
    uint16_t sfn;
    uint16_t slot;
-}SlotIndInfo;
+}SlotTimingInfo;
 
 typedef struct PlmnIdentity
 {
@@ -234,7 +264,7 @@ typedef struct tddCfg
 }TDDCfg;
 #endif
 
-
+OduCellStatus gCellStatus;
 uint64_t gSlotCount;
 uint64_t gDlDataRcvdCnt;   /* Number of DL data received at EGTP */
 
@@ -242,6 +272,13 @@ void freqDomRscAllocType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDoma
 void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len);
 uint8_t buildPlmnId(Plmn plmn, uint8_t *buf);
 
+uint8_t SGetSBufNewForDebug(char *file, char *func, char *line, Region region, Pool pool, Data **ptr, Size size);
+uint8_t SPutSBufNewForDebug(char *file, char *func, char *line, Region region, Pool pool, Data *ptr, Size size);
+uint8_t SGetStaticBufNewForDebug(char *file, char *func, char *line, \
+Region region, Pool pool, Data **ptr, Size size, uint8_t memType);
+uint8_t SPutStaticBufNewForDebug(char *file, char *func, char *line, \
+Region region, Pool pool, Data *ptr, Size size, uint8_t memType);
+
 #endif
 
 /**********************************************************************