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