michael@0: #ifndef QCMS_TYPES_H michael@0: #define QCMS_TYPES_H michael@0: michael@0: #if BYTE_ORDER == LITTLE_ENDIAN michael@0: #define IS_LITTLE_ENDIAN michael@0: #elif BYTE_ORDER == BIG_ENDIAN michael@0: #define IS_BIG_ENDIAN michael@0: #endif michael@0: michael@0: /* all of the platforms that we use _MSC_VER on are little endian michael@0: * so this is sufficient for now */ michael@0: #ifdef _MSC_VER michael@0: #define IS_LITTLE_ENDIAN michael@0: #endif michael@0: michael@0: #ifdef __OS2__ michael@0: #define IS_LITTLE_ENDIAN michael@0: #endif michael@0: michael@0: #if !defined(IS_LITTLE_ENDIAN) && !defined(IS_BIG_ENDIAN) michael@0: #error Unknown endianess michael@0: #endif michael@0: michael@0: #if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || defined (_sgi) || defined (__sun) || defined (sun) || defined (__digital__) michael@0: # include michael@0: #elif defined (_MSC_VER) && _MSC_VER < 1600 michael@0: typedef __int8 int8_t; michael@0: typedef unsigned __int8 uint8_t; michael@0: typedef __int16 int16_t; michael@0: typedef unsigned __int16 uint16_t; michael@0: typedef __int32 int32_t; michael@0: typedef unsigned __int32 uint32_t; michael@0: typedef __int64 int64_t; michael@0: typedef unsigned __int64 uint64_t; michael@0: #ifdef _WIN64 michael@0: typedef unsigned __int64 uintptr_t; michael@0: #else michael@0: typedef unsigned long uintptr_t; michael@0: #endif michael@0: michael@0: #elif defined (_AIX) michael@0: # include michael@0: #else michael@0: # include michael@0: #endif michael@0: michael@0: typedef qcms_bool bool; michael@0: #define true 1 michael@0: #define false 0 michael@0: michael@0: #endif