]> git.proxmox.com Git - mirror_edk2.git/blob - StdLib/Include/iso646.h
StdLib: Remove EfiSocketLib and Ip4Config Protocol dependency.
[mirror_edk2.git] / StdLib / Include / iso646.h
1 /** @file
2 Provides alternative "spellings" for several C operators.
3
4 The header <iso646.h> defines the following eleven macros (on the left) that expand
5 to the corresponding tokens (on the right).
6
7 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
8 This program and the accompanying materials are licensed and made available under
9 the terms and conditions of the BSD License that accompanies this distribution.
10 The full text of the license may be found at
11 http://opensource.org/licenses/bsd-license.
12
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 **/
16 #ifndef _ISO646_H
17 #define _ISO646_H
18 #include <sys/EfiCdefs.h>
19
20 #define and && ///< Logical AND of two boolean expressions
21 #define and_eq &= ///< Bitwise AND with assignment to lval
22 #define bitand & ///< Bitwise AND of two scalar expressions
23 #define bitor | ///< Bitwise OR of two scalar expressions
24 #define compl ~ ///< Binary complement
25 #define not ! ///< Logical complement of a boolean expression
26 #define not_eq != ///< Not-equal comparison
27 #define or || ///< Logical OR of two boolean expressions
28 #define or_eq |= ///< Bitwise OR with assignment to lval
29 #define xor ^ ///< Exclusive OR
30 #define xor_eq ^= ///< Exclusive OR with assignment to lval
31
32 #endif /* _ISO646_H */