X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.h;h=fc51869d28c847388dc96d304826ce9d4e2a579d;hb=1dc4874f3806146823871718c4450d4d77444947;hp=a244ee195c8105364fb7cd9888ca93bcdf24f91e;hpb=0f742beeb500d9348e2657262d12ddea2ccac183;p=o-du%2Fl2.git diff --git a/src/cm/common_def.h b/src/cm/common_def.h index a244ee195..fc51869d2 100644 --- a/src/cm/common_def.h +++ b/src/cm/common_def.h @@ -57,9 +57,9 @@ /* MAX values */ #define MAX_NUM_CELL 1 #define MAX_NUM_MU 4 -#define MAX_NUM_UE 2 +#define MAX_NUM_UE 3 #define MAX_NUM_UE_PER_TTI 1 -#define MAX_NUM_LC 32 /*Spec 38.331: Sec 6.4: maxLC-ID Keyword*/ +#define MAX_NUM_LC MAX_DRB_LCID + 1 /*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 */ @@ -104,7 +104,11 @@ #define MAX_NUM_RB TOTAL_PRB_20MHZ_MU0 /* value for numerology 0, 20 MHz */ #endif -#define ODU_THROUGHPUT_PRINT_TIME_INTERVAL 5 /* in milliseconds */ +#define ODU_UE_THROUGHPUT_PRINT_TIME_INTERVAL 5 /* in milliseconds */ +#define ODU_SNSSAI_THROUGHPUT_PRINT_TIME_INTERVAL 60000 /* in milliseconds */ + +/*Spec 38.331 Sec 6.4: Maximum number of paging occasion per paging frame*/ +#define MAX_PO_PER_PF 4 /* Defining macros for common utility functions */ #define ODU_GET_MSG_BUF SGetMsg @@ -143,14 +147,14 @@ #define MAX_TDD_PERIODICITY_SLOTS 160 #endif -#define GET_UE_IDX( _crnti,_ueIdx) \ +#define GET_UE_ID( _crnti,_ueId) \ { \ - _ueIdx = _crnti - ODU_START_CRNTI + 1; \ + _ueId = _crnti - ODU_START_CRNTI + 1; \ } -#define GET_CRNTI( _crnti,_ueIdx) \ +#define GET_CRNTI( _crnti, _ueId) \ { \ - _crnti = _ueIdx + ODU_START_CRNTI - 1; \ + _crnti = _ueId + ODU_START_CRNTI - 1; \ } /* Calculates cellIdx from cellId */ @@ -195,6 +199,25 @@ _isCrntiValid = ((_crnti >= ODU_START_CRNTI && _crnti <= ODU_END_CRNTI ) ? 1 : 0); \ } +#define CHECK_LCID(_lcId, _isLcidValid) \ +{\ + _isLcidValid = ((_lcId >= SRB0_LCID && _lcId <= MAX_DRB_LCID) ? 1 : 0);\ +} + +#define GET_PAGING_CYCLE(enmValue, T) { \ + if (enmValue == 0) T = 32; \ + else if (enmValue == 1) T = 64; \ + else if (enmValue == 2) T = 128; \ + else if (enmValue == 3) T = 256; \ + else T = 0; \ +} + +#define GET_NUM_PAGING_OCC(enmValue, PO) { \ + if (enmValue == 0) PO = 4; \ + else if (enmValue == 1) PO = 2; \ + else if (enmValue == 2) PO = 1; \ + else PO = 0; \ +} typedef enum { UE_CFG_INACTIVE, @@ -242,12 +265,31 @@ typedef enum SCS_240KHZ }SCS; +typedef enum +{ + SCS_5MS, + SCS_10MS, + SCS_20MS, + SCS_40MS, + SCS_80MS, + SCS_160MS +}ScsPeriodicity; + typedef enum { CELL_UP, CELL_DOWN }OduCellStatus; + +typedef enum +{ + DIR_NONE, + DIR_UL, + DIR_DL, + DIR_BOTH +}Direction; + typedef struct slotTimingInfo { uint16_t cellId; @@ -288,7 +330,7 @@ uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */ void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain); void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len); uint8_t buildPlmnId(Plmn plmn, uint8_t *buf); -uint16_t fetchScsValue(uint8_t scsEnumValue); +uint16_t convertScsEnumValToScsVal(uint8_t scsEnumValue); 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); @@ -296,6 +338,7 @@ 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); +uint8_t countSetBits(uint32_t num); #endif