#ifndef __PS2ETYPES_H__ #define __PS2ETYPES_H__ #ifndef ARRAYSIZE #define ARRAYSIZE(x) (sizeof(x)/sizeof((x)[0])) #endif #if defined (__linux__) // some distributions are lower case #define __LINUX__ #endif // Basic types #if defined(_WIN32) typedef __int8 s8; typedef __int16 s16; typedef __int32 s32; typedef __int64 s64; typedef unsigned __int8 u8; typedef unsigned __int16 u16; typedef unsigned __int32 u32; typedef unsigned __int64 u64; #if defined(__x86_64__) typedef u64 uptr; #else typedef u32 uptr; #endif #define PCSX2_ALIGNED16(x) __declspec(align(16)) x #else typedef char s8; typedef short s16; typedef int s32; typedef long long s64; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; typedef unsigned long long u64; #if defined(__x86_64__) typedef u64 uptr; #else typedef u32 uptr; #endif #ifdef __LINUX__ typedef union _LARGE_INTEGER { long long QuadPart; } LARGE_INTEGER; #endif #if defined(__MINGW32__) #define PCSX2_ALIGNED16(x) __declspec(align(16)) x #else #define PCSX2_ALIGNED16(x) x __attribute((aligned(16))) #endif #ifndef __forceinline #define __forceinline inline #endif #endif typedef struct { int size; s8 *data; } freezeData; #endif /* __PS2ETYPES_H__ */