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
96extern "C" {
97#endif
98
106void debug_set_log_mode( int log_mode );
107
115void debug_set_threshold( int threshold );
116
117char *debug_fmt( const char *format, ... );
118
119void debug_print_msg( const ssl_context *ssl, int level,
120 const char *file, int line, const char *text );
121
122void debug_print_ret( const ssl_context *ssl, int level,
123 const char *file, int line,
124 const char *text, int ret );
125
126void 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)
131void 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)
137void 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)
143void 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 */
Configuration options (set of defines)
void debug_set_threshold(int threshold)
Set the level threshold to handle globally.
void debug_set_log_mode(int log_mode)
Set the log mode for the debug functions globally (Default value: POLARSSL_DEBUG_DFL_MODE)
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_msg(const ssl_context *ssl, int level, const char *file, int line, const char *text)
void debug_print_ecp(const ssl_context *ssl, int level, const char *file, int line, const char *text, const ecp_point *X)
char * debug_fmt(const char *format,...)
void debug_print_crt(const ssl_context *ssl, int level, const char *file, int line, const char *text, const x509_crt *crt)
void debug_print_mpi(const ssl_context *ssl, int level, const char *file, int line, const char *text, const mpi *X)
void debug_print_ret(const ssl_context *ssl, int level, const char *file, int line, const char *text, int ret)
Elliptic curves over GF(p)
SSL/TLS functions.
Container for an X.509 certificate.
Definition x509_crt.h:58
ECP point structure (jacobian coordinates)
Definition ecp.h:105
MPI structure.
Definition bignum.h:183