ReactOS 0.4.15-dev-7924-g5949c20
win2003_x86.c
Go to the documentation of this file.
1/* Version definitions */
2#undef NTDDI_VERSION
3#define NTDDI_VERSION NTDDI_WS03SP1
4#undef _WIN32_WINNT
5#define _WIN32_WINNT _WIN32_WINNT_WS03
6
7#include <ntifs.h>
8#include <ndk/ntndk.h>
9
10#define C_ASSERT_FIELD(Type, Offset, MemberType, MemberName) \
11 C_ASSERT(FIELD_OFFSET(Type, MemberName) == Offset); \
12 C_ASSERT(FIELD_SIZE(Type, MemberName) == sizeof(MemberType));
13
14/* KTHREAD */
16C_ASSERT_FIELD(KTHREAD, 0x010, LIST_ENTRY, MutantListHead)
17C_ASSERT_FIELD(KTHREAD, 0x018, PVOID, InitialStack)
18C_ASSERT_FIELD(KTHREAD, 0x01C, PVOID, StackLimit)
19C_ASSERT_FIELD(KTHREAD, 0x020, PVOID, KernelStack)
20C_ASSERT_FIELD(KTHREAD, 0x024, ULONG, ThreadLock)
22C_ASSERT_FIELD(KTHREAD, 0x028, UCHAR[23], ApcStateFill)
23C_ASSERT_FIELD(KTHREAD, 0x03F, UCHAR, ApcQueueable)
24C_ASSERT_FIELD(KTHREAD, 0x040, UCHAR, NextProcessor)
25C_ASSERT_FIELD(KTHREAD, 0x041, UCHAR, DeferredProcessor)
26C_ASSERT_FIELD(KTHREAD, 0x042, UCHAR, AdjustReason)
27C_ASSERT_FIELD(KTHREAD, 0x043, CHAR, AdjustIncrement)
28C_ASSERT_FIELD(KTHREAD, 0x044, ULONG, ApcQueueLock)
29C_ASSERT_FIELD(KTHREAD, 0x048, ULONG, ContextSwitches)
31C_ASSERT_FIELD(KTHREAD, 0x04D, UCHAR, NpxState)
32C_ASSERT_FIELD(KTHREAD, 0x04E, UCHAR, WaitIrql)
33C_ASSERT_FIELD(KTHREAD, 0x04F, CHAR, WaitMode)
34C_ASSERT_FIELD(KTHREAD, 0x050, LONG, WaitStatus)
35C_ASSERT_FIELD(KTHREAD, 0x054, PKWAIT_BLOCK, WaitBlockList)
38C_ASSERT_FIELD(KTHREAD, 0x059, UCHAR, WaitNext)
39C_ASSERT_FIELD(KTHREAD, 0x05A, UCHAR, WaitReason)
41C_ASSERT_FIELD(KTHREAD, 0x05C, UCHAR, EnableStackSwap)
42C_ASSERT_FIELD(KTHREAD, 0x05D, UCHAR, SwapBusy)
43C_ASSERT_FIELD(KTHREAD, 0x05E, UCHAR[2], Alerted)
44C_ASSERT_FIELD(KTHREAD, 0x060, LIST_ENTRY, WaitListEntry)
45C_ASSERT_FIELD(KTHREAD, 0x060, SINGLE_LIST_ENTRY, SwapListEntry)
47C_ASSERT_FIELD(KTHREAD, 0x06C, ULONG, WaitTime)
48C_ASSERT_FIELD(KTHREAD, 0x070, SHORT, KernelApcDisable)
49C_ASSERT_FIELD(KTHREAD, 0x072, SHORT, SpecialApcDisable)
50C_ASSERT_FIELD(KTHREAD, 0x070, ULONG, CombinedApcDisable)
51C_ASSERT_FIELD(KTHREAD, 0x074, PVOID, Teb)
53C_ASSERT_FIELD(KTHREAD, 0x078, UCHAR[40], TimerFill)
54C_ASSERT_FIELD(KTHREAD, 0x0A0, LONG, ThreadFlags)
55C_ASSERT_FIELD(KTHREAD, 0x0A8, KWAIT_BLOCK[4], WaitBlock)
56C_ASSERT_FIELD(KTHREAD, 0x0A8, UCHAR[23], WaitBlockFill0)
57C_ASSERT_FIELD(KTHREAD, 0x0BF, UCHAR, SystemAffinityActive)
58C_ASSERT_FIELD(KTHREAD, 0x0A8, UCHAR[47], WaitBlockFill1)
60C_ASSERT_FIELD(KTHREAD, 0x0A8, UCHAR[71], WaitBlockFill2)
61C_ASSERT_FIELD(KTHREAD, 0x0EF, UCHAR, ResourceIndex)
62C_ASSERT_FIELD(KTHREAD, 0x0A8, UCHAR[95], WaitBlockFill3)
63C_ASSERT_FIELD(KTHREAD, 0x107, UCHAR, LargeStack)
64C_ASSERT_FIELD(KTHREAD, 0x108, LIST_ENTRY, QueueListEntry)
65C_ASSERT_FIELD(KTHREAD, 0x110, PKTRAP_FRAME, TrapFrame)
66C_ASSERT_FIELD(KTHREAD, 0x114, PVOID, CallbackStack)
68C_ASSERT_FIELD(KTHREAD, 0x11C, UCHAR, ApcStateIndex)
69C_ASSERT_FIELD(KTHREAD, 0x11D, UCHAR, IdealProcessor)
70C_ASSERT_FIELD(KTHREAD, 0x11E, UCHAR, Preempted)
71C_ASSERT_FIELD(KTHREAD, 0x11F, UCHAR, ProcessReadyQueue)
72C_ASSERT_FIELD(KTHREAD, 0x120, UCHAR, KernelStackResident)
73C_ASSERT_FIELD(KTHREAD, 0x121, CHAR, BasePriority)
74C_ASSERT_FIELD(KTHREAD, 0x122, CHAR, PriorityDecrement)
75C_ASSERT_FIELD(KTHREAD, 0x123, CHAR, Saturation)
76C_ASSERT_FIELD(KTHREAD, 0x124, ULONG, UserAffinity)
79C_ASSERT_FIELD(KTHREAD, 0x130, PKAPC_STATE[2], ApcStatePointer)
80C_ASSERT_FIELD(KTHREAD, 0x138, KAPC_STATE, SavedApcState)
81C_ASSERT_FIELD(KTHREAD, 0x138, UCHAR[23], SavedApcStateFill)
82C_ASSERT_FIELD(KTHREAD, 0x14F, CHAR, FreezeCount)
83C_ASSERT_FIELD(KTHREAD, 0x150, CHAR, SuspendCount)
84C_ASSERT_FIELD(KTHREAD, 0x151, UCHAR, UserIdealProcessor)
85C_ASSERT_FIELD(KTHREAD, 0x152, UCHAR, CalloutActive)
86C_ASSERT_FIELD(KTHREAD, 0x153, UCHAR, Iopl)
87
88/* TEB */
89C_ASSERT_FIELD(TEB, 0x000, NT_TIB, NtTib)
90C_ASSERT_FIELD(TEB, 0x01C, PVOID, EnvironmentPointer)
92C_ASSERT_FIELD(TEB, 0x028, PVOID, ActiveRpcHandle)
93C_ASSERT_FIELD(TEB, 0x02C, PVOID, ThreadLocalStoragePointer)
94C_ASSERT_FIELD(TEB, 0x030, PPEB, ProcessEnvironmentBlock)
95C_ASSERT_FIELD(TEB, 0x034, ULONG, LastErrorValue)
96C_ASSERT_FIELD(TEB, 0x038, ULONG, CountOfOwnedCriticalSections)
97C_ASSERT_FIELD(TEB, 0x03C, PVOID, CsrClientThread)
98C_ASSERT_FIELD(TEB, 0x040, PVOID, Win32ThreadInfo)
99C_ASSERT_FIELD(TEB, 0x044, ULONG[26], User32Reserved)
100C_ASSERT_FIELD(TEB, 0x0AC, ULONG[5], UserReserved)
101C_ASSERT_FIELD(TEB, 0x0C0, PVOID, WOW32Reserved)
102C_ASSERT_FIELD(TEB, 0x0C4, ULONG, CurrentLocale)
103C_ASSERT_FIELD(TEB, 0x0C8, ULONG, FpSoftwareStatusRegister)
104C_ASSERT_FIELD(TEB, 0x0CC, PVOID[54], SystemReserved1)
106C_ASSERT_FIELD(TEB, 0x1A8, PACTIVATION_CONTEXT_STACK, ActivationContextStackPointer)
107C_ASSERT_FIELD(TEB, 0x1AC, UCHAR[40], SpareBytes1)
108C_ASSERT_FIELD(TEB, 0x1D4, GDI_TEB_BATCH, GdiTebBatch)
109C_ASSERT_FIELD(TEB, 0x6B4, CLIENT_ID, RealClientId)
110C_ASSERT_FIELD(TEB, 0x6BC, PVOID, GdiCachedProcessHandle)
111C_ASSERT_FIELD(TEB, 0x6C0, ULONG, GdiClientPID)
112C_ASSERT_FIELD(TEB, 0x6C4, ULONG, GdiClientTID)
113C_ASSERT_FIELD(TEB, 0x6C8, PVOID, GdiThreadLocalInfo)
114C_ASSERT_FIELD(TEB, 0x6CC, ULONG[62], Win32ClientInfo)
115C_ASSERT_FIELD(TEB, 0x7C4, PVOID[233], glDispatchTable)
116C_ASSERT_FIELD(TEB, 0xB68, ULONG[29], glReserved1)
117C_ASSERT_FIELD(TEB, 0xBDC, PVOID, glReserved2)
118C_ASSERT_FIELD(TEB, 0xBE0, PVOID, glSectionInfo)
119C_ASSERT_FIELD(TEB, 0xBE4, PVOID, glSection)
120C_ASSERT_FIELD(TEB, 0xBE8, PVOID, glTable)
121C_ASSERT_FIELD(TEB, 0xBEC, PVOID, glCurrentRC)
122C_ASSERT_FIELD(TEB, 0xBF0, PVOID, glContext)
123C_ASSERT_FIELD(TEB, 0xBF4, ULONG, LastStatusValue)
124C_ASSERT_FIELD(TEB, 0xBF8, UNICODE_STRING, StaticUnicodeString)
125C_ASSERT_FIELD(TEB, 0xC00, WCHAR[261], StaticUnicodeBuffer)
126C_ASSERT_FIELD(TEB, 0xE0C, PVOID, DeallocationStack)
127C_ASSERT_FIELD(TEB, 0xE10, PVOID[64], TlsSlots)
128C_ASSERT_FIELD(TEB, 0xF10, LIST_ENTRY, TlsLinks)
129C_ASSERT_FIELD(TEB, 0xF18, PVOID, Vdm)
130C_ASSERT_FIELD(TEB, 0xF1C, PVOID, ReservedForNtRpc)
131C_ASSERT_FIELD(TEB, 0xF20, PVOID[2], DbgSsReserved)
132C_ASSERT_FIELD(TEB, 0xF28, ULONG, HardErrorMode)
133C_ASSERT_FIELD(TEB, 0xF2C, PVOID[14], Instrumentation)
134C_ASSERT_FIELD(TEB, 0xF64, PVOID, SubProcessTag)
135C_ASSERT_FIELD(TEB, 0xF68, PVOID, EtwTraceData)
136C_ASSERT_FIELD(TEB, 0xF6C, PVOID, WinSockData)
137C_ASSERT_FIELD(TEB, 0xF70, ULONG, GdiBatchCount)
138C_ASSERT_FIELD(TEB, 0xF74, UCHAR, InDbgPrint)
139C_ASSERT_FIELD(TEB, 0xF75, UCHAR, FreeStackOnTermination)
140C_ASSERT_FIELD(TEB, 0xF76, UCHAR, HasFiberData)
141C_ASSERT_FIELD(TEB, 0xF77, UCHAR, IdealProcessor)
142C_ASSERT_FIELD(TEB, 0xF78, ULONG, GuaranteedStackBytes)
143C_ASSERT_FIELD(TEB, 0xF7C, PVOID, ReservedForPerf)
144C_ASSERT_FIELD(TEB, 0xF80, PVOID, ReservedForOle)
145C_ASSERT_FIELD(TEB, 0xF84, ULONG, WaitingOnLoaderLock)
146C_ASSERT_FIELD(TEB, 0xF88, ULONG, SparePointer1)
147C_ASSERT_FIELD(TEB, 0xF8C, ULONG, SoftPatchPtr1)
148C_ASSERT_FIELD(TEB, 0xF90, ULONG, SoftPatchPtr2)
149C_ASSERT_FIELD(TEB, 0xF94, PVOID*, TlsExpansionSlots)
150C_ASSERT_FIELD(TEB, 0xF98, ULONG, ImpersonationLocale)
151C_ASSERT_FIELD(TEB, 0xF9C, ULONG, IsImpersonating)
152C_ASSERT_FIELD(TEB, 0xFA0, PVOID, NlsCache)
153C_ASSERT_FIELD(TEB, 0xFA4, PVOID, pShimData)
154C_ASSERT_FIELD(TEB, 0xFA8, ULONG, HeapVirtualAffinity)
155C_ASSERT_FIELD(TEB, 0xFAC, PVOID, CurrentTransactionHandle)
156C_ASSERT_FIELD(TEB, 0xFB0, PTEB_ACTIVE_FRAME, ActiveFrame)
157C_ASSERT_FIELD(TEB, 0xFB4, PVOID, FlsData)
158C_ASSERT_FIELD(TEB, 0xFB8, UCHAR, SafeThunkCall)
159C_ASSERT_FIELD(TEB, 0xFB9, UCHAR[3], BooleanSpare)
static SERVICE_TABLE_ENTRYW ServiceTable[2]
Definition: eventlog.c:24
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1774
Definition: Header.h:9
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
_In_ PVOID _In_ BOOLEAN Alertable
Definition: exfuncs.h:453
@ GateObject
Definition: ketypes.h:413
_Out_ PKAPC_STATE ApcState
Definition: mm.h:1765
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
Definition: typedefs.h:120
Definition: ntbasedef.h:628
Definition: compat.h:836
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2225
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
#define C_ASSERT_FIELD(Type, Offset, MemberType, MemberName)
Definition: win2003_x86.c:10
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:174
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1151
* PKAPC_STATE
Definition: ketypes.h:1409
KAPC_STATE
Definition: ketypes.h:1409
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175