compat.h 1.09 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
/* Icecast
 *
 * This program is distributed under the GNU General Public License, version 2.
 * A copy of this license is included with this source.
 *
 * Copyright 2000-2004, Jack Moffitt <jack@xiph.org, 
 *                      Michael Smith <msmith@xiph.org>,
 *                      oddsock <oddsock@xiph.org>,
 *                      Karl Heyes <karl@xiph.org>
 *                      and others (see AUTHORS for details).
 */

13 14 15
#ifndef __COMPAT_H__
#define __COMPAT_H__

16 17 18 19 20 21 22 23 24 25 26
/* compat.h
 * 
 * This file contains most of the ugliness for header portability
 * and common types across various systems like Win32, Linux and
 * Solaris.
 */

/* Make sure we define 64 bit types */
#ifdef _WIN32
#  define int64_t __int64
#  define uint64_t unsigned __int64
Michael Smith's avatar
Michael Smith committed
27
#  define uint32_t unsigned int
28
#else
29
#  if defined(HAVE_STDINT_H)
30
#    include <stdint.h>
31 32
#  elif defined(HAVE_INTTYPES_H)
#    include <inttypes.h>
33 34
#  endif
#endif
35 36 37

#ifdef _WIN32
#define FORMAT_INT64      "%I64d"
38
#define FORMAT_UINT64     "%I64u"
39 40
#else
#define FORMAT_INT64      "%lld"
41
#define FORMAT_UINT64     "%llu"
42 43 44 45
#endif

#endif /* __COMPAT_H__ */