Tools/NetTest - Add TCP retransmit test
[tpg/acess2.git] / Tools / DiskTool / include / acess_logging.h
index f8577dd..01d51e3 100644 (file)
@@ -22,6 +22,7 @@ extern void   Log_Notice(const char *Ident, const char *Message, ...);
 extern void    Log_Log(const char *Ident, const char *Message, ...);
 extern void    Log_Debug(const char *Ident, const char *Message, ...);
 
+extern void    Panic(const char *Msg, ...);
 extern void    Warning(const char *Message, ...);
 extern void    Log(const char *Message, ...);
 extern void    Debug_HexDump(const char *Prefix, const void *Data, size_t Length);
@@ -30,5 +31,18 @@ extern void  Debug_TraceEnter(const char *Function, const char *Format, ...);
 extern void    Debug_TraceLog(const char *Function, const char *Format, ...);
 extern void    Debug_TraceLeave(const char *Function, char Type, ...);
 
+
+#if !DISABLE_ASSERTS
+# define ASSERTV(expr,msg,args...) do{if(!(expr))Panic("%s:%i - %s: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__,##args);}while(0)
+# 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)
+#else
+# define ASSERTV(expr)
+# define ASSERTRV(expr)
+#endif
+#define ASSERT(expr)   ASSERTV(expr, "")
+#define ASSERTR(expr,rv)       ASSERTRV(expr, rv, "")
+#define ASSERTC(l,rel,r)       ASSERTV(l rel r, ": %i"#rel"%i", l, r)
+#define ASSERTCR(l,rel,r,rv)   ASSERTRV(l rel r, rv, ": %i"#rel"%i", l, r)
+
 #endif
 

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