################################################################################
*******************************************************************************/
-#ifndef __CU_MGR_MAIN_H__
-#define __CU_MGR_MAIN_H__
-
-
-#include "stdio.h"
-#include "stdlib.h"
-#include "string.h"
-#include "stdbool.h"
-#include "ctype.h"
-#include "envopt.h" /* Environment options */
-#include "envdep.h" /* Environment dependent */
-#include "envind.h" /* Environment independent */
-
-#include "gen.h" /* General */
-#include "ssi.h" /* System services */
-#include "ss_queue.h"
-#include "ss_task.h"
-#include "ss_msg.h"
-#include "cm_inet.h"
-#include "cm_llist.h" /* Common link list defines */
-#include "cm_hash.h" /* Common hashlist defines */
-
-#include "gen.x" /* General */
-#include "ssi.x" /* System services */
-#include "ss_queue.x"
-#include "ss_task.x"
-#include "ss_msg.x"
-#include "cm_lib.x"
-#include "cm_inet.x"
-#include "cm_llist.x" /* Common link list defines */
-#include "cm_hash.x" /* Common hashlist defines */
-
-#include "du_log.h"
-#define MAX_IPV6_LEN 16
+#ifndef __RIC_MGR_MAIN_H__
+#define __RIC_MGR_MAIN_H__
+
+#define RIC_ID 1
+#define RIC_NAME "ORAN_OAM_RIC"
+
+#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
+#define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
+
+#ifndef O1_ENABLE
+#define LOCAL_IP_RIC "192.168.130.80"
+
+#define E2_SCTP_PORT 36421
+#define NUM_E2_ASSOC 1
+#define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"}
+#endif
+
+#define RRC_VER 0
+#define EXT_RRC_VER 5
+#define PLMN_MCC0 3
+#define PLMN_MCC1 1
+#define PLMN_MCC2 1
+#define PLMN_MNC0 4
+#define PLMN_MNC1 8
+#define PLMN_MNC2 0
+
#define RIC_DU_NAME_LEN_MAX 30 /* Max length of RIC/DU name string */
#define RIC_APP_MEM_REG 1
_ret = SGetSBuf(RIC_APP_MEM_REG, RIC_POOL, \
(Data **)&_datPtr, _size); \
if(_ret == ROK) \
- cmMemset((U8*)_datPtr, 0, _size); \
+ memset(_datPtr, 0, _size); \
else \
_datPtr = NULLP; \
}
SPutSBuf(RIC_APP_MEM_REG, RIC_POOL, \
(Data *)_datPtr, _size);
-typedef struct ipAddr
-{
- Bool ipV4Pres;
- U32 ipV4Addr;
- Bool ipV6Pres;
- U8 ipV6Addr[MAX_IPV6_LEN];
-}SctpIpAddr;
+#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; \
+ }\
+ }\
+}
-typedef struct RrcVersion
+typedef struct duDb
{
- U8 rrcVer; /* Latest RRC Version */
- U32 extRrcVer; /* Latest RRC version extended */
-}RrcVersion;
+ uint32_t duId;
+ Bool ricSubscribedToDu;
+}DuDb;
-typedef struct sctpParamsRic
+typedef struct ricCfgParams
{
- SctpIpAddr duIpAddr;
- U16 duPort;
- SctpIpAddr ricIpAddr;
- U16 ricPort;
-}SctpParamsRic;
+ uint32_t ricId;
+ char ricName[RIC_DU_NAME_LEN_MAX];
+ RicSctpParams sctpParams;
+ Plmn plmn;
+}RicCfgParams;
-typedef struct fPLMN
+typedef struct cuGlobalCb
{
- U8 mcc[3];
- U8 mnc[3];
-}Plmn;
+ RicCfgParams ricCfgParams;
+ uint8_t numDu;
+ DuDb duInfo[MAX_DU_SUPPORTED];
+}RicGlobalCb;
-
-typedef struct cuCfgParams
-{
- U32 cuId;
- char cuName[RIC_DU_NAME_LEN_MAX];
- SctpParamsRic sctpParams;
- Plmn plmn;
- RrcVersion rrcVersion;
-}CuCfgParams;
-CuCfgParams cuCfgParams; //global variable to hold all configs
+RicGlobalCb ricCb;
void readRicCfg();
void cuAppInmsgHdlr(Buffer *mBuf);