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 # else |
|
44 /* Cygwin */ |
|
45 #include <_G_config.h> |
|
46 typedef _G_int64_t ogg_int64_t; |
|
47 typedef _G_int32_t ogg_int32_t; |
|
48 typedef _G_uint32_t ogg_uint32_t; |
|
49 typedef _G_int16_t ogg_int16_t; |
|
50 # endif |
|
51 |
|
52 #elif defined(__MACOS__) |
|
53 |
|
54 # include <sys/types.h> |
|
55 typedef SInt16 ogg_int16_t; |
|
56 typedef SInt32 ogg_int32_t; |
|
57 typedef UInt32 ogg_uint32_t; |
|
58 typedef SInt64 ogg_int64_t; |
|
59 |
|
60 #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ |
|
61 |
|
62 # include <sys/types.h> |
|
63 typedef int16_t ogg_int16_t; |
|
64 typedef int32_t ogg_int32_t; |
|
65 typedef u_int32_t ogg_uint32_t; |
|
66 typedef int64_t ogg_int64_t; |
|
67 |
|
68 #elif defined(__BEOS__) |
|
69 |
|
70 /* Be */ |
|
71 # include <inttypes.h> |
|
72 |
|
73 #elif defined (__EMX__) |
|
74 |
|
75 /* OS/2 GCC */ |
|
76 typedef short ogg_int16_t; |
|
77 typedef int ogg_int32_t; |
|
78 typedef unsigned int ogg_uint32_t; |
|
79 typedef long long ogg_int64_t; |
|
80 |
|
81 #else |
|
82 |
|
83 # include <sys/types.h> |
|
84 # include "config_types.h" |
|
85 |
|
86 #endif |
|
87 |
|
88 #endif /* _OS_TYPES_H */ |
|