| /* $OpenBSD: stdbool.h,v 1.5 2010/07/24 22:17:03 guenther Exp $ */ |
| |
| /* |
| * Written by Marc Espie, September 25, 1999 |
| * Public domain. |
| */ |
| |
| #ifndef _STDBOOL_H_ |
| #define _STDBOOL_H_ |
| |
| #ifndef __cplusplus |
| |
| #ifndef __GNUC__ |
| /* Support for _C99: type _Bool is already built-in. */ |
| /* `_Bool' type must promote to `int' or `unsigned int'. */ |
| typedef enum { |
| false = 0, |
| true = 1 |
| } _Bool; |
| |
| /* And those constants must also be available as macros. */ |
| # define false false |
| # define true true |
| #else /* __GNUC__ */ |
| # define false 0 |
| # define true 1 |
| #endif |
| |
| /* User visible type `bool' is provided as a macro which may be redefined */ |
| #define bool _Bool |
| |
| #else /* __cplusplus */ |
| |
| # define _Bool bool |
| # define bool bool |
| # define false false |
| # define true true |
| |
| #endif |
| |
| /* Inform that everything is fine */ |
| #define __bool_true_false_are_defined 1 |
| |
| #endif /* _STDBOOL_H_ */ |