"linux" is not a keyword in the C language. It's a preprocessor macro defined in the header files shipped with Linux systems -- that's quite, quite different.<p>It's there so you can guard platform-dependent code with #if linux -- that's why it's defined to a trivial non-zero value.<p>This kind of macro should really be named with underscores, like __linux__ but the bare linux constant has been there since the early days of Linux and they just can't remove it now.<p>For fun, here's a list of other OS-specific macros for platform detection:<p><a href="http://sourceforge.net/p/predef/wiki/OperatingSystems/" rel="nofollow">http://sourceforge.net/p/predef/wiki/OperatingSystems/</a>