[Epic-ID: ODUHIGH-516][Task-ID: 526] Implementation of ric service query
[o-du/l2.git] / src / du_app / du_e2ap_mgr.h
index 5004628..c6a6d67 100644 (file)
@@ -44,7 +44,6 @@
 #define REPORT_STYLE_NAME "E2 Node Measurement"
 #define REPORT_STYLE_TYPE 1
 #define REPORT_ACTION_FORMAT_TYPE 1
-#define NUM_OF_MEASUREMENT_INFO_SUPPORTED 2
 #define MEASUREMENT_TYPE_NAME (char*[]) {"RRU.PrbTotDl", "RRU.PrbTotUl"}
 #define RIC_INDICATION_HEADER_FORMAT 1
 #define RIC_INDICATION_MESSAGE_FORMAT 1
@@ -171,9 +170,9 @@ typedef struct
 
 typedef struct e2Transcation
 {
-   uint8_t     transIdCounter;
-   E2TransInfo onGoingTransaction[MAX_NUM_TRANSACTION];
-   /* Any new parameter for transaction handling can be added here in future */
+   uint8_t     transIdCounter; /* counting the total number of DU initiated transaction */
+   E2TransInfo e2InitTransaction[MAX_NUM_TRANSACTION]; /* Storing DU-initiated transactions information */
+   E2TransInfo ricInitTransaction[MAX_NUM_TRANSACTION]; /* Storing RIC-initiated transactions information */
 }E2Transaction;
 
 typedef struct e2Timer
@@ -246,7 +245,8 @@ typedef struct
 /* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.3.11 */
 typedef struct
 {
-   /* TODO : To be added when list of KPIs are finalised */
+   /* TODO : To be added in future when subcounters for any
+    * measurment type is required */
 }LabelInfo;
 
 /* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.2.1 */
@@ -257,16 +257,19 @@ typedef struct
       char     measurementTypeName[STRING_SIZE_150_BYTES];
       uint16_t measurementTypeId;
    }choice;
-   uint32_t    numOfLabels;
-   LabelInfo   LabelInfoList[MAX_LABEL_INFO];
+
+   /* As of now Labels are not used, hence it is not implemented completely */
+   //uint32_t    numOfLabels;
+   //LabelInfo   LabelInfoList[MAX_LABEL_INFO];
+   
+   CmLListCp   measuredValue;  /* To be filled when numOfLabels is 0, else values are calculated per Label */
 }MeasurementInfo;
 
 /* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.2.1 */
 typedef struct
 {
-   uint16_t                numOfMeasuermentInfo;
-   MeasurementInfo         **measurementInfoList;
-   uint32_t                granularityPeriod;                     /* In millisecond */
+   CmLListCp               measurementInfoList;    /* Each node corresponds to MeasurementInfo */
+   uint32_t                granularityPeriod;      /* In millisecond */
 }ActionDefFormat1;
 
 /* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.2.2 */
@@ -313,6 +316,7 @@ typedef struct
    uint8_t           id;
    ActionType        type;
    ActionDefinition  definition;
+   ConfigType        action;
 }ActionInfo;
 
 /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.1.1 : maxofRICActionID */
@@ -388,6 +392,22 @@ typedef struct
    E2TimersInfo     e2TimersInfo;
 }E2apDb;
 
+typedef struct
+{
+   uint16_t   id;
+   uint16_t   revisionCounter;
+}RanFuncInfo;
+
+typedef struct
+{
+   uint8_t addCount;
+   uint8_t addArr[MAX_RAN_FUNCTION];
+   uint8_t modCount;
+   uint8_t modArr[MAX_RAN_FUNCTION];
+   uint8_t delCount;
+   RanFuncInfo delArr[MAX_RAN_FUNCTION];
+}E2TmpRanFunList;
+
 uint8_t assignTransactionId();
 uint8_t ResetE2Request(E2ProcedureDirection dir, E2CauseType type, E2Cause cause);
 uint8_t SendE2APMsg(Region region, Pool pool, char *encBuf, int encBufSize);