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