#define RIC_APP_MEM_REG 1
#define RIC_POOL 1
#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) \
X2
}InterfaceType;
+typedef struct
+{
+ uint16_t requestorId;
+ uint16_t instanceId;
+}RicRequestId;
+
+typedef struct
+{
+ int16_t actionId;
+}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
typedef struct duDb
{
uint32_t duId;
+ uint8_t ricTransIdCounter;
uint16_t numOfRanFunction;
RanFunction ranFunction[MAX_RAN_FUNCTION];
E2NodeComponent e2NodeComponent;
- Bool ricSubscribedToDu;
}DuDb;
typedef struct ricCfgParams
RicGlobalCb ricCb;
+typedef struct
+{
+ uint8_t numOfRanFunAccepted;
+ RanFunction ranFunAcceptedList[MAX_RAN_FUNCTION];
+ uint8_t numOfRanFuneRejected;
+ RanFunction ranFunRejectedList[MAX_RAN_FUNCTION];
+}RicTmpRanFunList;
+
void readRicCfg();
void cuAppInmsgHdlr(Buffer *mBuf);
void sctpNtfyInd(CmInetSctpNotification *ntfy);