1#ifndef __AF_DEBUG_H__
2#define __AF_DEBUG_H__
3extern int af_log_lvl;
4extern int af_test_mode;
5extern int af_work_mode;
6extern unsigned int af_lan_ip;
7extern unsigned int af_lan_mask;
8#define LOG(level, fmt, ...) do { \
9    if ((level) <= af_log_lvl) { \
10        printk(fmt, ##__VA_ARGS__); \
11    } \
12} while (0)
13
14#define LLOG(level, fmt, ...) do { \
15	if ((level) <= af_log_lvl) { \
16		pr_info_ratelimited(fmt, ##__VA_ARGS__); \
17	} \
18} while (0)
19
20
21#define AF_ERROR(...)			LOG(0, ##__VA_ARGS__)
22#define AF_WARN(...)         	LOG(1, ##__VA_ARGS__)
23#define AF_INFO(...)         	LOG(2, ##__VA_ARGS__)
24#define AF_DEBUG(...)       	LOG(3, ##__VA_ARGS__)
25
26#define AF_LMT_ERROR(...)      	LLOG(0, ##__VA_ARGS__)
27#define AF_LMT_WARN(...)       	LLOG(1, ##__VA_ARGS__)
28#define AF_LMT_INFO(...)       	LLOG(2, ##__VA_ARGS__)
29#define AF_LMT_DEBUG(...)     	LLOG(3, ##__VA_ARGS__)
30
31
32#define TEST_MODE() (af_test_mode)
33int af_log_init(void);
34int af_log_exit(void);
35#endif
36