| /* |
| * THIS FILE IS NOT IDENTICAL TO THE ORIGINAL |
| * FROM THE BZIP2 DISTRIBUTION. |
| * |
| * It has been modified, mainly to break the library |
| * into smaller pieces. |
| * |
| * Russ Cox |
| * rsc@plan9.bell-labs.com |
| * July 2000 |
| */ |
| |
| /*---------------------------------------------*/ |
| /*-- |
| Place a 1 beside your platform, and 0 elsewhere. |
| Attempts to autosniff this even if you don't. |
| --*/ |
| |
| |
| /*-- |
| Generic 32-bit Unix. |
| Also works on 64-bit Unix boxes. |
| --*/ |
| #define BZ_UNIX 1 |
| |
| /*-- |
| Win32, as seen by Jacob Navia's excellent |
| port of (Chris Fraser & David Hanson)'s excellent |
| lcc compiler. |
| --*/ |
| #define BZ_LCCWIN32 0 |
| |
| #if defined(_WIN32) && !defined(__CYGWIN__) |
| #undef BZ_LCCWIN32 |
| #define BZ_LCCWIN32 1 |
| #undef BZ_UNIX |
| #define BZ_UNIX 0 |
| #endif |
| |
| /*-- |
| Plan 9 from Bell Labs |
| --*/ |
| #define BZ_PLAN9 0 |
| |
| #if defined(PLAN9) |
| #undef BZ_UNIX |
| #define BZ_UNIX 0 |
| #undef BZ_PLAN9 |
| #define BZ_PLAN9 1 |
| #endif |
| |
| #if BZ_UNIX |
| # include "unix.h" |
| #elif BZ_LCCWIN32 |
| # include "lccwin32.h" |
| #elif BZ_PLAN9 |
| # include "plan9.h" |
| #endif |
| |
| #ifdef __GNUC__ |
| # define NORETURN __attribute__ ((noreturn)) |
| #else |
| # define NORETURN /**/ |
| #endif |
| |
| /*-- |
| Some more stuff for all platforms :-) |
| This might have to get moved into the platform-specific |
| header files if we encounter a machine with different sizes. |
| --*/ |
| |
| typedef char Char; |
| typedef unsigned char Bool; |
| typedef unsigned char UChar; |
| typedef int Int32; |
| typedef unsigned int UInt32; |
| typedef short Int16; |
| typedef unsigned short UInt16; |
| |
| #define True ((Bool)1) |
| #define False ((Bool)0) |
| |
| /*-- |
| IntNative is your platform's `native' int size. |
| Only here to avoid probs with 64-bit platforms. |
| --*/ |
| typedef int IntNative; |
| |