SLice Mapping to RLC DB [ Jira Id - ODUHIGH-371 ]
[o-du/l2.git] / src / cm / common_def.h
index 5a52ed3..26a327a 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
 #define ODU_SET_THREAD_AFFINITY SSetAffinity
 #define ODU_CREATE_TASK SCreateSTsk
 
+/* Slice */
+#define SD_SIZE 3
+
 #ifdef NR_TDD
 /* Maximum slots for max periodicity and highest numerology is 320.
  * However, aligning to fapi_interface.h, setting this macro to 160 */
    _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;
 
@@ -220,12 +234,18 @@ typedef enum
    SCS_240KHZ
 }SCS;
 
-typedef struct slotIndInfo
+typedef enum
+{
+   CELL_UP,
+   CELL_DOWN
+}OduCellStatus;
+
+typedef struct slotTimingInfo
 {
    uint16_t cellId;
    uint16_t sfn;
    uint16_t slot;
-}SlotIndInfo;
+}SlotTimingInfo;
 
 typedef struct PlmnIdentity
 {
@@ -233,6 +253,12 @@ typedef struct PlmnIdentity
    uint8_t mnc[3];
 }Plmn;
 
+typedef struct snssai
+{
+   uint8_t   sst;
+   uint8_t   sd[SD_SIZE];
+}Snssai;
+
 typedef struct oduCellId
 {
    uint16_t cellId;
@@ -247,7 +273,7 @@ typedef struct tddCfg
 }TDDCfg;
 #endif
 
-
+OduCellStatus gCellStatus;
 uint64_t gSlotCount;
 uint64_t gDlDataRcvdCnt;   /* Number of DL data received at EGTP */
 
@@ -255,6 +281,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
 
 /**********************************************************************