ReactOS  r75907
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 0x1c5
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(_X86_)
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 #else /* ARM? */
261 
262 /* The following flags control the contents of the CONTEXT structure. */
263 
264 #define CONTEXT_ARM 0x0200000
265 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001)
266 #define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002)
267 #define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004)
268 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008)
269 
270 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
271 
272 #define EXCEPTION_READ_FAULT 0
273 #define EXCEPTION_WRITE_FAULT 1
274 #define EXCEPTION_EXECUTE_FAULT 8
275 
276 typedef struct _RUNTIME_FUNCTION
277 {
279  union {
281  struct {
282  DWORD Flag : 2;
284  DWORD Ret : 2;
285  DWORD H : 1;
286  DWORD Reg : 3;
287  DWORD R : 1;
288  DWORD L : 1;
289  DWORD C : 1;
291  } DUMMYSTRUCTNAME;
292  } DUMMYUNIONNAME;
294 
295 #define UNWIND_HISTORY_TABLE_SIZE 12
297 {
299  PRUNTIME_FUNCTION FunctionEntry;
301 
302 typedef struct _UNWIND_HISTORY_TABLE
303 {
313 
314 typedef struct _CONTEXT {
315  /* The flags values within this flag control the contents of
316  a CONTEXT record.
317 
318  If the context record is used as an input parameter, then
319  for each portion of the context record controlled by a flag
320  whose value is set, it is assumed that that portion of the
321  context record contains valid context. If the context record
322  is being used to modify a thread's context, then only that
323  portion of the threads context will be modified.
324 
325  If the context record is used as an IN OUT parameter to capture
326  the context of a thread, then only those portions of the thread's
327  context corresponding to set flags will be returned.
328 
329  The context record is never used as an OUT only parameter. */
330 
332 
333  /* This section is specified/returned if the ContextFlags word contains
334  the flag CONTEXT_INTEGER. */
348 
349  /* These are selected by CONTEXT_CONTROL */
354 } CONTEXT;
355 
359 #endif
360 
361 typedef
363 NTAPI
365  struct _EXCEPTION_RECORD *ExceptionRecord,
367  struct _CONTEXT *ContextRecord,
370 typedef struct _NT_TIB {
375  union {
378  } DUMMYUNIONNAME;
380  struct _NT_TIB *Self;
381 } NT_TIB,*PNT_TIB;
382 
383 // rtltypes.h
385 {
389 
390 // winbase.h
391 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
392 #define HeapAlloc __HeapAlloc
393 #define HeapReAlloc __HeapReAlloc
394 #define HeapFree(x,y,z) free(z)
395 #define GetProcessHeap() 1
396 #define GetProcessId(x) 8
397 #define lstrcpynW __lstrcpynW
398 #define CloseHandle __CloseHandle
399 #define CreateFileA(a,b,c,d,e,f,g) fopen(a, "rb")
400 #define CreateFileW __CreateFileW
401 #define CreateFileMappingW(a,b,c,d,e,f) a
402 #define MapViewOfFile __MapViewOfFile
403 #define UnmapViewOfFile __UnmapViewOfFile
404 #define LoadLibraryW(x) 0
405 #define FreeLibrary(x) 0
406 #define lstrcpyW strcpyW // Forward this to wine unicode inline function
407 #define lstrlenW strlenW // ditto
408 #define lstrcpynA __lstrcpynA
409 #define SetLastError(x)
410 #define GetProcAddress(x,y) 0
411 #define GetEnvironmentVariableA(x, y, z) 0
412 #define GetEnvironmentVariableW(x, y, z) 0
413 #define GetCurrentDirectoryW(x, y) 0
414 #define GetFileSizeEx __GetFileSizeEx
415 #define ReadProcessMemory(a,b,c,d,e) 0
416 
417 void* __HeapAlloc(int heap, int flags, size_t size);
418 void* __HeapReAlloc(int heap, DWORD d2, void *slab, SIZE_T newsize);
419 WCHAR* __lstrcpynW(WCHAR* lpString1, const WCHAR* lpString2, int iMaxLength);
421 HANDLE __CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
423 BOOL __UnmapViewOfFile(const void*);
426 #define OPEN_EXISTING 3
427 #define FILE_MAP_READ SECTION_MAP_READ
428 typedef struct _LDT_ENTRY {
431  union {
432  struct {
437  } Bytes;
438  struct {
449  } Bits;
450  } HighWord;
452 
453 // umtypes.h
454 typedef LONG KPRIORITY;
455 
456 // winternl.h
457 #define RtlImageNtHeader __RtlImageNtHeader
458 #define RtlImageRvaToVa __RtlImageRvaToVa
459 #define RtlImageRvaToSection __RtlImageRvaToSection
460 #define RtlImageDirectoryEntryToData __RtlImageDirectoryEntryToData
461 
462 #ifdef _MSC_VER
463 #define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
464 #else
465 #define RtlUlongByteSwap(_x) __builtin_bswap32((_x))
466 #endif
467 
471 
472 typedef struct _CLIENT_ID
473 {
477 #define GDI_BATCH_BUFFER_SIZE 0x136
478 typedef struct _GDI_TEB_BATCH
479 {
484 typedef struct _TEB
485 {
486  NT_TIB Tib; /* 000 */
488  CLIENT_ID ClientId; /* 020 */
491  PVOID Peb; /* 030 */
496  ULONG Win32ClientInfo[31]; /* 044 used for user32 private data in Wine */
497  PVOID WOW32Reserved; /* 0c0 */
498  ULONG CurrentLocale; /* 0c4 */
500  PVOID SystemReserved1[54]; /* 0cc used for kernel32 private data in Wine */
501  PVOID Spare1; /* 1a4 */
502  LONG ExceptionCode; /* 1a8 */
504  BYTE SpareBytes1[36]; /* 1ac */
505  PVOID SystemReserved2[10]; /* 1d4 used for ntdll private data in Wine */
507  ULONG gdiRgn; /* 6dc */
508  ULONG gdiPen; /* 6e0 */
509  ULONG gdiBrush; /* 6e4 */
512  ULONG GdiClientPID; /* 6f4 */
513  ULONG GdiClientTID; /* 6f8 */
515  PVOID UserReserved[5]; /* 700 */
516  PVOID glDispatchTable[280]; /* 714 */
517  ULONG glReserved1[26]; /* b74 */
518  PVOID glReserved2; /* bdc */
519  PVOID glSectionInfo; /* be0 */
520  PVOID glSection; /* be4 */
521  PVOID glTable; /* be8 */
522  PVOID glCurrentRC; /* bec */
523  PVOID glContext; /* bf0 */
525  UNICODE_STRING StaticUnicodeString; /* bf8 used by advapi32 */
526  WCHAR StaticUnicodeBuffer[261]; /* c00 used by advapi32 */
528  PVOID TlsSlots[64]; /* e10 */
529  LIST_ENTRY TlsLinks; /* f10 */
530  PVOID Vdm; /* f18 */
532  PVOID DbgSsReserved[2]; /* f20 */
534  PVOID Instrumentation[16]; /* f2c */
535  PVOID WinSockData; /* f6c */
536  ULONG GdiBatchCount; /* f70 */
537  ULONG Spare2; /* f74 */
538  ULONG Spare3; /* f78 */
539  ULONG Spare4; /* f7c */
542  PVOID Reserved5[3]; /* f88 */
544 } TEB, *PTEB;
545 
546 
547 // winver.h
548 typedef struct tagVS_FIXEDFILEINFO {
563 
564 
565 // psapi.h
566 typedef struct _MODULEINFO {
571 #define GetModuleFileNameExW(w, x, y, z) 0
572 
573 // pstypes.h
575 {
583 typedef enum _THREADINFOCLASS {
620 
621 
622 // dbghelp.h
624 #define MAX_SYM_NAME 2000
625 #define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
626 #define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
627 #define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
628 #define CBA_SYMBOLS_UNLOADED 0x00000004
629 #define CBA_DUPLICATE_SYMBOL 0x00000005
630 #define CBA_READ_MEMORY 0x00000006
631 #define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
632 #define CBA_SET_OPTIONS 0x00000008
633 #define CBA_EVENT 0x00000010
634 #define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
635 #define CBA_DEBUG_INFO 0x10000000
636 #define SYMOPT_CASE_INSENSITIVE 0x00000001
637 #define SYMOPT_UNDNAME 0x00000002
638 #define SYMOPT_DEFERRED_LOADS 0x00000004
639 #define SYMOPT_LOAD_LINES 0x00000010
640 #define SYMOPT_LOAD_ANYTHING 0x00000040
641 #define SYMOPT_PUBLICS_ONLY 0x00004000
642 #define SYMOPT_NO_PUBLICS 0x00008000
643 #define SYMOPT_AUTO_PUBLICS 0x00010000
644 #define SYMFLAG_VALUEPRESENT 0x00000001
645 #define SYMFLAG_REGISTER 0x00000008
646 #define SYMFLAG_REGREL 0x00000010
647 #define SYMFLAG_FRAMEREL 0x00000020
648 #define SYMFLAG_PARAMETER 0x00000040
649 #define SYMFLAG_LOCAL 0x00000080
650 #define SYMFLAG_CONSTANT 0x00000100
651 #define SYMFLAG_EXPORT 0x00000200
652 #define SYMFLAG_FORWARDER 0x00000400
653 #define SYMFLAG_FUNCTION 0x00000800
654 #define SYMFLAG_VIRTUAL 0x00001000
655 #define SYMFLAG_THUNK 0x00002000
656 #define SYMFLAG_TLSREL 0x00004000
657 #define SYMFLAG_SLOT 0x00008000
658 #define UNDNAME_COMPLETE (0x0000)
659 #define UNDNAME_NAME_ONLY (0x1000)
660 typedef struct _TI_FINDCHILDREN_PARAMS
661 {
666 #define SYMSEARCH_GLOBALSONLY 0x04
667 /* flags for SymLoadModuleEx */
668 #define SLMFLAG_VIRTUAL 0x1
669 #define SLMFLAG_NO_SYMBOLS 0x4
670 typedef struct _DBGHELP_MODLOAD_DATA
671 {
678 typedef struct _SYMBOL_INFO
679 {
694  CHAR Name[1];
696 typedef enum
697 {
698  SymNone = 0,
708 } SYM_TYPE;
709 typedef struct _IMAGEHLP_MODULEW64
710 {
735 typedef struct _IMAGEHLP_LINE64
736 {
743 typedef struct _SRCCODEINFO
744 {
755 BOOL WINAPI SymInitialize(HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess);
758 BOOL WINAPI SymGetModuleInfoW64(HANDLE hProcess, DWORD64 dwAddr, PIMAGEHLP_MODULEW64 ModuleInfo);
759 BOOL WINAPI SymMatchStringW(PCWSTR string, PCWSTR re, BOOL _case);
761  PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll);
763  PMODLOAD_DATA, DWORD);
765  PMODLOAD_DATA, DWORD);
770 BOOL WINAPI SymFromAddr(HANDLE hProcess, DWORD64 Address, DWORD64* Displacement, PSYMBOL_INFO Symbol);
773 BOOL WINAPI SymGetLineFromAddr64(HANDLE hProcess, DWORD64 dwAddr, PDWORD pdwDisplacement, PIMAGEHLP_LINE64 Line);
775 #define FindExecutableImageExW __FindExecutableImageExW
778 typedef enum _THREAD_WRITE_FLAGS
779 {
788 typedef enum
789 {
794 } ADDRESS_MODE;
796 {
806 typedef struct _tagADDRESS64
807 {
824 
826 
827 typedef struct _tagADDRESS
828 {
832 } ADDRESS, *LPADDRESS;
833 
834 typedef struct _IMAGEHLP_MODULE
835 {
847 typedef struct _IMAGEHLP_MODULEW
848 {
869 
870 typedef struct _IMAGEHLP_MODULE64
871 {
896 typedef DWORD RVA;
897 typedef ULONG64 RVA64;
898 typedef enum _MINIDUMP_TYPE
899 {
900  MiniDumpNormal = 0x0000,
915 } MINIDUMP_TYPE;
917 {
926 {
937 {
950 {
954 {
958 {
962  union
963  {
969  } DUMMYUNIONNAME;
972 {
973  union
974  {
977  struct
978  {
981  } DUMMYSTRUCTNAME;
982  } DUMMYUNIONNAME;
986 {
990 typedef struct _SYMBOL_INFOW
991 {
1009 {
1021 typedef struct _KDHELP64
1022 {
1032 } KDHELP64, *PKDHELP64;
1033 typedef struct _STACKFRAME64
1034 {
1048 {
1077 typedef struct _SOURCEFILE
1078 {
1082 typedef struct _SOURCEFILEW
1083 {
1089 typedef struct _SRCCODEINFOW
1090 {
1101 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1102 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
1103 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
1104 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
1105 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
1106 #else
1107 typedef struct _IMAGEHLP_SYMBOL
1108 {
1116 
1117 typedef struct _IMAGEHLP_SYMBOLW
1118 {
1126 #endif
1127 typedef struct _IMAGEHLP_SYMBOL64
1128 {
1136 typedef struct _IMAGEHLP_SYMBOLW64
1137 {
1145 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1146 #define IMAGEHLP_LINE IMAGEHLP_LINE64
1147 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
1148 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
1149 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
1150 #else
1151 typedef struct _IMAGEHLP_LINE
1152 {
1159 
1160 typedef struct _IMAGEHLP_LINEW
1161 {
1168 #endif
1169 typedef struct _IMAGEHLP_LINEW64
1170 {
1177 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1178 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
1179 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
1180 #else
1182 {
1191 #endif
1193 {
1203 typedef struct API_VERSION
1204 {
1210 
1211 // cvconst.h
1212 /* symbols & types enumeration */
1214 {
1247 };
1248 
1250 {
1252  btVoid = 1,
1253  btChar = 2,
1254  btWChar = 3,
1255  btInt = 6,
1256  btUInt = 7,
1257  btFloat = 8,
1258  btBCD = 9,
1259  btBool = 10,
1260  btLong = 13,
1261  btULong = 14,
1263  btDate = 26,
1266  btBit = 29,
1267  btBSTR = 30,
1269 };
1270 
1271 /* kind of UDT */
1273 {
1277 };
1278 
1279 /* kind of SymTagData */
1281 {
1292 };
1293 
1294 /* values for registers (on different CPUs) */
1296 {
1297  /* those values are common to all supported CPUs (and CPU independent) */
1298  CV_ALLREG_ERR = 30000,
1299  CV_ALLREG_TEB = 30001,
1308  CV_ALLREG_TID = 30010,
1309  CV_ALLREG_ENV = 30011,
1311 
1312  /* Intel x86 CPU */
1348 
1349  /* <pcode> */
1353  CV_REG_PCDR3 = 43, /* this includes PCDR4 to PCDR7 */
1354  CV_REG_CR0 = 80, /* this includes CR1 to CR4 */
1355  CV_REG_DR0 = 90, /* this includes DR1 to DR7 */
1356  /* </pcode> */
1357 
1363  CV_REG_TR = 115,
1364 
1365  CV_REG_PSEUDO1 = 116, /* this includes Pseudo02 to Pseudo09 */
1366  CV_REG_ST0 = 128, /* this includes ST1 to ST7 */
1369  CV_REG_TAG = 138,
1377  CV_REG_MM0 = 146, /* this includes MM1 to MM7 */
1378  CV_REG_XMM0 = 154, /* this includes XMM1 to XMM7 */
1380  CV_REG_XMM0L = 194, /* this includes XMM1L to XMM7L */
1381  CV_REG_XMM0H = 202, /* this includes XMM1H to XMM7H */
1402 
1403  CV_REG_YMM0 = 252, /* this includes YMM1 to YMM7 */
1404  CV_REG_YMM0H = 260, /* this includes YMM1H to YMM7H */
1405  CV_REG_YMM0I0 = 268, /* this includes YMM0I1 to YMM0I3 */
1406  CV_REG_YMM1I0 = 272, /* this includes YMM1I1 to YMM1I3 */
1407  CV_REG_YMM2I0 = 276, /* this includes YMM2I1 to YMM2I3 */
1408  CV_REG_YMM3I0 = 280, /* this includes YMM3I1 to YMM3I3 */
1409  CV_REG_YMM4I0 = 284, /* this includes YMM4I1 to YMM4I3 */
1410  CV_REG_YMM5I0 = 288, /* this includes YMM5I1 to YMM5I3 */
1411  CV_REG_YMM6I0 = 292, /* this includes YMM6I1 to YMM6I3 */
1412  CV_REG_YMM7I0 = 296, /* this includes YMM7I1 to YMM7I3 */
1413  CV_REG_YMM0F0 = 300, /* this includes YMM0F1 to YMM0F7 */
1414  CV_REG_YMM1F0 = 308, /* this includes YMM1F1 to YMM1F7 */
1415  CV_REG_YMM2F0 = 316, /* this includes YMM2F1 to YMM2F7 */
1416  CV_REG_YMM3F0 = 324, /* this includes YMM3F1 to YMM3F7 */
1417  CV_REG_YMM4F0 = 332, /* this includes YMM4F1 to YMM4F7 */
1418  CV_REG_YMM5F0 = 340, /* this includes YMM5F1 to YMM5F7 */
1419  CV_REG_YMM6F0 = 348, /* this includes YMM6F1 to YMM6F7 */
1420  CV_REG_YMM7F0 = 356, /* this includes YMM7F1 to YMM7F7 */
1421  CV_REG_YMM0D0 = 364, /* this includes YMM0D1 to YMM0D3 */
1422  CV_REG_YMM1D0 = 368, /* this includes YMM1D1 to YMM1D3 */
1423  CV_REG_YMM2D0 = 372, /* this includes YMM2D1 to YMM2D3 */
1424  CV_REG_YMM3D0 = 376, /* this includes YMM3D1 to YMM3D3 */
1425  CV_REG_YMM4D0 = 380, /* this includes YMM4D1 to YMM4D3 */
1426  CV_REG_YMM5D0 = 384, /* this includes YMM5D1 to YMM5D3 */
1427  CV_REG_YMM6D0 = 388, /* this includes YMM6D1 to YMM6D3 */
1428  CV_REG_YMM7D0 = 392, /* this includes YMM7D1 to YMM7D3 */
1429 
1430  /* Motorola 68K CPU */
1431  CV_R68_D0 = 0, /* this includes D1 to D7 too */
1432  CV_R68_A0 = 8, /* this includes A1 to A7 too */
1447  CV_R68_FP0 = 32, /* this includes FP1 to FP7 */
1467  CV_R68_BAD0 = 64, /* this includes BAD1 to BAD7 */
1468  CV_R68_BAC0 = 72, /* this includes BAC1 to BAC7 */
1469 
1470  /* MIPS 4000 CPU */
1476  CV_M4_IntA0 = 14, /* this includes IntA1 to IntA3 */
1477  CV_M4_IntT0 = 18, /* this includes IntT1 to IntT7 */
1478  CV_M4_IntS0 = 26, /* this includes IntS1 to IntS7 */
1491  CV_M4_FltF0 = 60, /* this includes FltF1 to Flt31 */
1493 
1494  /* Alpha AXP CPU */
1496  CV_ALPHA_FltF0 = 10, /* this includes FltF1 to FltF31 */
1498  CV_ALPHA_IntT0 = 43, /* this includes T1 to T7 */
1499  CV_ALPHA_IntS0 = 51, /* this includes S1 to S5 */
1501  CV_ALPHA_IntA0 = 58, /* this includes A1 to A5 */
1517 
1518  /* Motorola & IBM PowerPC CPU */
1519  CV_PPC_GPR0 = 1, /* this includes GPR1 to GPR31 */
1521  CV_PPC_CR0 = 34, /* this includes CR1 to CR7 */
1522  CV_PPC_FPR0 = 42, /* this includes FPR1 to FPR31 */
1523 
1526  CV_PPC_SR0 = 76, /* this includes SR1 to SR15 */
1528  CV_PPC_MQ = 100,
1529  CV_PPC_XER = 101,
1532  CV_PPC_LR = 108,
1533  CV_PPC_CTR = 109,
1537  CV_PPC_DAR = 119,
1538  CV_PPC_DEC = 122,
1542  CV_PPC_SPRG0 = 372, /* this includes SPRG1 to SPRG3 */
1543  CV_PPC_ASR = 280,
1544  CV_PPC_EAR = 382,
1545  CV_PPC_PVR = 287,
1562  CV_PPC_PMR0 = 1044, /* this includes PMR1 to PMR15 */
1564  CV_PPC_DCMP = 1077,
1568  CV_PPC_ICMP = 1081,
1569  CV_PPC_RPA = 1082,
1570  CV_PPC_HID0 = 1108, /* this includes HID1 to HID15 */
1571 
1572  /* Java */
1574 
1575  /* Hitachi SH3 CPU */
1577  CV_SH3_IntR0 = 10, /* this include R1 to R13 */
1599  CV_SH_FpR0 = 80, /* this includes FpR1 to FpR15 */
1600  CV_SH_XFpR0 = 96, /* this includes XFpR1 to XXFpR15 */
1601 
1602  /* ARM CPU */
1604  CV_ARM_R0 = 10, /* this includes R1 to R12 */
1612  CV_ARM_FS0 = 50, /* this includes FS1 to FS31 */
1613  CV_ARM_FPEXTRA0 = 90, /* this includes FPEXTRA1 to FPEXTRA7 */
1614  CV_ARM_WR0 = 128, /* this includes WR1 to WR15 */
1619  CV_ARM_WC4 = 148,
1620  CV_ARM_WC5 = 149,
1621  CV_ARM_WC6 = 150,
1622  CV_ARM_WC7 = 151,
1623  CV_ARM_WCGR0 = 152, /* this includes WCGR1 to WCGR3 */
1628  CV_ARM_FS32 = 200, /* this includes FS33 to FS63 */
1629  CV_ARM_ND0 = 300, /* this includes ND1 to ND31 */
1630  CV_ARM_NQ0 = 400, /* this includes NQ1 to NQ15 */
1631 
1632  /* Intel IA64 CPU */
1634  CV_IA64_Br0 = 512, /* this includes Br1 to Br7 */
1635  CV_IA64_P0 = 704, /* this includes P1 to P63 */
1637  CV_IA64_IntH0 = 832, /* this includes H1 to H15 */
1638  CV_IA64_Ip = 1016,
1640  CV_IA64_Cfm = 1018,
1641  CV_IA64_Psr = 1019,
1645  CV_IA64_IntR0 = 1024, /* this includes R1 to R127 */
1646  CV_IA64_FltF0 = 2048, /* this includes FltF1 to FltF127 */
1647  /* some IA64 registers missing */
1648 
1649  /* TriCore CPU */
1651  CV_TRI_D0 = 10, /* includes D1 to D15 */
1652  CV_TRI_A0 = 26, /* includes A1 to A15 */
1679  CV_TRI_DPRx_0 = 68, /* includes DPRx_1 to DPRx_3 */
1680  CV_TRI_CPRx_0 = 68, /* includes CPRx_1 to CPRx_3 */
1681  CV_TRI_DPMx_0 = 68, /* includes DPMx_1 to DPMx_3 */
1682  CV_TRI_CPMx_0 = 68, /* includes CPMx_1 to CPMx_3 */
1694 
1695  /* AM33 (and the likes) CPU */
1697  CV_AM33_E0 = 10, /* this includes E1 to E7 */
1698  CV_AM33_A0 = 20, /* this includes A1 to A3 */
1699  CV_AM33_D0 = 30, /* this includes D1 to D3 */
1700  CV_AM33_FS0 = 40, /* this includes FS1 to FS31 */
1712 
1713  /* Mitsubishi M32R CPU */
1715  CV_M32R_R0 = 10, /* this includes R1 to R11 */
1729 
1730  /* AMD/Intel x86_64 CPU */
1765 
1766  /* <pcode> */
1770  CV_AMD64_PCDR3 = CV_REG_PCDR3, /* this includes PCDR4 to PCDR7 */
1771  CV_AMD64_CR0 = CV_REG_CR0, /* this includes CR1 to CR4 */
1772  CV_AMD64_DR0 = CV_REG_DR0, /* this includes DR1 to DR7 */
1773  /* </pcode> */
1774 
1781 
1782  CV_AMD64_PSEUDO1 = CV_REG_PSEUDO1, /* this includes Pseudo02 to Pseudo09 */
1783  CV_AMD64_ST0 = CV_REG_ST0, /* this includes ST1 to ST7 */
1794  CV_AMD64_MM0 = CV_REG_MM0, /* this includes MM1 to MM7 */
1795  CV_AMD64_XMM0 = CV_REG_XMM0, /* this includes XMM1 to XMM7 */
1797  CV_AMD64_XMM0L = CV_REG_XMM0L, /* this includes XMM1L to XMM7L */
1798  CV_AMD64_XMM0H = CV_REG_XMM0H, /* this includes XMM1H to XMM7H */
1819 
1820  CV_AMD64_XMM8 = 252, /* this includes XMM9 to XMM15 */
1821 
1830 
1839 
1840  /* Wine extension */
1842  CV_ARM64_X0 = 10, /* this includes X0 to X30 */
1846 };
1847 
1848 typedef enum
1849 {
1855 } THUNK_ORDINAL;
1856 
1857 typedef enum CV_call_e
1858 {
1882 } CV_call_e;
1883 
1884 
1885 // wtypes.h
1886 typedef LONG SCODE;
1887 typedef double DATE;
1888 typedef unsigned short VARTYPE;
1889 typedef union tagCY {
1890  struct {
1891 #ifdef WORDS_BIGENDIAN
1892  LONG Hi;
1893  ULONG Lo;
1894 #else
1897 #endif
1898  } DUMMYSTRUCTNAME;
1900 } CY;
1901 typedef struct tagDEC {
1903  union {
1904  struct {
1907  } DUMMYSTRUCTNAME;
1909  } DUMMYUNIONNAME;
1911  union {
1912  struct {
1913 #ifdef WORDS_BIGENDIAN
1914  ULONG Mid32;
1915  ULONG Lo32;
1916 #else
1919 #endif
1920  } DUMMYSTRUCTNAME1;
1922  } DUMMYUNIONNAME1;
1923 } DECIMAL;
1924 typedef short VARIANT_BOOL;
1926 typedef WCHAR OLECHAR;
1927 typedef OLECHAR *BSTR;
1928 enum VARENUM {
1930  VT_NULL = 1,
1931  VT_I2 = 2,
1932  VT_I4 = 3,
1933  VT_R4 = 4,
1934  VT_R8 = 5,
1935  VT_CY = 6,
1936  VT_DATE = 7,
1937  VT_BSTR = 8,
1939  VT_ERROR = 10,
1940  VT_BOOL = 11,
1944  VT_I1 = 16,
1945  VT_UI1 = 17,
1946  VT_UI2 = 18,
1947  VT_UI4 = 19,
1948  VT_I8 = 20,
1949  VT_UI8 = 21,
1950  VT_INT = 22,
1951  VT_UINT = 23,
1952  VT_VOID = 24,
1954  VT_PTR = 26,
1958  VT_LPSTR = 30,
1964  VT_BLOB = 65,
1970  VT_CF = 71,
1971  VT_CLSID = 72,
1973  VT_BSTR_BLOB = 0xfff,
1974  VT_VECTOR = 0x1000,
1975  VT_ARRAY = 0x2000,
1976  VT_BYREF = 0x4000,
1977  VT_RESERVED = 0x8000,
1978  VT_ILLEGAL = 0xffff,
1980  VT_TYPEMASK = 0xfff
1981 };
1982 
1983 // oaidl.h
1984 typedef struct tagSAFEARRAYBOUND {
1987 } SAFEARRAYBOUND;
1988 typedef struct tagSAFEARRAY {
1995 } SAFEARRAY;
1997 
1998 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
1999 #define __VARIANT_NAME_1 n1
2000 #define __VARIANT_NAME_2 n2
2001 #define __VARIANT_NAME_3 n3
2002 #define __VARIANT_NAME_4 brecVal
2003 #else
2004 #define __tagVARIANT
2005 #define __VARIANT_NAME_1
2006 #define __VARIANT_NAME_2
2007 #define __VARIANT_NAME_3
2008 #define __tagBRECORD
2009 #define __VARIANT_NAME_4
2010 #endif
2011 typedef struct tagVARIANT VARIANT;
2012 struct tagVARIANT {
2013  union {
2014  struct __tagVARIANT {
2019  union {
2020  signed char cVal;
2040  signed char *pcVal;
2063  struct __tagBRECORD {
2066  } __VARIANT_NAME_4;
2067  } __VARIANT_NAME_3;
2068  } __VARIANT_NAME_2;
2070  } __VARIANT_NAME_1;
2071 };
2072 
2076 
2077 // wine/windef16.h
2078 typedef DWORD SEGPTR;
2079 
2080 // wine/winbase16.h
2081 typedef struct _STACK32FRAME
2082 {
2083  DWORD restore_addr; /* 00 return address for restoring code selector */
2084  DWORD codeselector; /* 04 code selector to restore */
2085  EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
2086  SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
2087  DWORD edi; /* 14 saved registers */
2088  DWORD esi; /* 18 */
2089  DWORD ebx; /* 1c */
2090  DWORD ebp; /* 20 saved 32-bit frame pointer */
2091  DWORD retaddr; /* 24 return address */
2092  DWORD target; /* 28 target address / CONTEXT86 pointer */
2093  DWORD nb_args; /* 2c number of 16-bit argument bytes */
2094 } STACK32FRAME;
2095 
2096 /* 16-bit stack layout after __wine_call_from_16() */
2097 typedef struct _STACK16FRAME
2098 {
2099  STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
2100  DWORD edx; /* 04 saved registers */
2101  DWORD ecx; /* 08 */
2102  DWORD ebp; /* 0c */
2103  WORD ds; /* 10 */
2104  WORD es; /* 12 */
2105  WORD fs; /* 14 */
2106  WORD gs; /* 16 */
2107  DWORD callfrom_ip; /* 18 callfrom tail IP */
2108  DWORD module_cs; /* 1c module code segment */
2109  DWORD relay; /* 20 relay function address */
2110  WORD entry_ip; /* 22 entry point IP */
2111  DWORD entry_point; /* 26 API entry point to call, reused as mutex count */
2112  WORD bp; /* 2a 16-bit stack frame chain */
2113  WORD ip; /* 2c return address */
2114  WORD cs; /* 2e */
2115 } STACK16FRAME;
_THREAD_WRITE_FLAGS
Definition: compat.h:778
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
ULONG gdiBrush
Definition: compat.h:509
PVOID glCurrentRC
Definition: compat.h:522
DWORD *typedef PVOID
Definition: winlogon.h:52
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
DWORD64 Address
Definition: compat.h:1130
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
Definition: shlfileop.c:63
struct API_VERSION * LPAPI_VERSION
BasicType
Definition: compat.h:1249
BOOL WINAPI SymCleanup(HANDLE hProcess)
Definition: dbghelp.c:406
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:380
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 const char UINT32 const char const char * ModuleName
Definition: acpixf.h:1256
PVOID EnvironmentPointer
Definition: compat.h:487
WCHAR OLECHAR
Definition: compat.h:1926
WORD LimitLow
Definition: compat.h:429
ULONG Tag
Definition: compat.h:691
SYM_TYPE SymType
Definition: compat.h:878
ULONG cbElements
Definition: compat.h:1991
ULONG gdiRgn
Definition: compat.h:507
BOOL(CALLBACK * PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE, DWORD, PVOID, DWORD, PDWORD)
Definition: compat.h:862
BYTE BaseMid
Definition: compat.h:433
ULONGLONG Lo64
Definition: compat.h:1921
const uint16_t * PCWSTR
Definition: typedefs.h:56
PVOID WOW32Reserved
Definition: compat.h:497
DWORD MaxNameLength
Definition: compat.h:1113
SYM_TYPE
Definition: compat.h:696
DWORD SizeOfImage
Definition: compat.h:568
ULONG glReserved1[26]
Definition: compat.h:517
ADDRESS_MODE Mode
Definition: compat.h:831
static __inline const char * debugstr_w(const WCHAR *s)
Definition: compat.h:50
ULONG Win32ClientInfo[31]
Definition: compat.h:496
ULONG64 RVA64
Definition: compat.h:897
WCHAR StaticUnicodeBuffer[261]
Definition: compat.h:526
struct _CONTEXT CONTEXT
unsigned short WORD
Definition: ntddk_ex.h:93
PVOID Instrumentation[16]
Definition: compat.h:534
BSTR * pbstrVal
Definition: compat.h:2053
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:386
PVOID ULONG Address
Definition: oprghdlr.h:14
ULONG NameLen
Definition: compat.h:692
BYTE bVal
Definition: compat.h:2025
#define UNWIND_HISTORY_TABLE_SIZE
Definition: compat.h:295
Definition: compat.h:1932
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
DWORD64 ModBase
Definition: compat.h:1093
DWORD64 WINAPI SymLoadModuleExW(HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:565
ULONG64 Address
Definition: compat.h:1000
ULONG Esp
Definition: nt_native.h:1479
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK)(HANDLE, ULONG, PVOID, PVOID)
Definition: compat.h:861
CY * pcyVal
Definition: compat.h:2056
PVOID GdiThreadLocaleInfo
Definition: compat.h:514
PVOID IRecordInfo
Definition: compat.h:23
VOID * PIMAGEHLP_CONTEXT
Definition: compat.h:623
ULONG MaxNameLen
Definition: compat.h:693
DWORD SizeOfStruct
Definition: compat.h:1153
Definition: compat.h:705
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
Type
Definition: Type.h:6
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACKW64)(PCWSTR, DWORD64, PVOID)
Definition: compat.h:819
KAFFINITY AffinityMask
Definition: compat.h:579
DWORD WINAPI SymLoadModule(HANDLE hProcess, HANDLE hFile, PCSTR ImageName, PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll)
Definition: module.c:518
ULONG Eip
Definition: nt_native.h:1476
Definition: compat.h:1948
DWORD FunctionLength
Definition: compat.h:283
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
WCHAR ModuleName[32]
Definition: compat.h:718
USHORT MajorVersion
Definition: compat.h:1205
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:965
_IRQL_requires_same_ _In_ PVOID EstablisherFrame
Definition: ntbasedef.h:652
EXCEPTION_DISPOSITION NTAPI EXCEPTION_ROUTINE(struct _EXCEPTION_RECORD *ExceptionRecord, PVOID EstablisherFrame, struct _CONTEXT *ContextRecord, PVOID DispatcherContext)
Definition: compat.h:364
PVOID glReserved2
Definition: compat.h:518
LIST_ENTRY TlsLinks
Definition: compat.h:529
ULONG MaxNameLen
Definition: compat.h:1005
struct _SOURCEFILE SOURCEFILE
Definition: compat.h:1944
DWORD dwFileDateMS
Definition: compat.h:560
PVOID Win32ThreadInfo
Definition: compat.h:495
FLOATING_SAVE_AREA FloatSave
Definition: nt_native.h:1446
ULONG64 ModBase
Definition: compat.h:997
DWORD WINAPI SymSetOptions(DWORD opts)
Definition: dbghelp.c:433
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
Definition: module.c:1150
PVOID Key
Definition: compat.h:746
DWORD64 BaseOfImage
Definition: compat.h:712
PVOID glContext
Definition: compat.h:523
CONTEXT * PCONTEXT
Definition: nt_native.h:1486
__wchar_t WCHAR
Definition: xmlstorage.h:180
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
VARIANT_BOOL boolVal
Definition: compat.h:2030
struct tagDEC::@344::@346 DUMMYSTRUCTNAME1
Definition: compat.h:700
DWORD LineNumber
Definition: compat.h:1173
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:964
BOOL(CALLBACK * PSYM_ENUMERATESYMBOLS_CALLBACK)(PSYMBOL_INFO, ULONG, PVOID)
Definition: compat.h:754
USHORT * puiVal
Definition: compat.h:2041
VARIANTARG * LPVARIANTARG
Definition: compat.h:2075
PVOID CsrClientThread
Definition: compat.h:494
DWORD SizeOfStruct
Definition: compat.h:1129
struct tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO
const char * PCSTR
Definition: typedefs.h:52
ULONG64 FuncTableEntry
Definition: compat.h:1015
struct _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY
struct _IMAGE_SEPARATE_DEBUG_HEADER * PIMAGE_SEPARATE_DEBUG_HEADER
STACK32FRAME * frame32
Definition: compat.h:2099
DWORD SizeOfStruct
Definition: compat.h:1091
struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD
struct _RUNTIME_FUNCTION RUNTIME_FUNCTION
char CHAR
Definition: xmlstorage.h:175
DWORD64 WINAPI SymLoadModuleEx(HANDLE, HANDLE, PCSTR, PCSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:528
DWORD BaseOfImage
Definition: compat.h:850
SHORT * piVal
Definition: compat.h:2046
CHAR LoadedPdbName[256]
Definition: compat.h:882
SAFEARRAYBOUND rgsabound[1]
Definition: compat.h:1994
ULONG Scope
Definition: compat.h:690
struct _tagADDRESS64 ADDRESS64
ULONG Ecx
Definition: nt_native.h:1467
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1029
struct _STACKFRAME64 STACKFRAME64
union _RUNTIME_FUNCTION::@333 DUMMYUNIONNAME
WORD wReserved3
Definition: compat.h:2018
CHAR ModuleName[32]
Definition: compat.h:879
USHORT fFeatures
Definition: compat.h:1990
ULONG64 BackingStoreOffset
Definition: compat.h:1014
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
WCHAR ImageName[256]
Definition: compat.h:857
USHORT wReserved
Definition: compat.h:1902
USHORT MinorVersion
Definition: compat.h:1206
#define CALLBACK
Definition: compat.h:27
DWORD dwFileVersionLS
Definition: compat.h:552
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
Definition: module.c:1158
struct _MINIDUMP_CALLBACK_INPUT MINIDUMP_CALLBACK_INPUT
DWORD64 Address
Definition: compat.h:1097
ULONG Flags
Definition: compat.h:686
PVOID *typedef PWSTR
Definition: winlogon.h:57
union tagVARIANT::@347::__tagVARIANT::@348 __VARIANT_NAME_3
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: nt_native.h:1394
ULONG Lo32
Definition: compat.h:1917
HANDLE HWND
Definition: compat.h:13
ULONG R6
Definition: compat.h:341
PVOID Key
Definition: compat.h:1092
DWORD SizeOfStruct
Definition: compat.h:1119
_EXCEPTION_DISPOSITION
Definition: compat.h:78
DWORD SizeOfStruct
Definition: compat.h:1162
DWORD ebx
Definition: compat.h:2089
ULONG R0
Definition: compat.h:335
DWORD Pres
Definition: compat.h:442
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
double DATE
Definition: compat.h:1887
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:966
PVOID ActiveRpcHandle
Definition: compat.h:489
ULONG TypeIndex
Definition: compat.h:681
FLOAT * pfltVal
Definition: compat.h:2048
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACK)(PSRCCODEINFO, PVOID)
Definition: compat.h:753
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
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:814
struct _MINIDUMP_CALLBACK_OUTPUT::@340::@341 DUMMYSTRUCTNAME
DWORD64 Params[4]
Definition: compat.h:1041
ULONG64 Address
Definition: compat.h:688
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:1155
SAFEARRAY * parray
Definition: compat.h:2037
OLECHAR * BSTR
Definition: compat.h:1927
struct _MINIDUMP_CALLBACK_INPUT * PMINIDUMP_CALLBACK_INPUT
ULONG SegFs
Definition: nt_native.h:1454
uint16_t * PWCHAR
Definition: typedefs.h:55
struct _STACK32FRAME STACK32FRAME
ULONG SegDs
Definition: nt_native.h:1456
WCHAR * __lstrcpynW(WCHAR *lpString1, const WCHAR *lpString2, int iMaxLength)
struct _KDHELP64 KDHELP64
SAFEARRAY ** pparray
Definition: compat.h:2060
ADDRESS64 AddrBStore
Definition: compat.h:1039
PVOID byref
Definition: compat.h:2055
char * LPSTR
Definition: xmlstorage.h:182
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1047
HANDLE UniqueProcess
Definition: compat.h:474
struct _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC
DataKind
Definition: compat.h:1280
ULONG WaitingOnLoaderLock
Definition: compat.h:541
struct _tagADDRESS ADDRESS
struct tagVARIANT::@347::__tagVARIANT::@348::__tagBRECORD __VARIANT_NAME_4
BYTE sign
Definition: compat.h:1906
PRUNTIME_FUNCTION FunctionEntry
Definition: compat.h:299
ULONG ulVal
Definition: compat.h:2022
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
#define DWORD
Definition: msvc.h:34
DWORD ThCallbackStack
Definition: compat.h:1024
WORD BaseLow
Definition: compat.h:430
int32_t INT
Definition: typedefs.h:57
union tagVARIANT::@347 __VARIANT_NAME_1
BYTE Flags1
Definition: compat.h:434
short VARIANT_BOOL
Definition: compat.h:1924
struct API_VERSION API_VERSION
PVOID ArbitraryUserPointer
Definition: compat.h:379
PCHAR FileName
Definition: compat.h:740
static __inline const char * wine_dbgstr_w(const WCHAR *s)
Definition: compat.h:51
WORD Segment
Definition: compat.h:809
PVOID WinSockData
Definition: compat.h:535
DWORD DWORD
Definition: winlogon.h:75
LONG KPRIORITY
Definition: compat.h:454
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
DWORD CheckSum
Definition: compat.h:853
DWORD target
Definition: compat.h:2092
PEXCEPTION_ROUTINE Handler
Definition: compat.h:387
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
BOOL(CALLBACK * PSYMBOL_REGISTERED_CALLBACK64)(HANDLE, ULONG, ULONG64, ULONG64)
Definition: compat.h:816
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:581
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:875
VARIANT * LPVARIANT
Definition: compat.h:2073
uint32_t ULONG_PTR
Definition: typedefs.h:64
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD FramePointer
Definition: compat.h:1027
ULONGLONG * pullVal
Definition: compat.h:2062
struct _tagADDRESS * LPADDRESS
CLIENT_ID ClientId
Definition: compat.h:488
SHORT iVal
Definition: compat.h:2026
HANDLE GdiCachedProcessHandle
Definition: compat.h:511
struct tagSAFEARRAY SAFEARRAY
DWORD64 ModBase
Definition: compat.h:1084
DWORD ExceptionCode
Definition: compat.h:196
LONG lVal
Definition: compat.h:2027
GLuint n
Definition: s_context.h:57
UNICODE_STRING StaticUnicodeString
Definition: compat.h:525
GLuint const GLubyte GLvoid * src
Definition: s_context.h:57
PVOID ThreadLocalStoragePointer
Definition: compat.h:490
BOOL WINAPI SymEnumLines(HANDLE hProcess, ULONG64 base, PCSTR compiland, PCSTR srcfile, PSYM_ENUMLINES_CALLBACK cb, PVOID user)
Definition: symbol.c:2129
struct _IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL
ULONG NameLen
Definition: compat.h:1004
WCHAR LoadedImageName[256]
Definition: compat.h:720
PVOID Reserved5[3]
Definition: compat.h:542
USHORT Revision
Definition: compat.h:1207
struct _IMAGE_DEBUG_DIRECTORY * PIMAGE_DEBUG_DIRECTORY
Definition: compat.h:1889
DWORD dwStrucVersion
Definition: compat.h:550
ULONG R8
Definition: compat.h:343
BYTE SpareBytes1[36]
Definition: compat.h:504
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:513
SymTagEnum
Definition: compat.h:1213
DWORD DataType
Definition: compat.h:158
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT _In_ PVOID DispatcherContext
Definition: ntbasedef.h:653
ULONG GdiClientPID
Definition: compat.h:512
DWORD ebp
Definition: compat.h:2090
ADDRESS_MODE
Definition: compat.h:788
union _MINIDUMP_CALLBACK_OUTPUT::@340 DUMMYUNIONNAME
INT intVal
Definition: compat.h:2023
DWORD Address
Definition: compat.h:1166
long LONG
Definition: pedump.c:60
LPVOID EntryPoint
Definition: compat.h:569
void * __HeapAlloc(int heap, int flags, size_t size)
Definition: compat.c:3
struct tagCY::@342 DUMMYSTRUCTNAME
short SHORT
Definition: pedump.c:59
DWORD ImageSize
Definition: compat.h:838
struct _MINIDUMP_CALLBACK_OUTPUT MINIDUMP_CALLBACK_OUTPUT
DWORD callfrom_ip
Definition: compat.h:2107
struct _GDI_TEB_BATCH * PGDI_TEB_BATCH