#ifndef _BASETSD_H
#define _BASETSD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
+
+#ifndef _M_AMD64
+#if !defined(__ROS_LONG64__)
+#ifdef __WINESRC__
+#define __ROS_LONG64__
+#endif
+#endif
#endif
#ifdef __GNUC__
#endif
#endif
+#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#error Old MSVC compiler version.
+#endif
+
+#ifdef _MAC
+#error Not supported.
+#endif
+
+#if !defined(MIDL_PASS) && !defined(RC_INVOKED)
+ #define POINTER_64 __ptr64
+ #if defined(_WIN64)
+ #define POINTER_32 __ptr32
+ #else
+ #define POINTER_32
+ #endif
+#else
+ #define POINTER_64
+ #define POINTER_32
+#endif /* !defined(MIDL_PASS) && !defined(RC_INVOKED) */
+
+#if defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)
+ typedef unsigned __int64 POINTER_64_INT;
+#else
+ typedef unsigned long POINTER_64_INT;
+#endif
+
#if defined(_WIN64)
#define __int3264 __int64
#define ADDRESS_TAG_BIT 0x40000000000UI64
#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul))
#endif /* !_WIN64 */
+#define UlongToHandle(ul) ULongToHandle(ul)
#define UlongToPtr(ul) ULongToPtr(ul)
#define UintToPtr(ui) UIntToPtr(ui)
#define MAXUINT_PTR (~((UINT_PTR)0))
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
#define MINHALF_PTR (~MAXHALF_PTR)
+#if _WIN32_WINNT >= 0x0600
+
+#define MAXUINT ((UINT)~((UINT)0))
+#define MAXULONGLONG ((ULONGLONG)~((ULONGLONG)0))
+
+#endif
+
#ifndef RC_INVOKED
#ifdef __cplusplus
extern "C" {
{ return( (void*)(ULONG_PTR)ul ); }
#endif /* !__midl */
#else /* !_WIN64 */
+#if !defined(__ROS_LONG64__)
typedef int INT_PTR, *PINT_PTR;
typedef unsigned int UINT_PTR, *PUINT_PTR;
+#else
+typedef long INT_PTR, *PINT_PTR;
+typedef unsigned long UINT_PTR, *PUINT_PTR;
+#endif
#ifndef LONG_PTR_DEFINED
#define LONG_PTR_DEFINED
typedef unsigned __int64 DWORD64, *PDWORD64;
typedef unsigned __int64 UINT64, *PUINT64;
+typedef signed char INT8, *PINT8;
+typedef unsigned char UINT8, *PUINT8;
typedef signed short INT16, *PINT16;
typedef unsigned short UINT16, *PUINT16;