blob: 626bcf545cdf2ad46a753d2d922b34619b86947c [file] [log] [blame]
Harald Welte52b1f982008-12-23 20:25:15 +00001#ifndef _DEBUG_H
2#define _DEBUG_H
3
Harald Welte3633a6d2008-12-26 00:06:02 +00004#define DEBUG
5
Harald Welte52b1f982008-12-23 20:25:15 +00006#define DRLL 0x0001
7#define DCC 0x0002
8#define DMM 0x0004
9#define DRR 0x0008
Harald Welte3633a6d2008-12-26 00:06:02 +000010#define DRSL 0x0010
11#define DNM 0x0020
Harald Welteb480f412009-02-18 03:27:39 +000012
Harald Weltebcae43f2008-12-27 21:45:37 +000013#define DSMS 0x0100
Harald Welted35b6a72008-12-29 04:06:41 +000014#define DPAG 0x0200
Harald Welteb480f412009-02-18 03:27:39 +000015
Harald Welte3633a6d2008-12-26 00:06:02 +000016#define DMI 0x1000
Harald Weltea3d04382008-12-27 17:02:56 +000017#define DMIB 0x2000
Harald Welteb480f412009-02-18 03:27:39 +000018#define DMUX 0x4000
Harald Welteedb37782009-05-01 14:59:07 +000019#define DINP 0x8000
Harald Welte52b1f982008-12-23 20:25:15 +000020
21#ifdef DEBUG
Harald Welte6ddd1682009-02-06 12:38:29 +000022#define DEBUGP(ss, fmt, args...) debugp(ss, __FILE__, __LINE__, 0, fmt, ## args)
23#define DEBUGPC(ss, fmt, args...) debugp(ss, __FILE__, __LINE__, 1, fmt, ## args)
Harald Welte52b1f982008-12-23 20:25:15 +000024#else
Harald Weltead384642008-12-26 10:20:07 +000025#define DEBUGP(xss, fmt, args...)
Harald Welte6ddd1682009-02-06 12:38:29 +000026#define DEBUGPC(ss, fmt, args...)
Harald Welte52b1f982008-12-23 20:25:15 +000027#endif
28
Holger Freyther1ad732c2008-12-28 16:32:41 +000029#define static_assert(exp, name) typedef int dummy##name [(exp) ? 1 : -1];
30
Harald Welte3cc4bf52009-02-28 13:08:01 +000031char *hexdump(unsigned char *buf, int len);
Harald Welte6ddd1682009-02-06 12:38:29 +000032void debugp(unsigned int subsys, char *file, int line, int cont, const char *format, ...);
Holger Freyther5ee72ee2008-12-27 12:46:49 +000033void debug_parse_category_mask(const char* mask);
Holger Freytherb332f612008-12-27 12:46:51 +000034void debug_use_color(int use_color);
Harald Welteb0f47932008-12-30 14:59:01 +000035unsigned int debug_mask;
Harald Weltead384642008-12-26 10:20:07 +000036
Harald Welte52b1f982008-12-23 20:25:15 +000037#endif /* _DEBUG_H */