PolarSSL v1.3.9
debug.h
Go to the documentation of this file.
1 
27 #ifndef POLARSSL_DEBUG_H
28 #define POLARSSL_DEBUG_H
29 
30 #if !defined(POLARSSL_CONFIG_FILE)
31 #include "config.h"
32 #else
33 #include POLARSSL_CONFIG_FILE
34 #endif
35 #include "ssl.h"
36 #if defined(POLARSSL_ECP_C)
37 #include "ecp.h"
38 #endif
39 
40 #if defined(POLARSSL_DEBUG_C)
41 
42 #define POLARSSL_DEBUG_LOG_FULL 0
43 #define POLARSSL_DEBUG_LOG_RAW 1
53 #if !defined(POLARSSL_DEBUG_DFL_MODE)
54 #define POLARSSL_DEBUG_DFL_MODE POLARSSL_DEBUG_LOG_FULL
55 #endif
56 
57 /* \} name SECTION: Module settings */
58 
59 
60 #define SSL_DEBUG_MSG( level, args ) \
61  debug_print_msg( ssl, level, __FILE__, __LINE__, debug_fmt args );
62 
63 #define SSL_DEBUG_RET( level, text, ret ) \
64  debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret );
65 
66 #define SSL_DEBUG_BUF( level, text, buf, len ) \
67  debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len );
68 
69 #if defined(POLARSSL_BIGNUM_C)
70 #define SSL_DEBUG_MPI( level, text, X ) \
71  debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X );
72 #endif
73 
74 #if defined(POLARSSL_ECP_C)
75 #define SSL_DEBUG_ECP( level, text, X ) \
76  debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X );
77 #endif
78 
79 #if defined(POLARSSL_X509_CRT_PARSE_C)
80 #define SSL_DEBUG_CRT( level, text, crt ) \
81  debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt );
82 #endif
83 
84 #else /* POLARSSL_DEBUG_C */
85 
86 #define SSL_DEBUG_MSG( level, args ) do { } while( 0 )
87 #define SSL_DEBUG_RET( level, text, ret ) do { } while( 0 )
88 #define SSL_DEBUG_BUF( level, text, buf, len ) do { } while( 0 )
89 #define SSL_DEBUG_MPI( level, text, X ) do { } while( 0 )
90 #define SSL_DEBUG_ECP( level, text, X ) do { } while( 0 )
91 #define SSL_DEBUG_CRT( level, text, crt ) do { } while( 0 )
92 
93 #endif /* POLARSSL_DEBUG_C */
94 
95 #ifdef __cplusplus
96 extern "C" {
97 #endif
98 
106 void debug_set_log_mode( int log_mode );
107 
115 void debug_set_threshold( int threshold );
116 
117 char *debug_fmt( const char *format, ... );
118 
119 void debug_print_msg( const ssl_context *ssl, int level,
120  const char *file, int line, const char *text );
121 
122 void debug_print_ret( const ssl_context *ssl, int level,
123  const char *file, int line,
124  const char *text, int ret );
125 
126 void debug_print_buf( const ssl_context *ssl, int level,
127  const char *file, int line, const char *text,
128  unsigned char *buf, size_t len );
129 
130 #if defined(POLARSSL_BIGNUM_C)
131 void debug_print_mpi( const ssl_context *ssl, int level,
132  const char *file, int line,
133  const char *text, const mpi *X );
134 #endif
135 
136 #if defined(POLARSSL_ECP_C)
137 void debug_print_ecp( const ssl_context *ssl, int level,
138  const char *file, int line,
139  const char *text, const ecp_point *X );
140 #endif
141 
142 #if defined(POLARSSL_X509_CRT_PARSE_C)
143 void debug_print_crt( const ssl_context *ssl, int level,
144  const char *file, int line,
145  const char *text, const x509_crt *crt );
146 #endif
147 
148 #ifdef __cplusplus
149 }
150 #endif
151 
152 #endif /* debug.h */
void debug_print_crt(const ssl_context *ssl, int level, const char *file, int line, const char *text, const x509_crt *crt)
Elliptic curves over GF(p)
void debug_print_msg(const ssl_context *ssl, int level, const char *file, int line, const char *text)
Configuration options (set of defines)
MPI structure.
Definition: bignum.h:182
void debug_print_ecp(const ssl_context *ssl, int level, const char *file, int line, const char *text, const ecp_point *X)
Container for an X.509 certificate.
Definition: x509_crt.h:57
ECP point structure (jacobian coordinates)
Definition: ecp.h:104
void debug_print_mpi(const ssl_context *ssl, int level, const char *file, int line, const char *text, const mpi *X)
void debug_print_buf(const ssl_context *ssl, int level, const char *file, int line, const char *text, unsigned char *buf, size_t len)
void debug_print_ret(const ssl_context *ssl, int level, const char *file, int line, const char *text, int ret)
void debug_set_threshold(int threshold)
Set the level threshold to handle globally.
SSL/TLS functions.
void debug_set_log_mode(int log_mode)
Set the log mode for the debug functions globally (Default value: POLARSSL_DEBUG_DFL_MODE) ...
char * debug_fmt(const char *format,...)