1a8e1175bSopenharmony_ci/**
2a8e1175bSopenharmony_ci * \file ssl_debug_helpers.h
3a8e1175bSopenharmony_ci *
4a8e1175bSopenharmony_ci * \brief Automatically generated helper functions for debugging
5a8e1175bSopenharmony_ci */
6a8e1175bSopenharmony_ci/*
7a8e1175bSopenharmony_ci *  Copyright The Mbed TLS Contributors
8a8e1175bSopenharmony_ci *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9a8e1175bSopenharmony_ci */
10a8e1175bSopenharmony_ci
11a8e1175bSopenharmony_ci#ifndef MBEDTLS_SSL_DEBUG_HELPERS_H
12a8e1175bSopenharmony_ci#define MBEDTLS_SSL_DEBUG_HELPERS_H
13a8e1175bSopenharmony_ci
14a8e1175bSopenharmony_ci#include "common.h"
15a8e1175bSopenharmony_ci
16a8e1175bSopenharmony_ci#if defined(MBEDTLS_DEBUG_C)
17a8e1175bSopenharmony_ci
18a8e1175bSopenharmony_ci#include "mbedtls/ssl.h"
19a8e1175bSopenharmony_ci#include "ssl_misc.h"
20a8e1175bSopenharmony_ci
21a8e1175bSopenharmony_ci
22a8e1175bSopenharmony_ciconst char *mbedtls_ssl_states_str(mbedtls_ssl_states in);
23a8e1175bSopenharmony_ci
24a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_EARLY_DATA) && defined(MBEDTLS_SSL_CLI_C)
25a8e1175bSopenharmony_ciconst char *mbedtls_ssl_early_data_status_str(mbedtls_ssl_early_data_status in);
26a8e1175bSopenharmony_ciconst char *mbedtls_ssl_early_data_state_str(mbedtls_ssl_early_data_state in);
27a8e1175bSopenharmony_ci#endif
28a8e1175bSopenharmony_ci
29a8e1175bSopenharmony_ciconst char *mbedtls_ssl_protocol_version_str(mbedtls_ssl_protocol_version in);
30a8e1175bSopenharmony_ci
31a8e1175bSopenharmony_ciconst char *mbedtls_tls_prf_types_str(mbedtls_tls_prf_types in);
32a8e1175bSopenharmony_ci
33a8e1175bSopenharmony_ciconst char *mbedtls_ssl_key_export_type_str(mbedtls_ssl_key_export_type in);
34a8e1175bSopenharmony_ci
35a8e1175bSopenharmony_ciconst char *mbedtls_ssl_sig_alg_to_str(uint16_t in);
36a8e1175bSopenharmony_ci
37a8e1175bSopenharmony_ciconst char *mbedtls_ssl_named_group_to_str(uint16_t in);
38a8e1175bSopenharmony_ci
39a8e1175bSopenharmony_ciconst char *mbedtls_ssl_get_extension_name(unsigned int extension_type);
40a8e1175bSopenharmony_ci
41a8e1175bSopenharmony_civoid mbedtls_ssl_print_extensions(const mbedtls_ssl_context *ssl,
42a8e1175bSopenharmony_ci                                  int level, const char *file, int line,
43a8e1175bSopenharmony_ci                                  int hs_msg_type, uint32_t extensions_mask,
44a8e1175bSopenharmony_ci                                  const char *extra);
45a8e1175bSopenharmony_ci
46a8e1175bSopenharmony_civoid mbedtls_ssl_print_extension(const mbedtls_ssl_context *ssl,
47a8e1175bSopenharmony_ci                                 int level, const char *file, int line,
48a8e1175bSopenharmony_ci                                 int hs_msg_type, unsigned int extension_type,
49a8e1175bSopenharmony_ci                                 const char *extra_msg0, const char *extra_msg1);
50a8e1175bSopenharmony_ci
51a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
52a8e1175bSopenharmony_civoid mbedtls_ssl_print_ticket_flags(const mbedtls_ssl_context *ssl,
53a8e1175bSopenharmony_ci                                    int level, const char *file, int line,
54a8e1175bSopenharmony_ci                                    unsigned int flags);
55a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */
56a8e1175bSopenharmony_ci
57a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extensions_mask)            \
58a8e1175bSopenharmony_ci    mbedtls_ssl_print_extensions(ssl, level, __FILE__, __LINE__,       \
59a8e1175bSopenharmony_ci                                 hs_msg_type, extensions_mask, NULL)
60a8e1175bSopenharmony_ci
61a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra)      \
62a8e1175bSopenharmony_ci    mbedtls_ssl_print_extension(ssl, level, __FILE__, __LINE__,        \
63a8e1175bSopenharmony_ci                                hs_msg_type, extension_type,           \
64a8e1175bSopenharmony_ci                                extra, NULL)
65a8e1175bSopenharmony_ci
66a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
67a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags)             \
68a8e1175bSopenharmony_ci    mbedtls_ssl_print_ticket_flags(ssl, level, __FILE__, __LINE__, flags)
69a8e1175bSopenharmony_ci#endif
70a8e1175bSopenharmony_ci
71a8e1175bSopenharmony_ci#else
72a8e1175bSopenharmony_ci
73a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extension_mask)
74a8e1175bSopenharmony_ci
75a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra)
76a8e1175bSopenharmony_ci
77a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
78a8e1175bSopenharmony_ci#define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags)
79a8e1175bSopenharmony_ci#endif
80a8e1175bSopenharmony_ci
81a8e1175bSopenharmony_ci#endif /* MBEDTLS_DEBUG_C */
82a8e1175bSopenharmony_ci
83a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_DEBUG_HELPERS_H */
84