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