1224110Sjchandra/* stdbool.h for GNU. */ 2224110Sjchandra#ifndef __STDBOOL_H__ 3224110Sjchandra#define __STDBOOL_H__ 1 4224110Sjchandra 5224110Sjchandra#if defined(__BEOS__) || defined(__HAIKU__) 6224110Sjchandra #if __GNUC__ < 3 7224110Sjchandra typedef unsigned char _Bool; 8224110Sjchandra #endif 9224110Sjchandra 10224110Sjchandra #define bool _Bool 11224110Sjchandra #define false 0 12224110Sjchandra #define true 1 13224110Sjchandra#else 14224110Sjchandra 15224110Sjchandra/* The type `bool' must promote to `int' or `unsigned int'. The constants 16224110Sjchandra `true' and `false' must have the value 0 and 1 respectively. */ 17224110Sjchandratypedef enum 18224110Sjchandra { 19224110Sjchandra false = 0, 20224110Sjchandra true = 1 21224110Sjchandra } bool; 22224110Sjchandra 23224110Sjchandra/* The names `true' and `false' must also be made available as macros. */ 24224110Sjchandra#define false false 25224110Sjchandra#define true true 26224110Sjchandra 27224110Sjchandra#endif 28224110Sjchandra 29224110Sjchandra/* Signal that all the definitions are present. */ 30224110Sjchandra#define __bool_true_false_are_defined 1 31224110Sjchandra 32224110Sjchandra#endif /* stdbool.h */ 33224110Sjchandra