diff --git a/desmume/src/types.h b/desmume/src/types.h new file mode 100644 index 000000000..6bf6101a3 --- /dev/null +++ b/desmume/src/types.h @@ -0,0 +1,75 @@ +/* Copyright (C) 2005 Guillaume Duhamel + + This file is part of DeSmuME + + DeSmuME is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DeSmuME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DeSmuME; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef TYPES_HPP +#define TYPES_HPP + +#ifndef FASTCALL +#ifdef __i386__ +#define FASTCALL __attribute__((regparm(3))) +#else +#define FASTCALL +#endif +#endif + +#ifndef __fastcall +#define __fastcall FASTCALL +#endif + +#ifndef INLINE +#ifdef _MSC_VER +#define INLINE _inline +#else +#define INLINE inline +#endif +#endif + +#if defined(__LP64__) +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef unsigned long u64; +typedef unsigned long pointer; + +typedef signed char s8; +typedef signed short s16; +typedef signed int s32; +typedef signed long s64; +#else +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned long u32; +#ifdef _MSC_VER +typedef unsigned __int64 u64; +#else +typedef unsigned long long u64; +#endif +typedef unsigned long pointer; + +typedef signed char s8; +typedef signed short s16; +typedef signed long s32; +#ifdef _MSC_VER +typedef __int64 s64; +#else +typedef signed long long s64; +#endif +#endif + +#endif