1 /* stdbool.h for GNU. */ 2 #ifndef __STDBOOL_H__ 3 #define __STDBOOL_H__ 1 4 5 #if defined(__BEOS__) || defined(__HAIKU__) 6 #if __GNUC__ < 3 7 typedef unsigned char _Bool; 8 #endif 9 10 #define bool _Bool 11 #define false 0 12 #define true 1 13 #else 14 15 /* The type `bool' must promote to `int' or `unsigned int'. The constants 16 `true' and `false' must have the value 0 and 1 respectively. */ 17 typedef enum 18 { 19 false = 0, 20 true = 1 21 } bool; 22 23 /* The names `true' and `false' must also be made available as macros. */ 24 #define false false 25 #define true true 26 27 #endif 28 29 /* Signal that all the definitions are present. */ 30 #define __bool_true_false_are_defined 1 31 32 #endif /* stdbool.h */ 33