/* $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_ */