O-CU-UP
[scp/ocu/5gnr.git] / Include / cuCommon.h
diff --git a/Include/cuCommon.h b/Include/cuCommon.h
new file mode 100644 (file)
index 0000000..faea927
--- /dev/null
@@ -0,0 +1,216 @@
+/******************************************************************************
+###############################################################################
+#   Copyright (c) [2017-2020] [ICT/CAS]                                        #
+#   Licensed under the ORAN Software License v1.0 (License)             #
+###############################################################################
+******************************************************************************/
+#ifndef _CU_COMMON_H_
+#define _CU_COMMON_H_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <netinet/in.h>
+#include "gnbCommon.h"
+
+#define MAX_CU_NAME_LEN   256
+#define MAX_CUCP_NAME_LEN 256
+#define MAX_CUUP_NAME_LEN 256
+
+#define        MAX_OM_MSG_BUF_LEN      64
+
+/****************************************oam active message code****************************************/
+#define        OAM_CU_ACTIVE_BASE                                      0x7000
+#define        OAM_CUUP_NET_ELEMENT_ACTIVE_REQ                 OAM_CU_ACTIVE_BASE + 1
+#define        OAM_CUCP_NET_ELEMENT_ACTIVE_REQ         OAM_CU_ACTIVE_BASE + 2
+#define        CUCP_OAM_CELL_ACTIVE_RSP                        OAM_CU_ACTIVE_BASE + 3
+#define        CUUP_OAM_CELL_ACTIVE_RSP                        OAM_CU_ACTIVE_BASE + 3
+
+typedef enum
+{
+    MODULE_OM,
+    MODULE_CUCP_E1, 
+    MODULE_CUUP_E1  ,
+    MODULE_NG,
+    MODULE_Xn,
+    MODULE_F1_C,    
+    MODULE_CUC,
+    MODULE_RRC,
+    MODULE_PDCP_C,
+    MODULE_UPC,
+    MODULE_NG_U,
+    MODULE_NG_GTPU,
+    MODULE_SDAP,
+    MODULE_F1_U,
+    MODULE_F1_GTPU,
+    
+}CuModule_e;
+
+
+
+typedef enum CuCpVosTask
+{
+    CUCP_OMADP_VOS_TASK,  
+    CUC_VOS_TASK,
+    CUCP_NG_C_VOS_TASK,
+    CUCP_F1_C_VOS_TASK,
+    CUCP_E1_VOS_TASK,
+#ifdef AMF_TEST
+    AMF_VOS_TASK,
+#endif
+       CP_MAX_VOS_TASK  
+}CuCpVosTask_e;
+
+typedef enum CuUpVosTask
+{
+    UP_OMADP_VOS_TASK,    
+       UP_DL_VOS_TASK,
+       UP_UL_VOS_TASK,
+       UP_GTPU_VOS_TASK,
+       UP_MAX_VOS_TASK  
+}CuUpVosTask_e;
+
+typedef enum
+{
+    CUCP_HOST_TASK,
+    CUUP_HOST_TASK,
+    CUUP_DATA_HOST_TASK
+}CuHostTask_e;
+
+typedef enum
+{
+#if 0
+    CUC_USER_TASK,
+    CUCP_NG_C_USER_TASK,
+    CUCP_F1_C_USER_TASK,
+    CUCP_E1_USER_TASK,
+#endif
+    /*注意:请新增任务定义在注释中间*/
+
+
+
+
+    /*注意:请新增任务定义在注释中间*/
+    CUCP_END_USER_TASK = 100
+}CucpUserTask_e;
+
+typedef enum
+{
+    CUUP_BEGIN_USER_TASK=200,
+    CUUP_UPC_USER_TASK,
+    CUUP_E1_USER_TASK,
+    CUUP_NGGTPU_DL_TASK,
+    CUUP_NGU_DL_TASK,
+    CUUP_SDAP_DL_TASK,
+    CUUP_PDCPU_DL_TASK,
+    CUUP_F1U_DL_TASK,
+    CUUP_F1GTPU_DL_TASK,
+
+    CUUP_NGGTPU_UL_TASK,
+    CUUP_NGU_UL_TASK,
+    CUUP_SDAP_UL_TASK,
+    CUUP_PDCPU_UL_TASK,
+    CUUP_F1U_UL_TASK,
+    CUUP_F1GTPU_UL_TASK,
+    /*注意:请新增任务定义在注释中间*/
+    CUUP_GTPU_USER_TASK,
+    CUUP_PDCPU_USER_TASK,   
+    CUUP_SDAP_USER_TASK,   
+        
+        
+    /*注意:请新增任务定义在注释中间*/
+    CUUP_END_USER_TASK=400,
+}CuupUserTask_e;
+
+
+typedef struct 
+{
+    UINT8 cuName[MAX_CU_NAME_LEN];  /* CU Name */
+    UINT32 nodeID;
+    IpAddress_t cuIpAddr;
+    IpAddress_t omIpAddr;
+
+    IpAddress_t amfIpAddr;
+    IpAddress_t umfIpAddr;
+    
+    IpAddress_t cucpF1SctpIpAddr;
+    IpAddress_t cuupF1GtpuIpAddr;
+
+    IpAddress_t duF1SctpIpAddr;
+    IpAddress_t duF1GtpuIpAddr;
+    
+    IpAddress_t cucpE1SctpIpAddr;
+    IpAddress_t cuupE1SctpIpAddr;
+    
+    IpAddress_t cucpNgSctpIpAddr;
+    IpAddress_t cuupNgGtpuIpAddr;      
+
+    IpAddress_t cuXnSctpIpAddr;
+}CuCommCfg_t;
+
+typedef struct 
+{
+    UINT8   NodeBName[MAX_CU_NAME_LEN];
+    UINT32 procId;
+    UserTaskInfo_t  userTaskInfo[MAX_TASK_NUM];
+    CuCommCfg_t commCfg;
+    UINT8  cuStackState;
+    UINT8  omState;
+    
+    UINT8  printDebug;
+    UINT8  printLevel;
+    UINT8  interLogFlag;
+    
+} CuCtrlBlock_t;
+
+typedef struct
+{
+       PlmnId_t        plmnId;
+       NrCellId_t  CellId[MAX_CELL_NUM];
+}CellIdList_t;
+
+typedef struct oamCuUpNetElementActReq 
+{
+       UINT8           actCellNum;
+       CellIdList_t    cellIdList;     
+} OamCuUpNetElementActReq_t;
+
+typedef struct oamCuUpCellActRsp 
+{
+       UINT8           successCellNum;
+       UINT8           failCellNum;
+       NrCellId_t      failCellId[MAX_CELL_NUM];
+} OamCuUpCellActRsp_t;
+
+typedef struct oamCuCpNetElementActReq 
+{
+       UINT8           cuCpNetElementAct[MAX_CELL_NUM];        
+} OamCuCpNetElementActReq_t;
+
+typedef struct oamCuCpCellActRsp 
+{
+       UINT8           cuCpCellActFlag[MAX_CELL_NUM];  
+} OamCuCpCellActRsp_t;
+
+typedef enum
+{
+       SRB0 =0 ,
+       SRB1 = 1,
+       SRB2 = 2,
+       SRB3 = 3,
+       
+}SRB_e;
+        
+
+
+
+
+#ifdef __cplusplus
+}
+#endif
+            
+#endif  /* _CU_COMMON_H_*/
+
+
+