cipher_suite.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. #include "curl_setup.h"
  27. #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_BEARSSL)
  28. #include <stdint.h>
  29. /* Lookup IANA id for cipher suite string, returns 0 if not recognized */
  30. uint16_t Curl_cipher_suite_lookup_id(const char *cs_str, size_t cs_len);
  31. /* Walk over cipher suite string, update str and end pointers to next
  32. cipher suite in string, returns IANA id of that suite if recognized */
  33. uint16_t Curl_cipher_suite_walk_str(const char **str, const char **end);
  34. /* Copy openssl or RFC name for cipher suite in supplied buffer.
  35. Caller is responsible to supply sufficiently large buffer (size
  36. of 64 should suffice), excess bytes are silently truncated. */
  37. int Curl_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,
  38. bool prefer_rfc);
  39. #endif /* defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
  40. defined(USE_BEARSSL) */
  41. #endif /* HEADER_CURL_CIPHER_SUITE_H */