| Index: third_party/qcms/qcmstypes.h | 
| diff --git a/third_party/qcms/qcmstypes.h b/third_party/qcms/qcmstypes.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..56d8de3d15e8b61629a49a64c5ad9c8374a095cc | 
| --- /dev/null | 
| +++ b/third_party/qcms/qcmstypes.h | 
| @@ -0,0 +1,105 @@ | 
| +//  qcms | 
| +//  Copyright (C) 2009 Mozilla Foundation | 
| +// | 
| +// Permission is hereby granted, free of charge, to any person obtaining | 
| +// a copy of this software and associated documentation files (the "Software"), | 
| +// to deal in the Software without restriction, including without limitation | 
| +// the rights to use, copy, modify, merge, publish, distribute, sublicense, | 
| +// and/or sell copies of the Software, and to permit persons to whom the Software | 
| +// is furnished to do so, subject to the following conditions: | 
| +// | 
| +// The above copyright notice and this permission notice shall be included in | 
| +// all copies or substantial portions of the Software. | 
| +// | 
| +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | 
| +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO | 
| +// THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | 
| +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | 
| +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | 
| +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 
| +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 
| + | 
| +#ifndef QCMS_TYPES_H | 
| +#define QCMS_TYPES_H | 
| + | 
| +#ifdef MOZ_QCMS | 
| + | 
| +#include "prtypes.h" | 
| + | 
| +/* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */ | 
| + | 
| +#if defined (__SVR4) && defined (__sun) | 
| +/* int_types.h gets included somehow, so avoid redefining the types differently */ | 
| +#include <sys/int_types.h> | 
| +#elif defined (_AIX) | 
| +#include <sys/types.h> | 
| +#elif !defined(ANDROID) && !defined(__OpenBSD__) | 
| +typedef PRInt8 int8_t; | 
| +typedef PRUint8 uint8_t; | 
| +typedef PRInt16 int16_t; | 
| +typedef PRUint16 uint16_t; | 
| +typedef PRInt32 int32_t; | 
| +typedef PRUint32 uint32_t; | 
| +typedef PRInt64 int64_t; | 
| +typedef PRUint64 uint64_t; | 
| + | 
| +#ifdef __OS2__ | 
| +/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */ | 
| +#include <stdlib.h> | 
| +#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED) | 
| +typedef PRUptrdiff uintptr_t; | 
| +#endif | 
| +#endif | 
| + | 
| +#else // MOZ_QCMS | 
| + | 
| +#if BYTE_ORDER == LITTLE_ENDIAN | 
| +#define IS_LITTLE_ENDIAN | 
| +#elif BYTE_ORDER == BIG_ENDIAN | 
| +#define IS_BIG_ENDIAN | 
| +#endif | 
| + | 
| +/* all of the platforms that we use _MSC_VER on are little endian | 
| + * so this is sufficient for now */ | 
| +#ifdef _MSC_VER | 
| +#define IS_LITTLE_ENDIAN | 
| +#endif | 
| + | 
| +#ifdef __OS2__ | 
| +#define IS_LITTLE_ENDIAN | 
| +#endif | 
| + | 
| +#if !defined(IS_LITTLE_ENDIAN) && !defined(IS_BIG_ENDIAN) | 
| +#error Unknown endianess | 
| +#endif | 
| + | 
| +#if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || defined (_sgi) || defined (__sun) || defined (sun) || defined (__digital__) | 
| +#  include <inttypes.h> | 
| +#elif defined (_MSC_VER) | 
| +typedef __int8 int8_t; | 
| +typedef unsigned __int8 uint8_t; | 
| +typedef __int16 int16_t; | 
| +typedef unsigned __int16 uint16_t; | 
| +typedef __int32 int32_t; | 
| +typedef unsigned __int32 uint32_t; | 
| +typedef __int64 int64_t; | 
| +typedef unsigned __int64 uint64_t; | 
| +#ifdef _WIN64 | 
| +typedef unsigned __int64 uintptr_t; | 
| +#else | 
| +typedef unsigned long uintptr_t; | 
| +#endif | 
| + | 
| +#elif defined (_AIX) | 
| +#  include <sys/inttypes.h> | 
| +#else | 
| +#  include <stdint.h> | 
| +#endif | 
| + | 
| +#endif | 
| + | 
| +typedef qcms_bool bool; | 
| +#define true 1 | 
| +#define false 0 | 
| + | 
| +#endif | 
|  |