FreeCalypso > hg > fc-magnetite
diff src/gpf2/inc/alert.h @ 1:864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 23:38:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gpf2/inc/alert.h Sun Sep 25 23:38:58 2016 +0000 @@ -0,0 +1,53 @@ +/* ++------------------------------------------------------------------------------ +| File: alert.h ++------------------------------------------------------------------------------ +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : definitions for the ALERT macro. ++----------------------------------------------------------------------------- +*/ + +#ifndef ALERT_H +#define ALERT_H + +#undef ALERT +#undef E_ALERT + +#ifndef ALERT_OFF + #include "typedefs.h" + #include "vsi.h" + + extern BOOL _Alert(char *, T_HANDLE, ULONG); + extern BOOL alert_info(char *, ...); + #define NO_ALERT_INFO alert_info("") + + #define _STR(x) _VAL(x) + #define _VAL(x) #x + /* + * The && FALSE in the end is just to notify the reader that + * FALSE is always returned if the predicate evaluates to false. + */ + #define ALERT(expression, alertclass, function) ((expression) ? ((void) 0) : \ + (void) (_Alert(__FILE__ "(" _STR(__LINE__) ") \"" #expression "\"", VSI_CALLER TC_ALERT_##alertclass) && (function))) + + #define E_ALERT(expression, alertclass, function) ((expression) ? (TRUE) : \ + (BOOL) (_Alert(__FILE__ "(" _STR(__LINE__) ") \"" #expression "\"", VSI_CALLER TC_ALERT_##alertclass) && (function) && FALSE)) + +#else /* ALERT_OFF */ + #define NO_ALERT_INFO (0) + #define ALERT(expression, alertclass, function) ((void) 0) + #define E_ALERT(expression, alertclass, function) (expression) +#endif /* ALERT_OFF */ + +#endif /* ALERT_H */ +