ReactOS  0.4.15-dev-976-g0f66c66
compat.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <typedefs.h>
4 #include <guiddef.h>
5 #include <pecoff.h>
6 #include <wine/unicode.h>
7 
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <wchar.h>
11 #include <ctype.h>
12 #include <wctype.h>
13 
14 #define wcsnicmp strncmpiW
15 #define wcsicmp strcmpiW
16 #define wcsrchr strrchrW
17 #define wcschr strchrW
18 
19 typedef HANDLE HWND;
20 
21 #define min(x, y) (((x) < (y)) ? (x) : (y))
22 #define max(x, y) (((x) > (y)) ? (x) : (y))
23 #define _strnicmp(_String1, _String2, _MaxCount) strncasecmp(_String1, _String2, _MaxCount)
24 #define stricmp(_String1, _String2) strcasecmp(_String1, _String2)
25 
26 #ifdef __i386__
27 #define CDECL __cdecl
28 #else
29 #define CDECL
30 #endif
32 
33 // windef.h
34 #define MAX_PATH 260
35 #define CALLBACK
36 typedef int (*FARPROC)();
37 
38 // bytesex.h
39 #define SWAPD(x) x
40 #define SWAPW(x) x
41 
42 // Wine stuff
43 #define DECLSPEC_HIDDEN
44 #define WINE_DEFAULT_DEBUG_CHANNEL(x)
45 #define WINE_DECLARE_DEBUG_CHANNEL(x)
46 extern const char *wine_dbgstr_an( const char * s, int n );
47 extern const char *wine_dbgstr_wn( const WCHAR *s, int n );
48 extern const char *wine_dbg_sprintf( const char *format, ... );
49 static __inline const char *wine_dbgstr_longlong( ULONGLONG ll )
50 {
51  if (/*sizeof(ll) > sizeof(unsigned long) &&*/ ll >> 32) /* ULONGLONG is always > long in ReactOS */
52  return wine_dbg_sprintf( "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll );
53  else return wine_dbg_sprintf( "%lx", (unsigned long)ll );
54 }
55 static __inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); }
56 static __inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); }
57 static __inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
58 static __inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
59 static __inline const char *wine_dbgstr_w( const WCHAR *s ){return wine_dbgstr_wn( s, -1 );}
60 /* This should never be called */
61 #define wine_get_dos_file_name(__x) (assert(0), NULL)
62 
63 #if 0
64 #define WARN(fmt, ...) fprintf(stderr, "WARN %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
65 #define FIXME(fmt, ...) fprintf(stderr, "FIXME %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
66 #define TRACE(fmt, ...) fprintf(stderr, "TRACE %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
67 #define ERR(fmt, ...) fprintf(stderr, "ERR %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
68 #else
69 #define WARN(fmt, ...)
70 #define FIXME(fmt, ...)
71 #define TRACE(fmt, ...)
72 #define ERR(fmt, ...)
73 #endif
74 
75 #define TRACE_ON(x) FALSE
76 #define TRACE_(x) TRACE
77 #define FIXME_(x) FIXME
78 const char *wine_dbg_sprintf( const char *format, ... );
79 #define CP_UNIXCP CP_ACP
80 #define __TRY if(1)
81 #define __EXCEPT_PAGE_FAULT else
82 #define __ENDTRY
83 
84 // basetsd.h
86 
87 // excpt.h
89 {
95 
96 // winerror.h
97 #define ERROR_ACCESS_DENIED 5
98 #define ERROR_INVALID_HANDLE 6
99 #define ERROR_OUTOFMEMORY 14
100 #define ERROR_NOT_SUPPORTED 50
101 #define ERROR_INVALID_PARAMETER 87
102 #define ERROR_CALL_NOT_IMPLEMENTED 120
103 #define ERROR_INVALID_NAME 123
104 #define ERROR_MOD_NOT_FOUND 126
105 #define ERROR_NO_MORE_ITEMS 259
106 #define ERROR_INVALID_ADDRESS 487
107 
108 // winnls.h
109 #define CP_ACP 0
110 #define MultiByteToWideChar __MultiByteToWideChar
111 #define WideCharToMultiByte __WideCharToMultiByte
114 
115 // #define strlenW(s) wcslen((s))
116 // #define strcpyW(d,s) wcscpy((d),(s))
117 // #define strchrW(s,c) wcschr((s),(c))
118 // #define strcatW(d,s) wcscat((d),(s))
119 // #define strncmpiW(s1,s2,n) _wcsnicmp((s1),(s2),(n))
120 // #define strcmpW(s1,s2) wcscmp((s1),(s2))
121 // #define strcmpiW(s1,s2) _wcsicmp((s1),(s2))
122 // #define tolowerW(n) towlower((n))
123 // #define toupperW(n) towupper((n))
124 
125 // winnt.h
126 # define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
127 #define IMAGE_FILE_MACHINE_ARMNT 0x1c4
128 #define IMAGE_FILE_MACHINE_POWERPC 0x1f0
129 #define IMAGE_FILE_MACHINE_ARM64 0xaa64
130 #define DLL_PROCESS_DETACH 0
131 #define DLL_PROCESS_ATTACH 1
132 #define DLL_THREAD_ATTACH 2
133 #define DLL_THREAD_DETACH 3
134 #define HEAP_ZERO_MEMORY 8
135 #define GENERIC_READ 0x80000000
136 #define FILE_SHARE_READ 0x00000001
137 #define FILE_ATTRIBUTE_NORMAL 0x00000080
138 #define PAGE_READONLY 0x0002
139 #define SECTION_MAP_READ 4
140 #define IMAGE_DEBUG_TYPE_UNKNOWN 0
141 #define IMAGE_DEBUG_TYPE_COFF 1
142 #define IMAGE_DEBUG_TYPE_CODEVIEW 2
143 #define IMAGE_DEBUG_TYPE_FPO 3
144 #define IMAGE_DEBUG_TYPE_MISC 4
145 #define IMAGE_DEBUG_TYPE_EXCEPTION 5
146 #define IMAGE_DEBUG_TYPE_FIXUP 6
147 #define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
148 #define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
149 #define IMAGE_SYM_CLASS_EXTERNAL 2
150 #define IMAGE_SYM_CLASS_FILE 103
151 #define IMAGE_DIRECTORY_ENTRY_EXPORT 0
152 #define IMAGE_DIRECTORY_ENTRY_DEBUG 6
153 #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
154 #define IMAGE_DEBUG_MISC_EXENAME 1
155 #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
156 typedef struct _IMAGE_EXPORT_DIRECTORY {
169 typedef struct _IMAGE_DEBUG_MISC {
174  BYTE Data[1];
191 typedef struct _SECURITY_ATTRIBUTES {
196 typedef struct _IMAGE_DEBUG_DIRECTORY {
206 #define EXCEPTION_MAXIMUM_PARAMETERS 15
207 typedef struct _EXCEPTION_RECORD {
215 
216 #define WOW64_CONTEXT_i386 0x00010000
217 #define WOW64_CONTEXT_i486 0x00010000
218 #define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001))
219 #define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000002))
220 #define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000004))
221 #define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000008))
222 #define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000010))
223 #define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000020))
224 #define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
225 #define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | \
226  WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | \
227  WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS)
228 
229 #define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000040))
230 
231 #define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
232 #define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
233 #define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
234 #define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
235 
236 #define WOW64_SIZE_OF_80387_REGISTERS 80
237 #define WOW64_MAXIMUM_SUPPORTED_EXTENSION 512
238 
240 {
251 
252 #include "pshpack4.h"
253 typedef struct _WOW64_CONTEXT
254 {
281 #include "poppack.h"
282 
283 #if defined(TARGET_i386)
284 #define SIZE_OF_80387_REGISTERS 80
285 #define CONTEXT_i386 0x10000
286 #define CONTEXT_i486 0x10000
287 #define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
288 #define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
289 #define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
290 #define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
291 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
292 #define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
293 #define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
294 #define MAXIMUM_SUPPORTED_EXTENSION 512
295 
296 #define EXCEPTION_READ_FAULT 0
297 #define EXCEPTION_WRITE_FAULT 1
298 #define EXCEPTION_EXECUTE_FAULT 8
299 
300 typedef struct _FLOATING_SAVE_AREA {
303  DWORD TagWord;
308  BYTE RegisterArea[80];
311 
312 typedef struct _CONTEXT {
314  DWORD Dr0;
315  DWORD Dr1;
316  DWORD Dr2;
317  DWORD Dr3;
318  DWORD Dr6;
319  DWORD Dr7;
321  DWORD SegGs;
322  DWORD SegFs;
323  DWORD SegEs;
324  DWORD SegDs;
325  DWORD Edi;
326  DWORD Esi;
327  DWORD Ebx;
328  DWORD Edx;
329  DWORD Ecx;
330  DWORD Eax;
331  DWORD Ebp;
332  DWORD Eip;
333  DWORD SegCs;
334  DWORD EFlags;
335  DWORD Esp;
336  DWORD SegSs;
338 } CONTEXT, *PCONTEXT;
339 
340 #elif defined TARGET_amd64
341 
342 #error "Please define the CONTEXT structure for amd64 platform"
343 
344 #elif defined TARGET_arm /* ARM? */
345 
346 /* The following flags control the contents of the CONTEXT structure. */
347 
348 #define CONTEXT_ARM 0x0200000
349 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001)
350 #define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002)
351 #define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004)
352 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008)
353 
354 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
355 
356 #define EXCEPTION_READ_FAULT 0
357 #define EXCEPTION_WRITE_FAULT 1
358 #define EXCEPTION_EXECUTE_FAULT 8
359 
360 typedef struct _RUNTIME_FUNCTION
361 {
362  DWORD BeginAddress;
363  union {
364  DWORD UnwindData;
365  struct {
366  DWORD Flag : 2;
367  DWORD FunctionLength : 11;
368  DWORD Ret : 2;
369  DWORD H : 1;
370  DWORD Reg : 3;
371  DWORD R : 1;
372  DWORD L : 1;
373  DWORD C : 1;
374  DWORD StackAdjust : 10;
375  } DUMMYSTRUCTNAME;
376  } DUMMYUNIONNAME;
378 
379 #define UNWIND_HISTORY_TABLE_SIZE 12
380 typedef struct _UNWIND_HISTORY_TABLE_ENTRY
381 {
382  DWORD ImageBase;
383  PRUNTIME_FUNCTION FunctionEntry;
384 } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
385 
386 typedef struct _UNWIND_HISTORY_TABLE
387 {
388  DWORD Count;
389  BYTE LocalHint;
390  BYTE GlobalHint;
391  BYTE Search;
392  BYTE Once;
393  DWORD LowAddress;
395  UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
396 } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
397 
398 typedef struct _CONTEXT {
399  /* The flags values within this flag control the contents of
400  a CONTEXT record.
401 
402  If the context record is used as an input parameter, then
403  for each portion of the context record controlled by a flag
404  whose value is set, it is assumed that that portion of the
405  context record contains valid context. If the context record
406  is being used to modify a thread's context, then only that
407  portion of the threads context will be modified.
408 
409  If the context record is used as an IN OUT parameter to capture
410  the context of a thread, then only those portions of the thread's
411  context corresponding to set flags will be returned.
412 
413  The context record is never used as an OUT only parameter. */
414 
416 
417  /* This section is specified/returned if the ContextFlags word contains
418  the flag CONTEXT_INTEGER. */
419  ULONG R0;
420  ULONG R1;
421  ULONG R2;
422  ULONG R3;
423  ULONG R4;
424  ULONG R5;
425  ULONG R6;
426  ULONG R7;
427  ULONG R8;
428  ULONG R9;
429  ULONG R10;
430  ULONG Fp;
431  ULONG Ip;
432 
433  /* These are selected by CONTEXT_CONTROL */
434  ULONG Sp;
435  ULONG Lr;
436  ULONG Pc;
437  ULONG Cpsr;
438 } CONTEXT;
439 
443 #else
444 
445 #error "Unknown target platform"
446 
447 #endif
448 
449 typedef
451 NTAPI
453  struct _EXCEPTION_RECORD *ExceptionRecord,
455  struct _CONTEXT *ContextRecord,
458 typedef struct _NT_TIB {
463  union {
466  } DUMMYUNIONNAME;
468  struct _NT_TIB *Self;
469 } NT_TIB,*PNT_TIB;
470 
471 // rtltypes.h
473 {
477 
478 // winbase.h
479 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
480 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
481 #define HeapAlloc __HeapAlloc
482 #define HeapReAlloc __HeapReAlloc
483 #define HeapFree(x,y,z) free(z)
484 #define GetProcessHeap() 1
485 #define GetProcessId(x) 8
486 #define lstrcpynW __lstrcpynW
487 #define CloseHandle __CloseHandle
488 #define CreateFileA(a,b,c,d,e,f,g) fopen(a, "rb")
489 #define CreateFileW __CreateFileW
490 #define ReadFile(a,b,c,d,e) __ReadFile
491 #define SetFilePointer __SetFilePointer
492 #define CreateFileMappingW(a,b,c,d,e,f) a
493 #define MapViewOfFile __MapViewOfFile
494 #define UnmapViewOfFile __UnmapViewOfFile
495 #define LoadLibraryW(x) 0
496 #define FreeLibrary(x) 0
497 #define lstrcpyW strcpyW // Forward this to wine unicode inline function
498 #define lstrlenW strlenW // ditto
499 #define lstrcpynA __lstrcpynA
500 #define SetLastError(x)
501 #define GetProcAddress(x,y) 0
502 #define GetEnvironmentVariableA(x, y, z) 0
503 #define GetEnvironmentVariableW(x, y, z) 0
504 #define GetCurrentDirectoryW(x, y) 0
505 #define GetFileSizeEx __GetFileSizeEx
506 #define ReadProcessMemory(a,b,c,d,e) 0
507 #define GetCurrentProcess() (HANDLE)1
508 #define IsWow64Process __IsWow64Process
509 #define FILE_BEGIN 0
510 
511 void* __HeapAlloc(int heap, int flags, size_t size);
512 void* __HeapReAlloc(int heap, DWORD d2, void *slab, SIZE_T newsize);
513 WCHAR* __lstrcpynW(WCHAR* lpString1, const WCHAR* lpString2, int iMaxLength);
515 HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
516 BOOL __ReadFile(HANDLE,PVOID,DWORD,PDWORD,/*LPOVERLAPPED*/ PVOID);
519 BOOL __UnmapViewOfFile(const void*);
523 #define OPEN_EXISTING 3
524 #define FILE_MAP_READ SECTION_MAP_READ
525 typedef struct _LDT_ENTRY {
528  union {
529  struct {
534  } Bytes;
535  struct {
546  } Bits;
547  } HighWord;
549 
550 // umtypes.h
551 typedef LONG KPRIORITY;
552 
553 // winternl.h
554 #define RtlImageNtHeader __RtlImageNtHeader
555 #define RtlImageRvaToVa __RtlImageRvaToVa
556 #define RtlImageRvaToSection __RtlImageRvaToSection
557 #define RtlImageDirectoryEntryToData __RtlImageDirectoryEntryToData
558 #define RtlComputeCrc32 __RtlComputeCrc32
559 
560 #ifdef _MSC_VER
561 #define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
562 #else
563 #define RtlUlongByteSwap(_x) __builtin_bswap32((_x))
564 #endif
565 
570 
571 typedef struct _CLIENT_ID
572 {
576 #define GDI_BATCH_BUFFER_SIZE 0x136
577 typedef struct _GDI_TEB_BATCH
578 {
583 typedef struct _TEB
584 {
585  NT_TIB Tib; /* 000 */
587  CLIENT_ID ClientId; /* 020 */
590  PVOID Peb; /* 030 */
595  ULONG Win32ClientInfo[31]; /* 044 used for user32 private data in Wine */
596  PVOID WOW32Reserved; /* 0c0 */
597  ULONG CurrentLocale; /* 0c4 */
599  PVOID SystemReserved1[54]; /* 0cc used for kernel32 private data in Wine */
600  PVOID Spare1; /* 1a4 */
601  LONG ExceptionCode; /* 1a8 */
603  BYTE SpareBytes1[36]; /* 1ac */
604  PVOID SystemReserved2[10]; /* 1d4 used for ntdll private data in Wine */
606  ULONG gdiRgn; /* 6dc */
607  ULONG gdiPen; /* 6e0 */
608  ULONG gdiBrush; /* 6e4 */
611  ULONG GdiClientPID; /* 6f4 */
612  ULONG GdiClientTID; /* 6f8 */
614  PVOID UserReserved[5]; /* 700 */
615  PVOID glDispatchTable[280]; /* 714 */
616  ULONG glReserved1[26]; /* b74 */
617  PVOID glReserved2; /* bdc */
618  PVOID glSectionInfo; /* be0 */
619  PVOID glSection; /* be4 */
620  PVOID glTable; /* be8 */
621  PVOID glCurrentRC; /* bec */
622  PVOID glContext; /* bf0 */
624  UNICODE_STRING StaticUnicodeString; /* bf8 used by advapi32 */
625  WCHAR StaticUnicodeBuffer[261]; /* c00 used by advapi32 */
627  PVOID TlsSlots[64]; /* e10 */
628  LIST_ENTRY TlsLinks; /* f10 */
629  PVOID Vdm; /* f18 */
631  PVOID DbgSsReserved[2]; /* f20 */
633  PVOID Instrumentation[16]; /* f2c */
634  PVOID WinSockData; /* f6c */
635  ULONG GdiBatchCount; /* f70 */
636  ULONG Spare2; /* f74 */
637  ULONG Spare3; /* f78 */
638  ULONG Spare4; /* f7c */
641  PVOID Reserved5[3]; /* f88 */
643 } TEB, *PTEB;
644 
645 
646 // winver.h
647 typedef struct tagVS_FIXEDFILEINFO {
662 
663 
664 // psapi.h
665 typedef struct _MODULEINFO {
670 #define GetModuleFileNameExW(w, x, y, z) 0
671 
672 // pstypes.h
674 {
682 typedef enum _THREADINFOCLASS {
719 
720 
721 // dbghelp.h
723 #define MAX_SYM_NAME 2000
724 #define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
725 #define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
726 #define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
727 #define CBA_SYMBOLS_UNLOADED 0x00000004
728 #define CBA_DUPLICATE_SYMBOL 0x00000005
729 #define CBA_READ_MEMORY 0x00000006
730 #define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
731 #define CBA_SET_OPTIONS 0x00000008
732 #define CBA_EVENT 0x00000010
733 #define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
734 #define CBA_DEBUG_INFO 0x10000000
735 #define SYMOPT_CASE_INSENSITIVE 0x00000001
736 #define SYMOPT_UNDNAME 0x00000002
737 #define SYMOPT_DEFERRED_LOADS 0x00000004
738 #define SYMOPT_LOAD_LINES 0x00000010
739 #define SYMOPT_LOAD_ANYTHING 0x00000040
740 #define SYMOPT_PUBLICS_ONLY 0x00004000
741 #define SYMOPT_NO_PUBLICS 0x00008000
742 #define SYMOPT_AUTO_PUBLICS 0x00010000
743 #define SYMFLAG_VALUEPRESENT 0x00000001
744 #define SYMFLAG_REGISTER 0x00000008
745 #define SYMFLAG_REGREL 0x00000010
746 #define SYMFLAG_FRAMEREL 0x00000020
747 #define SYMFLAG_PARAMETER 0x00000040
748 #define SYMFLAG_LOCAL 0x00000080
749 #define SYMFLAG_CONSTANT 0x00000100
750 #define SYMFLAG_EXPORT 0x00000200
751 #define SYMFLAG_FORWARDER 0x00000400
752 #define SYMFLAG_FUNCTION 0x00000800
753 #define SYMFLAG_VIRTUAL 0x00001000
754 #define SYMFLAG_THUNK 0x00002000
755 #define SYMFLAG_TLSREL 0x00004000
756 #define SYMFLAG_SLOT 0x00008000
757 #define SYMFLAG_ILREL 0x00010000
758 #define SYMFLAG_METADATA 0x00020000
759 #define SYMFLAG_CLR_TOKEN 0x00040000
760 #define SYMFLAG_NULL 0x00080000
761 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
762 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
763 #define SYMFLAG_PUBLIC_CODE 0x00400000
764 #define UNDNAME_COMPLETE (0x0000)
765 #define UNDNAME_NAME_ONLY (0x1000)
767 {
772 #define SYMSEARCH_GLOBALSONLY 0x04
773 /* flags for SymLoadModuleEx */
774 #define SLMFLAG_VIRTUAL 0x1
775 #define SLMFLAG_NO_SYMBOLS 0x4
776 typedef struct _DBGHELP_MODLOAD_DATA
777 {
784 typedef struct _SYMBOL_INFO
785 {
800  CHAR Name[1];
802 typedef enum
803 {
804  SymNone = 0,
814 } SYM_TYPE;
815 typedef struct _IMAGEHLP_MODULEW64
816 {
841 typedef struct _IMAGEHLP_LINE64
842 {
849 typedef enum
850 {
853 /* __WINESRC__ */
856 typedef struct _SRCCODEINFO
857 {
868 BOOL WINAPI SymInitialize(HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess);
872 BOOL WINAPI SymMatchStringW(PCWSTR string, PCWSTR re, BOOL _case);
874  PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll);
889 #define FindExecutableImageExW __FindExecutableImageExW
893 {
902 typedef enum
903 {
908 } ADDRESS_MODE;
910 {
920 typedef struct _tagADDRESS64
921 {
938 
940 
941 typedef struct _tagADDRESS
942 {
946 } ADDRESS, *LPADDRESS;
947 
948 typedef struct _IMAGEHLP_MODULE
949 {
961 typedef struct _IMAGEHLP_MODULEW
962 {
983 
984 typedef struct _IMAGEHLP_MODULE64
985 {
1010 typedef DWORD RVA;
1011 typedef ULONG64 RVA64;
1012 typedef enum _MINIDUMP_TYPE
1013 {
1014  MiniDumpNormal = 0x0000,
1029 } MINIDUMP_TYPE;
1031 {
1040 {
1051 {
1064 {
1068 {
1072 {
1076  union
1077  {
1083  } DUMMYUNIONNAME;
1086 {
1087  union
1088  {
1091  struct
1092  {
1095  } DUMMYSTRUCTNAME;
1096  } DUMMYUNIONNAME;
1100 {
1104 typedef struct _SYMBOL_INFOW
1105 {
1123 {
1135 typedef struct _KDHELP64
1136 {
1146 } KDHELP64, *PKDHELP64;
1147 typedef struct _STACKFRAME64
1148 {
1162 {
1191 typedef struct _SOURCEFILE
1192 {
1196 typedef struct _SOURCEFILEW
1197 {
1203 typedef struct _SRCCODEINFOW
1204 {
1215 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1216 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
1217 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
1218 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
1219 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
1220 #else
1221 typedef struct _IMAGEHLP_SYMBOL
1222 {
1230 
1231 typedef struct _IMAGEHLP_SYMBOLW
1232 {
1240 #endif
1241 typedef struct _IMAGEHLP_SYMBOL64
1242 {
1250 typedef struct _IMAGEHLP_SYMBOLW64
1251 {
1259 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1260 #define IMAGEHLP_LINE IMAGEHLP_LINE64
1261 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
1262 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
1263 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
1264 #else
1265 typedef struct _IMAGEHLP_LINE
1266 {
1273 
1274 typedef struct _IMAGEHLP_LINEW
1275 {
1282 #endif
1283 typedef struct _IMAGEHLP_LINEW64
1284 {
1291 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1292 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
1293 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
1294 #else
1296 {
1305 #endif
1307 {
1317 typedef struct API_VERSION
1318 {
1324 
1325 // cvconst.h
1326 /* symbols & types enumeration */
1328 {
1361 };
1362 
1364 {
1366  btVoid = 1,
1367  btChar = 2,
1368  btWChar = 3,
1369  btInt = 6,
1370  btUInt = 7,
1371  btFloat = 8,
1372  btBCD = 9,
1373  btBool = 10,
1374  btLong = 13,
1375  btULong = 14,
1377  btDate = 26,
1380  btBit = 29,
1381  btBSTR = 30,
1383 };
1384 
1385 /* kind of UDT */
1387 {
1391 };
1392 
1393 /* kind of SymTagData */
1395 {
1406 };
1407 
1408 /* values for registers (on different CPUs) */
1410 {
1411  /* those values are common to all supported CPUs (and CPU independent) */
1412  CV_ALLREG_ERR = 30000,
1413  CV_ALLREG_TEB = 30001,
1422  CV_ALLREG_TID = 30010,
1423  CV_ALLREG_ENV = 30011,
1425 
1426  /* Intel x86 CPU */
1462 
1463  /* <pcode> */
1467  CV_REG_PCDR3 = 43, /* this includes PCDR4 to PCDR7 */
1468  CV_REG_CR0 = 80, /* this includes CR1 to CR4 */
1469  CV_REG_DR0 = 90, /* this includes DR1 to DR7 */
1470  /* </pcode> */
1471 
1477  CV_REG_TR = 115,
1478 
1479  CV_REG_PSEUDO1 = 116, /* this includes Pseudo02 to Pseudo09 */
1480  CV_REG_ST0 = 128, /* this includes ST1 to ST7 */
1483  CV_REG_TAG = 138,
1491  CV_REG_MM0 = 146, /* this includes MM1 to MM7 */
1492  CV_REG_XMM0 = 154, /* this includes XMM1 to XMM7 */
1494  CV_REG_XMM0L = 194, /* this includes XMM1L to XMM7L */
1495  CV_REG_XMM0H = 202, /* this includes XMM1H to XMM7H */
1516 
1517  CV_REG_YMM0 = 252, /* this includes YMM1 to YMM7 */
1518  CV_REG_YMM0H = 260, /* this includes YMM1H to YMM7H */
1519  CV_REG_YMM0I0 = 268, /* this includes YMM0I1 to YMM0I3 */
1520  CV_REG_YMM1I0 = 272, /* this includes YMM1I1 to YMM1I3 */
1521  CV_REG_YMM2I0 = 276, /* this includes YMM2I1 to YMM2I3 */
1522  CV_REG_YMM3I0 = 280, /* this includes YMM3I1 to YMM3I3 */
1523  CV_REG_YMM4I0 = 284, /* this includes YMM4I1 to YMM4I3 */
1524  CV_REG_YMM5I0 = 288, /* this includes YMM5I1 to YMM5I3 */
1525  CV_REG_YMM6I0 = 292, /* this includes YMM6I1 to YMM6I3 */
1526  CV_REG_YMM7I0 = 296, /* this includes YMM7I1 to YMM7I3 */
1527  CV_REG_YMM0F0 = 300, /* this includes YMM0F1 to YMM0F7 */
1528  CV_REG_YMM1F0 = 308, /* this includes YMM1F1 to YMM1F7 */
1529  CV_REG_YMM2F0 = 316, /* this includes YMM2F1 to YMM2F7 */
1530  CV_REG_YMM3F0 = 324, /* this includes YMM3F1 to YMM3F7 */
1531  CV_REG_YMM4F0 = 332, /* this includes YMM4F1 to YMM4F7 */
1532  CV_REG_YMM5F0 = 340, /* this includes YMM5F1 to YMM5F7 */
1533  CV_REG_YMM6F0 = 348, /* this includes YMM6F1 to YMM6F7 */
1534  CV_REG_YMM7F0 = 356, /* this includes YMM7F1 to YMM7F7 */
1535  CV_REG_YMM0D0 = 364, /* this includes YMM0D1 to YMM0D3 */
1536  CV_REG_YMM1D0 = 368, /* this includes YMM1D1 to YMM1D3 */
1537  CV_REG_YMM2D0 = 372, /* this includes YMM2D1 to YMM2D3 */
1538  CV_REG_YMM3D0 = 376, /* this includes YMM3D1 to YMM3D3 */
1539  CV_REG_YMM4D0 = 380, /* this includes YMM4D1 to YMM4D3 */
1540  CV_REG_YMM5D0 = 384, /* this includes YMM5D1 to YMM5D3 */
1541  CV_REG_YMM6D0 = 388, /* this includes YMM6D1 to YMM6D3 */
1542  CV_REG_YMM7D0 = 392, /* this includes YMM7D1 to YMM7D3 */
1543 
1544  /* Motorola 68K CPU */
1545  CV_R68_D0 = 0, /* this includes D1 to D7 too */
1546  CV_R68_A0 = 8, /* this includes A1 to A7 too */
1561  CV_R68_FP0 = 32, /* this includes FP1 to FP7 */
1581  CV_R68_BAD0 = 64, /* this includes BAD1 to BAD7 */
1582  CV_R68_BAC0 = 72, /* this includes BAC1 to BAC7 */
1583 
1584  /* MIPS 4000 CPU */
1590  CV_M4_IntA0 = 14, /* this includes IntA1 to IntA3 */
1591  CV_M4_IntT0 = 18, /* this includes IntT1 to IntT7 */
1592  CV_M4_IntS0 = 26, /* this includes IntS1 to IntS7 */
1605  CV_M4_FltF0 = 60, /* this includes FltF1 to Flt31 */
1607 
1608  /* Alpha AXP CPU */
1610  CV_ALPHA_FltF0 = 10, /* this includes FltF1 to FltF31 */
1612  CV_ALPHA_IntT0 = 43, /* this includes T1 to T7 */
1613  CV_ALPHA_IntS0 = 51, /* this includes S1 to S5 */
1615  CV_ALPHA_IntA0 = 58, /* this includes A1 to A5 */
1631 
1632  /* Motorola & IBM PowerPC CPU */
1633  CV_PPC_GPR0 = 1, /* this includes GPR1 to GPR31 */
1635  CV_PPC_CR0 = 34, /* this includes CR1 to CR7 */
1636  CV_PPC_FPR0 = 42, /* this includes FPR1 to FPR31 */
1637 
1640  CV_PPC_SR0 = 76, /* this includes SR1 to SR15 */
1642  CV_PPC_MQ = 100,
1643  CV_PPC_XER = 101,
1646  CV_PPC_LR = 108,
1647  CV_PPC_CTR = 109,
1651  CV_PPC_DAR = 119,
1652  CV_PPC_DEC = 122,
1656  CV_PPC_SPRG0 = 372, /* this includes SPRG1 to SPRG3 */
1657  CV_PPC_ASR = 280,
1658  CV_PPC_EAR = 382,
1659  CV_PPC_PVR = 287,
1676  CV_PPC_PMR0 = 1044, /* this includes PMR1 to PMR15 */
1678  CV_PPC_DCMP = 1077,
1682  CV_PPC_ICMP = 1081,
1683  CV_PPC_RPA = 1082,
1684  CV_PPC_HID0 = 1108, /* this includes HID1 to HID15 */
1685 
1686  /* Java */
1688 
1689  /* Hitachi SH3 CPU */
1691  CV_SH3_IntR0 = 10, /* this include R1 to R13 */
1713  CV_SH_FpR0 = 80, /* this includes FpR1 to FpR15 */
1714  CV_SH_XFpR0 = 96, /* this includes XFpR1 to XXFpR15 */
1715 
1716  /* ARM CPU */
1718  CV_ARM_R0 = 10, /* this includes R1 to R12 */
1726  CV_ARM_FS0 = 50, /* this includes FS1 to FS31 */
1727  CV_ARM_FPEXTRA0 = 90, /* this includes FPEXTRA1 to FPEXTRA7 */
1728  CV_ARM_WR0 = 128, /* this includes WR1 to WR15 */
1733  CV_ARM_WC4 = 148,
1734  CV_ARM_WC5 = 149,
1735  CV_ARM_WC6 = 150,
1736  CV_ARM_WC7 = 151,
1737  CV_ARM_WCGR0 = 152, /* this includes WCGR1 to WCGR3 */
1742  CV_ARM_FS32 = 200, /* this includes FS33 to FS63 */
1743  CV_ARM_ND0 = 300, /* this includes ND1 to ND31 */
1744  CV_ARM_NQ0 = 400, /* this includes NQ1 to NQ15 */
1745 
1746  /* Intel IA64 CPU */
1748  CV_IA64_Br0 = 512, /* this includes Br1 to Br7 */
1749  CV_IA64_P0 = 704, /* this includes P1 to P63 */
1751  CV_IA64_IntH0 = 832, /* this includes H1 to H15 */
1752  CV_IA64_Ip = 1016,
1754  CV_IA64_Cfm = 1018,
1755  CV_IA64_Psr = 1019,
1759  CV_IA64_IntR0 = 1024, /* this includes R1 to R127 */
1760  CV_IA64_FltF0 = 2048, /* this includes FltF1 to FltF127 */
1761  /* some IA64 registers missing */
1762 
1763  /* TriCore CPU */
1765  CV_TRI_D0 = 10, /* includes D1 to D15 */
1766  CV_TRI_A0 = 26, /* includes A1 to A15 */
1793  CV_TRI_DPRx_0 = 68, /* includes DPRx_1 to DPRx_3 */
1794  CV_TRI_CPRx_0 = 68, /* includes CPRx_1 to CPRx_3 */
1795  CV_TRI_DPMx_0 = 68, /* includes DPMx_1 to DPMx_3 */
1796  CV_TRI_CPMx_0 = 68, /* includes CPMx_1 to CPMx_3 */
1808 
1809  /* AM33 (and the likes) CPU */
1811  CV_AM33_E0 = 10, /* this includes E1 to E7 */
1812  CV_AM33_A0 = 20, /* this includes A1 to A3 */
1813  CV_AM33_D0 = 30, /* this includes D1 to D3 */
1814  CV_AM33_FS0 = 40, /* this includes FS1 to FS31 */
1826 
1827  /* Mitsubishi M32R CPU */
1829  CV_M32R_R0 = 10, /* this includes R1 to R11 */
1843 
1844  /* AMD/Intel x86_64 CPU */
1879 
1880  /* <pcode> */
1884  CV_AMD64_PCDR3 = CV_REG_PCDR3, /* this includes PCDR4 to PCDR7 */
1885  CV_AMD64_CR0 = CV_REG_CR0, /* this includes CR1 to CR4 */
1886  CV_AMD64_DR0 = CV_REG_DR0, /* this includes DR1 to DR7 */
1887  /* </pcode> */
1888 
1895 
1896  CV_AMD64_PSEUDO1 = CV_REG_PSEUDO1, /* this includes Pseudo02 to Pseudo09 */
1897  CV_AMD64_ST0 = CV_REG_ST0, /* this includes ST1 to ST7 */
1908  CV_AMD64_MM0 = CV_REG_MM0, /* this includes MM1 to MM7 */
1909  CV_AMD64_XMM0 = CV_REG_XMM0, /* this includes XMM1 to XMM7 */
1911  CV_AMD64_XMM0L = CV_REG_XMM0L, /* this includes XMM1L to XMM7L */
1912  CV_AMD64_XMM0H = CV_REG_XMM0H, /* this includes XMM1H to XMM7H */
1933 
1934  CV_AMD64_XMM8 = 252, /* this includes XMM9 to XMM15 */
1935 
1944 
1953 
1954  /* Wine extension */
1956  CV_ARM64_X0 = 10, /* this includes X0 to X30 */
1960 };
1961 
1962 typedef enum
1963 {
1969 } THUNK_ORDINAL;
1970 
1971 typedef enum CV_call_e
1972 {
1996 } CV_call_e;
1997 
1998 
1999 // wtypes.h
2000 typedef LONG SCODE;
2001 typedef double DATE;
2002 typedef unsigned short VARTYPE;
2003 typedef union tagCY {
2004  struct {
2005 #ifdef WORDS_BIGENDIAN
2006  LONG Hi;
2007  ULONG Lo;
2008 #else
2011 #endif
2012  } DUMMYSTRUCTNAME;
2014 } CY;
2015 typedef struct tagDEC {
2017  union {
2018  struct {
2021  } DUMMYSTRUCTNAME;
2023  } DUMMYUNIONNAME;
2025  union {
2026  struct {
2027 #ifdef WORDS_BIGENDIAN
2028  ULONG Mid32;
2029  ULONG Lo32;
2030 #else
2033 #endif
2034  } DUMMYSTRUCTNAME1;
2036  } DUMMYUNIONNAME1;
2037 } DECIMAL;
2038 typedef short VARIANT_BOOL;
2040 typedef WCHAR OLECHAR;
2041 typedef OLECHAR *BSTR;
2042 enum VARENUM {
2044  VT_NULL = 1,
2045  VT_I2 = 2,
2046  VT_I4 = 3,
2047  VT_R4 = 4,
2048  VT_R8 = 5,
2049  VT_CY = 6,
2050  VT_DATE = 7,
2051  VT_BSTR = 8,
2053  VT_ERROR = 10,
2054  VT_BOOL = 11,
2058  VT_I1 = 16,
2059  VT_UI1 = 17,
2060  VT_UI2 = 18,
2061  VT_UI4 = 19,
2062  VT_I8 = 20,
2063  VT_UI8 = 21,
2064  VT_INT = 22,
2065  VT_UINT = 23,
2066  VT_VOID = 24,
2068  VT_PTR = 26,
2072  VT_LPSTR = 30,
2078  VT_BLOB = 65,
2084  VT_CF = 71,
2085  VT_CLSID = 72,
2087  VT_BSTR_BLOB = 0xfff,
2088  VT_VECTOR = 0x1000,
2089  VT_ARRAY = 0x2000,
2090  VT_BYREF = 0x4000,
2091  VT_RESERVED = 0x8000,
2092  VT_ILLEGAL = 0xffff,
2094  VT_TYPEMASK = 0xfff
2095 };
2096 
2097 // oaidl.h
2098 typedef struct tagSAFEARRAYBOUND {
2101 } SAFEARRAYBOUND;
2102 typedef struct tagSAFEARRAY {
2109 } SAFEARRAY;
2111 
2112 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
2113 #define __VARIANT_NAME_1 n1
2114 #define __VARIANT_NAME_2 n2
2115 #define __VARIANT_NAME_3 n3
2116 #define __VARIANT_NAME_4 brecVal
2117 #else
2118 #define __tagVARIANT
2119 #define __VARIANT_NAME_1
2120 #define __VARIANT_NAME_2
2121 #define __VARIANT_NAME_3
2122 #define __tagBRECORD
2123 #define __VARIANT_NAME_4
2124 #endif
2125 typedef struct tagVARIANT VARIANT;
2126 struct tagVARIANT {
2127  union {
2128  struct __tagVARIANT {
2133  union {
2134  signed char cVal;
2154  signed char *pcVal;
2177  struct __tagBRECORD {
2180  } __VARIANT_NAME_4;
2181  } __VARIANT_NAME_3;
2182  } __VARIANT_NAME_2;
2184  } __VARIANT_NAME_1;
2185 };
2186 
2190 
2191 // wine/windef16.h
2192 typedef DWORD SEGPTR;
2193 
2194 // wine/winbase16.h
2195 typedef struct _STACK32FRAME
2196 {
2197  DWORD restore_addr; /* 00 return address for restoring code selector */
2198  DWORD codeselector; /* 04 code selector to restore */
2199  EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
2200  SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
2201  DWORD edi; /* 14 saved registers */
2202  DWORD esi; /* 18 */
2203  DWORD ebx; /* 1c */
2204  DWORD ebp; /* 20 saved 32-bit frame pointer */
2205  DWORD retaddr; /* 24 return address */
2206  DWORD target; /* 28 target address / CONTEXT86 pointer */
2207  DWORD nb_args; /* 2c number of 16-bit argument bytes */
2208 } STACK32FRAME;
2209 
2210 /* 16-bit stack layout after __wine_call_from_16() */
2211 typedef struct _STACK16FRAME
2212 {
2213  STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
2214  DWORD edx; /* 04 saved registers */
2215  DWORD ecx; /* 08 */
2216  DWORD ebp; /* 0c */
2217  WORD ds; /* 10 */
2218  WORD es; /* 12 */
2219  WORD fs; /* 14 */
2220  WORD gs; /* 16 */
2221  DWORD callfrom_ip; /* 18 callfrom tail IP */
2222  DWORD module_cs; /* 1c module code segment */
2223  DWORD relay; /* 20 relay function address */
2224  WORD entry_ip; /* 22 entry point IP */
2225  DWORD entry_point; /* 26 API entry point to call, reused as mutex count */
2226  WORD bp; /* 2a 16-bit stack frame chain */
2227  WORD ip; /* 2c return address */
2228  WORD cs; /* 2e */
2229 } STACK16FRAME;
_THREAD_WRITE_FLAGS
Definition: compat.h:892
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
PVOID glCurrentRC
Definition: compat.h:621
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
DWORD64 Address
Definition: compat.h:1244
struct API_VERSION * LPAPI_VERSION
BasicType
Definition: compat.h:1363
BOOL WINAPI SymCleanup(HANDLE hProcess)
Definition: dbghelp.c:531
signed char * PCHAR
Definition: retypes.h:7
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:296
struct _NT_TIB * Self
Definition: compat.h:468
PVOID EnvironmentPointer
Definition: compat.h:586
WCHAR OLECHAR
Definition: compat.h:2040
WORD LimitLow
Definition: compat.h:526
DWORD Dr7
Definition: compat.h:261
ULONG Tag
Definition: compat.h:797
SYM_TYPE SymType
Definition: compat.h:992
ULONG cbElements
Definition: compat.h:2105
DWORD SegEs
Definition: compat.h:265
BYTE BaseMid
Definition: compat.h:530
ULONGLONG Lo64
Definition: compat.h:2035
#define WOW64_MAXIMUM_SUPPORTED_EXTENSION
Definition: compat.h:237
const uint16_t * PCWSTR
Definition: typedefs.h:57
PVOID WOW32Reserved
Definition: compat.h:596
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(PCWSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:935
DWORD MaxNameLength
Definition: compat.h:1227
PVOID UserReserved[5]
Definition: compat.h:614
SYM_TYPE
Definition: compat.h:802
DWORD SizeOfImage
Definition: compat.h:667
#define R(b, x)
Definition: sha2.c:134
ADDRESS_MODE Mode
Definition: compat.h:945
static __inline const char * debugstr_w(const WCHAR *s)
Definition: compat.h:58
ULONG Win32ClientInfo[31]
Definition: compat.h:595
ULONG64 RVA64
Definition: compat.h:1011
#define WOW64_SIZE_OF_80387_REGISTERS
Definition: compat.h:236
WCHAR StaticUnicodeBuffer[261]
Definition: compat.h:625
PVOID Instrumentation[16]
Definition: compat.h:633
BSTR * pbstrVal
Definition: compat.h:2167
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:474
ULONG NameLen
Definition: compat.h:798
BYTE bVal
Definition: compat.h:2139
Definition: compat.h:2046
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
DWORD64 ModBase
Definition: compat.h:1207
DWORD64 WINAPI SymLoadModuleExW(HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:796
ULONG64 Address
Definition: compat.h:1114
ULONG Esp
Definition: nt_native.h:1479
CY * pcyVal
Definition: compat.h:2170
PVOID GdiThreadLocaleInfo
Definition: compat.h:613
PVOID IRecordInfo
Definition: compat.h:31
VOID * PIMAGEHLP_CONTEXT
Definition: compat.h:722
ULONG MaxNameLen
Definition: compat.h:799
DWORD SizeOfStruct
Definition: compat.h:1267
Definition: compat.h:811
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:934
struct tagVARIANT::@363::__tagVARIANT __VARIANT_NAME_2
KAFFINITY AffinityMask
Definition: compat.h:678
DWORD WINAPI SymLoadModule(HANDLE hProcess, HANDLE hFile, PCSTR ImageName, PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll)
Definition: module.c:749
ULONG Eip
Definition: nt_native.h:1476
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
BOOL(CALLBACK * PENUMDIRTREE_CALLBACKW)(PCWSTR, PVOID)
Definition: compat.h:926
Definition: compat.h:2062
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
WCHAR ModuleName[32]
Definition: compat.h:824
USHORT MajorVersion
Definition: compat.h:1319
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:1079
_IRQL_requires_same_ _In_ PVOID EstablisherFrame
Definition: ntbasedef.h:660
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
EXCEPTION_DISPOSITION NTAPI EXCEPTION_ROUTINE(struct _EXCEPTION_RECORD *ExceptionRecord, PVOID EstablisherFrame, struct _CONTEXT *ContextRecord, PVOID DispatcherContext)
Definition: compat.h:452
PVOID glReserved2
Definition: compat.h:617
LIST_ENTRY TlsLinks
Definition: compat.h:628
ULONG MaxNameLen
Definition: compat.h:1119
struct _SOURCEFILE SOURCEFILE
Definition: compat.h:2058
IMAGEHLP_EXTENDED_OPTIONS
Definition: compat.h:849
DWORD dwFileDateMS
Definition: compat.h:659
PVOID Win32ThreadInfo
Definition: compat.h:594
FLOATING_SAVE_AREA FloatSave
Definition: nt_native.h:1446
ULONG64 ModBase
Definition: compat.h:1111
DWORD WINAPI SymSetOptions(DWORD opts)
Definition: dbghelp.c:559
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
Definition: module.c:1359
PVOID Key
Definition: compat.h:859
DWORD64 BaseOfImage
Definition: compat.h:818
PVOID glContext
Definition: compat.h:622
CONTEXT * PCONTEXT
Definition: nt_native.h:1486
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
VARIANT_BOOL boolVal
Definition: compat.h:2144
Definition: compat.h:806
DWORD LineNumber
Definition: compat.h:1287
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:1078
uint16_t * PWSTR
Definition: typedefs.h:56
BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION]
Definition: compat.h:279
USHORT * puiVal
Definition: compat.h:2155
VARIANTARG * LPVARIANTARG
Definition: compat.h:2189
PVOID CsrClientThread
Definition: compat.h:593
DWORD SizeOfStruct
Definition: compat.h:1243
struct tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO
ULONG64 FuncTableEntry
Definition: compat.h:1129
struct _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY
struct _IMAGE_SEPARATE_DEBUG_HEADER * PIMAGE_SEPARATE_DEBUG_HEADER
STACK32FRAME * frame32
Definition: compat.h:2213
DWORD SizeOfStruct
Definition: compat.h:1205
unsigned char * PUCHAR
Definition: retypes.h:3
struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD
char CHAR
Definition: xmlstorage.h:175
DWORD64 WINAPI SymLoadModuleEx(HANDLE, HANDLE, PCSTR, PCSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:759
DWORD BaseOfImage
Definition: compat.h:964
SHORT * piVal
Definition: compat.h:2160
CHAR LoadedPdbName[256]
Definition: compat.h:996
SAFEARRAYBOUND rgsabound[1]
Definition: compat.h:2108
ULONG Scope
Definition: compat.h:796
struct _tagADDRESS64 ADDRESS64
ULONG Ecx
Definition: nt_native.h:1467
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1143
struct _STACKFRAME64 STACKFRAME64
WORD wReserved3
Definition: compat.h:2132
CHAR ModuleName[32]
Definition: compat.h:993
LONG NTSTATUS
Definition: precomp.h:26
USHORT fFeatures
Definition: compat.h:2104
ULONG64 BackingStoreOffset
Definition: compat.h:1128
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
WCHAR ImageName[256]
Definition: compat.h:971
USHORT wReserved
Definition: compat.h:2016
USHORT MinorVersion
Definition: compat.h:1320
#define CALLBACK
Definition: compat.h:35
DWORD dwFileVersionLS
Definition: compat.h:651
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
Definition: module.c:1367
struct _MINIDUMP_CALLBACK_INPUT MINIDUMP_CALLBACK_INPUT
DWORD64 Address
Definition: compat.h:1211
ULONG Flags
Definition: compat.h:792
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(PSRCCODEINFOW, PVOID)
Definition: compat.h:1213
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: nt_native.h:1394
ULONG Lo32
Definition: compat.h:2031
GLdouble n
Definition: glext.h:7729
HANDLE HWND
Definition: compat.h:19
ULONG R6
Definition: ke.h:261
PVOID Key
Definition: compat.h:1206
DWORD SizeOfStruct
Definition: compat.h:1233
_EXCEPTION_DISPOSITION
Definition: compat.h:88
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:936
DWORD SizeOfStruct
Definition: compat.h:1276
DWORD ebx
Definition: compat.h:2203
ULONG R0
Definition: ke.h:255
DWORD Pres
Definition: compat.h:539
union _LDT_ENTRY::@352 HighWord
double DATE
Definition: compat.h:2001
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:1080
PVOID ActiveRpcHandle
Definition: compat.h:588
ULONG TypeIndex
Definition: compat.h:787
FLOAT * pfltVal
Definition: compat.h:2162
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1173
const char * wine_dbgstr_an(const char *s, int n)
Definition: compat.c:313
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:206
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:927
DWORD64 Params[4]
Definition: compat.h:1155
DWORD EFlags
Definition: compat.h:276
DWORD SegFs
Definition: compat.h:264
ULONG64 Address
Definition: compat.h:794
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:928
DWORD BaseHi
Definition: compat.h:545
struct _LDT_ENTRY::@352::@354 Bits
struct _MINIDUMP_THREAD_CALLBACK * PMINIDUMP_THREAD_CALLBACK
ULONG SegGs
Definition: nt_native.h:1453
struct _IMAGEHLP_DEFERRED_SYMBOL_LOADW64 IMAGEHLP_DEFERRED_SYMBOL_LOADW64
DWORD LineNumber
Definition: compat.h:1269
SAFEARRAY * parray
Definition: compat.h:2151
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char * ModuleName
Definition: acpixf.h:1274
OLECHAR * BSTR
Definition: compat.h:2041
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
ULONG SegFs
Definition: nt_native.h:1454
uint16_t * PWCHAR
Definition: typedefs.h:56
struct _STACK32FRAME STACK32FRAME
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACKW)(HANDLE, PCWSTR, PVOID)
Definition: compat.h:888
ULONG SegDs
Definition: nt_native.h:1456
WCHAR * __lstrcpynW(WCHAR *lpString1, const WCHAR *lpString2, int iMaxLength)
struct _KDHELP64 KDHELP64
SAFEARRAY ** pparray
Definition: compat.h:2174
ADDRESS64 AddrBStore
Definition: compat.h:1153
PVOID byref
Definition: compat.h:2169
char * LPSTR
Definition: xmlstorage.h:182
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1161
HANDLE UniqueProcess
Definition: compat.h:573
struct _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC
DataKind
Definition: compat.h:1394
ULONG WaitingOnLoaderLock
Definition: compat.h:640
struct _tagADDRESS ADDRESS
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR, ULONG, ULONG, PVOID)
Definition: compat.h:982
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
BYTE sign
Definition: compat.h:2020
#define BOOL
Definition: nt_native.h:43
DWORD SegGs
Definition: compat.h:263
ULONG ulVal
Definition: compat.h:2136
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
#define DWORD
Definition: nt_native.h:44
DWORD ThCallbackStack
Definition: compat.h:1138
WORD BaseLow
Definition: compat.h:527
int32_t INT
Definition: typedefs.h:58
BYTE Flags1
Definition: compat.h:531
short VARIANT_BOOL
Definition: compat.h:2038
struct _CONTEXT CONTEXT
struct API_VERSION API_VERSION
PVOID ArbitraryUserPointer
Definition: compat.h:467
PCHAR FileName
Definition: compat.h:846
static __inline const char * wine_dbgstr_w(const WCHAR *s)
Definition: compat.h:59
WORD Segment
Definition: compat.h:923
PVOID WinSockData
Definition: compat.h:634
LONG KPRIORITY
Definition: compat.h:551
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD * PIMAGEHLP_DEFERRED_SYMBOL_LOAD
ULONG Dr7
Definition: nt_native.h:1439
ULONG Dr3
Definition: nt_native.h:1437
struct _STACK16FRAME STACK16FRAME
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:974
DWORD CheckSum
Definition: compat.h:967
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
DWORD target
Definition: compat.h:2206
PEXCEPTION_ROUTINE Handler
Definition: compat.h:475
INT __WideCharToMultiByte(UINT page, DWORD flags, LPCWSTR src, INT srclen, LPSTR dst, INT dstlen, LPCSTR defchar, BOOL *used)
Definition: compat.c:238
PVOID ExceptionAddress
Definition: compat.h:211
HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
Definition: compat.c:152
ULONG __RtlComputeCrc32(ULONG Initial, PUCHAR Data, ULONG Length)
Definition: compat.c:501
DWORD Dr6
Definition: compat.h:260
KPRIORITY BasePriority
Definition: compat.h:680
INT __MultiByteToWideChar(UINT page, DWORD flags, LPCSTR src, INT srclen, LPWSTR dst, INT dstlen)
Definition: compat.c:263
DWORD AddressOfNameOrdinals
Definition: compat.h:167
ULONG glReserved1[26]
Definition: compat.h:616
DWORD TimeDateStamp
Definition: compat.h:989
VARIANT * LPVARIANT
Definition: compat.h:2187
uint32_t ULONG_PTR
Definition: typedefs.h:65
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD FramePointer
Definition: compat.h:1141
ULONGLONG * pullVal
Definition: compat.h:2176
struct _tagADDRESS * LPADDRESS
CLIENT_ID ClientId
Definition: compat.h:587
ULONG gdiPen
Definition: compat.h:607
SHORT iVal
Definition: compat.h:2140
HANDLE GdiCachedProcessHandle
Definition: compat.h:610
struct tagSAFEARRAY SAFEARRAY
DWORD64 ModBase
Definition: compat.h:1198
DWORD ExceptionCode
Definition: compat.h:208
LONG lVal
Definition: compat.h:2141
UNICODE_STRING StaticUnicodeString
Definition: compat.h:624
PVOID ThreadLocalStoragePointer
Definition: compat.h:589
BOOL WINAPI SymEnumLines(HANDLE hProcess, ULONG64 base, PCSTR compiland, PCSTR srcfile, PSYM_ENUMLINES_CALLBACK cb, PVOID user)
Definition: symbol.c:2177
struct _IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL
ULONG NameLen
Definition: compat.h:1118
WCHAR LoadedImageName[256]
Definition: compat.h:826
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:981