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