xref: /curl/lib/vtls/cipher_suite.h (revision 1e03d4bc)
1 #ifndef HEADER_CURL_CIPHER_SUITE_H
2 #define HEADER_CURL_CIPHER_SUITE_H
3 /***************************************************************************
4  *                                  _   _ ____  _
5  *  Project                     ___| | | |  _ \| |
6  *                             / __| | | | |_) | |
7  *                            | (__| |_| |  _ <| |___
8  *                             \___|\___/|_| \_\_____|
9  *
10  * Copyright (C) Jan Venekamp, <jan@venekamp.net>
11  *
12  * This software is licensed as described in the file COPYING, which
13  * you should have received as part of this distribution. The terms
14  * are also available at https://curl.se/docs/copyright.html.
15  *
16  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17  * copies of the Software, and permit persons to whom the Software is
18  * furnished to do so, under the terms of the COPYING file.
19  *
20  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21  * KIND, either express or implied.
22  *
23  * SPDX-License-Identifier: curl
24  *
25  ***************************************************************************/
26 
27 #include "curl_setup.h"
28 
29 #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
30     defined(USE_BEARSSL) || defined(USE_RUSTLS)
31 #include <stdint.h>
32 
33 /* Lookup IANA id for cipher suite string, returns 0 if not recognized */
34 uint16_t Curl_cipher_suite_lookup_id(const char *cs_str, size_t cs_len);
35 
36 /* Walk over cipher suite string, update str and end pointers to next
37    cipher suite in string, returns IANA id of that suite if recognized */
38 uint16_t Curl_cipher_suite_walk_str(const char **str, const char **end);
39 
40 /* Copy openssl or RFC name for cipher suite in supplied buffer.
41    Caller is responsible to supply sufficiently large buffer (size
42    of 64 should suffice), excess bytes are silently truncated. */
43 int Curl_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,
44                               bool prefer_rfc);
45 
46 #endif /* defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
47           defined(USE_BEARSSL) || defined(USE_RUSTLS) */
48 #endif /* HEADER_CURL_CIPHER_SUITE_H */
49