support for Geforce FX5500 based on patch by Pascal Yu <yu_pascal at hotmail.com>
[mplayer/greg.git] / libmpdvdkit2 / common.h
blob67b4a978103ac6864feb5d09fa627c20eb054585
1 /*****************************************************************************
2 * common.h: common definitions
3 * Collection of useful common types and macros definitions
4 *****************************************************************************
5 * Copyright (C) 1998, 1999, 2000 VideoLAN
7 * Modified for use with MPlayer, changes contained in libdvdread_changes.diff.
8 * detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
9 * $Id$
11 * Authors: Samuel Hocevar <sam@via.ecp.fr>
12 * Vincent Seguin <seguin@via.ecp.fr>
13 * Gildas Bazin <gbazin@netcourrier.com>
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * You should have received a copy of the GNU General Public License
26 * along with this program; if not, write to the Free Software
27 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
28 *****************************************************************************/
30 /*****************************************************************************
31 * Basic types definitions
32 *****************************************************************************/
33 #if defined( HAVE_STDINT_H )
34 # include <stdint.h>
35 #elif defined( HAVE_INTTYPES_H )
36 # include <inttypes.h>
37 #elif defined( SYS_CYGWIN )
38 # include <sys/types.h>
39 /* Cygwin only defines half of these... */
40 typedef u_int8_t uint8_t;
41 typedef u_int32_t uint32_t;
42 #else
43 /* Fallback types (very x86-centric, sorry) */
44 typedef unsigned char uint8_t;
45 typedef signed char int8_t;
46 typedef unsigned int uint32_t;
47 typedef signed int int32_t;
48 #endif
50 #if defined( WIN32 )
52 #ifndef PATH_MAX
53 # define PATH_MAX MAX_PATH
54 #endif
56 /* several type definitions */
57 # if defined( __MINGW32__ )
58 #define lseek _lseeki64
59 # if !defined( _OFF_T_ )
60 typedef long long _off_t;
61 typedef _off_t off_t;
62 # define _OFF_T_
63 # else
64 # define off_t long long
65 # endif
66 # endif
68 # if defined( _MSC_VER )
69 # if !defined( _OFF_T_DEFINED )
70 typedef __int64 off_t;
71 # define _OFF_T_DEFINED
72 # else
73 # define off_t __int64
74 # endif
75 # define stat _stati64
76 # endif
78 # ifndef snprintf
79 # define snprintf _snprintf /* snprintf not defined in mingw32 (bug?) */
80 # endif
82 #endif