view src/gpf2/inc/alert.h @ 700:800bf29abf31

audio mode load change from Tourmaline Our FreeCalypso universe now has two kinds of audio mode config files: the old 164 byte kind and the new 176 byte kind. We are not enabling L1_NEW_AEC in Magnetite, only in Tourmaline, thus 164 byte audio mode files are still native to Magnetite. But we still desire graceful handling of the situation when a running Magnetite fw may load a 176 byte audio mode file (presumably with new AEC config), thus we incorporate the same audio mode loading change which we implemented in Tourmaline: if the loaded audio mode file is of the wrong kind, the AEC config is cleared to default disabled state.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 03:55:52 +0000
parents 864b8cc0cf63
children
line wrap: on
line source

/* 
+------------------------------------------------------------------------------
|  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 */