[ros-diffs] [tkreuzer] 41030: wdm.h: fix definition of 64bit SLIST_HEADER winnt.h: add 64bit SLIST_HEADER

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Thu May 21 19:52:00 CEST 2009


Author: tkreuzer
Date: Thu May 21 21:51:59 2009
New Revision: 41030

URL: http://svn.reactos.org/svn/reactos?rev=41030&view=rev
Log:
wdm.h: fix definition of 64bit SLIST_HEADER
winnt.h: add 64bit SLIST_HEADER

Modified:
    branches/ros-amd64-bringup/reactos/include/ddk/wdm.h
    branches/ros-amd64-bringup/reactos/include/psdk/winnt.h

Modified: branches/ros-amd64-bringup/reactos/include/ddk/wdm.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/include/ddk/wdm.h?rev=41030&r1=41029&r2=41030&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/include/ddk/wdm.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/include/ddk/wdm.h [iso-8859-1] Thu May 21 21:51:59 2009
@@ -393,7 +393,7 @@
 #define PSLIST_ENTRY PSINGLE_LIST_ENTRY
 
 #if defined(_WIN64)
-typedef union _SLIST_HEADER {
+typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
     struct {
         ULONGLONG Alignment;
         ULONGLONG Region;
@@ -407,13 +407,13 @@
         ULONGLONG Reserved:59;
         ULONGLONG Region:3;
     } Header8;
+    struct {
         ULONGLONG Depth:16;
         ULONGLONG Sequence:48;
         ULONGLONG HeaderType:1;
         ULONGLONG Init:1;
         ULONGLONG Reserved:2;
         ULONGLONG NextEntry:60;
-    struct {
     } Header16;
 } SLIST_HEADER, *PSLIST_HEADER;
 #else

Modified: branches/ros-amd64-bringup/reactos/include/psdk/winnt.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/include/psdk/winnt.h?rev=41030&r1=41029&r2=41030&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/include/psdk/winnt.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/include/psdk/winnt.h [iso-8859-1] Thu May 21 21:51:59 2009
@@ -3207,20 +3207,53 @@
 	struct _SINGLE_LIST_ENTRY *Next;
 } SINGLE_LIST_ENTRY,*PSINGLE_LIST_ENTRY;
 
+//
+// Slist Header
+//
 #ifndef _SLIST_HEADER_
 #define _SLIST_HEADER_
+
 #define SLIST_ENTRY SINGLE_LIST_ENTRY
 #define _SLIST_ENTRY _SINGLE_LIST_ENTRY
 #define PSLIST_ENTRY PSINGLE_LIST_ENTRY
+
+#if defined(_WIN64)
+typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
+    struct {
+        ULONGLONG Alignment;
+        ULONGLONG Region;
+    } DUMMYSTRUCTNAME;
+    struct {
+        ULONGLONG Depth:16;
+        ULONGLONG Sequence:9;
+        ULONGLONG NextEntry:39;
+        ULONGLONG HeaderType:1;
+        ULONGLONG Init:1;
+        ULONGLONG Reserved:59;
+        ULONGLONG Region:3;
+    } Header8;
+    struct {
+        ULONGLONG Depth:16;
+        ULONGLONG Sequence:48;
+        ULONGLONG HeaderType:1;
+        ULONGLONG Init:1;
+        ULONGLONG Reserved:2;
+        ULONGLONG NextEntry:60;
+    } Header16;
+} SLIST_HEADER, *PSLIST_HEADER;
+#else
 typedef union _SLIST_HEADER {
-	ULONGLONG Alignment;
-	_ANONYMOUS_STRUCT struct {
-		SLIST_ENTRY Next;
-		WORD Depth;
-		WORD Sequence;
-	} DUMMYSTRUCTNAME;
-} SLIST_HEADER,*PSLIST_HEADER;
-#endif /* !_SLIST_HEADER_ */
+    ULONGLONG Alignment;
+    struct {
+        SLIST_ENTRY Next;
+        USHORT Depth;
+        USHORT Sequence;
+    } DUMMYSTRUCTNAME;
+} SLIST_HEADER, *PSLIST_HEADER;
+#endif
+
+#endif /* _SLIST_HEADER_ */
+
 
 NTSYSAPI
 VOID



More information about the Ros-diffs mailing list