c370baf29b617e5444e695dd6a5249354a3425ff
[scp/ocu/5gnr.git] / Include / cuupProtocolPara.h
1 /******************************************************************************
2 ###############################################################################
3 #   Copyright (c) [2017-2020] [ICT/CAS]                                        #
4 #   Licensed under the ORAN Software License v1.0 (License)             #
5 ###############################################################################
6 ******************************************************************************/
7
8
9 #ifndef __CUUPPROTOCOLPARA_H__
10 #define __CUUPPROTOCOLPARA_H__
11
12 #include "vos_lib.h"
13
14 #pragma pack(1)
15
16 /*******************************CUUP基本信息***********************************/
17
18 #define         CUUP_NAME_MAX_LEN               32
19
20 typedef struct CuupBasicInfoCfg_s
21 {       
22         UINT64  gnbCuupId;
23         UCHAR   gnbCuupName[CUUP_NAME_MAX_LEN];
24         UINT8   cnSupportType;//ENUMERATED (EPC,5GC,both)
25         UINT8   cuupCapacity_presence;//cuupCapacity配置标志位
26         UINT8   cuupCapacity;//取值范围(0…255)
27 }cuupBasicInfoCfg_t;
28
29
30 /**********************************IP信息**************************************/
31
32 #define         MAX_CUUP_IPV6_ADDR_LEN          40
33 #define         MAX_CUUP_IPV4_ADDR_LEN          16
34
35 #define         MAX_NROF_CUUP_CUC_IP_ADDR               5
36 #define         MAX_NROF_CUUP_CUUP_IP_ADDR              5
37
38 typedef struct  CuupIpAddrList_s
39 {
40         UINT8   ipType; 
41         UINT32  port;
42         char    ipv4Address[MAX_CUUP_IPV4_ADDR_LEN];
43         char    ipv6Address[MAX_CUUP_IPV6_ADDR_LEN];
44 }cuupIpAddrList_t;
45
46 typedef struct CuupIpInfoList_s
47 {
48         UINT8   cucIpAddrNum;
49         cuupIpAddrList_t        cucIpList[MAX_NROF_CUUP_CUC_IP_ADDR];
50
51         UINT8   cuupIpAddrNum;
52         cuupIpAddrList_t        cuupIpList[MAX_NROF_CUUP_CUUP_IP_ADDR];
53
54 }cuupIpInfoList_t;
55
56 /**********************************PLMN信息表**************************************/
57
58 #define         MAX_CUUP_NROF_PLMN                      5//12
59 #define         CU_MCC_LEN                                      3
60 #define         CU_MAX_MNC_LEN                          3
61
62 typedef struct  CuupPlmnIdList_s
63 {
64         UINT8   MCC_Presence;//MCC配置标志位
65         UINT8   MCC[CU_MCC_LEN];
66         UINT8   mncNum;//取值2或者3
67         UINT8   MNC[CU_MAX_MNC_LEN];
68
69 }cuupPlmnIdList_t;
70
71 typedef struct CuupPlmnIdInfo_s
72 {
73         UINT8   plmnIdNum;//取值范围1...12(协议规定),目前暂定取值范围1...5
74         cuupPlmnIdList_t        plmnIdList[MAX_CUUP_NROF_PLMN];
75
76 }cuupPlmnIdInfo_t;
77
78
79
80
81 /**********************************E1接口信息***********************************/
82
83 #define MAX_NROF_NG_RAN_QOS_PARAMETER   1//256协议规定
84 typedef struct qosSupportInfo_s
85 {
86         UINT8   plmnIdx;                                
87         UINT8   fiveQI;//取值范围:0~255
88         UINT8   qoSPrirotyLevel_presence;//qoSPrirotyLevel配置标志位
89         UINT8   qoSPrirotyLevel;//取值范围:0~127
90         UINT8   averagingWindow_presence;//averagingWindow配置标志位
91         UINT16  averagingWindow;//取值范围:0~4095
92         UINT16  maxDataBurstVolume_presence;//maxDataBurstVolume配置标志位
93         UINT16  maxDataBurstVolume;//取值范围:0~4095
94 }qosSupportInfo_t;
95
96
97 typedef struct ngranQosSupportList_s
98 {
99         UINT8   qosSupportNum;
100         qosSupportInfo_t qosSupportInfo[MAX_NROF_NG_RAN_QOS_PARAMETER];
101 }ngranQosSupportList_t;
102
103
104 /**********************************切片信息***********************************/
105
106 #define MAX_NROF_SLICE_SUPPORTED                3
107
108
109
110 typedef struct SliceSupportInfo_s
111 {
112         UINT8   PlmnIdx;
113         UINT8   SST;    //为了支持网络切片,与SD字段可以组成S-NSSAI       
114         UINT8   SD_presence;//SD配置标志位
115         UINT32  SD:24;
116 }sliceSupportInfo_t;
117
118 typedef struct SliceSupportList_s
119 {
120         UINT8   sliceSupportNum;//取值范围1--1024(协议规定),目前取值范围1...3
121         sliceSupportInfo_t      sliceSupportInfo[MAX_NROF_SLICE_SUPPORTED];
122 }sliceSupportList_t;
123
124 /**********************************UP支持的小区ID列表****************************/
125
126 #define MAX_NROF_CUUP_SUPPORT_CELL              10//512
127
128 typedef struct cellIdSupportInfo_s
129 {
130         UINT8   plmnIdx;
131         UINT64  cellGlobalId;
132 }cellIdSupportInfo_t;
133
134
135
136 typedef struct cellIdSupportList_s
137 {
138         UINT8   cellSupportNum;//取值范围0--512(协议规定),目前取值范围0...10
139         cellIdSupportInfo_t     cellIdInfo[MAX_NROF_CUUP_SUPPORT_CELL];
140 }cellIdSupportList_t;
141
142
143 #pragma pack()
144
145 #endif
146