Sync with trunk r63502.
[reactos.git] / include / psdk / basetsd.h
index a1130e0..1dd0c7f 100644 (file)
@@ -1,5 +1,8 @@
-#ifndef _BASETSD_H
-#define _BASETSD_H
+#ifndef _BASETSD_H_
+#define _BASETSD_H_
+#pragma once
+
+#include <msvctarget.h>
 
 #ifndef _M_AMD64
 #if !defined(__ROS_LONG64__)
 #error Not supported.
 #endif
 
-#if !defined(_X86_) && !defined(_AMD64_) && !defined(_IA64_) && !defined(_ALPHA_) && \
-    !defined(_ARM_) && !defined(_PPC_) && !defined(_MIPS_) && !defined(_68K_)
-
-#if defined(_M_AMD64) || defined(__x86_64__)
-#define _AMD64_
-#elif defined(_M_IX86) || defined(__i386__)
-#define _X86_
-#elif defined(_M_IA64) || defined(__ia64__)
-#define _IA64_
-#elif defined(_M_ALPHA) || defined(__alpha__)
-#define _ALPHA_
-#elif defined(_M_ARM) || defined(__arm__)
-#define _ARM_
-#elif defined(_M_PPC) || defined(__powerpc__)
-#define _PPC_
-#elif defined(_M_MRX000) || defined(__mips__)
-#define _MIPS_
-#elif defined(_M_M68K) || defined(__68k__)
-#define _68K_
-#endif
-
-#endif
-
-#if !defined(MIDL_PASS) && !defined(RC_INVOKED)
+#if defined(_MSC_VER) && !defined(MIDL_PASS) && !defined(RC_INVOKED)
  #define POINTER_64 __ptr64
  #if defined(_WIN64)
   #define POINTER_32 __ptr32
@@ -56,7 +36,7 @@
 #else
  #define POINTER_64
  #define POINTER_32
-#endif /* !defined(MIDL_PASS) && !defined(RC_INVOKED) */
+#endif /* defined(_MSC_VER) && !defined(MIDL_PASS) && !defined(RC_INVOKED) */
 
 #if defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)
  typedef unsigned __int64 POINTER_64_INT;
  typedef unsigned long POINTER_64_INT;
 #endif
 
+#if defined(_IA64_) || defined(_AMD64_)
+ #define FIRMWARE_PTR
+#else
+ #define FIRMWARE_PTR POINTER_32
+#endif
+
 #if 0 /* Not supported yet */
 #define POINTER_SIGNED __sptr
 #define POINTER_UNSIGNED __uptr
 
 #if defined(_WIN64)
 #define __int3264   __int64
+typedef __int64 SHANDLE_PTR;
+typedef unsigned __int64 HANDLE_PTR;
+typedef unsigned int UHALF_PTR, *PUHALF_PTR;
+typedef int HALF_PTR, *PHALF_PTR;
 #define ADDRESS_TAG_BIT 0x40000000000UI64
 #else /*  !_WIN64 */
 #define __int3264   __int32
 #define ADDRESS_TAG_BIT 0x80000000UL
+typedef unsigned short UHALF_PTR, *PUHALF_PTR;
+typedef short HALF_PTR, *PHALF_PTR;
+typedef long SHANDLE_PTR;
+typedef unsigned long HANDLE_PTR;
 #define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
 #define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
 #define ULongToHandle( h) ((HANDLE)(ULONG_PTR) (h))
@@ -97,6 +91,8 @@
 #define ULongToPtr( ul )  ((VOID*)(ULONG_PTR)((unsigned long)ul))
 #endif /* !_WIN64 */
 
+#define HandleToULong(h) HandleToUlong(h)
+
 #define UlongToHandle(ul) ULongToHandle(ul)
 #define UlongToPtr(ul) ULongToPtr(ul)
 #define UintToPtr(ui) UIntToPtr(ui)
@@ -134,9 +130,6 @@ typedef __int64 INT_PTR, *PINT_PTR;
 typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
 typedef __int64 LONG_PTR, *PLONG_PTR;
 typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
-typedef unsigned __int64 HANDLE_PTR;
-typedef unsigned int UHALF_PTR, *PUHALF_PTR;
-typedef int HALF_PTR, *PHALF_PTR;
 
 #if !defined(__midl) && !defined(__WIDL__)
 static inline unsigned long HandleToUlong(const void* h )
@@ -183,14 +176,6 @@ typedef unsigned long UINT_PTR, *PUINT_PTR;
        typedef unsigned long ULONG_PTR, *PULONG_PTR;
 #endif
 
-typedef unsigned short UHALF_PTR, *PUHALF_PTR;
-typedef short HALF_PTR, *PHALF_PTR;
-
-#ifndef HANDLE_PTR_DEFINED
-#define HANDLE_PTR_DEFINED
-       typedef unsigned long HANDLE_PTR;
-#endif
-
 #endif /* !_WIN64 */
 
 typedef ULONG_PTR SIZE_T, *PSIZE_T;
@@ -215,4 +200,4 @@ typedef KAFFINITY *PKAFFINITY;
 #endif
 #endif /* !RC_INVOKED */
 
-#endif /* _BASETSD_H */
+#endif /* _BASETSD_H_ */