xref: /optee_os/lib/libmbedtls/mbedtls/library/ssl_debug_helpers.h (revision 32b3180828fa15a49ccc86ecb4be9d274c140c89)
1*32b31808SJens Wiklander /**
2*32b31808SJens Wiklander  * \file ssl_debug_helpers.h
3*32b31808SJens Wiklander  *
4*32b31808SJens Wiklander  * \brief Automatically generated helper functions for debugging
5*32b31808SJens Wiklander  */
6*32b31808SJens Wiklander /*
7*32b31808SJens Wiklander  *  Copyright The Mbed TLS Contributors
8*32b31808SJens Wiklander  *  SPDX-License-Identifier: Apache-2.0
9*32b31808SJens Wiklander  *
10*32b31808SJens Wiklander  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
11*32b31808SJens Wiklander  *  not use this file except in compliance with the License.
12*32b31808SJens Wiklander  *  You may obtain a copy of the License at
13*32b31808SJens Wiklander  *
14*32b31808SJens Wiklander  *  http://www.apache.org/licenses/LICENSE-2.0
15*32b31808SJens Wiklander  *
16*32b31808SJens Wiklander  *  Unless required by applicable law or agreed to in writing, software
17*32b31808SJens Wiklander  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
18*32b31808SJens Wiklander  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19*32b31808SJens Wiklander  *  See the License for the specific language governing permissions and
20*32b31808SJens Wiklander  *  limitations under the License.
21*32b31808SJens Wiklander  */
22*32b31808SJens Wiklander 
23*32b31808SJens Wiklander #ifndef MBEDTLS_SSL_DEBUG_HELPERS_H
24*32b31808SJens Wiklander #define MBEDTLS_SSL_DEBUG_HELPERS_H
25*32b31808SJens Wiklander 
26*32b31808SJens Wiklander #include "common.h"
27*32b31808SJens Wiklander 
28*32b31808SJens Wiklander #if defined(MBEDTLS_DEBUG_C)
29*32b31808SJens Wiklander 
30*32b31808SJens Wiklander #include "mbedtls/ssl.h"
31*32b31808SJens Wiklander #include "ssl_misc.h"
32*32b31808SJens Wiklander 
33*32b31808SJens Wiklander 
34*32b31808SJens Wiklander const char *mbedtls_ssl_states_str(mbedtls_ssl_states in);
35*32b31808SJens Wiklander 
36*32b31808SJens Wiklander const char *mbedtls_ssl_protocol_version_str(mbedtls_ssl_protocol_version in);
37*32b31808SJens Wiklander 
38*32b31808SJens Wiklander const char *mbedtls_tls_prf_types_str(mbedtls_tls_prf_types in);
39*32b31808SJens Wiklander 
40*32b31808SJens Wiklander const char *mbedtls_ssl_key_export_type_str(mbedtls_ssl_key_export_type in);
41*32b31808SJens Wiklander 
42*32b31808SJens Wiklander const char *mbedtls_ssl_sig_alg_to_str(uint16_t in);
43*32b31808SJens Wiklander 
44*32b31808SJens Wiklander const char *mbedtls_ssl_named_group_to_str(uint16_t in);
45*32b31808SJens Wiklander 
46*32b31808SJens Wiklander const char *mbedtls_ssl_get_extension_name(unsigned int extension_type);
47*32b31808SJens Wiklander 
48*32b31808SJens Wiklander void mbedtls_ssl_print_extensions(const mbedtls_ssl_context *ssl,
49*32b31808SJens Wiklander                                   int level, const char *file, int line,
50*32b31808SJens Wiklander                                   int hs_msg_type, uint32_t extensions_mask,
51*32b31808SJens Wiklander                                   const char *extra);
52*32b31808SJens Wiklander 
53*32b31808SJens Wiklander void mbedtls_ssl_print_extension(const mbedtls_ssl_context *ssl,
54*32b31808SJens Wiklander                                  int level, const char *file, int line,
55*32b31808SJens Wiklander                                  int hs_msg_type, unsigned int extension_type,
56*32b31808SJens Wiklander                                  const char *extra_msg0, const char *extra_msg1);
57*32b31808SJens Wiklander 
58*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
59*32b31808SJens Wiklander void mbedtls_ssl_print_ticket_flags(const mbedtls_ssl_context *ssl,
60*32b31808SJens Wiklander                                     int level, const char *file, int line,
61*32b31808SJens Wiklander                                     unsigned int flags);
62*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */
63*32b31808SJens Wiklander 
64*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extensions_mask)            \
65*32b31808SJens Wiklander     mbedtls_ssl_print_extensions(ssl, level, __FILE__, __LINE__,       \
66*32b31808SJens Wiklander                                  hs_msg_type, extensions_mask, NULL)
67*32b31808SJens Wiklander 
68*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra)      \
69*32b31808SJens Wiklander     mbedtls_ssl_print_extension(ssl, level, __FILE__, __LINE__,        \
70*32b31808SJens Wiklander                                 hs_msg_type, extension_type,           \
71*32b31808SJens Wiklander                                 extra, NULL)
72*32b31808SJens Wiklander 
73*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
74*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags)             \
75*32b31808SJens Wiklander     mbedtls_ssl_print_ticket_flags(ssl, level, __FILE__, __LINE__, flags)
76*32b31808SJens Wiklander #endif
77*32b31808SJens Wiklander 
78*32b31808SJens Wiklander #else
79*32b31808SJens Wiklander 
80*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extension_mask)
81*32b31808SJens Wiklander 
82*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra)
83*32b31808SJens Wiklander 
84*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
85*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags)
86*32b31808SJens Wiklander #endif
87*32b31808SJens Wiklander 
88*32b31808SJens Wiklander #endif /* MBEDTLS_DEBUG_C */
89*32b31808SJens Wiklander 
90*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_DEBUG_HELPERS_H */
91