| 1 | /******************************************************************** |
| 2 | * * |
| 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * |
| 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * |
| 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * |
| 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * |
| 7 | * * |
| 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 * |
| 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * |
| 10 | * * |
| 11 | ******************************************************************** |
| 12 | |
| 13 | function: Define a consistent set of types on each platform. |
| 14 | |
| 15 | ********************************************************************/ |
| 16 | #ifndef _OS_TYPES_H |
| 17 | #define _OS_TYPES_H |
| 18 | |
| 19 | /* make it easy on the folks that want to compile the libs with a |
| 20 | different malloc than stdlib */ |
| 21 | #define _ogg_malloc malloc |
| 22 | #define _ogg_calloc calloc |
| 23 | #define _ogg_realloc realloc |
| 24 | #define _ogg_free free |
| 25 | |
| 26 | #if defined(_WIN32) |
| 27 | |
| 28 | # if defined(__CYGWIN__) |
| 29 | # include <stdint.h> |
| 30 | typedef int16_t ogg_int16_t; |
| 31 | typedef uint16_t ogg_uint16_t; |
| 32 | typedef int32_t ogg_int32_t; |
| 33 | typedef uint32_t ogg_uint32_t; |
| 34 | typedef int64_t ogg_int64_t; |
| 35 | typedef uint64_t ogg_uint64_t; |
| 36 | # elif defined(__MINGW32__) |
| 37 | # include <sys/types.h> |
| 38 | typedef short ogg_int16_t; |
| 39 | typedef unsigned short ogg_uint16_t; |
| 40 | typedef int ogg_int32_t; |
| 41 | typedef unsigned int ogg_uint32_t; |
| 42 | typedef long long ogg_int64_t; |
| 43 | typedef unsigned long long ogg_uint64_t; |
| 44 | # elif defined(__MWERKS__) |
| 45 | typedef long long ogg_int64_t; |
| 46 | typedef unsigned long long ogg_uint64_t; |
| 47 | typedef int ogg_int32_t; |
| 48 | typedef unsigned int ogg_uint32_t; |
| 49 | typedef short ogg_int16_t; |
| 50 | typedef unsigned short ogg_uint16_t; |
| 51 | # else |
| 52 | # if defined(_MSC_VER) && (_MSC_VER >= 1800) /* MSVC 2013 and newer */ |
| 53 | # include <stdint.h> |
| 54 | typedef int16_t ogg_int16_t; |
| 55 | typedef uint16_t ogg_uint16_t; |
| 56 | typedef int32_t ogg_int32_t; |
| 57 | typedef uint32_t ogg_uint32_t; |
| 58 | typedef int64_t ogg_int64_t; |
| 59 | typedef uint64_t ogg_uint64_t; |
| 60 | # else |
| 61 | /* MSVC/Borland */ |
| 62 | typedef __int64 ogg_int64_t; |
| 63 | typedef __int32 ogg_int32_t; |
| 64 | typedef unsigned __int32 ogg_uint32_t; |
| 65 | typedef unsigned __int64 ogg_uint64_t; |
| 66 | typedef __int16 ogg_int16_t; |
| 67 | typedef unsigned __int16 ogg_uint16_t; |
| 68 | # endif |
| 69 | # endif |
| 70 | |
| 71 | #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ |
| 72 | |
| 73 | # include <sys/types.h> |
| 74 | typedef int16_t ogg_int16_t; |
| 75 | typedef u_int16_t ogg_uint16_t; |
| 76 | typedef int32_t ogg_int32_t; |
| 77 | typedef u_int32_t ogg_uint32_t; |
| 78 | typedef int64_t ogg_int64_t; |
| 79 | typedef u_int64_t ogg_uint64_t; |
| 80 | |
| 81 | #elif defined(__HAIKU__) |
| 82 | |
| 83 | /* Haiku */ |
| 84 | # include <sys/types.h> |
| 85 | typedef short ogg_int16_t; |
| 86 | typedef unsigned short ogg_uint16_t; |
| 87 | typedef int ogg_int32_t; |
| 88 | typedef unsigned int ogg_uint32_t; |
| 89 | typedef long long ogg_int64_t; |
| 90 | typedef unsigned long long ogg_uint64_t; |
| 91 | |
| 92 | #elif defined(__BEOS__) |
| 93 | |
| 94 | /* Be */ |
| 95 | # include <inttypes.h> |
| 96 | typedef int16_t ogg_int16_t; |
| 97 | typedef uint16_t ogg_uint16_t; |
| 98 | typedef int32_t ogg_int32_t; |
| 99 | typedef uint32_t ogg_uint32_t; |
| 100 | typedef int64_t ogg_int64_t; |
| 101 | typedef uint64_t ogg_uint64_t; |
| 102 | |
| 103 | #elif defined (__EMX__) |
| 104 | |
| 105 | /* OS/2 GCC */ |
| 106 | typedef short ogg_int16_t; |
| 107 | typedef unsigned short ogg_uint16_t; |
| 108 | typedef int ogg_int32_t; |
| 109 | typedef unsigned int ogg_uint32_t; |
| 110 | typedef long long ogg_int64_t; |
| 111 | typedef unsigned long long ogg_uint64_t; |
| 112 | |
| 113 | |
| 114 | #elif defined (DJGPP) |
| 115 | |
| 116 | /* DJGPP */ |
| 117 | typedef short ogg_int16_t; |
| 118 | typedef int ogg_int32_t; |
| 119 | typedef unsigned int ogg_uint32_t; |
| 120 | typedef long long ogg_int64_t; |
| 121 | typedef unsigned long long ogg_uint64_t; |
| 122 | |
| 123 | #elif defined(R5900) |
| 124 | |
| 125 | /* PS2 EE */ |
| 126 | typedef long ogg_int64_t; |
| 127 | typedef unsigned long ogg_uint64_t; |
| 128 | typedef int ogg_int32_t; |
| 129 | typedef unsigned ogg_uint32_t; |
| 130 | typedef short ogg_int16_t; |
| 131 | |
| 132 | #elif defined(__SYMBIAN32__) |
| 133 | |
| 134 | /* Symbian GCC */ |
| 135 | typedef signed short ogg_int16_t; |
| 136 | typedef unsigned short ogg_uint16_t; |
| 137 | typedef signed int ogg_int32_t; |
| 138 | typedef unsigned int ogg_uint32_t; |
| 139 | typedef long long int ogg_int64_t; |
| 140 | typedef unsigned long long int ogg_uint64_t; |
| 141 | |
| 142 | #elif defined(__TMS320C6X__) |
| 143 | |
| 144 | /* TI C64x compiler */ |
| 145 | typedef signed short ogg_int16_t; |
| 146 | typedef unsigned short ogg_uint16_t; |
| 147 | typedef signed int ogg_int32_t; |
| 148 | typedef unsigned int ogg_uint32_t; |
| 149 | typedef long long int ogg_int64_t; |
| 150 | typedef unsigned long long int ogg_uint64_t; |
| 151 | |
| 152 | #else |
| 153 | |
| 154 | # include <ogg/config_types.h> |
| 155 | |
| 156 | #endif |
| 157 | |
| 158 | #endif /* _OS_TYPES_H */ |
| 159 | |