ReactOS  0.4.14-dev-556-g4c5b21f
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_DEBUG_MISC_EXENAME 1
143 #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
144 typedef struct _IMAGE_EXPORT_DIRECTORY {
157 typedef struct _IMAGE_DEBUG_MISC {
162  BYTE Data[1];
179 typedef struct _SECURITY_ATTRIBUTES {
184 typedef struct _IMAGE_DEBUG_DIRECTORY {
194 #define EXCEPTION_MAXIMUM_PARAMETERS 15
195 typedef struct _EXCEPTION_RECORD {
203 #if defined(TARGET_i386)
204 #define SIZE_OF_80387_REGISTERS 80
205 #define CONTEXT_i386 0x10000
206 #define CONTEXT_i486 0x10000
207 #define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
208 #define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
209 #define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
210 #define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
211 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
212 #define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
213 #define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
214 #define MAXIMUM_SUPPORTED_EXTENSION 512
215 
216 #define EXCEPTION_READ_FAULT 0
217 #define EXCEPTION_WRITE_FAULT 1
218 #define EXCEPTION_EXECUTE_FAULT 8
219 
220 typedef struct _FLOATING_SAVE_AREA {
223  DWORD TagWord;
228  BYTE RegisterArea[80];
231 
232 typedef struct _CONTEXT {
234  DWORD Dr0;
235  DWORD Dr1;
236  DWORD Dr2;
237  DWORD Dr3;
238  DWORD Dr6;
239  DWORD Dr7;
241  DWORD SegGs;
242  DWORD SegFs;
243  DWORD SegEs;
244  DWORD SegDs;
245  DWORD Edi;
246  DWORD Esi;
247  DWORD Ebx;
248  DWORD Edx;
249  DWORD Ecx;
250  DWORD Eax;
251  DWORD Ebp;
252  DWORD Eip;
253  DWORD SegCs;
254  DWORD EFlags;
255  DWORD Esp;
256  DWORD SegSs;
258 } CONTEXT, *PCONTEXT;
259 
260 #elif defined TARGET_amd64
261 
262 #error "Please define the CONTEXT structure for amd64 platform"
263 
264 #elif defined TARGET_arm /* ARM? */
265 
266 /* The following flags control the contents of the CONTEXT structure. */
267 
268 #define CONTEXT_ARM 0x0200000
269 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001)
270 #define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002)
271 #define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004)
272 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008)
273 
274 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
275 
276 #define EXCEPTION_READ_FAULT 0
277 #define EXCEPTION_WRITE_FAULT 1
278 #define EXCEPTION_EXECUTE_FAULT 8
279 
280 typedef struct _RUNTIME_FUNCTION
281 {
282  DWORD BeginAddress;
283  union {
284  DWORD UnwindData;
285  struct {
286  DWORD Flag : 2;
287  DWORD FunctionLength : 11;
288  DWORD Ret : 2;
289  DWORD H : 1;
290  DWORD Reg : 3;
291  DWORD R : 1;
292  DWORD L : 1;
293  DWORD C : 1;
294  DWORD StackAdjust : 10;
295  } DUMMYSTRUCTNAME;
296  } DUMMYUNIONNAME;
298 
299 #define UNWIND_HISTORY_TABLE_SIZE 12
300 typedef struct _UNWIND_HISTORY_TABLE_ENTRY
301 {
302  DWORD ImageBase;
303  PRUNTIME_FUNCTION FunctionEntry;
304 } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
305 
306 typedef struct _UNWIND_HISTORY_TABLE
307 {
308  DWORD Count;
309  BYTE LocalHint;
310  BYTE GlobalHint;
311  BYTE Search;
312  BYTE Once;
313  DWORD LowAddress;
315  UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
316 } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
317 
318 typedef struct _CONTEXT {
319  /* The flags values within this flag control the contents of
320  a CONTEXT record.
321 
322  If the context record is used as an input parameter, then
323  for each portion of the context record controlled by a flag
324  whose value is set, it is assumed that that portion of the
325  context record contains valid context. If the context record
326  is being used to modify a thread's context, then only that
327  portion of the threads context will be modified.
328 
329  If the context record is used as an IN OUT parameter to capture
330  the context of a thread, then only those portions of the thread's
331  context corresponding to set flags will be returned.
332 
333  The context record is never used as an OUT only parameter. */
334 
336 
337  /* This section is specified/returned if the ContextFlags word contains
338  the flag CONTEXT_INTEGER. */
339  ULONG R0;
340  ULONG R1;
341  ULONG R2;
342  ULONG R3;
343  ULONG R4;
344  ULONG R5;
345  ULONG R6;
346  ULONG R7;
347  ULONG R8;
348  ULONG R9;
349  ULONG R10;
350  ULONG Fp;
351  ULONG Ip;
352 
353  /* These are selected by CONTEXT_CONTROL */
354  ULONG Sp;
355  ULONG Lr;
356  ULONG Pc;
357  ULONG Cpsr;
358 } CONTEXT;
359 
363 #else
364 
365 #error "Unknown target platform"
366 
367 #endif
368 
369 typedef
371 NTAPI
373  struct _EXCEPTION_RECORD *ExceptionRecord,
375  struct _CONTEXT *ContextRecord,
378 typedef struct _NT_TIB {
383  union {
386  } DUMMYUNIONNAME;
388  struct _NT_TIB *Self;
389 } NT_TIB,*PNT_TIB;
390 
391 // rtltypes.h
393 {
397 
398 // winbase.h
399 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
400 #define HeapAlloc __HeapAlloc
401 #define HeapReAlloc __HeapReAlloc
402 #define HeapFree(x,y,z) free(z)
403 #define GetProcessHeap() 1
404 #define GetProcessId(x) 8
405 #define lstrcpynW __lstrcpynW
406 #define CloseHandle __CloseHandle
407 #define CreateFileA(a,b,c,d,e,f,g) fopen(a, "rb")
408 #define CreateFileW __CreateFileW
409 #define CreateFileMappingW(a,b,c,d,e,f) a
410 #define MapViewOfFile __MapViewOfFile
411 #define UnmapViewOfFile __UnmapViewOfFile
412 #define LoadLibraryW(x) 0
413 #define FreeLibrary(x) 0
414 #define lstrcpyW strcpyW // Forward this to wine unicode inline function
415 #define lstrlenW strlenW // ditto
416 #define lstrcpynA __lstrcpynA
417 #define SetLastError(x)
418 #define GetProcAddress(x,y) 0
419 #define GetEnvironmentVariableA(x, y, z) 0
420 #define GetEnvironmentVariableW(x, y, z) 0
421 #define GetCurrentDirectoryW(x, y) 0
422 #define GetFileSizeEx __GetFileSizeEx
423 #define ReadProcessMemory(a,b,c,d,e) 0
424 
425 void* __HeapAlloc(int heap, int flags, size_t size);
426 void* __HeapReAlloc(int heap, DWORD d2, void *slab, SIZE_T newsize);
427 WCHAR* __lstrcpynW(WCHAR* lpString1, const WCHAR* lpString2, int iMaxLength);
429 HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
431 BOOL __UnmapViewOfFile(const void*);
434 #define OPEN_EXISTING 3
435 #define FILE_MAP_READ SECTION_MAP_READ
436 typedef struct _LDT_ENTRY {
439  union {
440  struct {
445  } Bytes;
446  struct {
457  } Bits;
458  } HighWord;
460 
461 // umtypes.h
462 typedef LONG KPRIORITY;
463 
464 // winternl.h
465 #define RtlImageNtHeader __RtlImageNtHeader
466 #define RtlImageRvaToVa __RtlImageRvaToVa
467 #define RtlImageRvaToSection __RtlImageRvaToSection
468 #define RtlImageDirectoryEntryToData __RtlImageDirectoryEntryToData
469 
470 #ifdef _MSC_VER
471 #define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
472 #else
473 #define RtlUlongByteSwap(_x) __builtin_bswap32((_x))
474 #endif
475 
479 
480 typedef struct _CLIENT_ID
481 {
485 #define GDI_BATCH_BUFFER_SIZE 0x136
486 typedef struct _GDI_TEB_BATCH
487 {
492 typedef struct _TEB
493 {
494  NT_TIB Tib; /* 000 */
496  CLIENT_ID ClientId; /* 020 */
499  PVOID Peb; /* 030 */
504  ULONG Win32ClientInfo[31]; /* 044 used for user32 private data in Wine */
505  PVOID WOW32Reserved; /* 0c0 */
506  ULONG CurrentLocale; /* 0c4 */
508  PVOID SystemReserved1[54]; /* 0cc used for kernel32 private data in Wine */
509  PVOID Spare1; /* 1a4 */
510  LONG ExceptionCode; /* 1a8 */
512  BYTE SpareBytes1[36]; /* 1ac */
513  PVOID SystemReserved2[10]; /* 1d4 used for ntdll private data in Wine */
515  ULONG gdiRgn; /* 6dc */
516  ULONG gdiPen; /* 6e0 */
517  ULONG gdiBrush; /* 6e4 */
520  ULONG GdiClientPID; /* 6f4 */
521  ULONG GdiClientTID; /* 6f8 */
523  PVOID UserReserved[5]; /* 700 */
524  PVOID glDispatchTable[280]; /* 714 */
525  ULONG glReserved1[26]; /* b74 */
526  PVOID glReserved2; /* bdc */
527  PVOID glSectionInfo; /* be0 */
528  PVOID glSection; /* be4 */
529  PVOID glTable; /* be8 */
530  PVOID glCurrentRC; /* bec */
531  PVOID glContext; /* bf0 */
533  UNICODE_STRING StaticUnicodeString; /* bf8 used by advapi32 */
534  WCHAR StaticUnicodeBuffer[261]; /* c00 used by advapi32 */
536  PVOID TlsSlots[64]; /* e10 */
537  LIST_ENTRY TlsLinks; /* f10 */
538  PVOID Vdm; /* f18 */
540  PVOID DbgSsReserved[2]; /* f20 */
542  PVOID Instrumentation[16]; /* f2c */
543  PVOID WinSockData; /* f6c */
544  ULONG GdiBatchCount; /* f70 */
545  ULONG Spare2; /* f74 */
546  ULONG Spare3; /* f78 */
547  ULONG Spare4; /* f7c */
550  PVOID Reserved5[3]; /* f88 */
552 } TEB, *PTEB;
553 
554 
555 // winver.h
556 typedef struct tagVS_FIXEDFILEINFO {
571 
572 
573 // psapi.h
574 typedef struct _MODULEINFO {
579 #define GetModuleFileNameExW(w, x, y, z) 0
580 
581 // pstypes.h
583 {
591 typedef enum _THREADINFOCLASS {
628 
629 
630 // dbghelp.h
632 #define MAX_SYM_NAME 2000
633 #define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
634 #define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
635 #define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
636 #define CBA_SYMBOLS_UNLOADED 0x00000004
637 #define CBA_DUPLICATE_SYMBOL 0x00000005
638 #define CBA_READ_MEMORY 0x00000006
639 #define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
640 #define CBA_SET_OPTIONS 0x00000008
641 #define CBA_EVENT 0x00000010
642 #define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
643 #define CBA_DEBUG_INFO 0x10000000
644 #define SYMOPT_CASE_INSENSITIVE 0x00000001
645 #define SYMOPT_UNDNAME 0x00000002
646 #define SYMOPT_DEFERRED_LOADS 0x00000004
647 #define SYMOPT_LOAD_LINES 0x00000010
648 #define SYMOPT_LOAD_ANYTHING 0x00000040
649 #define SYMOPT_PUBLICS_ONLY 0x00004000
650 #define SYMOPT_NO_PUBLICS 0x00008000
651 #define SYMOPT_AUTO_PUBLICS 0x00010000
652 #define SYMFLAG_VALUEPRESENT 0x00000001
653 #define SYMFLAG_REGISTER 0x00000008
654 #define SYMFLAG_REGREL 0x00000010
655 #define SYMFLAG_FRAMEREL 0x00000020
656 #define SYMFLAG_PARAMETER 0x00000040
657 #define SYMFLAG_LOCAL 0x00000080
658 #define SYMFLAG_CONSTANT 0x00000100
659 #define SYMFLAG_EXPORT 0x00000200
660 #define SYMFLAG_FORWARDER 0x00000400
661 #define SYMFLAG_FUNCTION 0x00000800
662 #define SYMFLAG_VIRTUAL 0x00001000
663 #define SYMFLAG_THUNK 0x00002000
664 #define SYMFLAG_TLSREL 0x00004000
665 #define SYMFLAG_SLOT 0x00008000
666 #define SYMFLAG_ILREL 0x00010000
667 #define SYMFLAG_METADATA 0x00020000
668 #define SYMFLAG_CLR_TOKEN 0x00040000
669 #define SYMFLAG_NULL 0x00080000
670 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
671 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
672 #define SYMFLAG_PUBLIC_CODE 0x00400000
673 #define UNDNAME_COMPLETE (0x0000)
674 #define UNDNAME_NAME_ONLY (0x1000)
675 typedef struct _TI_FINDCHILDREN_PARAMS
676 {
681 #define SYMSEARCH_GLOBALSONLY 0x04
682 /* flags for SymLoadModuleEx */
683 #define SLMFLAG_VIRTUAL 0x1
684 #define SLMFLAG_NO_SYMBOLS 0x4
685 typedef struct _DBGHELP_MODLOAD_DATA
686 {
693 typedef struct _SYMBOL_INFO
694 {
709  CHAR Name[1];
711 typedef enum
712 {
713  SymNone = 0,
723 } SYM_TYPE;
724 typedef struct _IMAGEHLP_MODULEW64
725 {
750 typedef struct _IMAGEHLP_LINE64
751 {
758 typedef struct _SRCCODEINFO
759 {
770 BOOL WINAPI SymInitialize(HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess);
774 BOOL WINAPI SymMatchStringW(PCWSTR string, PCWSTR re, BOOL _case);
776  PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll);
790 #define FindExecutableImageExW __FindExecutableImageExW
793 typedef enum _THREAD_WRITE_FLAGS
794 {
803 typedef enum
804 {
809 } ADDRESS_MODE;
811 {
821 typedef struct _tagADDRESS64
822 {
839 
841 
842 typedef struct _tagADDRESS
843 {
847 } ADDRESS, *LPADDRESS;
848 
849 typedef struct _IMAGEHLP_MODULE
850 {
862 typedef struct _IMAGEHLP_MODULEW
863 {
884 
885 typedef struct _IMAGEHLP_MODULE64
886 {
911 typedef DWORD RVA;
912 typedef ULONG64 RVA64;
913 typedef enum _MINIDUMP_TYPE
914 {
915  MiniDumpNormal = 0x0000,
930 } MINIDUMP_TYPE;
932 {
941 {
952 {
965 {
969 {
973 {
977  union
978  {
984  } DUMMYUNIONNAME;
987 {
988  union
989  {
992  struct
993  {
996  } DUMMYSTRUCTNAME;
997  } DUMMYUNIONNAME;
1001 {
1005 typedef struct _SYMBOL_INFOW
1006 {
1024 {
1036 typedef struct _KDHELP64
1037 {
1047 } KDHELP64, *PKDHELP64;
1048 typedef struct _STACKFRAME64
1049 {
1063 {
1092 typedef struct _SOURCEFILE
1093 {
1097 typedef struct _SOURCEFILEW
1098 {
1104 typedef struct _SRCCODEINFOW
1105 {
1116 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1117 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
1118 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
1119 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
1120 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
1121 #else
1122 typedef struct _IMAGEHLP_SYMBOL
1123 {
1131 
1132 typedef struct _IMAGEHLP_SYMBOLW
1133 {
1141 #endif
1142 typedef struct _IMAGEHLP_SYMBOL64
1143 {
1151 typedef struct _IMAGEHLP_SYMBOLW64
1152 {
1160 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1161 #define IMAGEHLP_LINE IMAGEHLP_LINE64
1162 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
1163 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
1164 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
1165 #else
1166 typedef struct _IMAGEHLP_LINE
1167 {
1174 
1175 typedef struct _IMAGEHLP_LINEW
1176 {
1183 #endif
1184 typedef struct _IMAGEHLP_LINEW64
1185 {
1192 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1193 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
1194 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
1195 #else
1197 {
1206 #endif
1208 {
1218 typedef struct API_VERSION
1219 {
1225 
1226 // cvconst.h
1227 /* symbols & types enumeration */
1229 {
1262 };
1263 
1265 {
1267  btVoid = 1,
1268  btChar = 2,
1269  btWChar = 3,
1270  btInt = 6,
1271  btUInt = 7,
1272  btFloat = 8,
1273  btBCD = 9,
1274  btBool = 10,
1275  btLong = 13,
1276  btULong = 14,
1278  btDate = 26,
1281  btBit = 29,
1282  btBSTR = 30,
1284 };
1285 
1286 /* kind of UDT */
1288 {
1292 };
1293 
1294 /* kind of SymTagData */
1296 {
1307 };
1308 
1309 /* values for registers (on different CPUs) */
1311 {
1312  /* those values are common to all supported CPUs (and CPU independent) */
1313  CV_ALLREG_ERR = 30000,
1314  CV_ALLREG_TEB = 30001,
1323  CV_ALLREG_TID = 30010,
1324  CV_ALLREG_ENV = 30011,
1326 
1327  /* Intel x86 CPU */
1363 
1364  /* <pcode> */
1368  CV_REG_PCDR3 = 43, /* this includes PCDR4 to PCDR7 */
1369  CV_REG_CR0 = 80, /* this includes CR1 to CR4 */
1370  CV_REG_DR0 = 90, /* this includes DR1 to DR7 */
1371  /* </pcode> */
1372 
1378  CV_REG_TR = 115,
1379 
1380  CV_REG_PSEUDO1 = 116, /* this includes Pseudo02 to Pseudo09 */
1381  CV_REG_ST0 = 128, /* this includes ST1 to ST7 */
1384  CV_REG_TAG = 138,
1392  CV_REG_MM0 = 146, /* this includes MM1 to MM7 */
1393  CV_REG_XMM0 = 154, /* this includes XMM1 to XMM7 */
1395  CV_REG_XMM0L = 194, /* this includes XMM1L to XMM7L */
1396  CV_REG_XMM0H = 202, /* this includes XMM1H to XMM7H */
1417 
1418  CV_REG_YMM0 = 252, /* this includes YMM1 to YMM7 */
1419  CV_REG_YMM0H = 260, /* this includes YMM1H to YMM7H */
1420  CV_REG_YMM0I0 = 268, /* this includes YMM0I1 to YMM0I3 */
1421  CV_REG_YMM1I0 = 272, /* this includes YMM1I1 to YMM1I3 */
1422  CV_REG_YMM2I0 = 276, /* this includes YMM2I1 to YMM2I3 */
1423  CV_REG_YMM3I0 = 280, /* this includes YMM3I1 to YMM3I3 */
1424  CV_REG_YMM4I0 = 284, /* this includes YMM4I1 to YMM4I3 */
1425  CV_REG_YMM5I0 = 288, /* this includes YMM5I1 to YMM5I3 */
1426  CV_REG_YMM6I0 = 292, /* this includes YMM6I1 to YMM6I3 */
1427  CV_REG_YMM7I0 = 296, /* this includes YMM7I1 to YMM7I3 */
1428  CV_REG_YMM0F0 = 300, /* this includes YMM0F1 to YMM0F7 */
1429  CV_REG_YMM1F0 = 308, /* this includes YMM1F1 to YMM1F7 */
1430  CV_REG_YMM2F0 = 316, /* this includes YMM2F1 to YMM2F7 */
1431  CV_REG_YMM3F0 = 324, /* this includes YMM3F1 to YMM3F7 */
1432  CV_REG_YMM4F0 = 332, /* this includes YMM4F1 to YMM4F7 */
1433  CV_REG_YMM5F0 = 340, /* this includes YMM5F1 to YMM5F7 */
1434  CV_REG_YMM6F0 = 348, /* this includes YMM6F1 to YMM6F7 */
1435  CV_REG_YMM7F0 = 356, /* this includes YMM7F1 to YMM7F7 */
1436  CV_REG_YMM0D0 = 364, /* this includes YMM0D1 to YMM0D3 */
1437  CV_REG_YMM1D0 = 368, /* this includes YMM1D1 to YMM1D3 */
1438  CV_REG_YMM2D0 = 372, /* this includes YMM2D1 to YMM2D3 */
1439  CV_REG_YMM3D0 = 376, /* this includes YMM3D1 to YMM3D3 */
1440  CV_REG_YMM4D0 = 380, /* this includes YMM4D1 to YMM4D3 */
1441  CV_REG_YMM5D0 = 384, /* this includes YMM5D1 to YMM5D3 */
1442  CV_REG_YMM6D0 = 388, /* this includes YMM6D1 to YMM6D3 */
1443  CV_REG_YMM7D0 = 392, /* this includes YMM7D1 to YMM7D3 */
1444 
1445  /* Motorola 68K CPU */
1446  CV_R68_D0 = 0, /* this includes D1 to D7 too */
1447  CV_R68_A0 = 8, /* this includes A1 to A7 too */
1462  CV_R68_FP0 = 32, /* this includes FP1 to FP7 */
1482  CV_R68_BAD0 = 64, /* this includes BAD1 to BAD7 */
1483  CV_R68_BAC0 = 72, /* this includes BAC1 to BAC7 */
1484 
1485  /* MIPS 4000 CPU */
1491  CV_M4_IntA0 = 14, /* this includes IntA1 to IntA3 */
1492  CV_M4_IntT0 = 18, /* this includes IntT1 to IntT7 */
1493  CV_M4_IntS0 = 26, /* this includes IntS1 to IntS7 */
1506  CV_M4_FltF0 = 60, /* this includes FltF1 to Flt31 */
1508 
1509  /* Alpha AXP CPU */
1511  CV_ALPHA_FltF0 = 10, /* this includes FltF1 to FltF31 */
1513  CV_ALPHA_IntT0 = 43, /* this includes T1 to T7 */
1514  CV_ALPHA_IntS0 = 51, /* this includes S1 to S5 */
1516  CV_ALPHA_IntA0 = 58, /* this includes A1 to A5 */
1532 
1533  /* Motorola & IBM PowerPC CPU */
1534  CV_PPC_GPR0 = 1, /* this includes GPR1 to GPR31 */
1536  CV_PPC_CR0 = 34, /* this includes CR1 to CR7 */
1537  CV_PPC_FPR0 = 42, /* this includes FPR1 to FPR31 */
1538 
1541  CV_PPC_SR0 = 76, /* this includes SR1 to SR15 */
1543  CV_PPC_MQ = 100,
1544  CV_PPC_XER = 101,
1547  CV_PPC_LR = 108,
1548  CV_PPC_CTR = 109,
1552  CV_PPC_DAR = 119,
1553  CV_PPC_DEC = 122,
1557  CV_PPC_SPRG0 = 372, /* this includes SPRG1 to SPRG3 */
1558  CV_PPC_ASR = 280,
1559  CV_PPC_EAR = 382,
1560  CV_PPC_PVR = 287,
1577  CV_PPC_PMR0 = 1044, /* this includes PMR1 to PMR15 */
1579  CV_PPC_DCMP = 1077,
1583  CV_PPC_ICMP = 1081,
1584  CV_PPC_RPA = 1082,
1585  CV_PPC_HID0 = 1108, /* this includes HID1 to HID15 */
1586 
1587  /* Java */
1589 
1590  /* Hitachi SH3 CPU */
1592  CV_SH3_IntR0 = 10, /* this include R1 to R13 */
1614  CV_SH_FpR0 = 80, /* this includes FpR1 to FpR15 */
1615  CV_SH_XFpR0 = 96, /* this includes XFpR1 to XXFpR15 */
1616 
1617  /* ARM CPU */
1619  CV_ARM_R0 = 10, /* this includes R1 to R12 */
1627  CV_ARM_FS0 = 50, /* this includes FS1 to FS31 */
1628  CV_ARM_FPEXTRA0 = 90, /* this includes FPEXTRA1 to FPEXTRA7 */
1629  CV_ARM_WR0 = 128, /* this includes WR1 to WR15 */
1634  CV_ARM_WC4 = 148,
1635  CV_ARM_WC5 = 149,
1636  CV_ARM_WC6 = 150,
1637  CV_ARM_WC7 = 151,
1638  CV_ARM_WCGR0 = 152, /* this includes WCGR1 to WCGR3 */
1643  CV_ARM_FS32 = 200, /* this includes FS33 to FS63 */
1644  CV_ARM_ND0 = 300, /* this includes ND1 to ND31 */
1645  CV_ARM_NQ0 = 400, /* this includes NQ1 to NQ15 */
1646 
1647  /* Intel IA64 CPU */
1649  CV_IA64_Br0 = 512, /* this includes Br1 to Br7 */
1650  CV_IA64_P0 = 704, /* this includes P1 to P63 */
1652  CV_IA64_IntH0 = 832, /* this includes H1 to H15 */
1653  CV_IA64_Ip = 1016,
1655  CV_IA64_Cfm = 1018,
1656  CV_IA64_Psr = 1019,
1660  CV_IA64_IntR0 = 1024, /* this includes R1 to R127 */
1661  CV_IA64_FltF0 = 2048, /* this includes FltF1 to FltF127 */
1662  /* some IA64 registers missing */
1663 
1664  /* TriCore CPU */
1666  CV_TRI_D0 = 10, /* includes D1 to D15 */
1667  CV_TRI_A0 = 26, /* includes A1 to A15 */
1694  CV_TRI_DPRx_0 = 68, /* includes DPRx_1 to DPRx_3 */
1695  CV_TRI_CPRx_0 = 68, /* includes CPRx_1 to CPRx_3 */
1696  CV_TRI_DPMx_0 = 68, /* includes DPMx_1 to DPMx_3 */
1697  CV_TRI_CPMx_0 = 68, /* includes CPMx_1 to CPMx_3 */
1709 
1710  /* AM33 (and the likes) CPU */
1712  CV_AM33_E0 = 10, /* this includes E1 to E7 */
1713  CV_AM33_A0 = 20, /* this includes A1 to A3 */
1714  CV_AM33_D0 = 30, /* this includes D1 to D3 */
1715  CV_AM33_FS0 = 40, /* this includes FS1 to FS31 */
1727 
1728  /* Mitsubishi M32R CPU */
1730  CV_M32R_R0 = 10, /* this includes R1 to R11 */
1744 
1745  /* AMD/Intel x86_64 CPU */
1780 
1781  /* <pcode> */
1785  CV_AMD64_PCDR3 = CV_REG_PCDR3, /* this includes PCDR4 to PCDR7 */
1786  CV_AMD64_CR0 = CV_REG_CR0, /* this includes CR1 to CR4 */
1787  CV_AMD64_DR0 = CV_REG_DR0, /* this includes DR1 to DR7 */
1788  /* </pcode> */
1789 
1796 
1797  CV_AMD64_PSEUDO1 = CV_REG_PSEUDO1, /* this includes Pseudo02 to Pseudo09 */
1798  CV_AMD64_ST0 = CV_REG_ST0, /* this includes ST1 to ST7 */
1809  CV_AMD64_MM0 = CV_REG_MM0, /* this includes MM1 to MM7 */
1810  CV_AMD64_XMM0 = CV_REG_XMM0, /* this includes XMM1 to XMM7 */
1812  CV_AMD64_XMM0L = CV_REG_XMM0L, /* this includes XMM1L to XMM7L */
1813  CV_AMD64_XMM0H = CV_REG_XMM0H, /* this includes XMM1H to XMM7H */
1834 
1835  CV_AMD64_XMM8 = 252, /* this includes XMM9 to XMM15 */
1836 
1845 
1854 
1855  /* Wine extension */
1857  CV_ARM64_X0 = 10, /* this includes X0 to X30 */
1861 };
1862 
1863 typedef enum
1864 {
1870 } THUNK_ORDINAL;
1871 
1872 typedef enum CV_call_e
1873 {
1897 } CV_call_e;
1898 
1899 
1900 // wtypes.h
1901 typedef LONG SCODE;
1902 typedef double DATE;
1903 typedef unsigned short VARTYPE;
1904 typedef union tagCY {
1905  struct {
1906 #ifdef WORDS_BIGENDIAN
1907  LONG Hi;
1908  ULONG Lo;
1909 #else
1912 #endif
1913  } DUMMYSTRUCTNAME;
1915 } CY;
1916 typedef struct tagDEC {
1918  union {
1919  struct {
1922  } DUMMYSTRUCTNAME;
1924  } DUMMYUNIONNAME;
1926  union {
1927  struct {
1928 #ifdef WORDS_BIGENDIAN
1929  ULONG Mid32;
1930  ULONG Lo32;
1931 #else
1934 #endif
1935  } DUMMYSTRUCTNAME1;
1937  } DUMMYUNIONNAME1;
1938 } DECIMAL;
1939 typedef short VARIANT_BOOL;
1941 typedef WCHAR OLECHAR;
1942 typedef OLECHAR *BSTR;
1943 enum VARENUM {
1945  VT_NULL = 1,
1946  VT_I2 = 2,
1947  VT_I4 = 3,
1948  VT_R4 = 4,
1949  VT_R8 = 5,
1950  VT_CY = 6,
1951  VT_DATE = 7,
1952  VT_BSTR = 8,
1954  VT_ERROR = 10,
1955  VT_BOOL = 11,
1959  VT_I1 = 16,
1960  VT_UI1 = 17,
1961  VT_UI2 = 18,
1962  VT_UI4 = 19,
1963  VT_I8 = 20,
1964  VT_UI8 = 21,
1965  VT_INT = 22,
1966  VT_UINT = 23,
1967  VT_VOID = 24,
1969  VT_PTR = 26,
1973  VT_LPSTR = 30,
1979  VT_BLOB = 65,
1985  VT_CF = 71,
1986  VT_CLSID = 72,
1988  VT_BSTR_BLOB = 0xfff,
1989  VT_VECTOR = 0x1000,
1990  VT_ARRAY = 0x2000,
1991  VT_BYREF = 0x4000,
1992  VT_RESERVED = 0x8000,
1993  VT_ILLEGAL = 0xffff,
1995  VT_TYPEMASK = 0xfff
1996 };
1997 
1998 // oaidl.h
1999 typedef struct tagSAFEARRAYBOUND {
2002 } SAFEARRAYBOUND;
2003 typedef struct tagSAFEARRAY {
2010 } SAFEARRAY;
2012 
2013 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
2014 #define __VARIANT_NAME_1 n1
2015 #define __VARIANT_NAME_2 n2
2016 #define __VARIANT_NAME_3 n3
2017 #define __VARIANT_NAME_4 brecVal
2018 #else
2019 #define __tagVARIANT
2020 #define __VARIANT_NAME_1
2021 #define __VARIANT_NAME_2
2022 #define __VARIANT_NAME_3
2023 #define __tagBRECORD
2024 #define __VARIANT_NAME_4
2025 #endif
2026 typedef struct tagVARIANT VARIANT;
2027 struct tagVARIANT {
2028  union {
2029  struct __tagVARIANT {
2034  union {
2035  signed char cVal;
2055  signed char *pcVal;
2078  struct __tagBRECORD {
2081  } __VARIANT_NAME_4;
2082  } __VARIANT_NAME_3;
2083  } __VARIANT_NAME_2;
2085  } __VARIANT_NAME_1;
2086 };
2087 
2091 
2092 // wine/windef16.h
2093 typedef DWORD SEGPTR;
2094 
2095 // wine/winbase16.h
2096 typedef struct _STACK32FRAME
2097 {
2098  DWORD restore_addr; /* 00 return address for restoring code selector */
2099  DWORD codeselector; /* 04 code selector to restore */
2100  EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
2101  SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
2102  DWORD edi; /* 14 saved registers */
2103  DWORD esi; /* 18 */
2104  DWORD ebx; /* 1c */
2105  DWORD ebp; /* 20 saved 32-bit frame pointer */
2106  DWORD retaddr; /* 24 return address */
2107  DWORD target; /* 28 target address / CONTEXT86 pointer */
2108  DWORD nb_args; /* 2c number of 16-bit argument bytes */
2109 } STACK32FRAME;
2110 
2111 /* 16-bit stack layout after __wine_call_from_16() */
2112 typedef struct _STACK16FRAME
2113 {
2114  STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
2115  DWORD edx; /* 04 saved registers */
2116  DWORD ecx; /* 08 */
2117  DWORD ebp; /* 0c */
2118  WORD ds; /* 10 */
2119  WORD es; /* 12 */
2120  WORD fs; /* 14 */
2121  WORD gs; /* 16 */
2122  DWORD callfrom_ip; /* 18 callfrom tail IP */
2123  DWORD module_cs; /* 1c module code segment */
2124  DWORD relay; /* 20 relay function address */
2125  WORD entry_ip; /* 22 entry point IP */
2126  DWORD entry_point; /* 26 API entry point to call, reused as mutex count */
2127  WORD bp; /* 2a 16-bit stack frame chain */
2128  WORD ip; /* 2c return address */
2129  WORD cs; /* 2e */
2130 } STACK16FRAME;
_THREAD_WRITE_FLAGS
Definition: compat.h:793
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
ULONG gdiBrush
Definition: compat.h:517
PVOID glCurrentRC
Definition: compat.h:530
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
DWORD64 Address
Definition: compat.h:1145
struct API_VERSION * LPAPI_VERSION
BasicType
Definition: compat.h:1264
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 tagVARIANT::@358::__tagVARIANT __VARIANT_NAME_2
struct _NT_TIB * Self
Definition: compat.h:388
PVOID EnvironmentPointer
Definition: compat.h:495
WCHAR OLECHAR
Definition: compat.h:1941
WORD LimitLow
Definition: compat.h:437
ULONG Tag
Definition: compat.h:706
SYM_TYPE SymType
Definition: compat.h:893
ULONG cbElements
Definition: compat.h:2006
ULONG gdiRgn
Definition: compat.h:515
BYTE BaseMid
Definition: compat.h:441
ULONGLONG Lo64
Definition: compat.h:1936
const uint16_t * PCWSTR
Definition: typedefs.h:55
PVOID WOW32Reserved
Definition: compat.h:505
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(PCWSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:836
DWORD MaxNameLength
Definition: compat.h:1128
SYM_TYPE
Definition: compat.h:711
DWORD SizeOfImage
Definition: compat.h:576
#define R(b, x)
Definition: sha2.c:134
ULONG glReserved1[26]
Definition: compat.h:525
ADDRESS_MODE Mode
Definition: compat.h:846
static __inline const char * debugstr_w(const WCHAR *s)
Definition: compat.h:50
ULONG Win32ClientInfo[31]
Definition: compat.h:504
ULONG64 RVA64
Definition: compat.h:912
WCHAR StaticUnicodeBuffer[261]
Definition: compat.h:534
PVOID Instrumentation[16]
Definition: compat.h:542
BSTR * pbstrVal
Definition: compat.h:2068
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:394
ULONG NameLen
Definition: compat.h:707
BYTE bVal
Definition: compat.h:2040
Definition: compat.h:1947
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
DWORD64 ModBase
Definition: compat.h:1108
DWORD64 WINAPI SymLoadModuleExW(HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:578
ULONG64 Address
Definition: compat.h:1015
ULONG Esp
Definition: nt_native.h:1479
CY * pcyVal
Definition: compat.h:2071
PVOID GdiThreadLocaleInfo
Definition: compat.h:522
PVOID IRecordInfo
Definition: compat.h:23
VOID * PIMAGEHLP_CONTEXT
Definition: compat.h:631
ULONG MaxNameLen
Definition: compat.h:708
DWORD SizeOfStruct
Definition: compat.h:1168
Definition: compat.h:720
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:835
KAFFINITY AffinityMask
Definition: compat.h:587
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:827
Definition: compat.h:1963
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
WCHAR ModuleName[32]
Definition: compat.h:733
USHORT MajorVersion
Definition: compat.h:1220
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:980
_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:372
PVOID glReserved2
Definition: compat.h:526
LIST_ENTRY TlsLinks
Definition: compat.h:537
ULONG MaxNameLen
Definition: compat.h:1020
struct _SOURCEFILE SOURCEFILE
Definition: compat.h:1959
DWORD dwFileDateMS
Definition: compat.h:568
PVOID Win32ThreadInfo
Definition: compat.h:503
FLOATING_SAVE_AREA FloatSave
Definition: nt_native.h:1446
ULONG64 ModBase
Definition: compat.h:1012
DWORD WINAPI SymSetOptions(DWORD opts)
Definition: dbghelp.c:443
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
Definition: module.c:1161
PVOID Key
Definition: compat.h:761
DWORD64 BaseOfImage
Definition: compat.h:727
PVOID glContext
Definition: compat.h:531
CONTEXT * PCONTEXT
Definition: nt_native.h:1486
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
VARIANT_BOOL boolVal
Definition: compat.h:2045
Definition: compat.h:715
DWORD LineNumber
Definition: compat.h:1188
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:979
uint16_t * PWSTR
Definition: typedefs.h:54
USHORT * puiVal
Definition: compat.h:2056
VARIANTARG * LPVARIANTARG
Definition: compat.h:2090
PVOID CsrClientThread
Definition: compat.h:502
DWORD SizeOfStruct
Definition: compat.h:1144
struct tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO
ULONG64 FuncTableEntry
Definition: compat.h:1030
struct _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY
struct _IMAGE_SEPARATE_DEBUG_HEADER * PIMAGE_SEPARATE_DEBUG_HEADER
STACK32FRAME * frame32
Definition: compat.h:2114
DWORD SizeOfStruct
Definition: compat.h:1106
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:865
SHORT * piVal
Definition: compat.h:2061
CHAR LoadedPdbName[256]
Definition: compat.h:897
SAFEARRAYBOUND rgsabound[1]
Definition: compat.h:2009
ULONG Scope
Definition: compat.h:705
struct _tagADDRESS64 ADDRESS64
ULONG Ecx
Definition: nt_native.h:1467
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1044
struct _STACKFRAME64 STACKFRAME64
WORD wReserved3
Definition: compat.h:2033
CHAR ModuleName[32]
Definition: compat.h:894
LONG NTSTATUS
Definition: precomp.h:26
USHORT fFeatures
Definition: compat.h:2005
ULONG64 BackingStoreOffset
Definition: compat.h:1029
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
WCHAR ImageName[256]
Definition: compat.h:872
USHORT wReserved
Definition: compat.h:1917
USHORT MinorVersion
Definition: compat.h:1221
#define CALLBACK
Definition: compat.h:27
DWORD dwFileVersionLS
Definition: compat.h:560
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
Definition: module.c:1169
struct _MINIDUMP_CALLBACK_INPUT MINIDUMP_CALLBACK_INPUT
DWORD64 Address
Definition: compat.h:1112
ULONG Flags
Definition: compat.h:701
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(PSRCCODEINFOW, PVOID)
Definition: compat.h:1114
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: nt_native.h:1394
ULONG Lo32
Definition: compat.h:1932
GLdouble n
Definition: glext.h:7729
HANDLE HWND
Definition: compat.h:13
ULONG R6
Definition: ke.h:261
PVOID Key
Definition: compat.h:1107
DWORD SizeOfStruct
Definition: compat.h:1134
_EXCEPTION_DISPOSITION
Definition: compat.h:78
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:837
DWORD SizeOfStruct
Definition: compat.h:1177
DWORD ebx
Definition: compat.h:2104
ULONG R0
Definition: ke.h:255
DWORD Pres
Definition: compat.h:450
double DATE
Definition: compat.h:1902
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:981
PVOID ActiveRpcHandle
Definition: compat.h:497
ULONG TypeIndex
Definition: compat.h:696
FLOAT * pfltVal
Definition: compat.h:2063
_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:194
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
PVOID(CALLBACK * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:828
DWORD64 Params[4]
Definition: compat.h:1056
ULONG64 Address
Definition: compat.h:703
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:829
DWORD BaseHi
Definition: compat.h:456
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:1170
SAFEARRAY * parray
Definition: compat.h:2052
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:1270
OLECHAR * BSTR
Definition: compat.h:1942
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
ULONG SegFs
Definition: nt_native.h:1454
uint16_t * PWCHAR
Definition: typedefs.h:54
struct _STACK32FRAME STACK32FRAME
BOOL(CALLBACK * PFIND_EXE_FILE_CALLBACKW)(HANDLE, PCWSTR, PVOID)
Definition: compat.h:789
ULONG SegDs
Definition: nt_native.h:1456
WCHAR * __lstrcpynW(WCHAR *lpString1, const WCHAR *lpString2, int iMaxLength)
struct _KDHELP64 KDHELP64
SAFEARRAY ** pparray
Definition: compat.h:2075
ADDRESS64 AddrBStore
Definition: compat.h:1054
PVOID byref
Definition: compat.h:2070
char * LPSTR
Definition: xmlstorage.h:182
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1062
HANDLE UniqueProcess
Definition: compat.h:482
struct _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC
DataKind
Definition: compat.h:1295
ULONG WaitingOnLoaderLock
Definition: compat.h:549
struct _tagADDRESS ADDRESS
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR, ULONG, ULONG, PVOID)
Definition: compat.h:883
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
BYTE sign
Definition: compat.h:1921
#define BOOL
Definition: nt_native.h:43
ULONG ulVal
Definition: compat.h:2037
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
#define DWORD
Definition: nt_native.h:44
DWORD ThCallbackStack
Definition: compat.h:1039
WORD BaseLow
Definition: compat.h:438
int32_t INT
Definition: typedefs.h:56
BYTE Flags1
Definition: compat.h:442
short VARIANT_BOOL
Definition: compat.h:1939
struct _CONTEXT CONTEXT
struct API_VERSION API_VERSION
PVOID ArbitraryUserPointer
Definition: compat.h:387
PCHAR FileName
Definition: compat.h:755
static __inline const char * wine_dbgstr_w(const WCHAR *s)
Definition: compat.h:51
WORD Segment
Definition: compat.h:824
PVOID WinSockData
Definition: compat.h:543
LONG KPRIORITY
Definition: compat.h:462
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD * PIMAGEHLP_DEFERRED_SYMBOL_LOAD
ULONG Dr7
Definition: nt_native.h:1439
ULONG Dr3
Definition: nt_native.h:1437
union _MINIDUMP_CALLBACK_OUTPUT::@351 DUMMYUNIONNAME
struct _STACK16FRAME STACK16FRAME
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:875
DWORD CheckSum
Definition: compat.h:868
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
DWORD target
Definition: compat.h:2107
PEXCEPTION_ROUTINE Handler
Definition: compat.h:395
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:199
HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
Definition: compat.c:152
struct _LDT_ENTRY::@347::@348 Bytes
KPRIORITY BasePriority
Definition: compat.h:589
INT __MultiByteToWideChar(UINT page, DWORD flags, LPCSTR src, INT srclen, LPWSTR dst, INT dstlen)
Definition: compat.c:238
DWORD AddressOfNameOrdinals
Definition: compat.h:155
DWORD TimeDateStamp
Definition: compat.h:890
VARIANT * LPVARIANT
Definition: compat.h:2088
uint32_t ULONG_PTR
Definition: typedefs.h:63
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD FramePointer
Definition: compat.h:1042
ULONGLONG * pullVal
Definition: compat.h:2077
struct _tagADDRESS * LPADDRESS
CLIENT_ID ClientId
Definition: compat.h:496
SHORT iVal
Definition: compat.h:2041
HANDLE GdiCachedProcessHandle
Definition: compat.h:519
struct tagSAFEARRAY SAFEARRAY
DWORD64 ModBase
Definition: compat.h:1099
DWORD ExceptionCode
Definition: compat.h:196
LONG lVal
Definition: compat.h:2042
UNICODE_STRING StaticUnicodeString
Definition: compat.h:533
PVOID ThreadLocalStoragePointer
Definition: compat.h:498
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:1019
WCHAR LoadedImageName[256]
Definition: compat.h:735
struct tagDEC::@355::@357 DUMMYSTRUCTNAME1
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:882
DWORD BaseMid
Definition: compat.h:447
PVOID Reserved5[3]
Definition: compat.h:550
USHORT Revision
Definition: compat.h:1222
struct _IMAGE_DEBUG_DIRECTORY * PIMAGE_DEBUG_DIRECTORY
Definition: compat.h:1904
DWORD dwStrucVersion
Definition: compat.h:558
ULONG R8
Definition: ke.h:263
BYTE SpareBytes1[36]
Definition: compat.h:512
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:521
SymTagEnum
Definition: compat.h:1228
DWORD DataType
Definition: compat.h:158
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT _In_ PVOID DispatcherContext
Definition: ntbasedef.h:661
ULONG GdiClientPID
Definition: compat.h:520
DWORD ebp
Definition: compat.h:2105
ADDRESS_MODE
Definition: compat.h:803
unsigned int BOOL
Definition: ntddk_ex.h:94
INT intVal
Definition: compat.h:2038
DWORD Address
Definition: compat.h:1181
long LONG
Definition: pedump.c:60
LPVOID EntryPoint
Definition: compat.h:577
void * __HeapAlloc(int heap, int flags, size_t size)
Definition: compat.c:3
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK)(PCSTR, ULONG, PVOID)
Definition: compat.h:881
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACKW64)(PCWSTR, DWORD64, PVOID)
Definition: compat.h:834
short SHORT
Definition: pedump.c:59
DWORD ImageSize
Definition: compat.h:853
struct _MINIDUMP_CALLBACK_OUTPUT MINIDUMP_CALLBACK_OUTPUT
DWORD callfrom_ip
Definition: compat.h:2122
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:1007
DWORD MaxNameLength
Definition: compat.h:1138
ULONG SegEs
Definition: nt_native.h:1455
ULONG CountOfOwnedCriticalSections
Definition: compat.h:501
ULONG Esi
Definition: nt_native.h:1464
DWORD SizeOfStruct
Definition: compat.h:752
ULONG Scope
Definition: compat.h:1017
BYTE * pbVal
Definition: compat.h:2060
LPSTR __lstrcpynA(LPSTR, LPCSTR, int)
Definition: compat.c:200