From 5f8659b186a464e0277ca6091c23b10faa03f00d Mon Sep 17 00:00:00 2001 From: Kevin Koltzau Date: Wed, 7 Feb 2007 22:58:52 -0500 Subject: [PATCH] winnt.h: Correct declaration of SLIST_HEADER and SLIST_ENTRY for Win64. --- include/winnt.h | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/include/winnt.h b/include/winnt.h index 1aeb72a3abf..6d3022bd92e 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