PolarSSL is now part of ARM Official announcement and rebranded as mbed TLS.

API Documentation (Doxygen generated)

These pages are generated with doxygen directly from the source code!

debug.h File Reference

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

#include "config.h"
#include "ssl.h"
#include "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)   mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt )
 
#define MBEDTLS_SSL_DEBUG_ECDH(level, ecdh, attr)   mbedtls_debug_printf_ecdh( ssl, level, __FILE__, __LINE__, ecdh, attr )
 

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. More...
 
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. More...
 
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. 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. 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. 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. More...
 
void mbedtls_debug_print_crt (const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *text, const mbedtls_x509_crt *crt)
 Print a X.509 certificate structure to the debug output. 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. 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 41 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 50 of file debug.h.

#define MBEDTLS_SSL_DEBUG_CRT (   level,
  text,
  crt 
)    mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt )

Definition at line 64 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 69 of file debug.h.

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

Definition at line 59 of file debug.h.

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

Definition at line 54 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,...)
Print a message to the debug output.
#define MBEDTLS_DEBUG_STRIP_PARENS(...)
Definition: debug.h:41

Definition at line 43 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 47 of file debug.h.

Enumeration Type Documentation

Enumerator
MBEDTLS_DEBUG_ECDH_Q 
MBEDTLS_DEBUG_ECDH_QP 
MBEDTLS_DEBUG_ECDH_Z 

Definition at line 231 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_crt ( const mbedtls_ssl_context ssl,
int  level,
const char *  file,
int  line,
const char *  text,
const mbedtls_x509_crt crt 
)

Print a X.509 certificate structure to the debug output.

This function is always used through the MBEDTLS_SSL_DEBUG_CRT() 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 certificate being output
crtX.509 certificate structure
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 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