Home | History | Annotate | Download | only in ogg
      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 16649 2009-10-25 00:49:58Z ds $
     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 <sys/types.h>
     72    typedef int16_t ogg_int16_t;
     73    typedef u_int16_t ogg_uint16_t;
     74    typedef int32_t ogg_int32_t;
     75    typedef u_int32_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 u_int16_t ogg_uint16_t;
     94    typedef int32_t ogg_int32_t;
     95    typedef u_int32_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 <sys/types.h>
    144 #  include <ogg/config_types.h>
    145 
    146 #endif
    147 
    148 #endif  /* _OS_TYPES_H */
    149