2#if defined(__ROS_LONG64__)
3#undef InterlockedExchange
4#define InterlockedExchange(a,b) _InterlockedExchange((long*)a,b)
5#undef InterlockedExchangeAdd
6#define InterlockedExchangeAdd(a,b) _InterlockedExchangeAdd((long*)a,b)
7#undef InterlockedCompareExchange
8#define InterlockedCompareExchange(a,b,c) _InterlockedCompareExchange((long*)a,b,c)
9#undef InterlockedIncrement
10#define InterlockedIncrement(a) _InterlockedIncrement((long*)a)
11#undef InterlockedDecrement
12#define InterlockedDecrement(a) _InterlockedDecrement((long*)a)
16#undef __C89_NAMELESSSTRUCTNAME
17#undef __C89_NAMELESSSTRUCTNAME1
18#undef __C89_NAMELESSSTRUCTNAME2
19#undef __C89_NAMELESSSTRUCTNAME3
20#undef __C89_NAMELESSSTRUCTNAME4
21#undef __C89_NAMELESSSTRUCTNAME5
22#undef __C89_NAMELESSUNIONNAME
23#undef __C89_NAMELESSUNIONNAME1
24#undef __C89_NAMELESSUNIONNAME2
25#undef __C89_NAMELESSUNIONNAME3
26#undef __C89_NAMELESSUNIONNAME4
27#undef __C89_NAMELESSUNIONNAME5
28#undef __C89_NAMELESSUNIONNAME6
29#undef __C89_NAMELESSUNIONNAME7
30#undef __C89_NAMELESSUNIONNAME8
32#if !defined(__WINESRC__) && !defined(WINE_NO_NAMELESS_EXTENSION)
35# if (__GNUC__ > 2) || ((__GNUC__ == 2) && ((__GNUC_MINOR__ > 95) || ((__GNUC_MINOR__ == 95) && defined(__cplusplus))))
36# define __C89_NAMELESS __extension__
38# elif defined(_MSC_VER)
39# define __C89_NAMELESS
44# define __C89_NAMELESSSTRUCTNAME
45# define __C89_NAMELESSSTRUCTNAME1
46# define __C89_NAMELESSSTRUCTNAME2
47# define __C89_NAMELESSSTRUCTNAME3
48# define __C89_NAMELESSSTRUCTNAME4
49# define __C89_NAMELESSSTRUCTNAME5
50# define __C89_NAMELESSUNIONNAME
51# define __C89_NAMELESSUNIONNAME1
52# define __C89_NAMELESSUNIONNAME2
53# define __C89_NAMELESSUNIONNAME3
54# define __C89_NAMELESSUNIONNAME4
55# define __C89_NAMELESSUNIONNAME5
56# define __C89_NAMELESSUNIONNAME6
57# define __C89_NAMELESSUNIONNAME7
58# define __C89_NAMELESSUNIONNAME8
60# define __C89_NAMELESS
61# define __C89_NAMELESSSTRUCTNAME DUMMYSTRUCTNAME
62# define __C89_NAMELESSSTRUCTNAME1 DUMMYSTRUCTNAME1
63# define __C89_NAMELESSSTRUCTNAME2 DUMMYSTRUCTNAME2
64# define __C89_NAMELESSSTRUCTNAME3 DUMMYSTRUCTNAME3
65# define __C89_NAMELESSSTRUCTNAME4 DUMMYSTRUCTNAME4
66# define __C89_NAMELESSSTRUCTNAME5 DUMMYSTRUCTNAME5
67# define __C89_NAMELESSUNIONNAME DUMMYUNIONNAME
68# define __C89_NAMELESSUNIONNAME1 DUMMYUNIONNAME1
69# define __C89_NAMELESSUNIONNAME2 DUMMYUNIONNAME2
70# define __C89_NAMELESSUNIONNAME3 DUMMYUNIONNAME3
71# define __C89_NAMELESSUNIONNAME4 DUMMYUNIONNAME4
72# define __C89_NAMELESSUNIONNAME5 DUMMYUNIONNAME5
73# define __C89_NAMELESSUNIONNAME6 DUMMYUNIONNAME6
74# define __C89_NAMELESSUNIONNAME7 DUMMYUNIONNAME7
75# define __C89_NAMELESSUNIONNAME8 DUMMYUNIONNAME8
78#define DECLSPEC_HIDDEN
81#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
82# define __WINE_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
84# define __WINE_ALLOC_SIZE(x)
90# ifndef _INTEGRAL_MAX_BITS
91# define _INTEGRAL_MAX_BITS 64
94# define __int64 long long
95#elif (defined(__WATCOMC__) || defined(_MSC_VER)) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 )
100# pragma warning(push)
101# pragma warning(disable:4201)
102# pragma warning(disable:4214)
103# pragma warning(disable:4820)
106#define ACE_OBJECT_TYPE_PRESENT 0x00000001
107#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002
110#define COMPRESSION_FORMAT_NONE (0x0000)
111#define COMPRESSION_FORMAT_DEFAULT (0x0001)
112#define COMPRESSION_FORMAT_LZNT1 (0x0002)
113#define COMPRESSION_ENGINE_STANDARD (0x0000)
114#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
115#define COMPRESSION_ENGINE_HIBER (0x0200)
116#define ACCESS_ALLOWED_ACE_TYPE (0x0)
117#define ACCESS_DENIED_ACE_TYPE (0x1)
118#define SYSTEM_AUDIT_ACE_TYPE (0x2)
119#define SYSTEM_ALARM_ACE_TYPE (0x3)
122#define REG_STANDARD_FORMAT 1
123#define REG_LATEST_FORMAT 2
124#define REG_NO_COMPRESSION 4
126#ifndef WIN32_NO_STATUS
128#define STATUS_WAIT_0 ((DWORD)0x00000000)
129#define STATUS_ABANDONED_WAIT_0 ((DWORD)0x00000080)
130#define STATUS_USER_APC ((DWORD)0x000000C0)
131#define STATUS_TIMEOUT ((DWORD)0x00000102)
132#define STATUS_PENDING ((DWORD)0x00000103)
133#define STATUS_SEGMENT_NOTIFICATION ((DWORD)0x40000005)
134#define STATUS_GUARD_PAGE_VIOLATION ((DWORD)0x80000001)
135#define STATUS_DATATYPE_MISALIGNMENT ((DWORD)0x80000002)
136#define STATUS_BREAKPOINT ((DWORD)0x80000003)
137#define STATUS_SINGLE_STEP ((DWORD)0x80000004)
138#define STATUS_ACCESS_VIOLATION ((DWORD)0xC0000005)
139#define STATUS_IN_PAGE_ERROR ((DWORD)0xC0000006)
140#define STATUS_INVALID_HANDLE ((DWORD)0xC0000008)
141#define STATUS_NO_MEMORY ((DWORD)0xC0000017)
142#define STATUS_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D)
143#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025)
144#define STATUS_INVALID_DISPOSITION ((DWORD)0xC0000026)
145#define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C)
146#define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD)0xC000008D)
147#define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD)0xC000008E)
148#define STATUS_FLOAT_INEXACT_RESULT ((DWORD)0xC000008F)
149#define STATUS_FLOAT_INVALID_OPERATION ((DWORD)0xC0000090)
150#define STATUS_FLOAT_OVERFLOW ((DWORD)0xC0000091)
151#define STATUS_FLOAT_STACK_CHECK ((DWORD)0xC0000092)
152#define STATUS_FLOAT_UNDERFLOW ((DWORD)0xC0000093)
153#define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD)0xC0000094)
154#define STATUS_INTEGER_OVERFLOW ((DWORD)0xC0000095)
155#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD)0xC0000096)
156#define STATUS_STACK_OVERFLOW ((DWORD)0xC00000FD)
157#define STATUS_CONTROL_C_EXIT ((DWORD)0xC000013A)
158#define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD)0xC00002B4)
159#define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD)0xC00002B5)
160#define STATUS_REG_NAT_CONSUMPTION ((DWORD)0xC00002C9)
161#define STATUS_SXS_EARLY_DEACTIVATION ((DWORD)0xC015000F)
162#define STATUS_SXS_INVALID_DEACTIVATION ((DWORD)0xC0150010)
164#define DBG_EXCEPTION_HANDLED ((DWORD)0x00010001)
165#define DBG_CONTINUE ((DWORD)0x00010002)
166#define DBG_TERMINATE_THREAD ((DWORD)0x40010003)
167#define DBG_TERMINATE_PROCESS ((DWORD)0x40010004)
168#define DBG_CONTROL_C ((DWORD)0x40010005)
169#define DBG_CONTROL_BREAK ((DWORD)0x40010008)
170#define DBG_COMMAND_EXCEPTION ((DWORD)0x40010009)
171#define DBG_EXCEPTION_NOT_HANDLED ((DWORD)0x80010001)
175#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
178#define FILE_LIST_DIRECTORY 0x00000001
179#define FILE_READ_DATA 0x00000001
180#define FILE_ADD_FILE 0x00000002
181#define FILE_WRITE_DATA 0x00000002
182#define FILE_ADD_SUBDIRECTORY 0x00000004
183#define FILE_APPEND_DATA 0x00000004
184#define FILE_CREATE_PIPE_INSTANCE 0x00000004
185#define FILE_READ_EA 0x00000008
186#define FILE_READ_PROPERTIES 0x00000008
187#define FILE_WRITE_EA 0x00000010
188#define FILE_WRITE_PROPERTIES 0x00000010
189#define FILE_EXECUTE 0x00000020
190#define FILE_TRAVERSE 0x00000020
191#define FILE_DELETE_CHILD 0x00000040
192#define FILE_READ_ATTRIBUTES 0x00000080
193#define FILE_WRITE_ATTRIBUTES 0x00000100
195#define FILE_SHARE_READ 0x00000001
196#define FILE_SHARE_WRITE 0x00000002
197#define FILE_SHARE_DELETE 0x00000004
198#define FILE_SHARE_VALID_FLAGS 0x00000007
200#define FILE_ATTRIBUTE_READONLY 0x00000001
201#define FILE_ATTRIBUTE_HIDDEN 0x00000002
202#define FILE_ATTRIBUTE_SYSTEM 0x00000004
203#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
204#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
205#define FILE_ATTRIBUTE_DEVICE 0x00000040
206#define FILE_ATTRIBUTE_NORMAL 0x00000080
207#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
208#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
209#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
210#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
211#define FILE_ATTRIBUTE_OFFLINE 0x00001000
212#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
213#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
214#define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000
215#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
216#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
217#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
219#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
220#define FILE_STRUCTURED_STORAGE 0x00000441
222#define FILE_VALID_OPTION_FLAGS 0x00ffffff
223#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
224#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
225#define FILE_VALID_SET_FLAGS 0x00000036
227#define FILE_DIRECTORY_FILE 0x00000001
228#define FILE_WRITE_THROUGH 0x00000002
229#define FILE_SEQUENTIAL_ONLY 0x00000004
230#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
231#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
232#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
233#define FILE_NON_DIRECTORY_FILE 0x00000040
234#define FILE_CREATE_TREE_CONNECTION 0x00000080
235#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
236#define FILE_NO_EA_KNOWLEDGE 0x00000200
237#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
238#define FILE_RANDOM_ACCESS 0x00000800
239#define FILE_DELETE_ON_CLOSE 0x00001000
240#define FILE_OPEN_BY_FILE_ID 0x00002000
241#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
242#define FILE_NO_COMPRESSION 0x00008000
243#define FILE_RESERVE_OPFILTER 0x00100000
244#define FILE_OPEN_REPARSE_POINT 0x00200000
245#define FILE_OPEN_NO_RECALL 0x00400000
246#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
248#define FILE_ALL_ACCESS \
249 (STANDARD_RIGHTS_REQUIRED | \
253#define FILE_GENERIC_EXECUTE \
254 (STANDARD_RIGHTS_EXECUTE | \
255 FILE_READ_ATTRIBUTES | \
259#define FILE_GENERIC_READ \
260 (STANDARD_RIGHTS_READ | \
262 FILE_READ_ATTRIBUTES | \
266#define FILE_GENERIC_WRITE \
267 (STANDARD_RIGHTS_WRITE | \
269 FILE_WRITE_ATTRIBUTES | \
275#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
276#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
277#define FILE_NOTIFY_CHANGE_NAME 0x00000003
278#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
279#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
280#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
281#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
282#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
283#define FILE_NOTIFY_CHANGE_EA 0x00000080
284#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
285#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
286#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
287#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
288#define FILE_NOTIFY_VALID_MASK 0x00000fff
290#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
291#define FILE_CASE_PRESERVED_NAMES 0x00000002
292#define FILE_UNICODE_ON_DISK 0x00000004
293#define FILE_PERSISTENT_ACLS 0x00000008
294#define FILE_FILE_COMPRESSION 0x00000010
295#define FILE_VOLUME_QUOTAS 0x00000020
296#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
297#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
298#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
299#define FS_LFN_APIS 0x00004000
300#define FILE_VOLUME_IS_COMPRESSED 0x00008000
301#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
302#define FILE_SUPPORTS_ENCRYPTION 0x00020000
303#define FILE_NAMED_STREAMS 0x00040000
304#define FILE_READ_ONLY_VOLUME 0x00080000
305#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000
306#define FILE_SUPPORTS_TRANSACTIONS 0x00200000
307#define FILE_SUPPORTS_HARD_LINKS 0x00400000
308#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
309#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000
310#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
311#define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000
312#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000
313#define FILE_SUPPORTS_SPARSE_VDL 0x10000000
314#define FILE_DAX_VOLUME 0x20000000
316#define IO_COMPLETION_QUERY_STATE 0x0001
317#define IO_COMPLETION_MODIFY_STATE 0x0002
318#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
322#define DUPLICATE_CLOSE_SOURCE 0x00000001
323#define DUPLICATE_SAME_ACCESS 0x00000002
326#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
327#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
328#define PROCESS_TERMINATE 1
329#define PROCESS_CREATE_THREAD 2
330#define PROCESS_SET_SESSIONID 4
331#define PROCESS_VM_OPERATION 8
332#define PROCESS_VM_READ 16
333#define PROCESS_VM_WRITE 32
334#define PROCESS_CREATE_PROCESS 128
335#define PROCESS_SET_QUOTA 256
336#define PROCESS_SET_INFORMATION 512
337#define PROCESS_QUERY_INFORMATION 1024
338#define PROCESS_SUSPEND_RESUME 2048
339#define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
340#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
341#define PROCESS_DUP_HANDLE 64
342#define THREAD_TERMINATE 1
343#define THREAD_SUSPEND_RESUME 2
344#define THREAD_GET_CONTEXT 8
345#define THREAD_SET_CONTEXT 16
346#define THREAD_SET_INFORMATION 32
347#define THREAD_QUERY_INFORMATION 64
348#define THREAD_SET_THREAD_TOKEN 128
349#define THREAD_IMPERSONATE 256
350#define THREAD_DIRECT_IMPERSONATION 0x200
351#define THREAD_QUERY_LIMITED_INFORMATION 0x0800
352#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF)
353#define MUTANT_QUERY_STATE 0x0001
354#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
355#define TIMER_QUERY_STATE 0x0001
356#define TIMER_MODIFY_STATE 0x0002
357#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
358#define THREAD_BASE_PRIORITY_LOWRT 15
359#define THREAD_BASE_PRIORITY_MAX 2
360#define THREAD_BASE_PRIORITY_MIN (-2)
361#define THREAD_BASE_PRIORITY_IDLE (-15)
363#define PROCESS_SET_LIMITED_INFORMATION 0x2000
364#define THREAD_RESUME 0x1000
366#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
367#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
368#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
369#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
370#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
371#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
372#define SE_TCB_NAME TEXT("SeTcbPrivilege")
373#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
374#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
375#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
376#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
377#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
378#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
379#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
380#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
381#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
382#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
383#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
384#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
385#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
386#define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
387#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
388#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
389#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
390#define SE_UNDOCK_NAME TEXT("SeUndockPrivilege")
391#define SE_SYNC_AGENT_NAME TEXT("SeSyncAgentPrivilege")
392#define SE_ENABLE_DELEGATION_NAME TEXT("SeEnableDelegationPrivilege")
393#define SE_MANAGE_VOLUME_NAME TEXT("SeManageVolumePrivilege")
394#define SE_IMPERSONATE_NAME TEXT("SeImpersonatePrivilege")
395#define SE_CREATE_GLOBAL_NAME TEXT("SeCreateGlobalPrivilege")
397#define SE_GROUP_MANDATORY 0x00000001
398#define SE_GROUP_ENABLED_BY_DEFAULT 0x00000002
399#define SE_GROUP_ENABLED 0x00000004
400#define SE_GROUP_OWNER 0x00000008
401#define SE_GROUP_USE_FOR_DENY_ONLY 0x00000010
402#define SE_GROUP_INTEGRITY 0x00000020
403#define SE_GROUP_INTEGRITY_ENABLED 0x00000040
404#define SE_GROUP_LOGON_ID 0xC0000000
405#define SE_GROUP_RESOURCE 0x20000000
406#define SE_GROUP_VALID_ATTRIBUTES 0xE000007F
409#define LANG_ESPERANTO 0x8f
410#define LANG_WALON 0x90
411#define LANG_CORNISH 0x92
414#define LANG_MALAGASY 0x8d
415#define LANG_GAELIC 0x94
416#define LANG_SAAMI 0x3b
417#define LANG_SUTU 0x30
418#define LANG_TSONGA 0x31
419#define LANG_VENDA 0x33
420#define LANG_MANX_GAELIC 0x94
421#define SUBLANG_PORTUGUESE_PORTUGAL 0x02
423#define PROCESSOR_INTEL_386 386
424#define PROCESSOR_INTEL_486 486
425#define PROCESSOR_INTEL_PENTIUM 586
426#define PROCESSOR_MIPS_R4000 4000
427#define PROCESSOR_ALPHA_21064 21064
428#define PROCESSOR_INTEL_IA64 2200
429#define PROCESSOR_PPC_601 601
430#define PROCESSOR_PPC_603 603
431#define PROCESSOR_PPC_604 604
432#define PROCESSOR_PPC_620 620
433#define PROCESSOR_INTEL_860 860
434#define PROCESSOR_AMD_X8664 8664
435#define PROCESSOR_MIPS_R2000 2000
436#define PROCESSOR_MIPS_R3000 3000
437#define PROCESSOR_HITACHI_SH3 10003
438#define PROCESSOR_HITACHI_SH3E 10004
439#define PROCESSOR_HITACHI_SH4 10005
440#define PROCESSOR_MOTOROLA_821 821
441#define PROCESSOR_SHx_SH3 103
442#define PROCESSOR_SHx_SH4 104
443#define PROCESSOR_STRONGARM 2577
444#define PROCESSOR_ARM720 1824
445#define PROCESSOR_ARM820 2080
446#define PROCESSOR_ARM920 2336
447#define PROCESSOR_ARM_7TDMI 70001
448#define PROCESSOR_ARCHITECTURE_INTEL 0
449#define PROCESSOR_ARCHITECTURE_MIPS 1
450#define PROCESSOR_ARCHITECTURE_ALPHA 2
451#define PROCESSOR_ARCHITECTURE_PPC 3
452#define PROCESSOR_ARCHITECTURE_SHX 4
453#define PROCESSOR_ARCHITECTURE_ARM 5
454#define PROCESSOR_ARCHITECTURE_IA64 6
455#define PROCESSOR_ARCHITECTURE_ALPHA64 7
456#define PROCESSOR_ARCHITECTURE_MSIL 8
457#define PROCESSOR_ARCHITECTURE_AMD64 9
458#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
461#define PF_FLOATING_POINT_PRECISION_ERRATA 0
462#define PF_FLOATING_POINT_EMULATED 1
463#define PF_COMPARE_EXCHANGE_DOUBLE 2
464#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
465#define PF_PPC_MOVEMEM_64BIT_OK 4
466#define PF_ALPHA_BYTE_INSTRUCTIONS 5
467#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
468#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
469#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
470#define PF_PAE_ENABLED 9
471#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
472#define PF_SSE_DAZ_MODE_AVAILABLE 11
473#define PF_NX_ENABLED 12
474#define PF_SSE3_INSTRUCTIONS_AVAILABLE 13
475#define PF_COMPARE_EXCHANGE128 14
476#define PF_COMPARE64_EXCHANGE128 15
477#define PF_CHANNELS_ENABLED 16
478#define PF_XSAVE_ENABLED 17
479#define PF_ARM_VFP_32_REGISTERS_AVAILABLE 18
480#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE 19
481#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION 20
482#define PF_VIRT_FIRMWARE_ENABLED 21
483#define PF_RDWRFSGSBASE_AVAILABLE 22
484#define PF_FASTFAIL_AVAILABLE 23
485#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE 24
486#define PF_ARM_64BIT_LOADSTORE_ATOMIC 25
487#define PF_ARM_EXTERNAL_CACHE_AVAILABLE 26
488#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE 27
489#define PF_RDRAND_INSTRUCTION_AVAILABLE 28
490#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE 29
491#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE 30
492#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31
495#define FILE_ACTION_ADDED 0x00000001
496#define FILE_ACTION_REMOVED 0x00000002
497#define FILE_ACTION_MODIFIED 0x00000003
498#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
499#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
500#define FILE_ACTION_ADDED_STREAM 0x00000006
501#define FILE_ACTION_REMOVED_STREAM 0x00000007
502#define FILE_ACTION_MODIFIED_STREAM 0x00000008
503#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
504#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
505#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
507#define HEAP_NO_SERIALIZE 1
508#define HEAP_GROWABLE 2
509#define HEAP_GENERATE_EXCEPTIONS 4
510#define HEAP_ZERO_MEMORY 8
511#define HEAP_REALLOC_IN_PLACE_ONLY 16
512#define HEAP_TAIL_CHECKING_ENABLED 32
513#define HEAP_FREE_CHECKING_ENABLED 64
514#define HEAP_DISABLE_COALESCE_ON_FREE 128
515#define HEAP_CREATE_ALIGN_16 0x10000
516#define HEAP_CREATE_ENABLE_TRACING 0x20000
517#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
518#define HEAP_MAXIMUM_TAG 0xFFF
519#define HEAP_PSEUDO_TAG_FLAG 0x8000
520#define HEAP_TAG_SHIFT 16
521#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16)))
523#define KEY_QUERY_VALUE 1
524#define KEY_SET_VALUE 2
525#define KEY_CREATE_SUB_KEY 4
526#define KEY_ENUMERATE_SUB_KEYS 8
528#define KEY_CREATE_LINK 32
529#define KEY_WOW64_64KEY 0x00000100
530#define KEY_WOW64_32KEY 0x00000200
531#define KEY_WOW64_RES 0x00000300
533#define KEY_WRITE 0x20006
534#define KEY_EXECUTE 0x20019
535#define KEY_READ 0x20019
536#define KEY_ALL_ACCESS 0xf003f
537#define REG_WHOLE_HIVE_VOLATILE 1
538#define REG_REFRESH_HIVE 2
539#define REG_NO_LAZY_FLUSH 4
540#define REG_FORCE_RESTORE 8
541#define REG_OPTION_RESERVED 0
542#define REG_OPTION_NON_VOLATILE 0
543#define REG_OPTION_VOLATILE 1
544#define REG_OPTION_CREATE_LINK 2
545#define REG_OPTION_BACKUP_RESTORE 4
546#define REG_OPTION_OPEN_LINK 8
547#define REG_LEGAL_OPTION 15
548#define MAXIMUM_PROCESSORS 32
549#define PAGE_NOACCESS 0x0001
550#define PAGE_READONLY 0x0002
551#define PAGE_READWRITE 0x0004
552#define PAGE_WRITECOPY 0x0008
553#define PAGE_EXECUTE 0x0010
554#define PAGE_EXECUTE_READ 0x0020
555#define PAGE_EXECUTE_READWRITE 0x0040
556#define PAGE_EXECUTE_WRITECOPY 0x0080
557#define PAGE_GUARD 0x0100
558#define PAGE_NOCACHE 0x0200
559#define PAGE_WRITECOMBINE 0x0400
560#define MEM_COMMIT 0x1000
561#define MEM_RESERVE 0x2000
562#define MEM_DECOMMIT 0x4000
563#define MEM_RELEASE 0x8000
564#define MEM_FREE 0x10000
565#define MEM_PRIVATE 0x20000
566#define MEM_MAPPED 0x40000
567#define MEM_RESET 0x80000
568#define MEM_TOP_DOWN 0x100000
569#define MEM_WRITE_WATCH 0x200000
570#define MEM_PHYSICAL 0x400000
571#define MEM_4MB_PAGES 0x80000000
572#define MEM_IMAGE SEC_IMAGE
573#define SEC_NO_CHANGE 0x00400000
574#define SEC_FILE 0x00800000
575#define SEC_IMAGE 0x01000000
576#define SEC_VLM 0x02000000
577#define SEC_RESERVE 0x04000000
578#define SEC_COMMIT 0x08000000
579#define SEC_NOCACHE 0x10000000
580#define SEC_WRITECOMBINE 0x40000000
581#define SEC_LARGE_PAGES 0x80000000
582#define SEC_IMAGE_NO_EXECUTE (SEC_IMAGE | SEC_NOCACHE)
583#define SECTION_MAP_EXECUTE_EXPLICIT 0x0020
584#define SECTION_EXTEND_SIZE 16
585#define SECTION_MAP_READ 4
586#define SECTION_MAP_WRITE 2
587#define SECTION_QUERY 1
588#define SECTION_MAP_EXECUTE 8
589#define SECTION_ALL_ACCESS 0xf001f
590#define WRITE_WATCH_FLAG_RESET 0x01
591#define MESSAGE_RESOURCE_UNICODE 1
592#define RTL_CRITSECT_TYPE 0
593#define RTL_RESOURCE_TYPE 1
595#define AT_ROUND_TO_PAGE 0x40000000
597#define IMAGE_SIZEOF_FILE_HEADER 20
598#define IMAGE_FILE_RELOCS_STRIPPED 1
599#define IMAGE_FILE_EXECUTABLE_IMAGE 2
600#define IMAGE_FILE_LINE_NUMS_STRIPPED 4
601#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8
602#define IMAGE_FILE_AGGRESIVE_WS_TRIM 16
603#define IMAGE_FILE_LARGE_ADDRESS_AWARE 32
604#define IMAGE_FILE_BYTES_REVERSED_LO 128
605#define IMAGE_FILE_32BIT_MACHINE 256
606#define IMAGE_FILE_DEBUG_STRIPPED 512
607#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024
608#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048
609#define IMAGE_FILE_SYSTEM 4096
610#define IMAGE_FILE_DLL 8192
611#define IMAGE_FILE_UP_SYSTEM_ONLY 16384
612#define IMAGE_FILE_BYTES_REVERSED_HI 32768
613#define IMAGE_FILE_MACHINE_UNKNOWN 0
615#define IMAGE_FILE_MACHINE_AM33 0x1d3
616#define IMAGE_FILE_MACHINE_AMD64 0x8664
617#define IMAGE_FILE_MACHINE_ARM 0x1c0
618#define IMAGE_FILE_MACHINE_ARMNT 0x1c4
619#define IMAGE_FILE_MACHINE_EBC 0xebc
620#define IMAGE_FILE_MACHINE_I386 0x14c
621#define IMAGE_FILE_MACHINE_IA64 0x200
622#define IMAGE_FILE_MACHINE_M32R 0x9041
623#define IMAGE_FILE_MACHINE_MIPS16 0x266
624#define IMAGE_FILE_MACHINE_MIPSFPU 0x366
625#define IMAGE_FILE_MACHINE_MIPSFPU16 0x466
626#define IMAGE_FILE_MACHINE_POWERPC 0x1f0
627#define IMAGE_FILE_MACHINE_POWERPCFP 0x1f1
628#define IMAGE_FILE_MACHINE_R4000 0x166
629#define IMAGE_FILE_MACHINE_SH3 0x1a2
630#define IMAGE_FILE_MACHINE_SH3E 0x01a4
631#define IMAGE_FILE_MACHINE_SH3DSP 0x1a3
632#define IMAGE_FILE_MACHINE_SH4 0x1a6
633#define IMAGE_FILE_MACHINE_SH5 0x1a8
634#define IMAGE_FILE_MACHINE_THUMB 0x1c2
635#define IMAGE_FILE_MACHINE_WCEMIPSV2 0x169
636#define IMAGE_FILE_MACHINE_R3000 0x162
637#define IMAGE_FILE_MACHINE_R10000 0x168
638#define IMAGE_FILE_MACHINE_ALPHA 0x184
639#define IMAGE_FILE_MACHINE_ALPHA64 0x0284
640#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64
641#define IMAGE_FILE_MACHINE_CEE 0xC0EE
642#define IMAGE_FILE_MACHINE_TRICORE 0x0520
643#define IMAGE_FILE_MACHINE_CEF 0x0CEF
644#define IMAGE_FILE_MACHINE_ARM64 0xAA64
646#define IMAGE_FILE_EXPORT_DIRECTORY 0
647#define IMAGE_FILE_IMPORT_DIRECTORY 1
648#define IMAGE_FILE_RESOURCE_DIRECTORY 2
649#define IMAGE_FILE_EXCEPTION_DIRECTORY 3
650#define IMAGE_FILE_SECURITY_DIRECTORY 4
651#define IMAGE_FILE_BASE_RELOCATION_TABLE 5
652#define IMAGE_FILE_DEBUG_DIRECTORY 6
653#define IMAGE_FILE_DESCRIPTION_STRING 7
654#define IMAGE_FILE_MACHINE_VALUE 8
655#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9
656#define IMAGE_FILE_CALLBACK_DIRECTORY 10
658#define IMAGE_DOS_SIGNATURE 0x5A4D
659#define IMAGE_OS2_SIGNATURE 0x454E
660#define IMAGE_OS2_SIGNATURE_LE 0x454C
661#define IMAGE_VXD_SIGNATURE 0x454C
662#define IMAGE_NT_SIGNATURE 0x00004550
663#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
664#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b
666#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
668#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
670#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
671#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
672#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
673#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
674#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
675#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
676#define IMAGE_SIZEOF_SHORT_NAME 8
677#define IMAGE_SIZEOF_SECTION_HEADER 40
678#define IMAGE_SIZEOF_SYMBOL 18
679#define IMAGE_SIZEOF_AUX_SYMBOL 18
680#define IMAGE_SIZEOF_RELOCATION 10
681#define IMAGE_SIZEOF_BASE_RELOCATION 8
682#define IMAGE_SIZEOF_LINENUMBER 6
683#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
684#define SIZEOF_RFPO_DATA 16
686#define IMAGE_SUBSYSTEM_UNKNOWN 0
687#define IMAGE_SUBSYSTEM_NATIVE 1
688#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
689#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
690#define IMAGE_SUBSYSTEM_OS2_CUI 5
691#define IMAGE_SUBSYSTEM_POSIX_CUI 7
692#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8
693#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
694#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
695#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
696#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
697#define IMAGE_SUBSYSTEM_EFI_ROM 13
698#define IMAGE_SUBSYSTEM_XBOX 14
700#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040
701#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080
702#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100
703#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200
704#define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400
705#define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800
706#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000
707#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
708#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
709#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
710#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
711#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
712#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
713#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
714#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
715#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
716#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
717#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
718#define IMAGE_DIRECTORY_ENTRY_TLS 9
719#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
720#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
721#define IMAGE_DIRECTORY_ENTRY_IAT 12
722#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
723#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
724#define IMAGE_SCN_TYPE_REG 0
725#define IMAGE_SCN_TYPE_DSECT 1
727#define IMAGE_SCN_TYPE_GROUP 4
728#define IMAGE_SCN_TYPE_NO_PAD 8
729#define IMAGE_SCN_CNT_CODE 32
730#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
731#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
732#define IMAGE_SCN_LNK_OTHER 256
733#define IMAGE_SCN_LNK_INFO 512
734#define IMAGE_SCN_LNK_REMOVE 2048
735#define IMAGE_SCN_LNK_COMDAT 4096
736#define IMAGE_SCN_MEM_FARDATA 0x8000
737#define IMAGE_SCN_MEM_PURGEABLE 0x20000
738#define IMAGE_SCN_MEM_16BIT 0x20000
739#define IMAGE_SCN_MEM_LOCKED 0x40000
740#define IMAGE_SCN_MEM_PRELOAD 0x80000
741#define IMAGE_SCN_ALIGN_1BYTES 0x100000
742#define IMAGE_SCN_ALIGN_2BYTES 0x200000
743#define IMAGE_SCN_ALIGN_4BYTES 0x300000
744#define IMAGE_SCN_ALIGN_8BYTES 0x400000
745#define IMAGE_SCN_ALIGN_16BYTES 0x500000
746#define IMAGE_SCN_ALIGN_32BYTES 0x600000
747#define IMAGE_SCN_ALIGN_64BYTES 0x700000
748#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
749#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
750#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
751#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
752#define IMAGE_SCN_MEM_SHARED 0x10000000
753#define IMAGE_SCN_MEM_EXECUTE 0x20000000
754#define IMAGE_SCN_MEM_READ 0x40000000
755#define IMAGE_SCN_MEM_WRITE 0x80000000
756#define IMAGE_SYM_UNDEFINED 0
757#define IMAGE_SYM_ABSOLUTE (-1)
758#define IMAGE_SYM_DEBUG (-2)
759#define IMAGE_SYM_TYPE_NULL 0
760#define IMAGE_SYM_TYPE_VOID 1
761#define IMAGE_SYM_TYPE_CHAR 2
762#define IMAGE_SYM_TYPE_SHORT 3
763#define IMAGE_SYM_TYPE_INT 4
764#define IMAGE_SYM_TYPE_LONG 5
765#define IMAGE_SYM_TYPE_FLOAT 6
766#define IMAGE_SYM_TYPE_DOUBLE 7
767#define IMAGE_SYM_TYPE_STRUCT 8
768#define IMAGE_SYM_TYPE_UNION 9
769#define IMAGE_SYM_TYPE_ENUM 10
770#define IMAGE_SYM_TYPE_MOE 11
771#define IMAGE_SYM_TYPE_BYTE 12
772#define IMAGE_SYM_TYPE_WORD 13
773#define IMAGE_SYM_TYPE_UINT 14
774#define IMAGE_SYM_TYPE_DWORD 15
775#define IMAGE_SYM_TYPE_PCODE 32768
776#define IMAGE_SYM_DTYPE_NULL 0
777#define IMAGE_SYM_DTYPE_POINTER 1
778#define IMAGE_SYM_DTYPE_FUNCTION 2
779#define IMAGE_SYM_DTYPE_ARRAY 3
780#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
781#define IMAGE_SYM_CLASS_NULL 0
782#define IMAGE_SYM_CLASS_AUTOMATIC 1
783#define IMAGE_SYM_CLASS_EXTERNAL 2
784#define IMAGE_SYM_CLASS_STATIC 3
785#define IMAGE_SYM_CLASS_REGISTER 4
786#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
787#define IMAGE_SYM_CLASS_LABEL 6
788#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
789#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
790#define IMAGE_SYM_CLASS_ARGUMENT 9
791#define IMAGE_SYM_CLASS_STRUCT_TAG 10
792#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
793#define IMAGE_SYM_CLASS_UNION_TAG 12
794#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
795#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
796#define IMAGE_SYM_CLASS_ENUM_TAG 15
797#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
798#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
799#define IMAGE_SYM_CLASS_BIT_FIELD 18
800#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
801#define IMAGE_SYM_CLASS_BLOCK 100
802#define IMAGE_SYM_CLASS_FUNCTION 101
803#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
804#define IMAGE_SYM_CLASS_FILE 103
805#define IMAGE_SYM_CLASS_SECTION 104
806#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
807#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
808#define IMAGE_COMDAT_SELECT_ANY 2
809#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
810#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
811#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
812#define IMAGE_COMDAT_SELECT_LARGEST 6
813#define IMAGE_COMDAT_SELECT_NEWEST 7
814#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
815#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
816#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
817#define IMAGE_REL_I386_ABSOLUTE 0
818#define IMAGE_REL_I386_DIR16 1
819#define IMAGE_REL_I386_REL16 2
820#define IMAGE_REL_I386_DIR32 6
821#define IMAGE_REL_I386_DIR32NB 7
822#define IMAGE_REL_I386_SEG12 9
823#define IMAGE_REL_I386_SECTION 10
824#define IMAGE_REL_I386_SECREL 11
825#define IMAGE_REL_I386_REL32 20
826#define IMAGE_REL_MIPS_ABSOLUTE 0
827#define IMAGE_REL_MIPS_REFHALF 1
828#define IMAGE_REL_MIPS_REFWORD 2
829#define IMAGE_REL_MIPS_JMPADDR 3
830#define IMAGE_REL_MIPS_REFHI 4
831#define IMAGE_REL_MIPS_REFLO 5
832#define IMAGE_REL_MIPS_GPREL 6
833#define IMAGE_REL_MIPS_LITERAL 7
834#define IMAGE_REL_MIPS_SECTION 10
835#define IMAGE_REL_MIPS_SECREL 11
836#define IMAGE_REL_MIPS_SECRELLO 12
837#define IMAGE_REL_MIPS_SECRELHI 13
838#define IMAGE_REL_MIPS_REFWORDNB 34
839#define IMAGE_REL_MIPS_PAIR 35
840#define IMAGE_REL_ALPHA_ABSOLUTE 0
841#define IMAGE_REL_ALPHA_REFLONG 1
842#define IMAGE_REL_ALPHA_REFQUAD 2
843#define IMAGE_REL_ALPHA_GPREL32 3
844#define IMAGE_REL_ALPHA_LITERAL 4
845#define IMAGE_REL_ALPHA_LITUSE 5
846#define IMAGE_REL_ALPHA_GPDISP 6
847#define IMAGE_REL_ALPHA_BRADDR 7
848#define IMAGE_REL_ALPHA_HINT 8
849#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
850#define IMAGE_REL_ALPHA_REFHI 10
851#define IMAGE_REL_ALPHA_REFLO 11
852#define IMAGE_REL_ALPHA_PAIR 12
853#define IMAGE_REL_ALPHA_MATCH 13
854#define IMAGE_REL_ALPHA_SECTION 14
855#define IMAGE_REL_ALPHA_SECREL 15
856#define IMAGE_REL_ALPHA_REFLONGNB 16
857#define IMAGE_REL_ALPHA_SECRELLO 17
858#define IMAGE_REL_ALPHA_SECRELHI 18
859#define IMAGE_REL_PPC_ABSOLUTE 0
860#define IMAGE_REL_PPC_ADDR64 1
861#define IMAGE_REL_PPC_ADDR32 2
862#define IMAGE_REL_PPC_ADDR24 3
863#define IMAGE_REL_PPC_ADDR16 4
864#define IMAGE_REL_PPC_ADDR14 5
865#define IMAGE_REL_PPC_REL24 6
866#define IMAGE_REL_PPC_REL14 7
867#define IMAGE_REL_PPC_TOCREL16 8
868#define IMAGE_REL_PPC_TOCREL14 9
869#define IMAGE_REL_PPC_ADDR32NB 10
870#define IMAGE_REL_PPC_SECREL 11
871#define IMAGE_REL_PPC_SECTION 12
872#define IMAGE_REL_PPC_IFGLUE 13
873#define IMAGE_REL_PPC_IMGLUE 14
874#define IMAGE_REL_PPC_SECREL16 15
875#define IMAGE_REL_PPC_REFHI 16
876#define IMAGE_REL_PPC_REFLO 17
877#define IMAGE_REL_PPC_PAIR 18
878#define IMAGE_REL_PPC_TYPEMASK 255
879#define IMAGE_REL_PPC_NEG 256
880#define IMAGE_REL_PPC_BRTAKEN 512
881#define IMAGE_REL_PPC_BRNTAKEN 1024
882#define IMAGE_REL_PPC_TOCDEFN 2048
883#define IMAGE_REL_BASED_ABSOLUTE 0
884#define IMAGE_REL_BASED_HIGH 1
885#define IMAGE_REL_BASED_LOW 2
886#define IMAGE_REL_BASED_HIGHLOW 3
887#define IMAGE_REL_BASED_HIGHADJ 4
888#define IMAGE_REL_BASED_MIPS_JMPADDR 5
889#define IMAGE_REL_BASED_MIPS_JMPADDR16 9
890#define IMAGE_REL_BASED_IA64_IMM64 9
891#define IMAGE_REL_BASED_DIR64 10
892#define IMAGE_ARCHIVE_START_SIZE 8
893#define IMAGE_ARCHIVE_START "!<arch>\n"
894#define IMAGE_ARCHIVE_END "`\n"
895#define IMAGE_ARCHIVE_PAD "\n"
896#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
897#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
898#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
899#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
900#define IMAGE_DEBUG_TYPE_UNKNOWN 0
901#define IMAGE_DEBUG_TYPE_COFF 1
902#define IMAGE_DEBUG_TYPE_CODEVIEW 2
903#define IMAGE_DEBUG_TYPE_FPO 3
904#define IMAGE_DEBUG_TYPE_MISC 4
905#define IMAGE_DEBUG_TYPE_EXCEPTION 5
906#define IMAGE_DEBUG_TYPE_FIXUP 6
907#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
908#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
912#define FRAME_NONFPO 3
913#define IMAGE_DEBUG_MISC_EXENAME 1
914#define N_BTMASK 0x000F
915#define N_TMASK 0x0030
916#define N_TMASK1 0x00C0
917#define N_TMASK2 0x00F0
920#define IS_TEXT_UNICODE_ASCII16 1
921#define IS_TEXT_UNICODE_REVERSE_ASCII16 16
922#define IS_TEXT_UNICODE_STATISTICS 2
923#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32
924#define IS_TEXT_UNICODE_CONTROLS 4
925#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64
926#define IS_TEXT_UNICODE_SIGNATURE 8
927#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128
928#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256
929#define IS_TEXT_UNICODE_ODD_LENGTH 512
930#define IS_TEXT_UNICODE_DBCS_LEADBYTE 1024
931#define IS_TEXT_UNICODE_NULL_BYTES 4096
932#define IS_TEXT_UNICODE_UNICODE_MASK 15
933#define IS_TEXT_UNICODE_REVERSE_MASK 240
934#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840
935#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440
936#define SERVICE_KERNEL_DRIVER 1
937#define SERVICE_FILE_SYSTEM_DRIVER 2
938#define SERVICE_ADAPTER 4
939#define SERVICE_RECOGNIZER_DRIVER 8
940#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER)
941#define SERVICE_WIN32_OWN_PROCESS 16
942#define SERVICE_WIN32_SHARE_PROCESS 32
943#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS)
944#define SERVICE_INTERACTIVE_PROCESS 256
945#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS)
946#define SERVICE_BOOT_START 0
947#define SERVICE_SYSTEM_START 1
948#define SERVICE_AUTO_START 2
949#define SERVICE_DEMAND_START 3
950#define SERVICE_DISABLED 4
951#define SERVICE_ERROR_IGNORE 0
952#define SERVICE_ERROR_NORMAL 1
953#define SERVICE_ERROR_SEVERE 2
954#define SERVICE_ERROR_CRITICAL 3
956#define DLL_PROCESS_DETACH 0
957#define DLL_PROCESS_ATTACH 1
958#define DLL_THREAD_ATTACH 2
959#define DLL_THREAD_DETACH 3
961#define DLL_WINE_PREATTACH 8
963#define TAPE_ABSOLUTE_POSITION 0
964#define TAPE_LOGICAL_POSITION 1
965#define TAPE_PSEUDO_LOGICAL_POSITION 2
967#define TAPE_ABSOLUTE_BLOCK 1
968#define TAPE_LOGICAL_BLOCK 2
969#define TAPE_PSEUDO_LOGICAL_BLOCK 3
970#define TAPE_SPACE_END_OF_DATA 4
971#define TAPE_SPACE_RELATIVE_BLOCKS 5
972#define TAPE_SPACE_FILEMARKS 6
973#define TAPE_SPACE_SEQUENTIAL_FMKS 7
974#define TAPE_SPACE_SETMARKS 8
975#define TAPE_SPACE_SEQUENTIAL_SMKS 9
976#define TAPE_DRIVE_FIXED 1
977#define TAPE_DRIVE_SELECT 2
978#define TAPE_DRIVE_INITIATOR 4
979#define TAPE_DRIVE_ERASE_SHORT 16
980#define TAPE_DRIVE_ERASE_LONG 32
981#define TAPE_DRIVE_ERASE_BOP_ONLY 64
982#define TAPE_DRIVE_ERASE_IMMEDIATE 128
983#define TAPE_DRIVE_TAPE_CAPACITY 256
984#define TAPE_DRIVE_TAPE_REMAINING 512
985#define TAPE_DRIVE_FIXED_BLOCK 1024
986#define TAPE_DRIVE_VARIABLE_BLOCK 2048
987#define TAPE_DRIVE_WRITE_PROTECT 4096
988#define TAPE_DRIVE_EOT_WZ_SIZE 8192
989#define TAPE_DRIVE_ECC 0x10000
990#define TAPE_DRIVE_COMPRESSION 0x20000
991#define TAPE_DRIVE_PADDING 0x40000
992#define TAPE_DRIVE_REPORT_SMKS 0x80000
993#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000
994#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000
995#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000
996#define TAPE_DRIVE_EJECT_MEDIA 0x1000000
997#define TAPE_DRIVE_CLEAN_REQUESTS 0x2000000
998#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x4000000
999#define TAPE_DRIVE_RESERVED_BIT 0x80000000
1000#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001
1001#define TAPE_DRIVE_TENSION 0x80000002
1002#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004
1003#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008
1004#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010
1005#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020
1006#define TAPE_DRIVE_TENSION_IMMED 0x80000040
1007#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080
1008#define TAPE_DRIVE_SET_ECC 0x80000100
1009#define TAPE_DRIVE_SET_COMPRESSION 0x80000200
1010#define TAPE_DRIVE_SET_PADDING 0x80000400
1011#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800
1012#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000
1013#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000
1014#define TAPE_DRIVE_LOGICAL_BLK 0x80004000
1015#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000
1016#define TAPE_DRIVE_END_OF_DATA 0x80010000
1017#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000
1018#define TAPE_DRIVE_FILEMARKS 0x80040000
1019#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000
1020#define TAPE_DRIVE_SETMARKS 0x80100000
1021#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000
1022#define TAPE_DRIVE_REVERSE_POSITION 0x80400000
1023#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000
1024#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000
1025#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000
1026#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000
1027#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000
1028#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000
1029#define TAPE_DRIVE_FORMAT 0xA0000000
1030#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000
1031#define TAPE_DRIVE_HIGH_FEATURES 0x80000000
1032#define TAPE_FIXED_PARTITIONS 0
1033#define TAPE_INITIATOR_PARTITIONS 2
1034#define TAPE_SELECT_PARTITIONS 1
1035#define TAPE_FILEMARKS 1
1036#define TAPE_LONG_FILEMARKS 3
1037#define TAPE_SETMARKS 0
1038#define TAPE_SHORT_FILEMARKS 2
1039#define TAPE_ERASE_LONG 1
1040#define TAPE_ERASE_SHORT 0
1042#define TAPE_UNLOAD 1
1043#define TAPE_TENSION 2
1045#define TAPE_UNLOCK 4
1046#define TAPE_FORMAT 5
1047#if (_WIN32_WINNT >= 0x0500)
1048#define VER_MINORVERSION 0x0000001
1049#define VER_MAJORVERSION 0x0000002
1050#define VER_BUILDNUMBER 0x0000004
1051#define VER_PLATFORMID 0x0000008
1052#define VER_SERVICEPACKMINOR 0x0000010
1053#define VER_SERVICEPACKMAJOR 0x0000020
1054#define VER_SUITENAME 0x0000040
1055#define VER_PRODUCT_TYPE 0x0000080
1057#define VER_GREATER 2
1058#define VER_GREATER_EQUAL 3
1060#define VER_LESS_EQUAL 5
1065#define VER_PLATFORM_WIN32s 0
1066#define VER_PLATFORM_WIN32_WINDOWS 1
1067#define VER_PLATFORM_WIN32_NT 2
1068#define VER_NT_WORKSTATION 1
1069#define VER_NT_DOMAIN_CONTROLLER 2
1070#define VER_NT_SERVER 3
1072#define WT_EXECUTEDEFAULT 0x00000000
1073#define WT_EXECUTEINIOTHREAD 0x00000001
1074#define WT_EXECUTEINUITHREAD 0x00000002
1075#define WT_EXECUTEINWAITTHREAD 0x00000004
1076#define WT_EXECUTEONLYONCE 0x00000008
1077#define WT_EXECUTELONGFUNCTION 0x00000010
1078#define WT_EXECUTEINTIMERTHREAD 0x00000020
1079#define WT_EXECUTEINPERSISTENTIOTHREAD 0x00000040
1080#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080
1081#define WT_TRANSFER_IMPERSONATION 0x00000100
1082#define WT_SET_MAX_THREADPOOL_THREADS(flags,limit) ((flags)|=(limit)<<16)
1084#if (_WIN32_WINNT >= 0x0501)
1085#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
1086#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
1087#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION 3
1088#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION 4
1089#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
1090#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
1091#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
1092#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
1093#define ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS 10
1094#define ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO 11
1096#define BTYPE(x) ((x)&N_BTMASK)
1097#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
1098#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
1099#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))
1100#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)
1101#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
1102#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
1103#define TLS_MINIMUM_AVAILABLE 64
1104#define FLS_MAXIMUM_AVAILABLE 128
1105#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
1106#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
1107#define IO_REPARSE_TAG_RESERVED_ZERO 0
1108#define IO_REPARSE_TAG_RESERVED_ONE 1
1109#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
1110#define IsReparseTagMicrosoft(x) ((x)&0x80000000)
1111#define IsReparseTagHighLatency(x) ((x)&0x40000000)
1112#define IsReparseTagNameSurrogate(x) ((x)&0x20000000)
1113#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF
1114#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
1115#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO
1116#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
1117#define IO_REPARSE_TAG_SYMLINK 0xA000000CL
1119#define RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO 0x01000000
1124# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
1127#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
1129typedef struct _GUID {
1130 unsigned long Data1;
1131 unsigned short Data2;
1132 unsigned short Data3;
1133 unsigned char Data4[8];
1152#ifndef _LDT_ENTRY_DEFINED
1153#define _LDT_ENTRY_DEFINED
1184#define SIZE_OF_80387_REGISTERS 80
1185#define CONTEXT_i386 0x10000
1186#define CONTEXT_i486 0x10000
1187#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
1188#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
1189#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
1190#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
1191#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
1192#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
1193#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
1194#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | \
1195 CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | \
1196 CONTEXT_EXTENDED_REGISTERS)
1197#define MAXIMUM_SUPPORTED_EXTENSION 512
1199#define EXCEPTION_READ_FAULT 0
1200#define EXCEPTION_WRITE_FAULT 1
1201#define EXCEPTION_EXECUTE_FAULT 8
1242#elif defined(_AMD64_)
1244#define CONTEXT_AMD64 0x100000
1246#if !defined(RC_INVOKED)
1247#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)
1248#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)
1249#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
1250#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
1251#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
1253#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
1254#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
1256#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
1257#define CONTEXT_SERVICE_ACTIVE 0x10000000
1258#define CONTEXT_EXCEPTION_REQUEST 0x40000000
1259#define CONTEXT_EXCEPTION_REPORTING 0x80000000
1262#define INITIAL_MXCSR 0x1f80
1263#define INITIAL_FPCSR 0x027f
1264#define EXCEPTION_READ_FAULT 0
1265#define EXCEPTION_WRITE_FAULT 1
1266#define EXCEPTION_EXECUTE_FAULT 8
1273typedef struct _XMM_SAVE_AREA32 {
1287 M128A FloatRegisters[8];
1288 M128A XmmRegisters[16];
1368 M128A VectorRegister[26];
1380typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
1382 PM128A FloatingContext[16];
1424} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
1426#define UNW_FLAG_NHANDLER 0x0
1427#define UNW_FLAG_EHANDLER 0x1
1428#define UNW_FLAG_UHANDLER 0x2
1429#define UNW_FLAG_CHAININFO 0x4
1430#define UNW_FLAG_NO_EPILOGUE 0x80000000UL
1432#define RUNTIME_FUNCTION_INDIRECT 0x1
1440#define UNWIND_HISTORY_TABLE_SIZE 12
1442typedef struct _UNWIND_HISTORY_TABLE_ENTRY
1446} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
1448typedef struct _UNWIND_HISTORY_TABLE
1457 UNWIND_HISTORY_TABLE_ENTRY
Entry[UNWIND_HISTORY_TABLE_SIZE];
1458} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
1463GET_RUNTIME_FUNCTION_CALLBACK(
1466typedef GET_RUNTIME_FUNCTION_CALLBACK *PGET_RUNTIME_FUNCTION_CALLBACK;
1471OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK(
1476typedef OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK *POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK;
1481(*PEXCEPTION_FILTER) (
1487(*PTERMINATION_HANDLER) (
1506typedef struct _SCOPE_TABLE_AMD64
1513 DWORD HandlerAddress;
1516} SCOPE_TABLE_AMD64, *PSCOPE_TABLE_AMD64;
1517typedef SCOPE_TABLE_AMD64 SCOPE_TABLE, *PSCOPE_TABLE;
1519#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback"
1540 PGET_RUNTIME_FUNCTION_CALLBACK
Callback,
1542 PCWSTR OutOfProcessCallbackDll);
1568 _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers);
1579 _In_opt_ PUNWIND_HISTORY_TABLE HistoryTable);
1582#define CONTEXT_CONTROL 1L
1583#define CONTEXT_FLOATING_POINT 2L
1584#define CONTEXT_INTEGER 4L
1585#define CONTEXT_DEBUG_REGISTERS 8L
1586#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
1675#elif defined(_ALPHA_)
1676#define CONTEXT_ALPHA 0x20000
1677#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L)
1678#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
1679#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L)
1680#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
1756typedef struct _DEBUG_REGISTERS {
1769} DEBUG_REGISTERS, *PDEBUG_REGISTERS;
1773#define CONTEXT_SH3 0x00000040
1774#define CONTEXT_SH4 0x000000c0
1777#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L)
1778#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L)
1779#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L)
1780#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
1782#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L)
1783#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L)
1784#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L)
1785#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L)
1786#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT)
1852#if !defined(SH3e) && !defined(SH4)
1854 DEBUG_REGISTERS DebugRegisters;
1865#elif defined(_MIPS_)
1869#define CONTEXT_R4000 0x00010000
1871#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L)
1872#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L)
1873#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L)
1875#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
2016#define PAGE_SIZE 0x1000
2021#define CONTEXT_ARM 0x200000L
2022#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L)
2023#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L)
2024#define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004L)
2025#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008L)
2026#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
2028#define EXCEPTION_READ_FAULT 0
2029#define EXCEPTION_WRITE_FAULT 1
2030#define EXCEPTION_EXECUTE_FAULT 8
2032typedef struct _NEON128
2038#define ARM_MAX_BREAKPOINTS 8
2039#define ARM_MAX_WATCHPOINTS 1
2100typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY
2109 DWORD FunctionLength : 11;
2116 DWORD StackAdjust : 10;
2119} IMAGE_ARM_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
2122typedef struct _SCOPE_TABLE_ARM
2129 DWORD HandlerAddress;
2132} SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM;
2133typedef SCOPE_TABLE_ARM SCOPE_TABLE, *PSCOPE_TABLE;
2152#elif defined(_ARM64_)
2154#define CONTEXT_ARM64 0x00400000L
2155#define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x1L)
2156#define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x2L)
2157#define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | 0x4L)
2158#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x8L)
2159#define CONTEXT_X18 (CONTEXT_ARM64 | 0x10L)
2160#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
2163#define EXCEPTION_READ_FAULT 0
2164#define EXCEPTION_WRITE_FAULT 1
2165#define EXCEPTION_EXECUTE_FAULT 8
2178#define ARM64_MAX_BREAKPOINTS 8
2179#define ARM64_MAX_WATCHPOINTS 2
2254typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
2260 DWORD FunctionLength : 11;
2265 DWORD FrameSize : 9;
2268} IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY;
2271typedef struct _SCOPE_TABLE_ARM64 {
2277 DWORD HandlerAddress;
2280} SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
2281typedef SCOPE_TABLE_ARM64 SCOPE_TABLE, *PSCOPE_TABLE;
2298#error "undefined processor type"
2303#define WOW64_CONTEXT_i386 0x00010000
2304#define WOW64_CONTEXT_i486 0x00010000
2305#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001))
2306#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000002))
2307#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000004))
2308#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000008))
2309#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000010))
2310#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000020))
2311#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
2312#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | \
2313 WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | \
2314 WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS)
2316#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000040))
2318#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
2319#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
2320#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
2321#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
2323#define WOW64_SIZE_OF_80387_REGISTERS 80
2324#define WOW64_MAXIMUM_SUPPORTED_EXTENSION 512
2339#include "pshpack4.h"
2371#define EXCEPTION_MAXIMUM_PARAMETERS 15
2372#define EXCEPTION_NONCONTINUABLE 0x01
2373#define EXCEPTION_UNWINDING 0x02
2374#define EXCEPTION_EXIT_UNWIND 0x04
2375#define EXCEPTION_STACK_INVALID 0x08
2376#define EXCEPTION_NESTED_CALL 0x10
2377#define EXCEPTION_TARGET_UNWIND 0x20
2378#define EXCEPTION_COLLIDED_UNWIND 0x40
2379#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
2380 EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
2382#define IS_UNWINDING(Flag) ((Flag & EXCEPTION_UNWIND) != 0)
2383#define IS_DISPATCHING(Flag) ((Flag & EXCEPTION_UNWIND) == 0)
2384#define IS_TARGET_UNWIND(Flag) (Flag & EXCEPTION_TARGET_UNWIND)
2425#define SECURITY_MIN_SID_SIZE (sizeof(SID))
2429typedef
struct _SYSTEM_AUDIT_OBJECT_ACE {
2434 GUID InheritedObjectType;
2660#ifndef _SLIST_HEADER_
2661#define _SLIST_HEADER_
2669typedef struct _SLIST_ENTRY32 {
2704typedef union _SLIST_HEADER32{
2715#define SLIST_ENTRY SINGLE_LIST_ENTRY
2716#define _SLIST_ENTRY _SINGLE_LIST_ENTRY
2717#define PSLIST_ENTRY PSINGLE_LIST_ENTRY
2774#ifndef _RTL_RUN_ONCE_DEF
2775#define _RTL_RUN_ONCE_DEF
2777#define RTL_RUN_ONCE_CHECK_ONLY 0x00000001UL
2778#define RTL_RUN_ONCE_ASYNC 0x00000002UL
2779#define RTL_RUN_ONCE_INIT_FAILED 0x00000004UL
2781#define RTL_RUN_ONCE_INIT {0}
2800#define RTL_CONDITION_VARIABLE_INIT {0}
2801#define RTL_CONDITION_VARIABLE_LOCKMODE_SHARED 0x1
2819#include "pshpack8.h"
2863#define RTL_SRWLOCK_INIT {0}
2875#define EVENTLOG_SEQUENTIAL_READ 1
2876#define EVENTLOG_SEEK_READ 2
2877#define EVENTLOG_FORWARDS_READ 4
2878#define EVENTLOG_BACKWARDS_READ 8
2880#define EVENTLOG_SUCCESS 0
2881#define EVENTLOG_ERROR_TYPE 1
2882#define EVENTLOG_WARNING_TYPE 2
2883#define EVENTLOG_INFORMATION_TYPE 4
2884#define EVENTLOG_AUDIT_SUCCESS 8
2885#define EVENTLOG_AUDIT_FAILURE 16
2964#include <pshpack2.h>
3220#include <pshpack2.h>
3305#ifndef __IMAGE_COR20_HEADER_DEFINED__
3306#define __IMAGE_COR20_HEADER_DEFINED__
3401#include <pshpack8.h>
3421#define IMAGE_ORDINAL_FLAG64 0x8000000000000000ULL
3422#define IMAGE_ORDINAL_FLAG32 0x80000000
3423#define IMAGE_ORDINAL64(Ordinal) (Ordinal & 0xffff)
3424#define IMAGE_ORDINAL32(Ordinal) (Ordinal & 0xffff)
3425#define IMAGE_SNAP_BY_ORDINAL64(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG64)!=0)
3426#define IMAGE_SNAP_BY_ORDINAL32(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG32)!=0)
3450#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG64
3451#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL64(Ordinal)
3454#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL64(Ordinal)
3458#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG32
3459#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL32(Ordinal)
3462#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL32(Ordinal)
3751#define JOB_OBJECT_LIMIT_WORKINGSET 0x0001
3752#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x0002
3753#define JOB_OBJECT_LIMIT_JOB_TIME 0x0004
3754#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x0008
3755#define JOB_OBJECT_LIMIT_AFFINITY 0x0010
3756#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x0020
3757#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x0040
3758#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x0080
3759#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x0100
3760#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x0200
3761#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x0400
3762#define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x0800
3763#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x1000
3764#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x2000
3767#define JOB_OBJECT_UILIMIT_HANDLES 0x0001
3768#define JOB_OBJECT_UILIMIT_READCLIPBOARD 0x0002
3769#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD 0x0004
3770#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x0008
3771#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x0010
3772#define JOB_OBJECT_UILIMIT_GLOBALATOMS 0x0020
3773#define JOB_OBJECT_UILIMIT_DESKTOP 0x0040
3774#define JOB_OBJECT_UILIMIT_EXITWINDOWS 0x0080
3777#define JOB_OBJECT_SECURITY_NO_ADMIN 0x0001
3778#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x0002
3779#define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x0004
3780#define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x0008
3783#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB 0
3784#define JOB_OBJECT_POST_AT_END_OF_JOB 1
3786#define JOB_OBJECT_MSG_END_OF_JOB_TIME 1
3787#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME 2
3788#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT 3
3789#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO 4
3790#define JOB_OBJECT_MSG_NEW_PROCESS 6
3791#define JOB_OBJECT_MSG_EXIT_PROCESS 7
3792#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS 8
3793#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 9
3794#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10
3796#define JOB_OBJECT_ASSIGN_PROCESS 1
3797#define JOB_OBJECT_SET_ATTRIBUTES 2
3798#define JOB_OBJECT_QUERY 4
3799#define JOB_OBJECT_TERMINATE 8
3800#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 16
3801#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|31)