[winnt.h]
[reactos.git] / reactos / include / psdk / winnt.h
index 10c4a14..7197b5a 100644 (file)
 #include <msvctarget.h>
 #endif
 
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_ARM) && !defined(_ARM_)
-#define _ARM_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
 #ifndef DECLSPEC_ALIGN
 # if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
 #  define DECLSPEC_ALIGN(x) __declspec(align(x))
@@ -93,7 +79,7 @@ extern "C" {
 #elif (_MSC_VER)
 #define FORCEINLINE __inline
 #else
-#define FORCEINLINE static __inline__ __attribute__((always_inline))
+#define FORCEINLINE extern __inline__ __attribute__((always_inline))
 #endif
 #endif
 
@@ -995,6 +981,7 @@ typedef enum {
 #define SUBLANG_GREENLANDIC_GREENLAND   0x01
 #define SUBLANG_GUJARATI_INDIA   0x01
 #define SUBLANG_HAUSA_NIGERIA_LATIN   0x01
+#define SUBLANG_HAUSA_NIGERIA   0x01
 #define SUBLANG_HEBREW_ISRAEL   0x01
 #define SUBLANG_HINDI_INDIA   0x01
 #define SUBLANG_HUNGARIAN_HUNGARY   0x01
@@ -1018,8 +1005,10 @@ typedef enum {
 #define SUBLANG_KOREAN   0x01
 #define SUBLANG_KYRGYZ_KYRGYZSTAN   0x01
 #define SUBLANG_LAO_LAO   0x01
+#define SUBLANG_LAO_LAO_PDR  0x01
 #define SUBLANG_LATVIAN_LATVIA   0x01
 #define SUBLANG_LITHUANIAN_LITHUANIA   0x01
+#define SUBLANG_LITHUANIAN   0x01
 #define SUBLANG_LOWER_SORBIAN_GERMANY   0x02
 #define SUBLANG_LUXEMBOURGISH_LUXEMBOURG   0x01
 #define SUBLANG_MACEDONIAN_MACEDONIA   0x01
@@ -1096,6 +1085,7 @@ typedef enum {
 #define SUBLANG_SPANISH_URUGUAY   0x0e
 #define SUBLANG_SPANISH_VENEZUELA   0x08
 #define SUBLANG_SWAHILI   0x01
+#define SUBLANG_SWAHILI_KENYA   0x01
 #define SUBLANG_SWEDISH_FINLAND   0x02
 #define SUBLANG_SWEDISH   0x01
 #define SUBLANG_SWEDISH_SWEDEN   0x01
@@ -1179,6 +1169,21 @@ typedef enum {
 #define PROCESSOR_PPC_603 603
 #define PROCESSOR_PPC_604 604
 #define PROCESSOR_PPC_620 620
+#define PROCESSOR_INTEL_860 860
+#define PROCESSOR_AMD_X8664 8664
+#define PROCESSOR_MIPS_R2000 2000
+#define PROCESSOR_MIPS_R3000 3000
+#define PROCESSOR_HITACHI_SH3 10003
+#define PROCESSOR_HITACHI_SH3E 10004
+#define PROCESSOR_HITACHI_SH4 10005
+#define PROCESSOR_MOTOROLA_821 821
+#define PROCESSOR_SHx_SH3 103
+#define PROCESSOR_SHx_SH4 104
+#define PROCESSOR_STRONGARM 2577
+#define PROCESSOR_ARM720 1824
+#define PROCESSOR_ARM820 2080
+#define PROCESSOR_ARM920 2336
+#define PROCESSOR_ARM_7TDMI 70001
 #define PROCESSOR_ARCHITECTURE_INTEL 0
 #define PROCESSOR_ARCHITECTURE_MIPS 1
 #define PROCESSOR_ARCHITECTURE_ALPHA 2
@@ -1362,6 +1367,18 @@ typedef enum {
 #define IMAGE_FILE_MACHINE_TRICORE    0x0520
 #define IMAGE_FILE_MACHINE_CEF        0x0CEF
 
+#define IMAGE_FILE_EXPORT_DIRECTORY            0
+#define IMAGE_FILE_IMPORT_DIRECTORY            1
+#define IMAGE_FILE_RESOURCE_DIRECTORY          2
+#define IMAGE_FILE_EXCEPTION_DIRECTORY         3
+#define IMAGE_FILE_SECURITY_DIRECTORY          4
+#define IMAGE_FILE_BASE_RELOCATION_TABLE       5
+#define IMAGE_FILE_DEBUG_DIRECTORY             6
+#define IMAGE_FILE_DESCRIPTION_STRING          7
+#define IMAGE_FILE_MACHINE_VALUE               8  /* Mips */
+#define IMAGE_FILE_THREAD_LOCAL_STORAGE                9
+#define IMAGE_FILE_CALLBACK_DIRECTORY          10
+
 #define IMAGE_DOS_SIGNATURE 0x5A4D
 #define IMAGE_OS2_SIGNATURE 0x454E
 #define IMAGE_OS2_SIGNATURE_LE 0x454C
@@ -1404,6 +1421,9 @@ typedef enum {
 #define IMAGE_SUBSYSTEM_EFI_ROM                     13
 #define IMAGE_SUBSYSTEM_XBOX                        14
 
+#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040
+#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080
+#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100
 #define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200
 #define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400
 #define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800
@@ -1818,6 +1838,8 @@ typedef enum {
 #define VER_AND 6
 #define VER_OR 7
 #endif
+#define VER_SERVER_NT 0x80000000
+#define VER_WORKSTATION_NT 0x40000000
 #define VER_PLATFORM_WIN32s 0
 #define VER_PLATFORM_WIN32_WINDOWS 1
 #define VER_PLATFORM_WIN32_NT 2
@@ -1827,6 +1849,7 @@ typedef enum {
 #define VER_SUITE_SMALLBUSINESS 1
 #define VER_SUITE_ENTERPRISE 2
 #define VER_SUITE_BACKOFFICE 4
+#define VER_SUITE_COMMUNICATIONS 8
 #define VER_SUITE_TERMINAL 16
 #define VER_SUITE_SMALLBUSINESS_RESTRICTED 32
 #define VER_SUITE_EMBEDDEDNT 64
@@ -1834,6 +1857,11 @@ typedef enum {
 #define VER_SUITE_SINGLEUSERTS 256
 #define VER_SUITE_PERSONAL 512
 #define VER_SUITE_BLADE 1024
+#define VER_SUITE_EMBEDDED_RESTRICTED 2048
+#define VER_SUITE_SECURITY_APPLIANCE 4096
+#define VER_SUITE_STORAGE_SERVER 8192
+#define VER_SUITE_COMPUTE_SERVER 16384
+#define VER_SUITE_WH_SERVER 32768
 #define WT_EXECUTEDEFAULT 0x00000000
 #define WT_EXECUTEINIOTHREAD 0x00000001
 #define WT_EXECUTEINUITHREAD 0x00000002
@@ -2182,7 +2210,6 @@ typedef struct _CONTEXT {
 } CONTEXT;
 #elif defined(__x86_64__)
 
-
 #define CONTEXT_AMD64 0x100000
 
 #if !defined(RC_INVOKED)
@@ -3349,11 +3376,9 @@ typedef struct _SINGLE_LIST_ENTRY {
 
 #if defined(_WIN64)
 
-typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY *PSLIST_ENTRY;
-
 typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY {
-  PSLIST_ENTRY Next;
-} SLIST_ENTRY;
+  struct _SLIST_ENTRY *Next;
+} SLIST_ENTRY, *PSLIST_ENTRY;
 
 typedef struct _SLIST_ENTRY32 {
   DWORD Next;
@@ -5098,7 +5123,7 @@ static __inline__ PVOID GetCurrentFiber(void)
 #endif
 
 #if defined(_M_IX86)
-static __inline__ struct _TEB * NtCurrentTeb(void)
+extern __inline__ struct _TEB * NtCurrentTeb(void)
 {
     struct _TEB *ret;
 
@@ -5123,12 +5148,12 @@ FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
     return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self));
 }
 #elif defined(_M_PPC)
-static __inline__ struct _TEB * NtCurrentTeb(void)
+extern __inline__ struct _TEB * NtCurrentTeb(void)
 {
     return __readfsdword_winnt(0x18);
 }
 #else
-static __inline__ struct _TEB * NtCurrentTeb(void)
+extern __inline__ struct _TEB * NtCurrentTeb(void)
 {
     return __readfsdword_winnt(0x18);
 }