00001
00023 #ifndef SSL_DEBUG_H
00024 #define SSL_DEBUG_H
00025
00026 #include "polarssl/config.h"
00027 #include "polarssl/ssl.h"
00028
00029 #if defined(POLARSSL_DEBUG_MSG)
00030
00031 #define SSL_DEBUG_MSG( level, args ) \
00032 debug_print_msg( ssl, level, __FILE__, __LINE__, debug_fmt args );
00033
00034 #define SSL_DEBUG_RET( level, text, ret ) \
00035 debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret );
00036
00037 #define SSL_DEBUG_BUF( level, text, buf, len ) \
00038 debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len );
00039
00040 #define SSL_DEBUG_MPI( level, text, X ) \
00041 debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X );
00042
00043 #define SSL_DEBUG_CRT( level, text, crt ) \
00044 debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt );
00045
00046 #else
00047
00048 #define SSL_DEBUG_MSG( level, args ) do { } while( 0 )
00049 #define SSL_DEBUG_RET( level, text, ret ) do { } while( 0 )
00050 #define SSL_DEBUG_BUF( level, text, buf, len ) do { } while( 0 )
00051 #define SSL_DEBUG_MPI( level, text, X ) do { } while( 0 )
00052 #define SSL_DEBUG_CRT( level, text, crt ) do { } while( 0 )
00053
00054 #endif
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 char *debug_fmt( const char *format, ... );
00061
00062 void debug_print_msg( ssl_context *ssl, int level,
00063 char *file, int line, char *text );
00064
00065 void debug_print_ret( ssl_context *ssl, int level,
00066 char *file, int line, char *text, int ret );
00067
00068 void debug_print_buf( ssl_context *ssl, int level,
00069 char *file, int line, char *text,
00070 unsigned char *buf, int len );
00071
00072 void debug_print_mpi( ssl_context *ssl, int level,
00073 char *file, int line, char *text, mpi *X );
00074
00075 void debug_print_crt( ssl_context *ssl, int level,
00076 char *file, int line, char *text, x509_cert *crt );
00077
00078 #ifdef __cplusplus
00079 }
00080 #endif
00081
00082 #endif