00001
00023 #ifndef MBEDTLS_DEBUG_H
00024 #define MBEDTLS_DEBUG_H
00025
00026 #if !defined(MBEDTLS_CONFIG_FILE)
00027 #include "config.h"
00028 #else
00029 #include MBEDTLS_CONFIG_FILE
00030 #endif
00031
00032 #include "ssl.h"
00033
00034 #if defined(MBEDTLS_ECP_C)
00035 #include "ecp.h"
00036 #endif
00037
00038 #if defined(MBEDTLS_DEBUG_C)
00039
00040 #define MBEDTLS_DEBUG_STRIP_PARENS( ... ) __VA_ARGS__
00041
00042 #define MBEDTLS_SSL_DEBUG_MSG( level, args ) \
00043 mbedtls_debug_print_msg( ssl, level, __FILE__, __LINE__, \
00044 MBEDTLS_DEBUG_STRIP_PARENS args )
00045
00046 #define MBEDTLS_SSL_DEBUG_RET( level, text, ret ) \
00047 mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret )
00048
00049 #define MBEDTLS_SSL_DEBUG_BUF( level, text, buf, len ) \
00050 mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len )
00051
00052 #if defined(MBEDTLS_BIGNUM_C)
00053 #define MBEDTLS_SSL_DEBUG_MPI( level, text, X ) \
00054 mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X )
00055 #endif
00056
00057 #if defined(MBEDTLS_ECP_C)
00058 #define MBEDTLS_SSL_DEBUG_ECP( level, text, X ) \
00059 mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X )
00060 #endif
00061
00062 #if defined(MBEDTLS_X509_CRT_PARSE_C)
00063 #define MBEDTLS_SSL_DEBUG_CRT( level, text, crt ) \
00064 mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt )
00065 #endif
00066
00067 #else
00068
00069 #define MBEDTLS_SSL_DEBUG_MSG( level, args ) do { } while( 0 )
00070 #define MBEDTLS_SSL_DEBUG_RET( level, text, ret ) do { } while( 0 )
00071 #define MBEDTLS_SSL_DEBUG_BUF( level, text, buf, len ) do { } while( 0 )
00072 #define MBEDTLS_SSL_DEBUG_MPI( level, text, X ) do { } while( 0 )
00073 #define MBEDTLS_SSL_DEBUG_ECP( level, text, X ) do { } while( 0 )
00074 #define MBEDTLS_SSL_DEBUG_CRT( level, text, crt ) do { } while( 0 )
00075
00076 #endif
00077
00078 #ifdef __cplusplus
00079 extern "C" {
00080 #endif
00081
00097 void mbedtls_debug_set_threshold( int threshold );
00098
00114 void mbedtls_debug_print_msg( const mbedtls_ssl_context *ssl, int level,
00115 const char *file, int line,
00116 const char *format, ... );
00117
00133 void mbedtls_debug_print_ret( const mbedtls_ssl_context *ssl, int level,
00134 const char *file, int line,
00135 const char *text, int ret );
00136
00154 void mbedtls_debug_print_buf( const mbedtls_ssl_context *ssl, int level,
00155 const char *file, int line, const char *text,
00156 const unsigned char *buf, size_t len );
00157
00158 #if defined(MBEDTLS_BIGNUM_C)
00159
00175 void mbedtls_debug_print_mpi( const mbedtls_ssl_context *ssl, int level,
00176 const char *file, int line,
00177 const char *text, const mbedtls_mpi *X );
00178 #endif
00179
00180 #if defined(MBEDTLS_ECP_C)
00181
00197 void mbedtls_debug_print_ecp( const mbedtls_ssl_context *ssl, int level,
00198 const char *file, int line,
00199 const char *text, const mbedtls_ecp_point *X );
00200 #endif
00201
00202 #if defined(MBEDTLS_X509_CRT_PARSE_C)
00203
00218 void mbedtls_debug_print_crt( const mbedtls_ssl_context *ssl, int level,
00219 const char *file, int line,
00220 const char *text, const mbedtls_x509_crt *crt );
00221 #endif
00222
00223 #ifdef __cplusplus
00224 }
00225 #endif
00226
00227 #endif
00228