1 /******************************************************************** 2 * * 3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 * * 5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 * * 9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 * * 12 ******************************************************************** 13 14 function: #ifdef jail to whip a few platforms into the UNIX ideal. 15 16 ********************************************************************/ 17 #ifndef _OS_TYPES_H 18 #define _OS_TYPES_H 19 20 #ifdef _LOW_ACCURACY_ 21 # define X(n) (((((n)>>22)+1)>>1) - ((((n)>>22)+1)>>9)) 22 # define LOOKUP_T const unsigned char 23 #else 24 # define X(n) (n) 25 # define LOOKUP_T const ogg_int32_t 26 #endif 27 28 /* make it easy on the folks that want to compile the libs with a 29 different malloc than stdlib */ 30 #define _ogg_malloc malloc 31 #define _ogg_calloc calloc 32 #define _ogg_realloc realloc 33 #define _ogg_free free 34 35 #ifdef _WIN32 36 37 # ifndef __GNUC__ 38 /* MSVC/Borland */ 39 typedef __int64 ogg_int64_t; 40 typedef __int32 ogg_int32_t; 41 typedef unsigned __int32 ogg_uint32_t; 42 typedef __int16 ogg_int16_t; 43 typedef unsigned __int16 ogg_uint16_t; 44 # else 45 /* Cygwin */ 46 #include <_G_config.h> 47 typedef _G_int64_t ogg_int64_t; 48 typedef _G_int32_t ogg_int32_t; 49 typedef _G_uint32_t ogg_uint32_t; 50 typedef _G_int16_t ogg_int16_t; 51 typedef _G_uint16_t ogg_uint16_t; 52 # endif 53 54 #elif defined(__MACOS__) 55 56 # include <sys/types.h> 57 typedef SInt16 ogg_int16_t; 58 typedef UInt16 ogg_uint16_t; 59 typedef SInt32 ogg_int32_t; 60 typedef UInt32 ogg_uint32_t; 61 typedef SInt64 ogg_int64_t; 62 63 #elif defined(__MACOSX__) /* MacOS X Framework build */ 64 65 # include <sys/types.h> 66 typedef int16_t ogg_int16_t; 67 typedef u_int16_t ogg_uint16_t; 68 typedef int32_t ogg_int32_t; 69 typedef u_int32_t ogg_uint32_t; 70 typedef int64_t ogg_int64_t; 71 72 #elif defined(__BEOS__) 73 74 /* Be */ 75 # include <inttypes.h> 76 77 #elif defined (__EMX__) 78 79 /* OS/2 GCC */ 80 typedef short ogg_int16_t; 81 typedef unsigned short ogg_uint16_t; 82 typedef int ogg_int32_t; 83 typedef unsigned int ogg_uint32_t; 84 typedef long long ogg_int64_t; 85 86 #else 87 88 # include <sys/types.h> 89 # include "config_types.h" 90 91 #endif 92 93 #endif /* _OS_TYPES_H */ 94