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 19098 2014-02-26 19:06:45Z giles $
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 */
148