Tools/NetTest - Add TCP retransmit test
[tpg/acess2.git] / Tools / DiskTool / include / acess_logging.h
1
2 #ifndef _DISKTOOL__ACESS_LOGGING_H_
3 #define _DISKTOOL__ACESS_LOGGING_H_
4
5 #if DEBUG
6 # define ENTER(str, v...)       Debug_TraceEnter(__func__, str, ##v)
7 # define LOG(fmt, v...)         Debug_TraceLog(__func__, fmt, ##v)
8 # define LEAVE(t, v...)         Debug_TraceLeave(__func__, t, ##v)
9 # define LEAVE_RET(t,v) do{LEAVE('-');return v;}while(0)
10 #else
11 # define ENTER(...)     do{}while(0)
12 # define LOG(...)       do{}while(0)
13 # define LEAVE(...)     do{}while(0)
14 # define LEAVE_RET(t,v) return v;
15 #endif
16
17 extern void     Log_KernelPanic(const char *Ident, const char *Message, ...) __attribute__((noreturn));
18 extern void     Log_Panic(const char *Ident, const char *Message, ...);
19 extern void     Log_Error(const char *Ident, const char *Message, ...);
20 extern void     Log_Warning(const char *Ident, const char *Message, ...);
21 extern void     Log_Notice(const char *Ident, const char *Message, ...);
22 extern void     Log_Log(const char *Ident, const char *Message, ...);
23 extern void     Log_Debug(const char *Ident, const char *Message, ...);
24
25 extern void     Panic(const char *Msg, ...);
26 extern void     Warning(const char *Message, ...);
27 extern void     Log(const char *Message, ...);
28 extern void     Debug_HexDump(const char *Prefix, const void *Data, size_t Length);
29
30 extern void     Debug_TraceEnter(const char *Function, const char *Format, ...);
31 extern void     Debug_TraceLog(const char *Function, const char *Format, ...);
32 extern void     Debug_TraceLeave(const char *Function, char Type, ...);
33
34
35 #if !DISABLE_ASSERTS
36 # define ASSERTV(expr,msg,args...) do{if(!(expr))Panic("%s:%i - %s: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__,##args);}while(0)
37 # define ASSERTRV(expr,rv,msg,args...)  do{if(!(expr)){Warning("%s:%i: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__ , ##args);return rv;}}while(0)
38 #else
39 # define ASSERTV(expr)
40 # define ASSERTRV(expr)
41 #endif
42 #define ASSERT(expr)    ASSERTV(expr, "")
43 #define ASSERTR(expr,rv)        ASSERTRV(expr, rv, "")
44 #define ASSERTC(l,rel,r)        ASSERTV(l rel r, ": %i"#rel"%i", l, r)
45 #define ASSERTCR(l,rel,r,rv)    ASSERTRV(l rel r, rv, ": %i"#rel"%i", l, r)
46
47 #endif
48

UCC git Repository :: git.ucc.asn.au