#define PSLIST_ENTRY PSINGLE_LIST_ENTRY\r
\r
#if defined(_WIN64)\r
-typedef union _SLIST_HEADER {\r
+typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {\r
struct {\r
ULONGLONG Alignment;\r
ULONGLONG Region;\r
ULONGLONG Reserved:59;\r
ULONGLONG Region:3;\r
} Header8;\r
+ struct {\r
ULONGLONG Depth:16;\r
ULONGLONG Sequence:48;\r
ULONGLONG HeaderType:1;\r
ULONGLONG Init:1;\r
ULONGLONG Reserved:2;\r
ULONGLONG NextEntry:60;\r
- struct {\r
} Header16;\r
} SLIST_HEADER, *PSLIST_HEADER;\r
#else\r
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