1 // Copyright (c) 2023 Huawei Device Co., Ltd.
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 //     http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 
14 use libc::c_int;
15 
16 const TLS1_VERSION: c_int = 0x301;
17 const TLS1_1_VERSION: c_int = 0x302;
18 const TLS1_2_VERSION: c_int = 0x303;
19 const TLS1_3_VERSION: c_int = 0x304;
20 
21 pub(crate) struct SslVersion(pub c_int);
22 
23 impl SslVersion {
24     /// TLSv1.0
25     pub(crate) const TLS_1_0: SslVersion = SslVersion(TLS1_VERSION);
26 
27     /// TLSv1.1
28     pub(crate) const TLS_1_1: SslVersion = SslVersion(TLS1_1_VERSION);
29 
30     /// TLSv1.2
31     pub(crate) const TLS_1_2: SslVersion = SslVersion(TLS1_2_VERSION);
32 
33     /// TLSv1.3
34     pub(crate) const TLS_1_3: SslVersion = SslVersion(TLS1_3_VERSION);
35 }
36