Home | History | Annotate | Download | only in Include
      1 /** @file
      2   Macros to simplify boolean expressions and operations.
      3 
      4   This header is not specified by the C95 standard but is included here for
      5   operational convenience.
      6 
      7   The macro bool expands to _Bool, as required by the C99 specification.
      8   This subsequently expands to BOOLEAN, is a UEFI data type which is automatically
      9   defined correctly for the target CPU architecture.
     10 
     11   The remaining three macros are suitable for use in #if preprocessing
     12   directives. They are true, which expands to the integer constant 1,
     13   false, which expands to the integer constant 0, and
     14   __bool_true_false_are_defined which expands to the integer constant 1.
     15 
     16   A program may undefine and perhaps then redefine the
     17   macros bool, true, and false.
     18 
     19   Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
     20   This program and the accompanying materials are licensed and made available under
     21   the terms and conditions of the BSD License that accompanies this distribution.
     22   The full text of the license may be found at
     23   http://opensource.org/licenses/bsd-license.
     24 
     25   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     26   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     27 **/
     28 #ifndef _STDBOOL_H
     29 #define _STDBOOL_H
     30 #include  <sys/EfiCdefs.h>
     31 
     32 #define bool    _Bool
     33 #define true        1
     34 #define false       0
     35 #define __bool_true_false_are_defined 1
     36 
     37 #endif    /* _STDBOOL_H */
     38