blob: 32088665c4a7ab2a0cecade80cf17ec03db96b52 [file] [log] [blame]
/** @file
Macros to simplify boolean expressions and operations.
This header is not specified by the C95 standard but is included here for
operational convenience.
The macro bool expands to _Bool, as required by the C99 specification.
This subsequently expands to BOOLEAN, is a UEFI data type which is automatically
defined correctly for the target CPU architecture.
The remaining three macros are suitable for use in #if preprocessing
directives. They are true, which expands to the integer constant 1,
false, which expands to the integer constant 0, and
__bool_true_false_are_defined which expands to the integer constant 1.
A program may undefine and perhaps then redefine the
macros bool, true, and false.
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _STDBOOL_H
#define _STDBOOL_H
#include <sys/EfiCdefs.h>
#define bool _Bool
#define true 1
#define false 0
#define __bool_true_false_are_defined 1
#endif /* _STDBOOL_H */