X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=include%2Fs_debug.h;fp=include%2Fs_debug.h;h=5bdf57e8109641d0f952661edbbd57b5f76a98cc;hp=0000000000000000000000000000000000000000;hb=0400a5a6479398d82526785c18c0df8bc8b92dce;hpb=d17e10da972ce5776c60b4c317267c6abe0e1ead diff --git a/include/s_debug.h b/include/s_debug.h new file mode 100644 index 0000000..5bdf57e --- /dev/null +++ b/include/s_debug.h @@ -0,0 +1,68 @@ +/* @file s_debug.h + * @brief Debug APIs for the ircd. + * @version $Id$ + */ +#ifndef INCLUDED_s_debug_h +#define INCLUDED_s_debug_h +#ifndef INCLUDED_config_h +#include "config.h" /* Needed for DEBUGMODE */ +#endif +#ifndef INCLUDED_ircd_defs_h +#include "ircd_defs.h" /* Needed for HOSTLEN */ +#endif +#ifndef INCLUDED_stdarg_h +#include +#define INCLUDED_stdarg_h +#endif + +struct Client; +struct StatDesc; + +#ifdef DEBUGMODE + +/* + * Macro's + */ + +/** If DEBUGMODE is defined, output the debug message. + * @param x A two-or-more element list containing level, format and arguments. + */ +#define Debug(x) debug x +#define LOGFILE LPATH /**< Path to debug log file. */ + +/* + * defined debugging levels + */ +#define DEBUG_FATAL 0 /**< fatal error */ +#define DEBUG_ERROR 1 /**< report_error() and other errors that are found */ +#define DEBUG_NOTICE 3 /**< somewhat useful, but non-critical, messages */ +#define DEBUG_DNS 4 /**< used by all DNS related routines - a *lot* */ +#define DEBUG_INFO 5 /**< general useful info */ +#define DEBUG_SEND 7 /**< everything that is sent out */ +#define DEBUG_DEBUG 8 /**< everything that is received */ +#define DEBUG_MALLOC 9 /**< malloc/free calls */ +#define DEBUG_LIST 10 /**< debug list use */ +#define DEBUG_ENGINE 11 /**< debug event engine; can dump gigabyte logs */ + +/* + * proto types + */ + +extern void vdebug(int level, const char *form, va_list vl); +extern void debug(int level, const char *form, ...); +extern void send_usage(struct Client *cptr, const struct StatDesc *sd, + char *param); + +#else /* !DEBUGMODE */ + +#define Debug(x) +#define LOGFILE "/dev/null" + +#endif /* !DEBUGMODE */ + +extern const char* debug_serveropts(void); +extern void debug_init(int use_tty); +extern void count_memory(struct Client *cptr, const struct StatDesc *sd, + char *param); + +#endif /* INCLUDED_s_debug_h */