+#define SEARCH_DU_DB(_duIdx, _duId, _duDb){\
+ _duDb = NULLP; \
+ for(_duIdx=0; _duIdx < ricCb.numDu; _duIdx++)\
+ {\
+ if(ricCb.duInfo[_duIdx].duId == _duId)\
+ {\
+ _duDb = (&ricCb.duInfo[_duIdx]);\
+ break; \
+ }\
+ }\
+}
+
+/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.26 */
+typedef enum
+{
+ NG,
+ XN,
+ E1,
+ F1,
+ W1,
+ S1,
+ 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
+{
+ InterfaceType interfaceType;
+ uint64_t componentId;
+}E2NodeComponent;
+
+typedef struct duDb
+{
+ uint32_t duId;
+ uint8_t ricTransIdCounter;
+ uint16_t numOfRanFunction;
+ RanFunction ranFunction[MAX_RAN_FUNCTION];
+ E2NodeComponent e2NodeComponent;
+}DuDb;
+