00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00024 #ifndef __DEBUG_H_
00025 #define __DEBUG_H_
00026
00027 #ifdef HAVE_CONFIG_H
00028 #include <config.h>
00029 #endif
00030
00031 #ifndef DEBUG
00032
00033 #warning "Debugging is completely disabled!"
00034 #define DBG
00035 #define DBG1
00036 #define DBG2
00037 #define DBG3
00038 #define DBG4
00039 #define DBG5
00040 #define set_debug_level(l, ...) {}
00041 #define debug(l, ...) {}
00042
00043 #else
00044
00045
00046
00047
00048
00049 #define DBG(f) debug_print(1, __FILE__, __LINE__, f )
00050 #define DBG1(f,a) debug_print(1, __FILE__, __LINE__, f , a )
00051 #define DBG2(f,a,b) debug_print(1, __FILE__, __LINE__, f , a , b )
00052 #define DBG3(f,a,b,c) debug_print(1, __FILE__, __LINE__, f , a , b , c )
00053 #define DBG4(f,a,b,c,d) debug_print(1, __FILE__, __LINE__, f , a , b , c , d )
00054 #define DBG5(f,a,b,c,d,e) debug_print(1, __FILE__, __LINE__, f , a , b , c , d , e )
00055
00056 #ifndef __DEBUG_C_
00057 #define DEBUG_EXTERN extern
00058 #else
00059 #define DEBUG_EXTERN
00060 #endif
00061
00066 DEBUG_EXTERN void set_debug_level(int level);
00067
00072 DEBUG_EXTERN int get_debug_level(void);
00073
00086 DEBUG_EXTERN void debug_print(int level, char *file, int line, char *format, ...);
00087
00088 #undef DEBUG_EXTERN
00089
00090 #endif
00091
00092 #endif