Stock ROM of course does this in merc.h:
typedef int bool;
A char works just as well.
typedef char bool;
This is valid also:
typedef enum {FALSE = 0, TRUE = 1} bool;
Enumerated values are just stored as integers, though, and all the name
replacement happens in the compiler.. so this is effectively the same as the
first two, assuming FALSE and TRUE are defined.
At any rate, booleans are (like every data type) just a form of integer.
And C treats all integer types the same, so you can pretty much make it
whatever you want.
--Palrich.