File debug.h
Functions for controlling and providing debug output from the library.
Defines
-
MBEDTLS_DEBUG_STRIP_PARENS(...)
-
MBEDTLS_SSL_DEBUG_MSG(level, args)
-
MBEDTLS_SSL_DEBUG_RET(level, text, ret)
-
MBEDTLS_SSL_DEBUG_BUF(level, text, buf, len)
-
MBEDTLS_SSL_DEBUG_MPI(level, text, X)
-
MBEDTLS_SSL_DEBUG_ECP(level, text, X)
-
MBEDTLS_SSL_DEBUG_CRT(level, text, crt)
-
MBEDTLS_SSL_DEBUG_ECDH(level, ecdh, attr)
-
MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
Mark a function as having printf attributes, and thus enable checking via -wFormat and other flags. This does nothing on builds with compilers that do not support the format attribute
Module: library/debug.c Caller:
This module provides debugging functions.
-
MBEDTLS_PRINTF_SIZET
MBEDTLS_PRINTF_xxx: Due to issues with older window compilers and MinGW we need to define the printf specifier for size_t and long long per platform.
Module: library/debug.c Caller:
This module provides debugging functions.
-
MBEDTLS_PRINTF_LONGLONG
-
MBEDTLS_PRINTF_MS_TIME
Enums
Functions
-
void mbedtls_debug_set_threshold(int threshold)
Set the threshold error level to handle globally all debug output. Debug messages that have a level over the threshold value are discarded. (Default value: 0 = No debug )
- Parameters
threshold – threshold level of messages to filter on. Messages at a higher level will be discarded.
Debug levels
0 No debug
1 Error
2 State change
3 Informational
4 Verbose
-
void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *format, ...)
Print a message to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_MSG() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the message has occurred in
line – line number the message has occurred at
format – format specifier, in printf format
... – variables used by the format specifier
-
void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *text, int ret)
Print the return value of a function to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_RET() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the error has occurred in
line – line number the error has occurred in
text – the name of the function that returned the error
ret – the return code value
-
void mbedtls_debug_print_buf(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *text, const unsigned char *buf, size_t len)
Output a buffer of size len bytes to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_BUF() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the error has occurred in
line – line number the error has occurred in
text – a name or label for the buffer being dumped. Normally the variable or buffer name
buf – the buffer to be outputted
len – length of the buffer
-
void mbedtls_debug_print_mpi(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *text, const mbedtls_mpi *X)
Print a MPI variable to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_MPI() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the error has occurred in
line – line number the error has occurred in
text – a name or label for the MPI being output. Normally the variable name
X – the MPI variable
-
void mbedtls_debug_print_ecp(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *text, const mbedtls_ecp_point *X)
Print an ECP point to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_ECP() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the error has occurred in
line – line number the error has occurred in
text – a name or label for the ECP point being output. Normally the variable name
X – the ECP point
-
void mbedtls_debug_printf_ecdh(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const mbedtls_ecdh_context *ecdh, mbedtls_debug_ecdh_attr attr)
Print a field of the ECDH structure in the SSL context to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_ECDH() macro, which supplies the ssl context, file and line number parameters.
- Attention
This function is intended for INTERNAL usage within the library only.
- Parameters
ssl – SSL context
level – error level of the debug message
file – file the error has occurred in
line – line number the error has occurred in
ecdh – the ECDH context
attr – the identifier of the attribute being output