diff src/gpf/inc/alert.h @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gpf/inc/alert.h	Fri Oct 16 06:23:26 2020 +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 */
+