added ogg/vorbis source code for ease of building on msvc
[laserbrain_demo] / libs / ogg / os_types.h
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: #ifdef jail to whip a few platforms into the UNIX ideal.
14  last mod: $Id: os_types.h 17712 2010-12-03 17:10:02Z xiphmont $
15
16  ********************************************************************/
17 #ifndef _OS_TYPES_H
18 #define _OS_TYPES_H
19
20 /* make it easy on the folks that want to compile the libs with a
21    different malloc than stdlib */
22 #define _ogg_malloc  malloc
23 #define _ogg_calloc  calloc
24 #define _ogg_realloc realloc
25 #define _ogg_free    free
26
27 #if defined(_WIN32) 
28
29 #  if defined(__CYGWIN__)
30 #    include <stdint.h>
31      typedef int16_t ogg_int16_t;
32      typedef uint16_t ogg_uint16_t;
33      typedef int32_t ogg_int32_t;
34      typedef uint32_t ogg_uint32_t;
35      typedef int64_t ogg_int64_t;
36      typedef uint64_t ogg_uint64_t;
37 #  elif defined(__MINGW32__)
38 #    include <sys/types.h>
39      typedef short ogg_int16_t;
40      typedef unsigned short ogg_uint16_t;
41      typedef int ogg_int32_t;
42      typedef unsigned int ogg_uint32_t;
43      typedef long long ogg_int64_t;
44      typedef unsigned long long ogg_uint64_t;
45 #  elif defined(__MWERKS__)
46      typedef long long ogg_int64_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      /* MSVC/Borland */
53      typedef __int64 ogg_int64_t;
54      typedef __int32 ogg_int32_t;
55      typedef unsigned __int32 ogg_uint32_t;
56      typedef __int16 ogg_int16_t;
57      typedef unsigned __int16 ogg_uint16_t;
58 #  endif
59
60 #elif defined(__MACOS__)
61
62 #  include <sys/types.h>
63    typedef SInt16 ogg_int16_t;
64    typedef UInt16 ogg_uint16_t;
65    typedef SInt32 ogg_int32_t;
66    typedef UInt32 ogg_uint32_t;
67    typedef SInt64 ogg_int64_t;
68
69 #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
70
71 #  include <inttypes.h>
72    typedef int16_t ogg_int16_t;
73    typedef uint16_t ogg_uint16_t;
74    typedef int32_t ogg_int32_t;
75    typedef uint32_t ogg_uint32_t;
76    typedef int64_t ogg_int64_t;
77
78 #elif defined(__HAIKU__)
79
80   /* Haiku */
81 #  include <sys/types.h>
82    typedef short ogg_int16_t;
83    typedef unsigned short ogg_uint16_t;
84    typedef int ogg_int32_t;
85    typedef unsigned int ogg_uint32_t;
86    typedef long long ogg_int64_t;
87
88 #elif defined(__BEOS__)
89
90    /* Be */
91 #  include <inttypes.h>
92    typedef int16_t ogg_int16_t;
93    typedef uint16_t ogg_uint16_t;
94    typedef int32_t ogg_int32_t;
95    typedef uint32_t ogg_uint32_t;
96    typedef int64_t ogg_int64_t;
97
98 #elif defined (__EMX__)
99
100    /* OS/2 GCC */
101    typedef short ogg_int16_t;
102    typedef unsigned short ogg_uint16_t;
103    typedef int ogg_int32_t;
104    typedef unsigned int ogg_uint32_t;
105    typedef long long ogg_int64_t;
106
107 #elif defined (DJGPP)
108
109    /* DJGPP */
110    typedef short ogg_int16_t;
111    typedef int ogg_int32_t;
112    typedef unsigned int ogg_uint32_t;
113    typedef long long ogg_int64_t;
114
115 #elif defined(R5900)
116
117    /* PS2 EE */
118    typedef long ogg_int64_t;
119    typedef int ogg_int32_t;
120    typedef unsigned ogg_uint32_t;
121    typedef short ogg_int16_t;
122
123 #elif defined(__SYMBIAN32__)
124
125    /* Symbian GCC */
126    typedef signed short ogg_int16_t;
127    typedef unsigned short ogg_uint16_t;
128    typedef signed int ogg_int32_t;
129    typedef unsigned int ogg_uint32_t;
130    typedef long long int ogg_int64_t;
131
132 #elif defined(__TMS320C6X__)
133
134    /* TI C64x compiler */
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
141 #else
142
143 #  include <ogg/config_types.h>
144
145 #endif
146
147 #endif  /* _OS_TYPES_H */