blob: 5997d0c0d04f222ca59253be768008b7f72bbbf9 [file] [log] [blame]
Paul Bakker5121ce52009-01-03 21:22:43 +00001/**
2 * \file debug.h
3 */
4#ifndef SSL_DEBUG_H
5#define SSL_DEBUG_H
6
Paul Bakker8e831ed2009-01-03 21:24:11 +00007#include "polarssl/config.h"
8#include "polarssl/ssl.h"
Paul Bakker5121ce52009-01-03 21:22:43 +00009
Paul Bakker40e46942009-01-03 21:51:57 +000010#if defined(POLARSSL_DEBUG_MSG)
Paul Bakker5121ce52009-01-03 21:22:43 +000011
12#define SSL_DEBUG_MSG( level, args ) \
13 debug_print_msg( ssl, level, __FILE__, __LINE__, debug_fmt args );
14
15#define SSL_DEBUG_RET( level, text, ret ) \
16 debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret );
17
18#define SSL_DEBUG_BUF( level, text, buf, len ) \
19 debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len );
20
21#define SSL_DEBUG_MPI( level, text, X ) \
22 debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X );
23
24#define SSL_DEBUG_CRT( level, text, crt ) \
25 debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt );
26
27#else
28
29#define SSL_DEBUG_MSG( level, args ) do { } while( 0 )
30#define SSL_DEBUG_RET( level, text, ret ) do { } while( 0 )
31#define SSL_DEBUG_BUF( level, text, buf, len ) do { } while( 0 )
32#define SSL_DEBUG_MPI( level, text, X ) do { } while( 0 )
33#define SSL_DEBUG_CRT( level, text, crt ) do { } while( 0 )
34
35#endif
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41char *debug_fmt( const char *format, ... );
42
43void debug_print_msg( ssl_context *ssl, int level,
44 char *file, int line, char *text );
45
46void debug_print_ret( ssl_context *ssl, int level,
47 char *file, int line, char *text, int ret );
48
49void debug_print_buf( ssl_context *ssl, int level,
50 char *file, int line, char *text,
51 unsigned char *buf, int len );
52
53void debug_print_mpi( ssl_context *ssl, int level,
54 char *file, int line, char *text, mpi *X );
55
56void debug_print_crt( ssl_context *ssl, int level,
57 char *file, int line, char *text, x509_cert *crt );
58
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* debug.h */