#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 "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"
-
#define MAX_IPV6_LEN 16
-#define CU_DU_NAME_LEN_MAX 50 /* Max length of CU/DU name string */
+#define CU_DU_NAME_LEN_MAX 30 /* Max length of CU/DU name string */
#define CU_APP_MEM_REG 1
#define CU_POOL 1
+#define MAX_DU_PORT 2
+#define DU_PORT 38472
+
+/* allocate and zero out a static buffer */
+#define CU_ALLOC(_datPtr, _size) \
+{ \
+ S16 _ret; \
+ _ret = SGetSBuf(CU_APP_MEM_REG, CU_POOL, \
+ (Data **)&_datPtr, _size); \
+ if(_ret == ROK) \
+ memset(_datPtr, 0, _size); \
+ else \
+ _datPtr = NULLP; \
+}
+
+/* free a static buffer */
+#define CU_FREE(_datPtr, _size) \
+ if(_datPtr) \
+ SPutSBuf(CU_APP_MEM_REG, CU_POOL, \
+ (Data *)_datPtr, _size);
+
typedef struct ipAddr
{
- Bool ipV4Pres;
- U32 ipV4Addr;
- Bool ipV6Pres;
- U8 ipV6Addr[MAX_IPV6_LEN];
+ Bool ipV4Pres;
+ uint32_t ipV4Addr;
+ Bool ipV6Pres;
+ uint8_t ipV6Addr[MAX_IPV6_LEN];
}SctpIpAddr;
typedef struct RrcVersion
{
- U8 rrcVer; /* Latest RRC Version */
- U32 extRrcVer; /* Latest RRC version extended */
+ uint8_t rrcVer; /* Latest RRC Version */
+ uint32_t extRrcVer; /* Latest RRC version extended */
}RrcVersion;
-typedef struct sctpParams
+typedef struct egtpParams
+{
+ SctpIpAddr localIp;
+ uint16_t localPort;
+ SctpIpAddr destIp;
+ uint16_t destPort;
+ uint32_t minTunnelId;
+ uint32_t maxTunnelId;
+}EgtpParams;
+
+typedef struct CuSctpParams
{
SctpIpAddr duIpAddr;
- U16 duPort;
+ uint16_t duPort;
SctpIpAddr cuIpAddr;
- U16 cuPort;
-}SctpParams;
+ uint16_t cuPort;
+}CuSctpParams;
typedef struct cuCfgParams
{
- U32 cuId;
+ uint32_t cuId;
char cuName[CU_DU_NAME_LEN_MAX];
- SctpParams sctpParams;
+ CuSctpParams sctpParams;
+ Plmn plmn;
+ EgtpParams egtpParams;
RrcVersion rrcVersion;
}CuCfgParams;
CuCfgParams cuCfgParams; //global variable to hold all configs
void readCuCfg();
void cuAppInmsgHdlr(Buffer *mBuf);
void sctpNtfyInd(CmInetSctpNotification *ntfy);
+uint8_t egtpInitReq();
+void *cuConsoleHandler(void *);
#endif