mbed TLS v3.1.0
Macros | Enumerations | Functions
debug.h File Reference

Functions for controlling and providing debug output from the library. More...

#include "mbedtls/build_info.h"
#include "mbedtls/ssl.h"
#include "mbedtls/ecp.h"
Include dependency graph for debug.h:

Go to the source code of this file.

Macros

#define MBEDTLS_DEBUG_STRIP_PARENS(...)   __VA_ARGS__
 
#define MBEDTLS_SSL_DEBUG_MSG(level, args)
 
#define MBEDTLS_SSL_DEBUG_RET(level, text, ret)   mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret )
 
#define MBEDTLS_SSL_DEBUG_BUF(level, text, buf, len)   mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len )
 
#define MBEDTLS_SSL_DEBUG_MPI(level, text, X)   mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X )
 
#define MBEDTLS_SSL_DEBUG_ECP(level, text, X)   mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X )
 
#define MBEDTLS_SSL_DEBUG_CRT(level, text, crt)   do { } while( 0 )
 
#define MBEDTLS_SSL_DEBUG_ECDH(level, ecdh, attr)   mbedtls_debug_printf_ecdh( ssl, level, __FILE__, __LINE__, ecdh, attr )
 
#define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
 
#define MBEDTLS_PRINTF_SIZET   "zu"
 
#define MBEDTLS_PRINTF_LONGLONG   "lld"
 

Enumerations

enum  mbedtls_debug_ecdh_attr { MBEDTLS_DEBUG_ECDH_Q, MBEDTLS_DEBUG_ECDH_QP, MBEDTLS_DEBUG_ECDH_Z }
 

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 ) More...
 
void mbedtls_debug_print_msg (const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *format,...) MBEDTLS_PRINTF_ATTRIBUTE(5
 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. More...
 
void 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Functions for controlling and providing debug output from the library.

Definition in file debug.h.

Macro Definition Documentation

#define MBEDTLS_DEBUG_STRIP_PARENS (   ...)    __VA_ARGS__

Definition at line 35 of file debug.h.

#define 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.

Definition at line 108 of file debug.h.

#define MBEDTLS_PRINTF_LONGLONG   "lld"

Definition at line 129 of file debug.h.

#define MBEDTLS_PRINTF_SIZET   "zu"

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.

Definition at line 128 of file debug.h.

#define MBEDTLS_SSL_DEBUG_BUF (   level,
  text,
  buf,
  len 
)    mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len )

Definition at line 44 of file debug.h.

#define MBEDTLS_SSL_DEBUG_CRT (   level,
  text,
  crt 
)    do { } while( 0 )

Definition at line 62 of file debug.h.

#define MBEDTLS_SSL_DEBUG_ECDH (   level,
  ecdh,
  attr 
)    mbedtls_debug_printf_ecdh( ssl, level, __FILE__, __LINE__, ecdh, attr )

Definition at line 67 of file debug.h.

#define MBEDTLS_SSL_DEBUG_ECP (   level,
  text,
 
)    mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X )

Definition at line 53 of file debug.h.

#define MBEDTLS_SSL_DEBUG_MPI (   level,
  text,
 
)    mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X )

Definition at line 48 of file debug.h.

#define MBEDTLS_SSL_DEBUG_MSG (   level,
  args 
)
Value:
mbedtls_debug_print_msg( ssl, level, __FILE__, __LINE__, \
void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *format,...) MBEDTLS_PRINTF_ATTRIBUTE(5
Print a message to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_MSG()...
#define MBEDTLS_DEBUG_STRIP_PARENS(...)
Definition: debug.h:35

Definition at line 37 of file debug.h.

#define MBEDTLS_SSL_DEBUG_RET (   level,
  text,
  ret 
)    mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret )

Definition at line 41 of file debug.h.

Enumeration Type Documentation

Enumerator
MBEDTLS_DEBUG_ECDH_Q 
MBEDTLS_DEBUG_ECDH_QP 
MBEDTLS_DEBUG_ECDH_Z 

Definition at line 278 of file debug.h.

Function Documentation

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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the error has occurred in
lineline number the error has occurred in
texta name or label for the buffer being dumped. Normally the variable or buffer name
bufthe buffer to be outputted
lenlength of the buffer
Attention
This function is intended for INTERNAL usage within the library only.
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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the error has occurred in
lineline number the error has occurred in
texta name or label for the ECP point being output. Normally the variable name
Xthe ECP point
Attention
This function is intended for INTERNAL usage within the library only.
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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the error has occurred in
lineline number the error has occurred in
texta name or label for the MPI being output. Normally the variable name
Xthe MPI variable
Attention
This function is intended for INTERNAL usage within the library only.
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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the message has occurred in
lineline number the message has occurred at
formatformat specifier, in printf format
...variables used by the format specifier
Attention
This function is intended for INTERNAL usage within the library only.
void 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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the error has occurred in
lineline number the error has occurred in
textthe name of the function that returned the error
retthe return code value
Attention
This function is intended for INTERNAL usage within the library only.
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.

Parameters
sslSSL context
levelerror level of the debug message
filefile the error has occurred in
lineline number the error has occurred in
ecdhthe ECDH context
attrthe identifier of the attribute being output
Attention
This function is intended for INTERNAL usage within the library only.
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
thresholdtheshold 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