ReactOS  0.4.15-dev-439-g292f67a
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 
13 typedef HANDLE HWND;
14 
15 #define min(x, y) (((x) < (y)) ? (x) : (y))
16 #define max(x, y) (((x) > (y)) ? (x) : (y))
17 
18 #ifdef __i386__
19 #define CDECL __cdecl
20 #else
21 #define CDECL
22 #endif
24 
25 // windef.h
26 #define MAX_PATH 260
27 #define CALLBACK
28 typedef int (*FARPROC)();
29 
30 // bytesex.h
31 #define SWAPD(x) x
32 #define SWAPW(x) x
33 
34 // Wine stuff
35 #define DECLSPEC_HIDDEN
36 #define WINE_DEFAULT_DEBUG_CHANNEL(x)
37 #define WINE_DECLARE_DEBUG_CHANNEL(x)
38 extern const char *wine_dbgstr_an( const char * s, int n );
39 extern const char *wine_dbgstr_wn( const WCHAR *s, int n );
40 extern const char *wine_dbg_sprintf( const char *format, ... );
41 static __inline const char *wine_dbgstr_longlong( ULONGLONG ll )
42 {
43  if (/*sizeof(ll) > sizeof(unsigned long) &&*/ ll >> 32) /* ULONGLONG is always > long in ReactOS */
44  return wine_dbg_sprintf( "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll );
45  else return wine_dbg_sprintf( "%lx", (unsigned long)ll );
46 }
47 static __inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); }
48 static __inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); }
49 static __inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
50 static __inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
51 static __inline const char *wine_dbgstr_w( const WCHAR *s ){return wine_dbgstr_wn( s, -1 );}
52 
53 #if 0
54 #define WARN(fmt, ...) fprintf(stderr, "WARN %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
55 #define FIXME(fmt, ...) fprintf(stderr, "FIXME %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
56 #define TRACE(fmt, ...) fprintf(stderr, "TRACE %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
57 #define ERR(fmt, ...) fprintf(stderr, "ERR %s: " fmt, __FUNCTION__, ##__VA_ARGS__)
58 #else
59 #define WARN(fmt, ...)
60 #define FIXME(fmt, ...)
61 #define TRACE(fmt, ...)
62 #define ERR(fmt, ...)
63 #endif
64 
65 #define TRACE_ON(x) FALSE
66 #define TRACE_(x) TRACE
67 #define FIXME_(x) FIXME
68 const char *wine_dbg_sprintf( const char *format, ... );
69 #define CP_UNIXCP CP_ACP
70 #define __TRY if(1)
71 #define __EXCEPT_PAGE_FAULT else
72 #define __ENDTRY
73 
74 // basetsd.h
76 
77 // excpt.h
79 {
85 
86 // winerror.h
87 #define ERROR_ACCESS_DENIED 5
88 #define ERROR_INVALID_HANDLE 6
89 #define ERROR_OUTOFMEMORY 14
90 #define ERROR_NOT_SUPPORTED 50
91 #define ERROR_INVALID_PARAMETER 87
92 #define ERROR_CALL_NOT_IMPLEMENTED 120
93 #define ERROR_INVALID_NAME 123
94 #define ERROR_MOD_NOT_FOUND 126
95 #define ERROR_NO_MORE_ITEMS 259
96 #define ERROR_INVALID_ADDRESS 487
97 
98 // winnls.h
99 #define CP_ACP 0
100 #define MultiByteToWideChar __MultiByteToWideChar
101 #define WideCharToMultiByte __WideCharToMultiByte
104 
105 // #define strlenW(s) wcslen((s))
106 // #define strcpyW(d,s) wcscpy((d),(s))
107 // #define strchrW(s,c) wcschr((s),(c))
108 // #define strcatW(d,s) wcscat((d),(s))
109 // #define strncmpiW(s1,s2,n) _wcsnicmp((s1),(s2),(n))
110 // #define strcmpW(s1,s2) wcscmp((s1),(s2))
111 // #define strcmpiW(s1,s2) _wcsicmp((s1),(s2))
112 // #define tolowerW(n) towlower((n))
113 // #define toupperW(n) towupper((n))
114 
115 // winnt.h
116 #define IMAGE_FILE_MACHINE_ARMNT 0x1c4
117 #define IMAGE_FILE_MACHINE_POWERPC 0x1f0
118 #define IMAGE_FILE_MACHINE_ARM64 0xaa64
119 #define DLL_PROCESS_DETACH 0
120 #define DLL_PROCESS_ATTACH 1
121 #define DLL_THREAD_ATTACH 2
122 #define DLL_THREAD_DETACH 3
123 #define HEAP_ZERO_MEMORY 8
124 #define GENERIC_READ 0x80000000
125 #define FILE_SHARE_READ 0x00000001
126 #define FILE_ATTRIBUTE_NORMAL 0x00000080
127 #define PAGE_READONLY 0x0002
128 #define SECTION_MAP_READ 4
129 #define IMAGE_DEBUG_TYPE_UNKNOWN 0
130 #define IMAGE_DEBUG_TYPE_COFF 1
131 #define IMAGE_DEBUG_TYPE_CODEVIEW 2
132 #define IMAGE_DEBUG_TYPE_FPO 3
133 #define IMAGE_DEBUG_TYPE_MISC 4
134 #define IMAGE_DEBUG_TYPE_EXCEPTION 5
135 #define IMAGE_DEBUG_TYPE_FIXUP 6
136 #define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
137 #define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
138 #define IMAGE_SYM_CLASS_EXTERNAL 2
139 #define IMAGE_SYM_CLASS_FILE 103
140 #define IMAGE_DIRECTORY_ENTRY_EXPORT 0
141 #define IMAGE_DIRECTORY_ENTRY_DEBUG 6
142 #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
143 #define IMAGE_DEBUG_MISC_EXENAME 1
144 #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
145 typedef struct _IMAGE_EXPORT_DIRECTORY {
158 typedef struct _IMAGE_DEBUG_MISC {
163  BYTE Data[1];
180 typedef struct _SECURITY_ATTRIBUTES {
185 typedef struct _IMAGE_DEBUG_DIRECTORY {
195 #define EXCEPTION_MAXIMUM_PARAMETERS 15
196 typedef struct _EXCEPTION_RECORD {
204 #if defined(TARGET_i386)
205 #define SIZE_OF_80387_REGISTERS 80
206 #define CONTEXT_i386 0x10000
207 #define CONTEXT_i486 0x10000
208 #define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
209 #define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
210 #define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
211 #define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
212 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
213 #define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
214 #define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
215 #define MAXIMUM_SUPPORTED_EXTENSION 512
216 
217 #define EXCEPTION_READ_FAULT 0
218 #define EXCEPTION_WRITE_FAULT 1
219 #define EXCEPTION_EXECUTE_FAULT 8
220 
221 typedef struct _FLOATING_SAVE_AREA {
224  DWORD TagWord;
229  BYTE RegisterArea[80];
232 
233 typedef struct _CONTEXT {
235  DWORD Dr0;
236  DWORD Dr1;
237  DWORD Dr2;
238  DWORD Dr3;
239  DWORD Dr6;
240  DWORD Dr7;
242  DWORD SegGs;
243  DWORD SegFs;
244  DWORD SegEs;
245  DWORD SegDs;
246  DWORD Edi;
247  DWORD Esi;
248  DWORD Ebx;
249  DWORD Edx;
250  DWORD Ecx;
251  DWORD Eax;
252  DWORD Ebp;
253  DWORD Eip;
254  DWORD SegCs;
255  DWORD EFlags;
256  DWORD Esp;
257  DWORD SegSs;
259 } CONTEXT, *PCONTEXT;
260 
261 #elif defined TARGET_amd64
262 
263 #error "Please define the CONTEXT structure for amd64 platform"
264 
265 #elif defined TARGET_arm /* ARM? */
266 
267 /* The following flags control the contents of the CONTEXT structure. */
268 
269 #define CONTEXT_ARM 0x0200000
270 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001)
271 #define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002)
272 #define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004)
273 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008)
274 
275 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
276 
277 #define EXCEPTION_READ_FAULT 0
278 #define EXCEPTION_WRITE_FAULT 1
279 #define EXCEPTION_EXECUTE_FAULT 8
280 
281 typedef struct _RUNTIME_FUNCTION
282 {
283  DWORD BeginAddress;
284  union {
285  DWORD UnwindData;
286  struct {
287  DWORD Flag : 2;
288  DWORD FunctionLength : 11;
289  DWORD Ret : 2;
290  DWORD H : 1;
291  DWORD Reg : 3;
292  DWORD R : 1;
293  DWORD L : 1;
294  DWORD C : 1;
295  DWORD StackAdjust : 10;
296  } DUMMYSTRUCTNAME;
297  } DUMMYUNIONNAME;
299 
300 #define UNWIND_HISTORY_TABLE_SIZE 12
301 typedef struct _UNWIND_HISTORY_TABLE_ENTRY
302 {
303  DWORD ImageBase;
304  PRUNTIME_FUNCTION FunctionEntry;
305 } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
306 
307 typedef struct _UNWIND_HISTORY_TABLE
308 {
309  DWORD Count;
310  BYTE LocalHint;
311  BYTE GlobalHint;
312  BYTE Search;
313  BYTE Once;
314  DWORD LowAddress;
316  UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
317 } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
318 
319 typedef struct _CONTEXT {
320  /* The flags values within this flag control the contents of
321  a CONTEXT record.
322 
323  If the context record is used as an input parameter, then
324  for each portion of the context record controlled by a flag
325  whose value is set, it is assumed that that portion of the
326  context record contains valid context. If the context record
327  is being used to modify a thread's context, then only that
328  portion of the threads context will be modified.
329 
330  If the context record is used as an IN OUT parameter to capture
331  the context of a thread, then only those portions of the thread's
332  context corresponding to set flags will be returned.
333 
334  The context record is never used as an OUT only parameter. */
335 
337 
338  /* This section is specified/returned if the ContextFlags word contains
339  the flag CONTEXT_INTEGER. */
340  ULONG R0;
341  ULONG R1;
342  ULONG R2;
343  ULONG R3;
344  ULONG R4;
345  ULONG R5;
346  ULONG R6;
347  ULONG R7;
348  ULONG R8;
349  ULONG R9;
350  ULONG R10;
351  ULONG Fp;
352  ULONG Ip;
353 
354  /* These are selected by CONTEXT_CONTROL */
355  ULONG Sp;
356  ULONG Lr;
357  ULONG Pc;
358  ULONG Cpsr;
359 } CONTEXT;
360 
364 #else
365 
366 #error "Unknown target platform"
367 
368 #endif
369 
370 typedef
372 NTAPI
374  struct _EXCEPTION_RECORD *ExceptionRecord,
376  struct _CONTEXT *ContextRecord,
379 typedef struct _NT_TIB {
384  union {
387  } DUMMYUNIONNAME;
389  struct _NT_TIB *Self;
390 } NT_TIB,*PNT_TIB;
391 
392 // rtltypes.h
394 {
398 
399 // winbase.h
400 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
401 #define HeapAlloc __HeapAlloc
402 #define HeapReAlloc __HeapReAlloc
403 #define HeapFree(x,y,z) free(z)
404 #define GetProcessHeap() 1
405 #define GetProcessId(x) 8
406 #define lstrcpynW __lstrcpynW
407 #define CloseHandle __CloseHandle
408 #define CreateFileA(a,b,c,d,e,f,g) fopen(a, "rb")
409 #define CreateFileW __CreateFileW
410 #define CreateFileMappingW(a,b,c,d,e,f) a
411 #define MapViewOfFile __MapViewOfFile
412 #define UnmapViewOfFile __UnmapViewOfFile
413 #define LoadLibraryW(x) 0
414 #define FreeLibrary(x) 0
415 #define lstrcpyW strcpyW // Forward this to wine unicode inline function
416 #define lstrlenW strlenW // ditto
417 #define lstrcpynA __lstrcpynA
418 #define SetLastError(x)
419 #define GetProcAddress(x,y) 0
420 #define GetEnvironmentVariableA(x, y, z) 0
421 #define GetEnvironmentVariableW(x, y, z) 0
422 #define GetCurrentDirectoryW(x, y) 0
423 #define GetFileSizeEx __GetFileSizeEx
424 #define ReadProcessMemory(a,b,c,d,e) 0
425 
426 void* __HeapAlloc(int heap, int flags, size_t size);
427 void* __HeapReAlloc(int heap, DWORD d2, void *slab, SIZE_T newsize);
428 WCHAR* __lstrcpynW(WCHAR* lpString1, const WCHAR* lpString2, int iMaxLength);
430 HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
432 BOOL __UnmapViewOfFile(const void*);
435 #define OPEN_EXISTING 3
436 #define FILE_MAP_READ SECTION_MAP_READ
437 typedef struct _LDT_ENTRY {
440  union {
441  struct {
446  } Bytes;
447  struct {
458  } Bits;
459  } HighWord;
461 
462 // umtypes.h
463 typedef LONG KPRIORITY;
464 
465 // winternl.h
466 #define RtlImageNtHeader __RtlImageNtHeader
467 #define RtlImageRvaToVa __RtlImageRvaToVa
468 #define RtlImageRvaToSection __RtlImageRvaToSection
469 #define RtlImageDirectoryEntryToData __RtlImageDirectoryEntryToData
470 
471 #ifdef _MSC_VER
472 #define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
473 #else
474 #define RtlUlongByteSwap(_x) __builtin_bswap32((_x))
475 #endif
476 
480 
481 typedef struct _CLIENT_ID
482 {
486 #define GDI_BATCH_BUFFER_SIZE 0x136
487 typedef struct _GDI_TEB_BATCH
488 {
493 typedef struct _TEB
494 {
495  NT_TIB Tib; /* 000 */
497  CLIENT_ID ClientId; /* 020 */
500  PVOID Peb; /* 030 */
505  ULONG Win32ClientInfo[31]; /* 044 used for user32 private data in Wine */
506  PVOID WOW32Reserved; /* 0c0 */
507  ULONG CurrentLocale; /* 0c4 */
509  PVOID SystemReserved1[54]; /* 0cc used for kernel32 private data in Wine */
510  PVOID Spare1; /* 1a4 */
511  LONG ExceptionCode; /* 1a8 */
513  BYTE SpareBytes1[36]; /* 1ac */
514  PVOID SystemReserved2[10]; /* 1d4 used for ntdll private data in Wine */
516  ULONG gdiRgn; /* 6dc */
517  ULONG gdiPen; /* 6e0 */
518  ULONG gdiBrush; /* 6e4 */
521  ULONG GdiClientPID; /* 6f4 */
522  ULONG GdiClientTID; /* 6f8 */
524  PVOID UserReserved[5]; /* 700 */
525  PVOID glDispatchTable[280]; /* 714 */
526  ULONG glReserved1[26]; /* b74 */
527  PVOID glReserved2; /* bdc */
528  PVOID glSectionInfo; /* be0 */
529  PVOID glSection; /* be4 */
530  PVOID glTable; /* be8 */
531  PVOID glCurrentRC; /* bec */
532  PVOID glContext; /* bf0 */
534  UNICODE_STRING StaticUnicodeString; /* bf8 used by advapi32 */
535  WCHAR StaticUnicodeBuffer[261]; /* c00 used by advapi32 */
537  PVOID TlsSlots[64]; /* e10 */
538  LIST_ENTRY TlsLinks; /* f10 */
539  PVOID Vdm; /* f18 */
541  PVOID DbgSsReserved[2]; /* f20 */
543  PVOID Instrumentation[16]; /* f2c */
544  PVOID WinSockData; /* f6c */
545  ULONG GdiBatchCount; /* f70 */
546  ULONG Spare2; /* f74 */
547  ULONG Spare3; /* f78 */
548  ULONG Spare4; /* f7c */
551  PVOID Reserved5[3]; /* f88 */
553 } TEB, *PTEB;
554 
555 
556 // winver.h
557 typedef struct tagVS_FIXEDFILEINFO {
572 
573 
574 // psapi.h
575 typedef struct _MODULEINFO {
580 #define GetModuleFileNameExW(w, x, y, z) 0
581 
582 // pstypes.h
584 {
592 typedef enum _THREADINFOCLASS {
629 
630 
631 // dbghelp.h
633 #define MAX_SYM_NAME 2000
634 #define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
635 #define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
636 #define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
637 #define CBA_SYMBOLS_UNLOADED 0x00000004
638 #define CBA_DUPLICATE_SYMBOL 0x00000005
639 #define CBA_READ_MEMORY 0x00000006
640 #define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
641 #define CBA_SET_OPTIONS 0x00000008
642 #define CBA_EVENT 0x00000010
643 #define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
644 #define CBA_DEBUG_INFO 0x10000000
645 #define SYMOPT_CASE_INSENSITIVE 0x00000001
646 #define SYMOPT_UNDNAME 0x00000002
647 #define SYMOPT_DEFERRED_LOADS 0x00000004
648 #define SYMOPT_LOAD_LINES 0x00000010
649 #define SYMOPT_LOAD_ANYTHING 0x00000040
650 #define SYMOPT_PUBLICS_ONLY 0x00004000
651 #define SYMOPT_NO_PUBLICS 0x00008000
652 #define SYMOPT_AUTO_PUBLICS 0x00010000
653 #define SYMFLAG_VALUEPRESENT 0x00000001
654 #define SYMFLAG_REGISTER 0x00000008
655 #define SYMFLAG_REGREL 0x00000010
656 #define SYMFLAG_FRAMEREL 0x00000020
657 #define SYMFLAG_PARAMETER 0x00000040
658 #define SYMFLAG_LOCAL 0x00000080
659 #define SYMFLAG_CONSTANT 0x00000100
660 #define SYMFLAG_EXPORT 0x00000200
661 #define SYMFLAG_FORWARDER 0x00000400
662 #define SYMFLAG_FUNCTION 0x00000800
663 #define SYMFLAG_VIRTUAL 0x00001000
664 #define SYMFLAG_THUNK 0x00002000
665 #define SYMFLAG_TLSREL 0x00004000
666 #define SYMFLAG_SLOT 0x00008000
667 #define SYMFLAG_ILREL 0x00010000
668 #define SYMFLAG_METADATA 0x00020000
669 #define SYMFLAG_CLR_TOKEN 0x00040000
670 #define SYMFLAG_NULL 0x00080000
671 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
672 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
673 #define SYMFLAG_PUBLIC_CODE 0x00400000
674 #define UNDNAME_COMPLETE (0x0000)
675 #define UNDNAME_NAME_ONLY (0x1000)
676 typedef struct _TI_FINDCHILDREN_PARAMS
677 {
682 #define SYMSEARCH_GLOBALSONLY 0x04
683 /* flags for SymLoadModuleEx */
684 #define SLMFLAG_VIRTUAL 0x1
685 #define SLMFLAG_NO_SYMBOLS 0x4
686 typedef struct _DBGHELP_MODLOAD_DATA
687 {
694 typedef struct _SYMBOL_INFO
695 {
710  CHAR Name[1];
712 typedef enum
713 {
714  SymNone = 0,
724 } SYM_TYPE;
725 typedef struct _IMAGEHLP_MODULEW64
726 {
751 typedef struct _IMAGEHLP_LINE64
752 {
759 typedef struct _SRCCODEINFO
760 {
771 BOOL WINAPI SymInitialize(HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess);
775 BOOL WINAPI SymMatchStringW(PCWSTR string, PCWSTR re, BOOL _case);
777  PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll);
791 #define FindExecutableImageExW __FindExecutableImageExW
794 typedef enum _THREAD_WRITE_FLAGS
795 {
804 typedef enum
805 {
810 } ADDRESS_MODE;
812 {
822 typedef struct _tagADDRESS64
823 {
840 
842 
843 typedef struct _tagADDRESS
844 {
848 } ADDRESS, *LPADDRESS;
849 
850 typedef struct _IMAGEHLP_MODULE
851 {
863 typedef struct _IMAGEHLP_MODULEW
864 {
885 
886 typedef struct _IMAGEHLP_MODULE64
887 {
912 typedef DWORD RVA;
913 typedef ULONG64 RVA64;
914 typedef enum _MINIDUMP_TYPE
915 {
916  MiniDumpNormal = 0x0000,
931 } MINIDUMP_TYPE;
933 {
942 {
953 {
966 {
970 {
974 {
978  union
979  {
985  } DUMMYUNIONNAME;
988 {
989  union
990  {
993  struct
994  {
997  } DUMMYSTRUCTNAME;
998  } DUMMYUNIONNAME;
1002 {
1006 typedef struct _SYMBOL_INFOW
1007 {
1025 {
1037 typedef struct _KDHELP64
1038 {
1048 } KDHELP64, *PKDHELP64;
1049 typedef struct _STACKFRAME64
1050 {
1064 {
1093 typedef struct _SOURCEFILE
1094 {
1098 typedef struct _SOURCEFILEW
1099 {
1105 typedef struct _SRCCODEINFOW
1106 {
1117 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1118 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
1119 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
1120 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
1121 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
1122 #else
1123 typedef struct _IMAGEHLP_SYMBOL
1124 {
1132 
1133 typedef struct _IMAGEHLP_SYMBOLW
1134 {
1142 #endif
1143 typedef struct _IMAGEHLP_SYMBOL64
1144 {
1152 typedef struct _IMAGEHLP_SYMBOLW64
1153 {
1161 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1162 #define IMAGEHLP_LINE IMAGEHLP_LINE64
1163 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
1164 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
1165 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
1166 #else
1167 typedef struct _IMAGEHLP_LINE
1168 {
1175 
1176 typedef struct _IMAGEHLP_LINEW
1177 {
1184 #endif
1185 typedef struct _IMAGEHLP_LINEW64
1186 {
1193 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1194 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
1195 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
1196 #else
1198 {
1207 #endif
1209 {
1219 typedef struct API_VERSION
1220 {
1226 
1227 // cvconst.h
1228 /* symbols & types enumeration */
1230 {
1263 };
1264 
1266 {
1268  btVoid = 1,
1269  btChar = 2,
1270  btWChar = 3,
1271  btInt = 6,
1272  btUInt = 7,
1273  btFloat = 8,
1274  btBCD = 9,
1275  btBool = 10,
1276  btLong = 13,
1277  btULong = 14,
1279  btDate = 26,
1282  btBit = 29,
1283  btBSTR = 30,
1285 };
1286 
1287 /* kind of UDT */
1289 {
1293 };
1294 
1295 /* kind of SymTagData */
1297 {
1308 };
1309 
1310 /* values for registers (on different CPUs) */
1312 {
1313  /* those values are common to all supported CPUs (and CPU independent) */
1314  CV_ALLREG_ERR = 30000,
1315  CV_ALLREG_TEB = 30001,
1324  CV_ALLREG_TID = 30010,
1325  CV_ALLREG_ENV = 30011,
1327 
1328  /* Intel x86 CPU */
1364 
1365  /* <pcode> */
1369  CV_REG_PCDR3 = 43, /* this includes PCDR4 to PCDR7 */
1370  CV_REG_CR0 = 80, /* this includes CR1 to CR4 */
1371  CV_REG_DR0 = 90, /* this includes DR1 to DR7 */
1372  /* </pcode> */
1373 
1379  CV_REG_TR = 115,
1380 
1381  CV_REG_PSEUDO1 = 116, /* this includes Pseudo02 to Pseudo09 */
1382  CV_REG_ST0 = 128, /* this includes ST1 to ST7 */
1385  CV_REG_TAG = 138,
1393  CV_REG_MM0 = 146, /* this includes MM1 to MM7 */
1394  CV_REG_XMM0 = 154, /* this includes XMM1 to XMM7 */
1396  CV_REG_XMM0L = 194, /* this includes XMM1L to XMM7L */
1397  CV_REG_XMM0H = 202, /* this includes XMM1H to XMM7H */
1418 
1419  CV_REG_YMM0 = 252, /* this includes YMM1 to YMM7 */
1420  CV_REG_YMM0H = 260, /* this includes YMM1H to YMM7H */
1421  CV_REG_YMM0I0 = 268, /* this includes YMM0I1 to YMM0I3 */
1422  CV_REG_YMM1I0 = 272, /* this includes YMM1I1 to YMM1I3 */
1423  CV_REG_YMM2I0 = 276, /* this includes YMM2I1 to YMM2I3 */
1424  CV_REG_YMM3I0 = 280, /* this includes YMM3I1 to YMM3I3 */
1425  CV_REG_YMM4I0 = 284, /* this includes YMM4I1 to YMM4I3 */
1426  CV_REG_YMM5I0 = 288, /* this includes YMM5I1 to YMM5I3 */
1427  CV_REG_YMM6I0 = 292, /* this includes YMM6I1 to YMM6I3 */
1428  CV_REG_YMM7I0 = 296, /* this includes YMM7I1 to YMM7I3 */
1429  CV_REG_YMM0F0 = 300, /* this includes YMM0F1 to YMM0F7 */
1430  CV_REG_YMM1F0 = 308, /* this includes YMM1F1 to YMM1F7 */
1431  CV_REG_YMM2F0 = 316, /* this includes YMM2F1 to YMM2F7 */
1432  CV_REG_YMM3F0 = 324, /* this includes YMM3F1 to YMM3F7 */
1433  CV_REG_YMM4F0 = 332, /* this includes YMM4F1 to YMM4F7 */
1434  CV_REG_YMM5F0 = 340, /* this includes YMM5F1 to YMM5F7 */
1435  CV_REG_YMM6F0 = 348, /* this includes YMM6F1 to YMM6F7 */
1436  CV_REG_YMM7F0 = 356, /* this includes YMM7F1 to YMM7F7 */
1437  CV_REG_YMM0D0 = 364, /* this includes YMM0D1 to YMM0D3 */
1438  CV_REG_YMM1D0 = 368, /* this includes YMM1D1 to YMM1D3 */
1439  CV_REG_YMM2D0 = 372, /* this includes YMM2D1 to YMM2D3 */
1440  CV_REG_YMM3D0 = 376, /* this includes YMM3D1 to YMM3D3 */
1441  CV_REG_YMM4D0 = 380, /* this includes YMM4D1 to YMM4D3 */
1442  CV_REG_YMM5D0 = 384, /* this includes YMM5D1 to YMM5D3 */
1443  CV_REG_YMM6D0 = 388, /* this includes YMM6D1 to YMM6D3 */
1444  CV_REG_YMM7D0 = 392, /* this includes YMM7D1 to YMM7D3 */
1445 
1446  /* Motorola 68K CPU */
1447  CV_R68_D0 = 0, /* this includes D1 to D7 too */
1448  CV_R68_A0 = 8, /* this includes A1 to A7 too */
1463  CV_R68_FP0 = 32, /* this includes FP1 to FP7 */
1483  CV_R68_BAD0 = 64, /* this includes BAD1 to BAD7 */
1484  CV_R68_BAC0 = 72, /* this includes BAC1 to BAC7 */
1485 
1486  /* MIPS 4000 CPU */
1492  CV_M4_IntA0 = 14, /* this includes IntA1 to IntA3 */
1493  CV_M4_IntT0 = 18, /* this includes IntT1 to IntT7 */
1494  CV_M4_IntS0 = 26, /* this includes IntS1 to IntS7 */
1507  CV_M4_FltF0 = 60, /* this includes FltF1 to Flt31 */
1509 
1510  /* Alpha AXP CPU */
1512  CV_ALPHA_FltF0 = 10, /* this includes FltF1 to FltF31 */
1514  CV_ALPHA_IntT0 = 43, /* this includes T1 to T7 */
1515  CV_ALPHA_IntS0 = 51, /* this includes S1 to S5 */
1517  CV_ALPHA_IntA0 = 58, /* this includes A1 to A5 */
1533 
1534  /* Motorola & IBM PowerPC CPU */
1535  CV_PPC_GPR0 = 1, /* this includes GPR1 to GPR31 */
1537  CV_PPC_CR0 = 34, /* this includes CR1 to CR7 */
1538  CV_PPC_FPR0 = 42, /* this includes FPR1 to FPR31 */
1539 
1542  CV_PPC_SR0 = 76, /* this includes SR1 to SR15 */
1544  CV_PPC_MQ = 100,
1545  CV_PPC_XER = 101,
1548  CV_PPC_LR = 108,
1549  CV_PPC_CTR = 109,
1553  CV_PPC_DAR = 119,
1554  CV_PPC_DEC = 122,
1558  CV_PPC_SPRG0 = 372, /* this includes SPRG1 to SPRG3 */
1559  CV_PPC_ASR = 280,
1560  CV_PPC_EAR = 382,
1561  CV_PPC_PVR = 287,
1578  CV_PPC_PMR0 = 1044, /* this includes PMR1 to PMR15 */
1580  CV_PPC_DCMP = 1077,
1584  CV_PPC_ICMP = 1081,
1585  CV_PPC_RPA = 1082,
1586  CV_PPC_HID0 = 1108, /* this includes HID1 to HID15 */
1587 
1588  /* Java */
1590 
1591  /* Hitachi SH3 CPU */
1593  CV_SH3_IntR0 = 10, /* this include R1 to R13 */
1615  CV_SH_FpR0 = 80, /* this includes FpR1 to FpR15 */
1616  CV_SH_XFpR0 = 96, /* this includes XFpR1 to XXFpR15 */
1617 
1618  /* ARM CPU */
1620  CV_ARM_R0 = 10, /* this includes R1 to R12 */
1628  CV_ARM_FS0 = 50, /* this includes FS1 to FS31 */
1629  CV_ARM_FPEXTRA0 = 90, /* this includes FPEXTRA1 to FPEXTRA7 */
1630  CV_ARM_WR0 = 128, /* this includes WR1 to WR15 */
1635  CV_ARM_WC4 = 148,
1636  CV_ARM_WC5 = 149,
1637  CV_ARM_WC6 = 150,
1638  CV_ARM_WC7 = 151,
1639  CV_ARM_WCGR0 = 152, /* this includes WCGR1 to WCGR3 */
1644  CV_ARM_FS32 = 200, /* this includes FS33 to FS63 */
1645  CV_ARM_ND0 = 300, /* this includes ND1 to ND31 */
1646  CV_ARM_NQ0 = 400, /* this includes NQ1 to NQ15 */
1647 
1648  /* Intel IA64 CPU */
1650  CV_IA64_Br0 = 512, /* this includes Br1 to Br7 */
1651  CV_IA64_P0 = 704, /* this includes P1 to P63 */
1653  CV_IA64_IntH0 = 832, /* this includes H1 to H15 */
1654  CV_IA64_Ip = 1016,
1656  CV_IA64_Cfm = 1018,
1657  CV_IA64_Psr = 1019,
1661  CV_IA64_IntR0 = 1024, /* this includes R1 to R127 */
1662  CV_IA64_FltF0 = 2048, /* this includes FltF1 to FltF127 */
1663  /* some IA64 registers missing */
1664 
1665  /* TriCore CPU */
1667  CV_TRI_D0 = 10, /* includes D1 to D15 */
1668  CV_TRI_A0 = 26, /* includes A1 to A15 */
1695  CV_TRI_DPRx_0 = 68, /* includes DPRx_1 to DPRx_3 */
1696  CV_TRI_CPRx_0 = 68, /* includes CPRx_1 to CPRx_3 */
1697  CV_TRI_DPMx_0 = 68, /* includes DPMx_1 to DPMx_3 */
1698  CV_TRI_CPMx_0 = 68, /* includes CPMx_1 to CPMx_3 */
1710 
1711  /* AM33 (and the likes) CPU */
1713  CV_AM33_E0 = 10, /* this includes E1 to E7 */
1714  CV_AM33_A0 = 20, /* this includes A1 to A3 */
1715  CV_AM33_D0 = 30, /* this includes D1 to D3 */
1716  CV_AM33_FS0 = 40, /* this includes FS1 to FS31 */
1728 
1729  /* Mitsubishi M32R CPU */
1731  CV_M32R_R0 = 10, /* this includes R1 to R11 */
1745 
1746  /* AMD/Intel x86_64 CPU */
1781 
1782  /* <pcode> */
1786  CV_AMD64_PCDR3 = CV_REG_PCDR3, /* this includes PCDR4 to PCDR7 */
1787  CV_AMD64_CR0 = CV_REG_CR0, /* this includes CR1 to CR4 */
1788  CV_AMD64_DR0 = CV_REG_DR0, /* this includes DR1 to DR7 */
1789  /* </pcode> */
1790 
1797 
1798  CV_AMD64_PSEUDO1 = CV_REG_PSEUDO1, /* this includes Pseudo02 to Pseudo09 */
1799  CV_AMD64_ST0 = CV_REG_ST0, /* this includes ST1 to ST7 */
1810  CV_AMD64_MM0 = CV_REG_MM0, /* this includes MM1 to MM7 */
1811  CV_AMD64_XMM0 = CV_REG_XMM0, /* this includes XMM1 to XMM7 */
1813  CV_AMD64_XMM0L = CV_REG_XMM0L, /* this includes XMM1L to XMM7L */
1814  CV_AMD64_XMM0H = CV_REG_XMM0H, /* this includes XMM1H to XMM7H */
1835 
1836  CV_AMD64_XMM8 = 252, /* this includes XMM9 to XMM15 */
1837 
1846 
1855 
1856  /* Wine extension */
1858  CV_ARM64_X0 = 10, /* this includes X0 to X30 */
1862 };
1863 
1864 typedef enum
1865 {
1871 } THUNK_ORDINAL;
1872 
1873 typedef enum CV_call_e
1874 {
1898 } CV_call_e;
1899 
1900 
1901 // wtypes.h
1902 typedef LONG SCODE;
1903 typedef double DATE;
1904 typedef unsigned short VARTYPE;
1905 typedef union tagCY {
1906  struct {
1907 #ifdef WORDS_BIGENDIAN
1908  LONG Hi;
1909  ULONG Lo;
1910 #else
1913 #endif
1914  } DUMMYSTRUCTNAME;
1916 } CY;
1917 typedef struct tagDEC {
1919  union {
1920  struct {
1923  } DUMMYSTRUCTNAME;
1925  } DUMMYUNIONNAME;
1927  union {
1928  struct {
1929 #ifdef WORDS_BIGENDIAN
1930  ULONG Mid32;
1931  ULONG Lo32;
1932 #else
1935 #endif
1936  } DUMMYSTRUCTNAME1;
1938  } DUMMYUNIONNAME1;
1939 } DECIMAL;
1940 typedef short VARIANT_BOOL;
1942 typedef WCHAR OLECHAR;
1943 typedef OLECHAR *BSTR;
1944 enum VARENUM {
1946  VT_NULL = 1,
1947  VT_I2 = 2,
1948  VT_I4 = 3,
1949  VT_R4 = 4,
1950  VT_R8 = 5,
1951  VT_CY = 6,
1952  VT_DATE = 7,
1953  VT_BSTR = 8,
1955  VT_ERROR = 10,
1956  VT_BOOL = 11,
1960  VT_I1 = 16,
1961  VT_UI1 = 17,
1962  VT_UI2 = 18,
1963  VT_UI4 = 19,
1964  VT_I8 = 20,
1965  VT_UI8 = 21,
1966  VT_INT = 22,
1967  VT_UINT = 23,
1968  VT_VOID = 24,
1970  VT_PTR = 26,
1974  VT_LPSTR = 30,
1980  VT_BLOB = 65,
1986  VT_CF = 71,
1987  VT_CLSID = 72,
1989  VT_BSTR_BLOB = 0xfff,
1990  VT_VECTOR = 0x1000,
1991  VT_ARRAY = 0x2000,
1992  VT_BYREF = 0x4000,
1993  VT_RESERVED = 0x8000,
1994  VT_ILLEGAL = 0xffff,
1996  VT_TYPEMASK = 0xfff
1997 };
1998 
1999 // oaidl.h
2000 typedef struct tagSAFEARRAYBOUND {
2003 } SAFEARRAYBOUND;
2004 typedef struct tagSAFEARRAY {
2011 } SAFEARRAY;
2013 
2014 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
2015 #define __VARIANT_NAME_1 n1
2016 #define __VARIANT_NAME_2 n2
2017 #define __VARIANT_NAME_3 n3
2018 #define __VARIANT_NAME_4 brecVal
2019 #else
2020 #define __tagVARIANT
2021 #define __VARIANT_NAME_1
2022 #define __VARIANT_NAME_2
2023 #define __VARIANT_NAME_3
2024 #define __tagBRECORD
2025 #define __VARIANT_NAME_4
2026 #endif
2027 typedef struct tagVARIANT VARIANT;
2028 struct tagVARIANT {
2029  union {
2030  struct __tagVARIANT {
2035  union {
2036  signed char cVal;
2056  signed char *pcVal;
2079  struct __tagBRECORD {
2082  } __VARIANT_NAME_4;
2083  } __VARIANT_NAME_3;
2084  } __VARIANT_NAME_2;
2086  } __VARIANT_NAME_1;
2087 };
2088 
2092 
2093 // wine/windef16.h
2094 typedef DWORD SEGPTR;
2095 
2096 // wine/winbase16.h
2097 typedef struct _STACK32FRAME
2098 {
2099  DWORD restore_addr; /* 00 return address for restoring code selector */
2100  DWORD codeselector; /* 04 code selector to restore */
2101  EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
2102  SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
2103  DWORD edi; /* 14 saved registers */
2104  DWORD esi; /* 18 */
2105  DWORD ebx; /* 1c */
2106  DWORD ebp; /* 20 saved 32-bit frame pointer */
2107  DWORD retaddr; /* 24 return address */
2108  DWORD target; /* 28 target address / CONTEXT86 pointer */
2109  DWORD nb_args; /* 2c number of 16-bit argument bytes */
2110 } STACK32FRAME;
2111 
2112 /* 16-bit stack layout after __wine_call_from_16() */
2113 typedef struct _STACK16FRAME
2114 {
2115  STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
2116  DWORD edx; /* 04 saved registers */
2117  DWORD ecx; /* 08 */
2118  DWORD ebp; /* 0c */
2119  WORD ds; /* 10 */
2120  WORD es; /* 12 */
2121  WORD fs; /* 14 */
2122  WORD gs; /* 16 */
2123  DWORD callfrom_ip; /* 18 callfrom tail IP */
2124  DWORD module_cs; /* 1c module code segment */
2125  DWORD relay; /* 20 relay function address */
2126  WORD entry_ip; /* 22 entry point IP */
2127  DWORD entry_point; /* 26 API entry point to call, reused as mutex count */
2128  WORD bp; /* 2a 16-bit stack frame chain */
2129  WORD ip; /* 2c return address */
2130  WORD cs; /* 2e */
2131 } STACK16FRAME;
_THREAD_WRITE_FLAGS
Definition: compat.h:794
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
PVOID glCurrentRC
Definition: compat.h:531
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
DWORD64 Address
Definition: compat.h:1146
struct API_VERSION * LPAPI_VERSION
BasicType
Definition: compat.h:1265
BOOL WINAPI SymCleanup(HANDLE hProcess)
Definition: dbghelp.c:416
signed char * PCHAR
Definition: retypes.h:7
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:271
struct _NT_TIB * Self
Definition: compat.h:389
PVOID EnvironmentPointer
Definition: compat.h:496
WCHAR OLECHAR
Definition: compat.h:1942
WORD LimitLow
Definition: compat.h:438
ULONG Tag
Definition: compat.h:707
SYM_TYPE SymType
Definition: compat.h:894
ULONG cbElements
Definition: compat.h:2007
BYTE BaseMid
Definition: compat.h:442
ULONGLONG Lo64
Definition: compat.h:1937
const uint16_t * PCWSTR
Definition: typedefs.h:56
PVOID WOW32Reserved
Definition: compat.h:506
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(PCWSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:837
DWORD MaxNameLength
Definition: compat.h:1129
struct tagCY::@356 DUMMYSTRUCTNAME
PVOID UserReserved[5]
Definition: compat.h:524
SYM_TYPE
Definition: compat.h:712
DWORD SizeOfImage
Definition: compat.h:577
#define R(b, x)
Definition: sha2.c:134
ADDRESS_MODE Mode
Definition: compat.h:847
static __inline const char * debugstr_w(const WCHAR *s)
Definition: compat.h:50
ULONG Win32ClientInfo[31]
Definition: compat.h:505
ULONG64 RVA64
Definition: compat.h:913
WCHAR StaticUnicodeBuffer[261]
Definition: compat.h:535
PVOID Instrumentation[16]
Definition: compat.h:543
BSTR * pbstrVal
Definition: compat.h:2069
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:395
ULONG NameLen
Definition: compat.h:708
BYTE bVal
Definition: compat.h:2041
Definition: compat.h:1948
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
DWORD64 ModBase
Definition: compat.h:1109
DWORD64 WINAPI SymLoadModuleExW(HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:578
ULONG64 Address
Definition: compat.h:1016
ULONG Esp
Definition: nt_native.h:1479
CY * pcyVal
Definition: compat.h:2072
PVOID GdiThreadLocaleInfo
Definition: compat.h:523
PVOID IRecordInfo
Definition: compat.h:23
VOID * PIMAGEHLP_CONTEXT
Definition: compat.h:632
ULONG MaxNameLen
Definition: compat.h:709
DWORD SizeOfStruct
Definition: compat.h:1169
Definition: compat.h:721
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:836
KAFFINITY AffinityMask
Definition: compat.h:588
DWORD WINAPI SymLoadModule(HANDLE hProcess, HANDLE hFile, PCSTR ImageName, PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll)
Definition: module.c:531
ULONG Eip
Definition: nt_native.h:1476
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
BOOL(CALLBACK * PENUMDIRTREE_CALLBACKW)(PCWSTR, PVOID)
Definition: compat.h:828
Definition: compat.h:1964
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
WCHAR ModuleName[32]
Definition: compat.h:734
USHORT MajorVersion
Definition: compat.h:1221
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:981
_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:373
PVOID glReserved2
Definition: compat.h:527
LIST_ENTRY TlsLinks
Definition: compat.h:538
ULONG MaxNameLen
Definition: compat.h:1021
struct _SOURCEFILE SOURCEFILE
Definition: compat.h:1960
DWORD dwFileDateMS
Definition: compat.h:569
PVOID Win32ThreadInfo
Definition: compat.h:504
FLOATING_SAVE_AREA FloatSave
Definition: nt_native.h:1446
ULONG64 ModBase
Definition: compat.h:1013
DWORD WINAPI SymSetOptions(DWORD opts)
Definition: dbghelp.c:443
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
Definition: module.c:1161
PVOID Key
Definition: compat.h:762
DWORD64 BaseOfImage
Definition: compat.h:728
PVOID glContext
Definition: compat.h:532
CONTEXT * PCONTEXT
Definition: nt_native.h:1486
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
VARIANT_BOOL boolVal
Definition: compat.h:2046
Definition: compat.h:716
DWORD LineNumber
Definition: compat.h:1189
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:980
uint16_t * PWSTR
Definition: typedefs.h:55
USHORT * puiVal
Definition: compat.h:2057
VARIANTARG * LPVARIANTARG
Definition: compat.h:2091
PVOID CsrClientThread
Definition: compat.h:503
DWORD SizeOfStruct
Definition: compat.h:1145
struct tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO
ULONG64 FuncTableEntry
Definition: compat.h:1031
struct _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY
struct _IMAGE_SEPARATE_DEBUG_HEADER * PIMAGE_SEPARATE_DEBUG_HEADER
STACK32FRAME * frame32
Definition: compat.h:2115
struct _MINIDUMP_CALLBACK_OUTPUT::@354::@355 DUMMYSTRUCTNAME
DWORD SizeOfStruct
Definition: compat.h:1107
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:541
DWORD BaseOfImage
Definition: compat.h:866
SHORT * piVal
Definition: compat.h:2062
CHAR LoadedPdbName[256]
Definition: compat.h:898
SAFEARRAYBOUND rgsabound[1]
Definition: compat.h:2010
ULONG Scope
Definition: compat.h:706
struct _tagADDRESS64 ADDRESS64
ULONG Ecx
Definition: nt_native.h:1467
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1045
struct _STACKFRAME64 STACKFRAME64
WORD wReserved3
Definition: compat.h:2034
CHAR ModuleName[32]
Definition: compat.h:895
union _LDT_ENTRY::@350 HighWord
LONG NTSTATUS
Definition: precomp.h:26
USHORT fFeatures
Definition: compat.h:2006
ULONG64 BackingStoreOffset
Definition: compat.h:1030
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
WCHAR ImageName[256]
Definition: compat.h:873
USHORT wReserved
Definition: compat.h:1918
USHORT MinorVersion
Definition: compat.h:1222
#define CALLBACK
Definition: compat.h:27
DWORD dwFileVersionLS
Definition: compat.h:561
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
Definition: module.c:1169
struct _MINIDUMP_CALLBACK_INPUT MINIDUMP_CALLBACK_INPUT
DWORD64 Address
Definition: compat.h:1113
ULONG Flags
Definition: compat.h:702
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(PSRCCODEINFOW, PVOID)
Definition: compat.h:1115
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: nt_native.h:1394
ULONG Lo32
Definition: compat.h:1933
GLdouble n
Definition: glext.h:7729
HANDLE HWND
Definition: compat.h:13
ULONG R6
Definition: ke.h:261
PVOID Key
Definition: compat.h:1108
DWORD SizeOfStruct
Definition: compat.h:1135
_EXCEPTION_DISPOSITION
Definition: compat.h:78
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:838
DWORD SizeOfStruct
Definition: compat.h:1178
DWORD ebx
Definition: compat.h:2105
ULONG R0
Definition: ke.h:255
DWORD Pres
Definition: compat.h:451
union _MINIDUMP_CALLBACK_OUTPUT::@354 DUMMYUNIONNAME
double DATE
Definition: compat.h:1903
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:982
PVOID ActiveRpcHandle
Definition: compat.h:498
ULONG TypeIndex
Definition: compat.h:697
FLOAT * pfltVal
Definition: compat.h:2064
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
const char * wine_dbgstr_an(const char *s, int n)
Definition: compat.c:288
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:195
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:829
DWORD64 Params[4]
Definition: compat.h:1057
ULONG64 Address
Definition: compat.h:704
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:830
DWORD BaseHi
Definition: compat.h:457
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:1171
SAFEARRAY * parray
Definition: compat.h:2053
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:1943
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
ULONG SegFs
Definition: nt_native.h:1454
uint16_t * PWCHAR
Definition: typedefs.h:55
struct _STACK32FRAME STACK32FRAME
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACKW)(HANDLE, PCWSTR, PVOID)
Definition: compat.h:790
ULONG SegDs
Definition: nt_native.h:1456
WCHAR * __lstrcpynW(WCHAR *lpString1, const WCHAR *lpString2, int iMaxLength)
struct _KDHELP64 KDHELP64
struct tagVARIANT::@361::__tagVARIANT::@362::__tagBRECORD __VARIANT_NAME_4
SAFEARRAY ** pparray
Definition: compat.h:2076
ADDRESS64 AddrBStore
Definition: compat.h:1055
PVOID byref
Definition: compat.h:2071
char * LPSTR
Definition: xmlstorage.h:182
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1063
HANDLE UniqueProcess
Definition: compat.h:483
struct _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC
DataKind
Definition: compat.h:1296
ULONG WaitingOnLoaderLock
Definition: compat.h:550
struct _tagADDRESS ADDRESS
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR, ULONG, ULONG, PVOID)
Definition: compat.h:884
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
BYTE sign
Definition: compat.h:1922
#define BOOL
Definition: nt_native.h:43
ULONG ulVal
Definition: compat.h:2038
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
#define DWORD
Definition: nt_native.h:44
DWORD ThCallbackStack
Definition: compat.h:1040
WORD BaseLow
Definition: compat.h:439
int32_t INT
Definition: typedefs.h:57
BYTE Flags1
Definition: compat.h:443
short VARIANT_BOOL
Definition: compat.h:1940
struct _CONTEXT CONTEXT
struct API_VERSION API_VERSION
PVOID ArbitraryUserPointer
Definition: compat.h:388
PCHAR FileName
Definition: compat.h:756
static __inline const char * wine_dbgstr_w(const WCHAR *s)
Definition: compat.h:51
WORD Segment
Definition: compat.h:825
PVOID WinSockData
Definition: compat.h:544
LONG KPRIORITY
Definition: compat.h:463
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:876
DWORD CheckSum
Definition: compat.h:869
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
DWORD target
Definition: compat.h:2108
PEXCEPTION_ROUTINE Handler
Definition: compat.h:396
INT __WideCharToMultiByte(UINT page, DWORD flags, LPCWSTR src, INT srclen, LPSTR dst, INT dstlen, LPCSTR defchar, BOOL *used)
Definition: compat.c:213
PVOID ExceptionAddress
Definition: compat.h:200
HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
Definition: compat.c:152
KPRIORITY BasePriority
Definition: compat.h:590
INT __MultiByteToWideChar(UINT page, DWORD flags, LPCSTR src, INT srclen, LPWSTR dst, INT dstlen)
Definition: compat.c:238
DWORD AddressOfNameOrdinals
Definition: compat.h:156
ULONG glReserved1[26]
Definition: compat.h:526
DWORD TimeDateStamp
Definition: compat.h:891
VARIANT * LPVARIANT
Definition: compat.h:2089
uint32_t ULONG_PTR
Definition: typedefs.h:64
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD FramePointer
Definition: compat.h:1043
ULONGLONG * pullVal
Definition: compat.h:2078
struct _tagADDRESS * LPADDRESS
CLIENT_ID ClientId
Definition: compat.h:497
ULONG gdiPen
Definition: compat.h:517
SHORT iVal
Definition: compat.h:2042
HANDLE GdiCachedProcessHandle
Definition: compat.h:520
struct tagSAFEARRAY SAFEARRAY
DWORD64 ModBase
Definition: compat.h:1100
DWORD ExceptionCode
Definition: compat.h:197
LONG lVal
Definition: compat.h:2043
UNICODE_STRING StaticUnicodeString
Definition: compat.h:534
PVOID ThreadLocalStoragePointer
Definition: compat.h:499
BOOL WINAPI SymEnumLines(HANDLE hProcess, ULONG64 base, PCSTR compiland, PCSTR srcfile, PSYM_ENUMLINES_CALLBACK cb, PVOID user)
Definition: symbol.c:2174
struct _IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL
ULONG NameLen
Definition: compat.h:1020
WCHAR LoadedImageName[256]
Definition: compat.h:736
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:883
DWORD BaseMid
Definition: compat.h:448
PVOID Reserved5[3]
Definition: compat.h:551
USHORT Revision
Definition: compat.h:1223
struct _IMAGE_DEBUG_DIRECTORY * PIMAGE_DEBUG_DIRECTORY
Definition: compat.h:1905
DWORD dwStrucVersion
Definition: compat.h:559
ULONG R8
Definition: ke.h:263
BYTE SpareBytes1[36]
Definition: compat.h:513
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _SYMBOL_INFO * PSYMBOL_INFO
ULONG GdiClientTID
Definition: compat.h:522
SymTagEnum
Definition: compat.h:1229
DWORD DataType
Definition: compat.h:159
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT _In_ PVOID DispatcherContext
Definition: ntbasedef.h:661
ULONG GdiClientPID
Definition: compat.h:521
DWORD ebp
Definition: compat.h:2106
ADDRESS_MODE
Definition: compat.h:804
unsigned int BOOL
Definition: ntddk_ex.h:94
INT intVal
Definition: compat.h:2039
DWORD Address
Definition: compat.h:1182
long LONG
Definition: pedump.c:60
LPVOID EntryPoint
Definition: compat.h:578
void * __HeapAlloc(int heap, int flags, size_t size)
Definition: compat.c:3
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK)(PCSTR, ULONG, PVOID)
Definition: compat.h:882
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACKW64)(PCWSTR, DWORD64, PVOID)
Definition: compat.h:835
short SHORT
Definition: pedump.c:59
DWORD ImageSize
Definition: compat.h:854
struct _MINIDUMP_CALLBACK_OUTPUT MINIDUMP_CALLBACK_OUTPUT
DWORD callfrom_ip
Definition: compat.h:2123
struct _GDI_TEB_BATCH * PGDI_TEB_BATCH
struct _SRCCODEINFOW SRCCODEINFOW
PVOID __RtlImageDirectoryEntryToData(PVOID BaseAddress, BOOLEAN MappedAsImage, USHORT Directory, PULONG Size)
Definition: compat.c:102
struct _DBGHELP_MODLOAD_DATA MODLOAD_DATA
ULONG SizeOfStruct
Definition: compat.h:1008
DWORD MaxNameLength
Definition: compat.h:1139
ULONG SegEs
Definition: nt_native.h:1455
ULONG CountOfOwnedCriticalSections
Definition: compat.h:502
ULONG Esi
Definition: nt_native.h:1464
DWORD SizeOfStruct
Definition: compat.h:753
ULONG Scope
Definition: compat.h:1018
BYTE * pbVal
Definition: compat.h:2061
LPSTR __lstrcpynA(LPSTR, LPCSTR, int)
Definition: compat.c:200