1 /* Version definitions */
3 #define NTDDI_VERSION NTDDI_WS03SP1
5 #define _WIN32_WINNT _WIN32_WINNT_WS03
10 #define C_ASSERT_FIELD(Type, Offset, MemberType, MemberName) C_ASSERT(FIELD_OFFSET(Type, MemberName) == Offset);
13 C_ASSERT_FIELD(KTHREAD
, 0x000, DISPATCHER_HEADER
, Header
)
14 C_ASSERT_FIELD(KTHREAD
, 0x010, LIST_ENTRY
, MutantListHead
)
15 C_ASSERT_FIELD(KTHREAD
, 0x018, PVOID
, InitialStack
)
16 C_ASSERT_FIELD(KTHREAD
, 0x01C, PVOID
, StackLimit
)
17 C_ASSERT_FIELD(KTHREAD
, 0x020, PVOID
, KernelStack
)
18 C_ASSERT_FIELD(KTHREAD
, 0x024, ULONG
, ThreadLock
)
19 C_ASSERT_FIELD(KTHREAD
, 0x028, KAPC_STATE
, ApcState
)
20 C_ASSERT_FIELD(KTHREAD
, 0x028, UCHAR
, ApcStateFill
)
21 C_ASSERT_FIELD(KTHREAD
, 0x03F, UCHAR
, ApcQueueable
)
22 C_ASSERT_FIELD(KTHREAD
, 0x040, UCHAR
, NextProcessor
)
23 C_ASSERT_FIELD(KTHREAD
, 0x041, UCHAR
, DeferredProcessor
)
24 C_ASSERT_FIELD(KTHREAD
, 0x042, UCHAR
, AdjustReason
)
25 C_ASSERT_FIELD(KTHREAD
, 0x043, CHAR
, AdjustIncrement
)
26 C_ASSERT_FIELD(KTHREAD
, 0x044, ULONG
, ApcQueueLock
)
27 C_ASSERT_FIELD(KTHREAD
, 0x048, ULONG
, ContextSwitches
)
28 C_ASSERT_FIELD(KTHREAD
, 0x04C, UCHAR
, State
)
29 C_ASSERT_FIELD(KTHREAD
, 0x04D, UCHAR
, NpxState
)
30 C_ASSERT_FIELD(KTHREAD
, 0x04E, UCHAR
, WaitIrql
)
31 C_ASSERT_FIELD(KTHREAD
, 0x04F, CHAR
, WaitMode
)
32 C_ASSERT_FIELD(KTHREAD
, 0x050, LONG
, WaitStatus
)
33 C_ASSERT_FIELD(KTHREAD
, 0x054, PKWAIT_BLOCK
, WaitBlockList
)
34 C_ASSERT_FIELD(KTHREAD
, 0x054, PKGATE
, GateObject
)
35 C_ASSERT_FIELD(KTHREAD
, 0x058, UCHAR
, Alertable
)
36 C_ASSERT_FIELD(KTHREAD
, 0x059, UCHAR
, WaitNext
)
37 C_ASSERT_FIELD(KTHREAD
, 0x05A, UCHAR
, WaitReason
)
38 C_ASSERT_FIELD(KTHREAD
, 0x05B, CHAR
, Priority
)
39 C_ASSERT_FIELD(KTHREAD
, 0x05C, UCHAR
, EnableStackSwap
)
40 C_ASSERT_FIELD(KTHREAD
, 0x05D, UCHAR
, SwapBusy
)
41 C_ASSERT_FIELD(KTHREAD
, 0x05E, UCHAR
, Alerted
)
42 C_ASSERT_FIELD(KTHREAD
, 0x060, LIST_ENTRY
, WaitListEntry
)
43 C_ASSERT_FIELD(KTHREAD
, 0x060, SINGLE_LIST_ENTRY
, SwapListEntry
)
44 C_ASSERT_FIELD(KTHREAD
, 0x068, KQUEUE
*, Queue
)
45 C_ASSERT_FIELD(KTHREAD
, 0x06C, ULONG
, WaitTime
)
46 C_ASSERT_FIELD(KTHREAD
, 0x070, INT16
, KernelApcDisable
)
47 C_ASSERT_FIELD(KTHREAD
, 0x072, INT16
, SpecialApcDisable
)
48 C_ASSERT_FIELD(KTHREAD
, 0x070, ULONG
, CombinedApcDisable
)
49 C_ASSERT_FIELD(KTHREAD
, 0x074, PVOID
, Teb
)
50 C_ASSERT_FIELD(KTHREAD
, 0x078, KTIMER
, Timer
)
51 C_ASSERT_FIELD(KTHREAD
, 0x078, UCHAR
, TimerFill
)
52 //C_ASSERT_FIELD(KTHREAD, 0x0A0, LONG, AutoAlignment)
53 //C_ASSERT_FIELD(KTHREAD, 0x0A0, LONG, DisableBoost)
54 //C_ASSERT_FIELD(KTHREAD, 0x0A0, LONG, ReservedFlags)
55 C_ASSERT_FIELD(KTHREAD
, 0x0A0, LONG
, ThreadFlags
)
56 C_ASSERT_FIELD(KTHREAD
, 0x0A8, KWAIT_BLOCK
, WaitBlock
)
57 C_ASSERT_FIELD(KTHREAD
, 0x0A8, UCHAR
, WaitBlockFill0
)
58 C_ASSERT_FIELD(KTHREAD
, 0x0BF, UCHAR
, SystemAffinityActive
)
59 C_ASSERT_FIELD(KTHREAD
, 0x0A8, UCHAR
, WaitBlockFill1
)
60 C_ASSERT_FIELD(KTHREAD
, 0x0D7, CHAR
, PreviousMode
)
61 C_ASSERT_FIELD(KTHREAD
, 0x0A8, UCHAR
, WaitBlockFill2
)
62 C_ASSERT_FIELD(KTHREAD
, 0x0EF, UCHAR
, ResourceIndex
)
63 C_ASSERT_FIELD(KTHREAD
, 0x0A8, UCHAR
, WaitBlockFill3
)
64 C_ASSERT_FIELD(KTHREAD
, 0x107, UCHAR
, LargeStack
)
65 C_ASSERT_FIELD(KTHREAD
, 0x108, LIST_ENTRY
, QueueListEntry
)
66 C_ASSERT_FIELD(KTHREAD
, 0x110, PKTRAP_FRAME
, TrapFrame
)
67 C_ASSERT_FIELD(KTHREAD
, 0x114, PVOID
, CallbackStack
)
68 C_ASSERT_FIELD(KTHREAD
, 0x118, PVOID
, ServiceTable
)
69 C_ASSERT_FIELD(KTHREAD
, 0x11C, UCHAR
, ApcStateIndex
)
70 C_ASSERT_FIELD(KTHREAD
, 0x11D, UCHAR
, IdealProcessor
)
71 C_ASSERT_FIELD(KTHREAD
, 0x11E, UCHAR
, Preempted
)
72 C_ASSERT_FIELD(KTHREAD
, 0x11F, UCHAR
, ProcessReadyQueue
)
73 C_ASSERT_FIELD(KTHREAD
, 0x120, UCHAR
, KernelStackResident
)
74 C_ASSERT_FIELD(KTHREAD
, 0x121, CHAR
, BasePriority
)
75 C_ASSERT_FIELD(KTHREAD
, 0x122, CHAR
, PriorityDecrement
)
76 C_ASSERT_FIELD(KTHREAD
, 0x123, CHAR
, Saturation
)
77 C_ASSERT_FIELD(KTHREAD
, 0x124, ULONG
, UserAffinity
)
78 C_ASSERT_FIELD(KTHREAD
, 0x128, PKPROCESS
, Process
)
79 C_ASSERT_FIELD(KTHREAD
, 0x12C, ULONG
, Affinity
)
80 C_ASSERT_FIELD(KTHREAD
, 0x130, PKAPC_STATE
, ApcStatePointer
)
81 C_ASSERT_FIELD(KTHREAD
, 0x138, KAPC_STATE
, SavedApcState
)
82 C_ASSERT_FIELD(KTHREAD
, 0x138, UCHAR
, SavedApcStateFill
)
83 C_ASSERT_FIELD(KTHREAD
, 0x14F, CHAR
, FreezeCount
)
84 C_ASSERT_FIELD(KTHREAD
, 0x150, CHAR
, SuspendCount
)
85 C_ASSERT_FIELD(KTHREAD
, 0x151, UCHAR
, UserIdealProcessor
)
86 C_ASSERT_FIELD(KTHREAD
, 0x152, UCHAR
, CalloutActive
)
87 C_ASSERT_FIELD(KTHREAD
, 0x153, UCHAR
, Iopl
)