Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# os_types.h

Go to the documentation of this file.

    00001 /********************************************************************
    00002  *                                                                  *
    00003  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
    00004  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
    00005  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
    00006  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
    00007  *                                                                  *
    00008  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
    00009  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
    00010
    00011  ********************************************************************
    00012
    00013  function: #ifdef jail to whip a few platforms into the UNIX ideal.
    00014  last mod: $Id: os_types.h,v 1.3 2004/10/01 03:52:02 Assassin Exp $
    00015
    00016  ********************************************************************/
    00017 #ifndef _OS_TYPES_H
    00018 #define _OS_TYPES_H
    00019
    00020 /* make it easy on the folks that want to compile the libs with a
    00021    different malloc than stdlib */
    00022 #define _ogg_malloc  malloc
    00023 #define _ogg_calloc  calloc
    00024 #define _ogg_realloc realloc
    00025 #define _ogg_free    free
    00026
    00027 #ifdef _WIN32
    00028
    00029 #  ifndef __GNUC__
    00030    /* MSVC/Borland */
    00031    typedef __int64 ogg_int64_t;
    00032    typedef __int32 ogg_int32_t;
    00033    typedef unsigned __int32 ogg_uint32_t;
    00034    typedef __int16 ogg_int16_t;
    00035 #  else
    00036    /* Cygwin */
    00037    //#include <_G_config.h>
    00038 #  include <stdint.h>
    00039    typedef int64_t ogg_int64_t;
    00040    typedef int32_t ogg_int32_t;
    00041    typedef uint32_t ogg_uint32_t;
    00042    typedef int16_t ogg_int16_t;
    00043 #  endif
    00044
    00045 #elif defined(macintosh)
    00046
    00047 #  include <sys/types.h>
    00048    typedef SInt16 ogg_int16_t;
    00049    typedef SInt32 ogg_int32_t;
    00050    typedef UInt32 ogg_uint32_t;
    00051    typedef SInt64 ogg_int64_t;
    00052
    00053 #elif defined(__BEOS__)
    00054
    00055    /* Be */
    00056 #  include <inttypes.h>
    00057
    00058 #elif defined (__EMX__)
    00059
    00060    /* OS/2 GCC */
    00061    typedef short ogg_int16_t;
    00062    typedef int ogg_int32_t;
    00063    typedef unsigned int ogg_uint32_t;
    00064    typedef long long ogg_int64_t;
    00065
    00066 #else
    00067
    00068 #  include <sys/types.h>
    00069 #  include <ogg/config_types.h>
    00070
    00071 #endif
    00072
    00073 #endif  /* _OS_TYPES_H */