1*59cc4ca5SDavid du Colombier /* 2*59cc4ca5SDavid du Colombier * THIS FILE IS NOT IDENTICAL TO THE ORIGINAL 3*59cc4ca5SDavid du Colombier * FROM THE BZIP2 DISTRIBUTION. 4*59cc4ca5SDavid du Colombier * 5*59cc4ca5SDavid du Colombier * It has been modified, mainly to break the library 6*59cc4ca5SDavid du Colombier * into smaller pieces. 7*59cc4ca5SDavid du Colombier * 8*59cc4ca5SDavid du Colombier * Russ Cox 9*59cc4ca5SDavid du Colombier * rsc@plan9.bell-labs.com 10*59cc4ca5SDavid du Colombier * July 2000 11*59cc4ca5SDavid du Colombier */ 12*59cc4ca5SDavid du Colombier 13*59cc4ca5SDavid du Colombier /*---------------------------------------------*/ 14*59cc4ca5SDavid du Colombier /*-- 15*59cc4ca5SDavid du Colombier Place a 1 beside your platform, and 0 elsewhere. 16*59cc4ca5SDavid du Colombier Attempts to autosniff this even if you don't. 17*59cc4ca5SDavid du Colombier --*/ 18*59cc4ca5SDavid du Colombier 19*59cc4ca5SDavid du Colombier 20*59cc4ca5SDavid du Colombier /*-- 21*59cc4ca5SDavid du Colombier Generic 32-bit Unix. 22*59cc4ca5SDavid du Colombier Also works on 64-bit Unix boxes. 23*59cc4ca5SDavid du Colombier --*/ 24*59cc4ca5SDavid du Colombier #define BZ_UNIX 1 25*59cc4ca5SDavid du Colombier 26*59cc4ca5SDavid du Colombier /*-- 27*59cc4ca5SDavid du Colombier Win32, as seen by Jacob Navia's excellent 28*59cc4ca5SDavid du Colombier port of (Chris Fraser & David Hanson)'s excellent 29*59cc4ca5SDavid du Colombier lcc compiler. 30*59cc4ca5SDavid du Colombier --*/ 31*59cc4ca5SDavid du Colombier #define BZ_LCCWIN32 0 32*59cc4ca5SDavid du Colombier 33*59cc4ca5SDavid du Colombier #if defined(_WIN32) && !defined(__CYGWIN__) 34*59cc4ca5SDavid du Colombier #undef BZ_LCCWIN32 35*59cc4ca5SDavid du Colombier #define BZ_LCCWIN32 1 36*59cc4ca5SDavid du Colombier #undef BZ_UNIX 37*59cc4ca5SDavid du Colombier #define BZ_UNIX 0 38*59cc4ca5SDavid du Colombier #endif 39*59cc4ca5SDavid du Colombier 40*59cc4ca5SDavid du Colombier /*-- 41*59cc4ca5SDavid du Colombier Plan 9 from Bell Labs 42*59cc4ca5SDavid du Colombier --*/ 43*59cc4ca5SDavid du Colombier #define BZ_PLAN9 0 44*59cc4ca5SDavid du Colombier 45*59cc4ca5SDavid du Colombier #if defined(PLAN9) 46*59cc4ca5SDavid du Colombier #undef BZ_UNIX 47*59cc4ca5SDavid du Colombier #define BZ_UNIX 0 48*59cc4ca5SDavid du Colombier #undef BZ_PLAN9 49*59cc4ca5SDavid du Colombier #define BZ_PLAN9 1 50*59cc4ca5SDavid du Colombier #endif 51*59cc4ca5SDavid du Colombier 52*59cc4ca5SDavid du Colombier #if BZ_UNIX 53*59cc4ca5SDavid du Colombier # include "unix.h" 54*59cc4ca5SDavid du Colombier #elif BZ_LCCWIN32 55*59cc4ca5SDavid du Colombier # include "lccwin32.h" 56*59cc4ca5SDavid du Colombier #elif BZ_PLAN9 57*59cc4ca5SDavid du Colombier # include "plan9.h" 58*59cc4ca5SDavid du Colombier #endif 59*59cc4ca5SDavid du Colombier 60*59cc4ca5SDavid du Colombier #ifdef __GNUC__ 61*59cc4ca5SDavid du Colombier # define NORETURN __attribute__ ((noreturn)) 62*59cc4ca5SDavid du Colombier #else 63*59cc4ca5SDavid du Colombier # define NORETURN /**/ 64*59cc4ca5SDavid du Colombier #endif 65*59cc4ca5SDavid du Colombier 66*59cc4ca5SDavid du Colombier /*-- 67*59cc4ca5SDavid du Colombier Some more stuff for all platforms :-) 68*59cc4ca5SDavid du Colombier This might have to get moved into the platform-specific 69*59cc4ca5SDavid du Colombier header files if we encounter a machine with different sizes. 70*59cc4ca5SDavid du Colombier --*/ 71*59cc4ca5SDavid du Colombier 72*59cc4ca5SDavid du Colombier typedef char Char; 73*59cc4ca5SDavid du Colombier typedef unsigned char Bool; 74*59cc4ca5SDavid du Colombier typedef unsigned char UChar; 75*59cc4ca5SDavid du Colombier typedef int Int32; 76*59cc4ca5SDavid du Colombier typedef unsigned int UInt32; 77*59cc4ca5SDavid du Colombier typedef short Int16; 78*59cc4ca5SDavid du Colombier typedef unsigned short UInt16; 79*59cc4ca5SDavid du Colombier 80*59cc4ca5SDavid du Colombier #define True ((Bool)1) 81*59cc4ca5SDavid du Colombier #define False ((Bool)0) 82*59cc4ca5SDavid du Colombier 83*59cc4ca5SDavid du Colombier /*-- 84*59cc4ca5SDavid du Colombier IntNative is your platform's `native' int size. 85*59cc4ca5SDavid du Colombier Only here to avoid probs with 64-bit platforms. 86*59cc4ca5SDavid du Colombier --*/ 87*59cc4ca5SDavid du Colombier typedef int IntNative; 88*59cc4ca5SDavid du Colombier 89