Recognizes if input is ogg or not.
[xiph.git] / Tremor / os_types.h
blobb8ddb8eabcbe59c388c740888ff37034e8027651
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 ********************************************************************
14 function: #ifdef jail to whip a few platforms into the UNIX ideal.
16 ********************************************************************/
17 #ifndef _OS_TYPES_H
18 #define _OS_TYPES_H
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
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
35 #ifdef _WIN32
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
52 #elif defined(__MACOS__)
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;
60 #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
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;
68 #elif defined(__BEOS__)
70 /* Be */
71 # include <inttypes.h>
73 #elif defined (__EMX__)
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;
81 #else
83 # include <sys/types.h>
84 # include "config_types.h"
86 #endif
88 #endif /* _OS_TYPES_H */