]> git.tdb.fi Git - ext/ogg.git/blob - include/ogg/os_types.h
Import libogg 1.3.5 sources
[ext/ogg.git] / include / 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: 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 */