[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-532] RIC Subscription Delete Req/Rsp API...
[o-du/l2.git] / src / cm / common_def.h
index 22b7ac9..9e7bef4 100644 (file)
@@ -53,6 +53,9 @@
 #include "cm_lib.x"
 #include "du_log.h"
 
+#define SCH_INST_START 1
+#define SCH_MAX_INST 1
+
 #define RADIO_FRAME_DURATION 10 /* Time duration of a radio frame in ms */
 /* MAX values */
 #define MAX_NUM_CELL 2 /* Changed to 2 to support cell Id 2 even if there is only one cell in DU */
 
 #define MAX_SFN   1024
 
+/*First SCS in kHz as per 3gpp spec 38.211 Table 4.2-1 */
+#define BASE_SCS 15
+
+#define MAX_NUM_STATS_CFG 2 /* Max number of statistics configuration/Subscription supported */
+#define MAX_NUM_STATS_GRP 5 /* Max number of statistics group per configuration request */
+#define MAX_NUM_STATS 10    /* Max number of statistics per group */
+
 /* Defining macros for common utility functions */
 #define ODU_GET_MSG_BUF SGetMsg
 #define ODU_PUT_MSG_BUF SPutMsg
 #define ODU_PRINT_MSG SPrntMsg
 #define ODU_REM_PRE_MSG SRemPreMsg
 #define ODU_REM_PRE_MSG_MULT SRemPreMsgMult
+#define ODU_REM_POST_MSG_MULT SRemPstMsgMult
 #define ODU_REG_TMR_MT SRegTmrMt
 #define ODU_SEGMENT_MSG SSegMsg
 #define ODU_CAT_MSG SCatMsg
    _isLcidValid = ((_lcId >= SRB0_LCID && _lcId <= MAX_DRB_LCID) ? 1 : 0);\
 }
 
+/**
+ * @def TMR_CALCUATE_WAIT
+ *
+ *    This macro calculates and assigns wait time based on the value of the
+ *    timer and the timer resolution. Timer value of 0 signifies that the
+ *    timer is not configured
+ *
+ * @param[out] _wait   Time for which to arm the timer changed to proper
+ *                     value according to the resolution
+ * @param[in] _tmrVal   Value of the timer
+ * @param[in] _timerRes   Resolution of the timer
+ *
+*/
+#define TMR_CALCUATE_WAIT(_wait, _tmrVal, _timerRes)          \
+{                                                             \
+   (_wait) = ((_tmrVal) * SS_TICKS_SEC)/((_timerRes) * 1000); \
+   if((0 != (_tmrVal)) && (0 == (_wait)))                     \
+   {                                                          \
+      (_wait) = 1;                                            \
+   }                                                          \
+}
+
 typedef enum
 {
    SUCCESSFUL, 
@@ -229,6 +262,9 @@ typedef enum
    UEID_INVALID, 
    RESOURCE_UNAVAILABLE,  
    SLICE_NOT_FOUND,
+   DUPLICATE_ENTRY,
+   PARAM_INVALID,
+   STATS_ID_NOT_FOUND
 }CauseOfResult ;
 
 typedef enum
@@ -246,7 +282,8 @@ typedef enum
    CONFIG_UNKNOWN,
    CONFIG_ADD,
    CONFIG_MOD,
-   CONFIG_DEL
+   CONFIG_DEL,
+   CONFIG_REESTABLISH
 }ConfigType;
 
 #ifdef NR_TDD
@@ -274,13 +311,13 @@ typedef enum
 
 typedef enum
 {
-   SCS_5MS,
-   SCS_10MS,
-   SCS_20MS,
-   SCS_40MS,
-   SCS_80MS,
-   SCS_160MS
-}ScsPeriodicity;
+   SSB_5MS,
+   SSB_10MS,
+   SSB_20MS,
+   SSB_40MS,
+   SSB_80MS,
+   SSB_160MS
+}SSBPeriodicity;
 
 typedef enum
 {
@@ -350,7 +387,7 @@ void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len);
 uint8_t buildPlmnId(Plmn plmn, uint8_t *buf);
 uint16_t convertScsEnumValToScsVal(uint8_t scsEnumValue);
 uint8_t convertScsValToScsEnum(uint32_t num);
-uint8_t convertScsPeriodicityToEnum(uint32_t num);
+uint8_t convertSSBPeriodicityToEnum(uint32_t num);
 
 uint8_t SGetSBufNewForDebug(char *file, const char *func, int line, Region region, Pool pool, Data **ptr, Size size);
 uint8_t SPutSBufNewForDebug(char *file, const char *func, int line, Region region, Pool pool, Data *ptr, Size size);