X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Flogdebug.h;h=4e975fb951113f93219caee1889752c34a2dc440;hb=cb71a803fb168f500ad7c7dc36ad4bc9ba7c03a1;hp=80cb1c93f45570cd00cba262a0a933fdf0c4b70d;hpb=8c2139762f72576650cb5d07f5d9152b781e2643;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/logdebug.h b/KernelLand/Kernel/include/logdebug.h index 80cb1c93..4e975fb9 100644 --- a/KernelLand/Kernel/include/logdebug.h +++ b/KernelLand/Kernel/include/logdebug.h @@ -35,6 +35,7 @@ extern void Debug_KernelPanic(void); //!< Initiate a kernel panic extern void Panic(const char *Msg, ...); //!< Print a panic message (initiates a kernel panic) extern void Warning(const char *Msg, ...); //!< Print a warning message extern void LogF(const char *Fmt, ...); //!< Print a log message without a trailing newline +extern void LogFV(const char *Fmt, va_list Args); //!< va_list non-newline log message extern void Log(const char *Fmt, ...); //!< Print a log message extern void Debug(const char *Fmt, ...); //!< Print a debug message (doesn't go to KTerm) extern void LogV(const char *Fmt, va_list Args); //!< va_list Log message @@ -57,10 +58,17 @@ extern void Debug_HexDump(const char *Header, const void *Data, size_t Length); # define LEAVE_RET0() return #endif #if !DISABLE_ASSERTS -# define ASSERT(expr) do{if(!(expr))Panic("%s:%i - %s: Assertion '"#expr"' failed",__FILE__,__LINE__,(char*)__func__);}while(0) +# 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 ASSERT(expr) +# define ASSERTV(expr) +# define ASSERTRV(expr) #endif +#define assert(expr) ASSERTV(expr, "") +#define ASSERT(expr) ASSERTV(expr, "") +#define ASSERTR(expr,rv) ASSERTRV(expr, rv, "") +#define ASSERTC(l,rel,r) ASSERTV(l rel r, ": 0x%x"#rel"0x%x", l, r) +#define ASSERTCR(l,rel,r,rv) ASSERTRV(l rel r, rv, ": 0x%x"#rel"0x%x", l, r) /** * \} */