[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-528] RIC Subscription Request
[o-du/l2.git] / src / ric_stub / ric_stub.h
index 0452820..5213a79 100644 (file)
 #define MAX_RAN_FUNCTION 256        /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.2.2 : maxofRANfunctionID */
 #define MAX_NUM_TRANSACTION 256     /* As per, O-RAN WG3 E2AP v3.0, section 9.2.33 */
 
+#define MAX_RIC_ACTION  16          /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.1.1 : maxofRICActionID */
+#define MAX_RIC_REQUEST 5           /* As per O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.7, max request is 65535. \
+                                     * But for our internal testing purpose, keeping it to 5 for now */
+
 /* allocate and zero out a static buffer */
 #define RIC_ALLOC(_datPtr, _size)                                \
 {                                                               \
@@ -90,11 +94,30 @@ typedef enum
    X2
 }InterfaceType;
 
+typedef struct
+{
+   uint16_t requestorId;
+   uint16_t instanceId;
+}RicRequestId;
+
+typedef struct
+{
+   uint8_t           id;
+}ActionInfo;
+
+typedef struct ricSubscription
+{
+   RicRequestId    requestId;
+   uint8_t         numOfActions;
+   ActionInfo      actionSequence[MAX_RIC_ACTION];
+}RicSubscription;
 
 typedef struct
 {
    uint16_t  id;
    uint16_t  revisionCounter;
+   uint8_t   numOfSubscription;
+   RicSubscription subscriptionList[MAX_RIC_REQUEST];
 }RanFunction;
 
 typedef struct