Merge trunk head (r43756)
[reactos.git] / reactos / include / psdk / basetsd.h
index e6e99a5..e2e5b93 100644 (file)
@@ -1,7 +1,12 @@
 #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__
@@ -32,6 +37,7 @@
 #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" {
@@ -96,8 +109,13 @@ static inline void* ULongToPtr( const unsigned long ul )
     { 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
@@ -124,6 +142,8 @@ typedef unsigned __int64 ULONG64, *PULONG64;
 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;