Kevin Koltzau : winnt.h: Correct declaration of SLIST_HEADER and SLIST_ENTRY for Win64.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Feb 8 06:20:20 CST 2007


Module: wine
Branch: master
Commit: 5f8659b186a464e0277ca6091c23b10faa03f00d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5f8659b186a464e0277ca6091c23b10faa03f00d

Author: Kevin Koltzau <kevin at plop.org>
Date:   Wed Feb  7 22:58:52 2007 -0500

winnt.h: Correct declaration of SLIST_HEADER and SLIST_ENTRY for Win64.

---

 include/winnt.h |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/include/winnt.h b/include/winnt.h
index 1aeb72a..6d3022b 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -595,14 +595,33 @@ typedef struct _SINGLE_LIST_ENTRY {
 
 #ifdef _WIN64
 
-typedef struct _SLIST_ENTRY *PSLIST_ENTRY;
-typedef struct _SLIST_ENTRY {
+typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY *PSLIST_ENTRY;
+typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY {
     PSLIST_ENTRY Next;
-};
+} SLIST_ENTRY;
 
-typedef struct _SLIST_HEADER {
-    ULONGLONG Alignment;
-    ULONGLONG Region;
+typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
+    struct {
+        ULONGLONG Alignment;
+        ULONGLONG Region;
+    };
+    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




More information about the wine-cvs mailing list