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