ReactOS  0.4.13-dev-443-g10f00f8
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(_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 {
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 SYMFLAG_ILREL 0x00010000
659 #define SYMFLAG_METADATA 0x00020000
660 #define SYMFLAG_CLR_TOKEN 0x00040000
661 #define SYMFLAG_NULL 0x00080000
662 #define SYMFLAG_FUNC_NO_RETURN 0x00100000
663 #define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
664 #define SYMFLAG_PUBLIC_CODE 0x00400000
665 #define UNDNAME_COMPLETE (0x0000)
666 #define UNDNAME_NAME_ONLY (0x1000)
667 typedef struct _TI_FINDCHILDREN_PARAMS
668 {
673 #define SYMSEARCH_GLOBALSONLY 0x04
674 /* flags for SymLoadModuleEx */
675 #define SLMFLAG_VIRTUAL 0x1
676 #define SLMFLAG_NO_SYMBOLS 0x4
677 typedef struct _DBGHELP_MODLOAD_DATA
678 {
685 typedef struct _SYMBOL_INFO
686 {
701  CHAR Name[1];
703 typedef enum
704 {
705  SymNone = 0,
715 } SYM_TYPE;
716 typedef struct _IMAGEHLP_MODULEW64
717 {
742 typedef struct _IMAGEHLP_LINE64
743 {
750 typedef struct _SRCCODEINFO
751 {
762 BOOL WINAPI SymInitialize(HANDLE hProcess, PCSTR UserSearchPath, BOOL fInvadeProcess);
766 BOOL WINAPI SymMatchStringW(PCWSTR string, PCWSTR re, BOOL _case);
768  PCSTR ModuleName, DWORD BaseOfDll, DWORD SizeOfDll);
782 #define FindExecutableImageExW __FindExecutableImageExW
785 typedef enum _THREAD_WRITE_FLAGS
786 {
795 typedef enum
796 {
801 } ADDRESS_MODE;
803 {
813 typedef struct _tagADDRESS64
814 {
831 
833 
834 typedef struct _tagADDRESS
835 {
839 } ADDRESS, *LPADDRESS;
840 
841 typedef struct _IMAGEHLP_MODULE
842 {
854 typedef struct _IMAGEHLP_MODULEW
855 {
876 
877 typedef struct _IMAGEHLP_MODULE64
878 {
903 typedef DWORD RVA;
904 typedef ULONG64 RVA64;
905 typedef enum _MINIDUMP_TYPE
906 {
907  MiniDumpNormal = 0x0000,
922 } MINIDUMP_TYPE;
924 {
933 {
944 {
957 {
961 {
965 {
969  union
970  {
976  } DUMMYUNIONNAME;
979 {
980  union
981  {
984  struct
985  {
988  } DUMMYSTRUCTNAME;
989  } DUMMYUNIONNAME;
993 {
997 typedef struct _SYMBOL_INFOW
998 {
1016 {
1028 typedef struct _KDHELP64
1029 {
1039 } KDHELP64, *PKDHELP64;
1040 typedef struct _STACKFRAME64
1041 {
1055 {
1084 typedef struct _SOURCEFILE
1085 {
1089 typedef struct _SOURCEFILEW
1090 {
1096 typedef struct _SRCCODEINFOW
1097 {
1108 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1109 #define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64
1110 #define IMAGEHLP_SYMBOLW IMAGEHLP_SYMBOLW64
1111 #define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64
1112 #define PIMAGEHLP_SYMBOLW PIMAGEHLP_SYMBOLW64
1113 #else
1114 typedef struct _IMAGEHLP_SYMBOL
1115 {
1123 
1124 typedef struct _IMAGEHLP_SYMBOLW
1125 {
1133 #endif
1134 typedef struct _IMAGEHLP_SYMBOL64
1135 {
1143 typedef struct _IMAGEHLP_SYMBOLW64
1144 {
1152 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1153 #define IMAGEHLP_LINE IMAGEHLP_LINE64
1154 #define PIMAGEHLP_LINE PIMAGEHLP_LINE64
1155 #define IMAGEHLP_LINEW IMAGEHLP_LINEW64
1156 #define PIMAGEHLP_LINEW PIMAGEHLP_LINEW64
1157 #else
1158 typedef struct _IMAGEHLP_LINE
1159 {
1166 
1167 typedef struct _IMAGEHLP_LINEW
1168 {
1175 #endif
1176 typedef struct _IMAGEHLP_LINEW64
1177 {
1184 #if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
1185 #define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64
1186 #define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64
1187 #else
1189 {
1198 #endif
1200 {
1210 typedef struct API_VERSION
1211 {
1217 
1218 // cvconst.h
1219 /* symbols & types enumeration */
1221 {
1254 };
1255 
1257 {
1259  btVoid = 1,
1260  btChar = 2,
1261  btWChar = 3,
1262  btInt = 6,
1263  btUInt = 7,
1264  btFloat = 8,
1265  btBCD = 9,
1266  btBool = 10,
1267  btLong = 13,
1268  btULong = 14,
1270  btDate = 26,
1273  btBit = 29,
1274  btBSTR = 30,
1276 };
1277 
1278 /* kind of UDT */
1280 {
1284 };
1285 
1286 /* kind of SymTagData */
1288 {
1299 };
1300 
1301 /* values for registers (on different CPUs) */
1303 {
1304  /* those values are common to all supported CPUs (and CPU independent) */
1305  CV_ALLREG_ERR = 30000,
1306  CV_ALLREG_TEB = 30001,
1315  CV_ALLREG_TID = 30010,
1316  CV_ALLREG_ENV = 30011,
1318 
1319  /* Intel x86 CPU */
1355 
1356  /* <pcode> */
1360  CV_REG_PCDR3 = 43, /* this includes PCDR4 to PCDR7 */
1361  CV_REG_CR0 = 80, /* this includes CR1 to CR4 */
1362  CV_REG_DR0 = 90, /* this includes DR1 to DR7 */
1363  /* </pcode> */
1364 
1370  CV_REG_TR = 115,
1371 
1372  CV_REG_PSEUDO1 = 116, /* this includes Pseudo02 to Pseudo09 */
1373  CV_REG_ST0 = 128, /* this includes ST1 to ST7 */
1376  CV_REG_TAG = 138,
1384  CV_REG_MM0 = 146, /* this includes MM1 to MM7 */
1385  CV_REG_XMM0 = 154, /* this includes XMM1 to XMM7 */
1387  CV_REG_XMM0L = 194, /* this includes XMM1L to XMM7L */
1388  CV_REG_XMM0H = 202, /* this includes XMM1H to XMM7H */
1409 
1410  CV_REG_YMM0 = 252, /* this includes YMM1 to YMM7 */
1411  CV_REG_YMM0H = 260, /* this includes YMM1H to YMM7H */
1412  CV_REG_YMM0I0 = 268, /* this includes YMM0I1 to YMM0I3 */
1413  CV_REG_YMM1I0 = 272, /* this includes YMM1I1 to YMM1I3 */
1414  CV_REG_YMM2I0 = 276, /* this includes YMM2I1 to YMM2I3 */
1415  CV_REG_YMM3I0 = 280, /* this includes YMM3I1 to YMM3I3 */
1416  CV_REG_YMM4I0 = 284, /* this includes YMM4I1 to YMM4I3 */
1417  CV_REG_YMM5I0 = 288, /* this includes YMM5I1 to YMM5I3 */
1418  CV_REG_YMM6I0 = 292, /* this includes YMM6I1 to YMM6I3 */
1419  CV_REG_YMM7I0 = 296, /* this includes YMM7I1 to YMM7I3 */
1420  CV_REG_YMM0F0 = 300, /* this includes YMM0F1 to YMM0F7 */
1421  CV_REG_YMM1F0 = 308, /* this includes YMM1F1 to YMM1F7 */
1422  CV_REG_YMM2F0 = 316, /* this includes YMM2F1 to YMM2F7 */
1423  CV_REG_YMM3F0 = 324, /* this includes YMM3F1 to YMM3F7 */
1424  CV_REG_YMM4F0 = 332, /* this includes YMM4F1 to YMM4F7 */
1425  CV_REG_YMM5F0 = 340, /* this includes YMM5F1 to YMM5F7 */
1426  CV_REG_YMM6F0 = 348, /* this includes YMM6F1 to YMM6F7 */
1427  CV_REG_YMM7F0 = 356, /* this includes YMM7F1 to YMM7F7 */
1428  CV_REG_YMM0D0 = 364, /* this includes YMM0D1 to YMM0D3 */
1429  CV_REG_YMM1D0 = 368, /* this includes YMM1D1 to YMM1D3 */
1430  CV_REG_YMM2D0 = 372, /* this includes YMM2D1 to YMM2D3 */
1431  CV_REG_YMM3D0 = 376, /* this includes YMM3D1 to YMM3D3 */
1432  CV_REG_YMM4D0 = 380, /* this includes YMM4D1 to YMM4D3 */
1433  CV_REG_YMM5D0 = 384, /* this includes YMM5D1 to YMM5D3 */
1434  CV_REG_YMM6D0 = 388, /* this includes YMM6D1 to YMM6D3 */
1435  CV_REG_YMM7D0 = 392, /* this includes YMM7D1 to YMM7D3 */
1436 
1437  /* Motorola 68K CPU */
1438  CV_R68_D0 = 0, /* this includes D1 to D7 too */
1439  CV_R68_A0 = 8, /* this includes A1 to A7 too */
1454  CV_R68_FP0 = 32, /* this includes FP1 to FP7 */
1474  CV_R68_BAD0 = 64, /* this includes BAD1 to BAD7 */
1475  CV_R68_BAC0 = 72, /* this includes BAC1 to BAC7 */
1476 
1477  /* MIPS 4000 CPU */
1483  CV_M4_IntA0 = 14, /* this includes IntA1 to IntA3 */
1484  CV_M4_IntT0 = 18, /* this includes IntT1 to IntT7 */
1485  CV_M4_IntS0 = 26, /* this includes IntS1 to IntS7 */
1498  CV_M4_FltF0 = 60, /* this includes FltF1 to Flt31 */
1500 
1501  /* Alpha AXP CPU */
1503  CV_ALPHA_FltF0 = 10, /* this includes FltF1 to FltF31 */
1505  CV_ALPHA_IntT0 = 43, /* this includes T1 to T7 */
1506  CV_ALPHA_IntS0 = 51, /* this includes S1 to S5 */
1508  CV_ALPHA_IntA0 = 58, /* this includes A1 to A5 */
1524 
1525  /* Motorola & IBM PowerPC CPU */
1526  CV_PPC_GPR0 = 1, /* this includes GPR1 to GPR31 */
1528  CV_PPC_CR0 = 34, /* this includes CR1 to CR7 */
1529  CV_PPC_FPR0 = 42, /* this includes FPR1 to FPR31 */
1530 
1533  CV_PPC_SR0 = 76, /* this includes SR1 to SR15 */
1535  CV_PPC_MQ = 100,
1536  CV_PPC_XER = 101,
1539  CV_PPC_LR = 108,
1540  CV_PPC_CTR = 109,
1544  CV_PPC_DAR = 119,
1545  CV_PPC_DEC = 122,
1549  CV_PPC_SPRG0 = 372, /* this includes SPRG1 to SPRG3 */
1550  CV_PPC_ASR = 280,
1551  CV_PPC_EAR = 382,
1552  CV_PPC_PVR = 287,
1569  CV_PPC_PMR0 = 1044, /* this includes PMR1 to PMR15 */
1571  CV_PPC_DCMP = 1077,
1575  CV_PPC_ICMP = 1081,
1576  CV_PPC_RPA = 1082,
1577  CV_PPC_HID0 = 1108, /* this includes HID1 to HID15 */
1578 
1579  /* Java */
1581 
1582  /* Hitachi SH3 CPU */
1584  CV_SH3_IntR0 = 10, /* this include R1 to R13 */
1606  CV_SH_FpR0 = 80, /* this includes FpR1 to FpR15 */
1607  CV_SH_XFpR0 = 96, /* this includes XFpR1 to XXFpR15 */
1608 
1609  /* ARM CPU */
1611  CV_ARM_R0 = 10, /* this includes R1 to R12 */
1619  CV_ARM_FS0 = 50, /* this includes FS1 to FS31 */
1620  CV_ARM_FPEXTRA0 = 90, /* this includes FPEXTRA1 to FPEXTRA7 */
1621  CV_ARM_WR0 = 128, /* this includes WR1 to WR15 */
1626  CV_ARM_WC4 = 148,
1627  CV_ARM_WC5 = 149,
1628  CV_ARM_WC6 = 150,
1629  CV_ARM_WC7 = 151,
1630  CV_ARM_WCGR0 = 152, /* this includes WCGR1 to WCGR3 */
1635  CV_ARM_FS32 = 200, /* this includes FS33 to FS63 */
1636  CV_ARM_ND0 = 300, /* this includes ND1 to ND31 */
1637  CV_ARM_NQ0 = 400, /* this includes NQ1 to NQ15 */
1638 
1639  /* Intel IA64 CPU */
1641  CV_IA64_Br0 = 512, /* this includes Br1 to Br7 */
1642  CV_IA64_P0 = 704, /* this includes P1 to P63 */
1644  CV_IA64_IntH0 = 832, /* this includes H1 to H15 */
1645  CV_IA64_Ip = 1016,
1647  CV_IA64_Cfm = 1018,
1648  CV_IA64_Psr = 1019,
1652  CV_IA64_IntR0 = 1024, /* this includes R1 to R127 */
1653  CV_IA64_FltF0 = 2048, /* this includes FltF1 to FltF127 */
1654  /* some IA64 registers missing */
1655 
1656  /* TriCore CPU */
1658  CV_TRI_D0 = 10, /* includes D1 to D15 */
1659  CV_TRI_A0 = 26, /* includes A1 to A15 */
1686  CV_TRI_DPRx_0 = 68, /* includes DPRx_1 to DPRx_3 */
1687  CV_TRI_CPRx_0 = 68, /* includes CPRx_1 to CPRx_3 */
1688  CV_TRI_DPMx_0 = 68, /* includes DPMx_1 to DPMx_3 */
1689  CV_TRI_CPMx_0 = 68, /* includes CPMx_1 to CPMx_3 */
1701 
1702  /* AM33 (and the likes) CPU */
1704  CV_AM33_E0 = 10, /* this includes E1 to E7 */
1705  CV_AM33_A0 = 20, /* this includes A1 to A3 */
1706  CV_AM33_D0 = 30, /* this includes D1 to D3 */
1707  CV_AM33_FS0 = 40, /* this includes FS1 to FS31 */
1719 
1720  /* Mitsubishi M32R CPU */
1722  CV_M32R_R0 = 10, /* this includes R1 to R11 */
1736 
1737  /* AMD/Intel x86_64 CPU */
1772 
1773  /* <pcode> */
1777  CV_AMD64_PCDR3 = CV_REG_PCDR3, /* this includes PCDR4 to PCDR7 */
1778  CV_AMD64_CR0 = CV_REG_CR0, /* this includes CR1 to CR4 */
1779  CV_AMD64_DR0 = CV_REG_DR0, /* this includes DR1 to DR7 */
1780  /* </pcode> */
1781 
1788 
1789  CV_AMD64_PSEUDO1 = CV_REG_PSEUDO1, /* this includes Pseudo02 to Pseudo09 */
1790  CV_AMD64_ST0 = CV_REG_ST0, /* this includes ST1 to ST7 */
1801  CV_AMD64_MM0 = CV_REG_MM0, /* this includes MM1 to MM7 */
1802  CV_AMD64_XMM0 = CV_REG_XMM0, /* this includes XMM1 to XMM7 */
1804  CV_AMD64_XMM0L = CV_REG_XMM0L, /* this includes XMM1L to XMM7L */
1805  CV_AMD64_XMM0H = CV_REG_XMM0H, /* this includes XMM1H to XMM7H */
1826 
1827  CV_AMD64_XMM8 = 252, /* this includes XMM9 to XMM15 */
1828 
1837 
1846 
1847  /* Wine extension */
1849  CV_ARM64_X0 = 10, /* this includes X0 to X30 */
1853 };
1854 
1855 typedef enum
1856 {
1862 } THUNK_ORDINAL;
1863 
1864 typedef enum CV_call_e
1865 {
1889 } CV_call_e;
1890 
1891 
1892 // wtypes.h
1893 typedef LONG SCODE;
1894 typedef double DATE;
1895 typedef unsigned short VARTYPE;
1896 typedef union tagCY {
1897  struct {
1898 #ifdef WORDS_BIGENDIAN
1899  LONG Hi;
1900  ULONG Lo;
1901 #else
1904 #endif
1905  } DUMMYSTRUCTNAME;
1907 } CY;
1908 typedef struct tagDEC {
1910  union {
1911  struct {
1914  } DUMMYSTRUCTNAME;
1916  } DUMMYUNIONNAME;
1918  union {
1919  struct {
1920 #ifdef WORDS_BIGENDIAN
1921  ULONG Mid32;
1922  ULONG Lo32;
1923 #else
1926 #endif
1927  } DUMMYSTRUCTNAME1;
1929  } DUMMYUNIONNAME1;
1930 } DECIMAL;
1931 typedef short VARIANT_BOOL;
1933 typedef WCHAR OLECHAR;
1934 typedef OLECHAR *BSTR;
1935 enum VARENUM {
1937  VT_NULL = 1,
1938  VT_I2 = 2,
1939  VT_I4 = 3,
1940  VT_R4 = 4,
1941  VT_R8 = 5,
1942  VT_CY = 6,
1943  VT_DATE = 7,
1944  VT_BSTR = 8,
1946  VT_ERROR = 10,
1947  VT_BOOL = 11,
1951  VT_I1 = 16,
1952  VT_UI1 = 17,
1953  VT_UI2 = 18,
1954  VT_UI4 = 19,
1955  VT_I8 = 20,
1956  VT_UI8 = 21,
1957  VT_INT = 22,
1958  VT_UINT = 23,
1959  VT_VOID = 24,
1961  VT_PTR = 26,
1965  VT_LPSTR = 30,
1971  VT_BLOB = 65,
1977  VT_CF = 71,
1978  VT_CLSID = 72,
1980  VT_BSTR_BLOB = 0xfff,
1981  VT_VECTOR = 0x1000,
1982  VT_ARRAY = 0x2000,
1983  VT_BYREF = 0x4000,
1984  VT_RESERVED = 0x8000,
1985  VT_ILLEGAL = 0xffff,
1987  VT_TYPEMASK = 0xfff
1988 };
1989 
1990 // oaidl.h
1991 typedef struct tagSAFEARRAYBOUND {
1994 } SAFEARRAYBOUND;
1995 typedef struct tagSAFEARRAY {
2002 } SAFEARRAY;
2004 
2005 #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
2006 #define __VARIANT_NAME_1 n1
2007 #define __VARIANT_NAME_2 n2
2008 #define __VARIANT_NAME_3 n3
2009 #define __VARIANT_NAME_4 brecVal
2010 #else
2011 #define __tagVARIANT
2012 #define __VARIANT_NAME_1
2013 #define __VARIANT_NAME_2
2014 #define __VARIANT_NAME_3
2015 #define __tagBRECORD
2016 #define __VARIANT_NAME_4
2017 #endif
2018 typedef struct tagVARIANT VARIANT;
2019 struct tagVARIANT {
2020  union {
2021  struct __tagVARIANT {
2026  union {
2027  signed char cVal;
2047  signed char *pcVal;
2070  struct __tagBRECORD {
2073  } __VARIANT_NAME_4;
2074  } __VARIANT_NAME_3;
2075  } __VARIANT_NAME_2;
2077  } __VARIANT_NAME_1;
2078 };
2079 
2083 
2084 // wine/windef16.h
2085 typedef DWORD SEGPTR;
2086 
2087 // wine/winbase16.h
2088 typedef struct _STACK32FRAME
2089 {
2090  DWORD restore_addr; /* 00 return address for restoring code selector */
2091  DWORD codeselector; /* 04 code selector to restore */
2092  EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
2093  SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
2094  DWORD edi; /* 14 saved registers */
2095  DWORD esi; /* 18 */
2096  DWORD ebx; /* 1c */
2097  DWORD ebp; /* 20 saved 32-bit frame pointer */
2098  DWORD retaddr; /* 24 return address */
2099  DWORD target; /* 28 target address / CONTEXT86 pointer */
2100  DWORD nb_args; /* 2c number of 16-bit argument bytes */
2101 } STACK32FRAME;
2102 
2103 /* 16-bit stack layout after __wine_call_from_16() */
2104 typedef struct _STACK16FRAME
2105 {
2106  STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
2107  DWORD edx; /* 04 saved registers */
2108  DWORD ecx; /* 08 */
2109  DWORD ebp; /* 0c */
2110  WORD ds; /* 10 */
2111  WORD es; /* 12 */
2112  WORD fs; /* 14 */
2113  WORD gs; /* 16 */
2114  DWORD callfrom_ip; /* 18 callfrom tail IP */
2115  DWORD module_cs; /* 1c module code segment */
2116  DWORD relay; /* 20 relay function address */
2117  WORD entry_ip; /* 22 entry point IP */
2118  DWORD entry_point; /* 26 API entry point to call, reused as mutex count */
2119  WORD bp; /* 2a 16-bit stack frame chain */
2120  WORD ip; /* 2c return address */
2121  WORD cs; /* 2e */
2122 } STACK16FRAME;
_THREAD_WRITE_FLAGS
Definition: compat.h:785
struct _EXCEPTION_RECORD * PEXCEPTION_RECORD
ULONG gdiBrush
Definition: compat.h:509
PVOID glCurrentRC
Definition: compat.h:522
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
DWORD64 Address
Definition: compat.h:1137
struct API_VERSION * LPAPI_VERSION
BasicType
Definition: compat.h:1256
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:380
PVOID EnvironmentPointer
Definition: compat.h:487
WCHAR OLECHAR
Definition: compat.h:1933
WORD LimitLow
Definition: compat.h:429
struct _RUNTIME_FUNCTION::@337::@338 DUMMYSTRUCTNAME
ULONG Tag
Definition: compat.h:698
SYM_TYPE SymType
Definition: compat.h:885
ULONG cbElements
Definition: compat.h:1998
ULONG gdiRgn
Definition: compat.h:507
BYTE BaseMid
Definition: compat.h:433
ULONGLONG Lo64
Definition: compat.h:1928
const uint16_t * PCWSTR
Definition: typedefs.h:55
PVOID WOW32Reserved
Definition: compat.h:497
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACKW64)(PCWSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:828
DWORD MaxNameLength
Definition: compat.h:1120
SYM_TYPE
Definition: compat.h:703
DWORD SizeOfImage
Definition: compat.h:568
ULONG glReserved1[26]
Definition: compat.h:517
ADDRESS_MODE Mode
Definition: compat.h:838
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:904
WCHAR StaticUnicodeBuffer[261]
Definition: compat.h:526
struct _CONTEXT CONTEXT
PVOID Instrumentation[16]
Definition: compat.h:534
BSTR * pbstrVal
Definition: compat.h:2060
struct _IMAGEHLP_MODULEW64 IMAGEHLP_MODULEW64
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:386
ULONG NameLen
Definition: compat.h:699
BYTE bVal
Definition: compat.h:2032
#define UNWIND_HISTORY_TABLE_SIZE
Definition: compat.h:295
Definition: compat.h:1939
struct _IMAGEHLP_LINEW * PIMAGEHLP_LINEW
DWORD64 ModBase
Definition: compat.h:1100
DWORD64 WINAPI SymLoadModuleExW(HANDLE, HANDLE, PCWSTR, PCWSTR, DWORD64, DWORD, PMODLOAD_DATA, DWORD)
Definition: module.c:578
ULONG64 Address
Definition: compat.h:1007
ULONG Esp
Definition: nt_native.h:1479
CY * pcyVal
Definition: compat.h:2063
PVOID GdiThreadLocaleInfo
Definition: compat.h:514
PVOID IRecordInfo
Definition: compat.h:23
VOID * PIMAGEHLP_CONTEXT
Definition: compat.h:623
ULONG MaxNameLen
Definition: compat.h:700
DWORD SizeOfStruct
Definition: compat.h:1160
Definition: compat.h:712
struct _IMAGEHLP_LINEW IMAGEHLP_LINEW
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:827
KAFFINITY AffinityMask
Definition: compat.h:579
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:819
Definition: compat.h:1955
DWORD FunctionLength
Definition: compat.h:283
struct _IMAGEHLP_MODULE * PIMAGEHLP_MODULE
WCHAR ModuleName[32]
Definition: compat.h:725
USHORT MajorVersion
Definition: compat.h:1212
MINIDUMP_THREAD_EX_CALLBACK ThreadEx
Definition: compat.h:972
_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:364
PVOID glReserved2
Definition: compat.h:518
LIST_ENTRY TlsLinks
Definition: compat.h:529
ULONG MaxNameLen
Definition: compat.h:1012
struct _SOURCEFILE SOURCEFILE
Definition: compat.h:1951
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:1004
DWORD WINAPI SymSetOptions(DWORD opts)
Definition: dbghelp.c:443
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD)
Definition: module.c:1161
PVOID Key
Definition: compat.h:753
DWORD64 BaseOfImage
Definition: compat.h:719
PVOID glContext
Definition: compat.h:523
CONTEXT * PCONTEXT
Definition: nt_native.h:1486
struct _IMAGEHLP_SYMBOL * PIMAGEHLP_SYMBOL
VARIANT_BOOL boolVal
Definition: compat.h:2037
Definition: compat.h:707
DWORD LineNumber
Definition: compat.h:1180
MINIDUMP_THREAD_CALLBACK Thread
Definition: compat.h:971
uint16_t * PWSTR
Definition: typedefs.h:54
USHORT * puiVal
Definition: compat.h:2048
VARIANTARG * LPVARIANTARG
Definition: compat.h:2082
PVOID CsrClientThread
Definition: compat.h:494
DWORD SizeOfStruct
Definition: compat.h:1136
struct tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO
ULONG64 FuncTableEntry
Definition: compat.h:1022
struct _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY
struct _IMAGE_SEPARATE_DEBUG_HEADER * PIMAGE_SEPARATE_DEBUG_HEADER
STACK32FRAME * frame32
Definition: compat.h:2106
struct tagDEC::@348::@350 DUMMYSTRUCTNAME1
DWORD SizeOfStruct
Definition: compat.h:1098
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:541
DWORD BaseOfImage
Definition: compat.h:857
SHORT * piVal
Definition: compat.h:2053
CHAR LoadedPdbName[256]
Definition: compat.h:889
SAFEARRAYBOUND rgsabound[1]
Definition: compat.h:2001
ULONG Scope
Definition: compat.h:697
struct _tagADDRESS64 ADDRESS64
ULONG Ecx
Definition: nt_native.h:1467
DWORD64 KeUserCallbackDispatcher
Definition: compat.h:1036
struct _STACKFRAME64 STACKFRAME64
WORD wReserved3
Definition: compat.h:2025
CHAR ModuleName[32]
Definition: compat.h:886
LONG NTSTATUS
Definition: precomp.h:26
USHORT fFeatures
Definition: compat.h:1997
ULONG64 BackingStoreOffset
Definition: compat.h:1021
struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOAD64
WCHAR ImageName[256]
Definition: compat.h:864
USHORT wReserved
Definition: compat.h:1909
USHORT MinorVersion
Definition: compat.h:1213
#define CALLBACK
Definition: compat.h:27
DWORD dwFileVersionLS
Definition: compat.h:552
PVOID WINAPI SymFunctionTableAccess64(HANDLE, DWORD64)
Definition: module.c:1169
struct _MINIDUMP_CALLBACK_INPUT MINIDUMP_CALLBACK_INPUT
DWORD64 Address
Definition: compat.h:1104
ULONG Flags
Definition: compat.h:693
BOOL(CALLBACK * PSYM_ENUMLINES_CALLBACKW)(PSRCCODEINFOW, PVOID)
Definition: compat.h:1106
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: nt_native.h:1394
ULONG Lo32
Definition: compat.h:1924
GLdouble n
Definition: glext.h:7729
HANDLE HWND
Definition: compat.h:13
ULONG R6
Definition: compat.h:341
PVOID Key
Definition: compat.h:1099
DWORD SizeOfStruct
Definition: compat.h:1126
_EXCEPTION_DISPOSITION
Definition: compat.h:78
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID)
Definition: compat.h:829
DWORD SizeOfStruct
Definition: compat.h:1169
DWORD ebx
Definition: compat.h:2096
ULONG R0
Definition: compat.h:335
DWORD Pres
Definition: compat.h:442
double DATE
Definition: compat.h:1894
MINIDUMP_MODULE_CALLBACK Module
Definition: compat.h:973
union tagDEC::@348 DUMMYUNIONNAME1
PVOID ActiveRpcHandle
Definition: compat.h:489
ULONG TypeIndex
Definition: compat.h:688
FLOAT * pfltVal
Definition: compat.h:2055
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:820
DWORD64 Params[4]
Definition: compat.h:1048
ULONG64 Address
Definition: compat.h:695
DWORD64(CALLBACK * PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64)
Definition: compat.h:821
DWORD BaseHi
Definition: compat.h:448
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:1162
SAFEARRAY * parray
Definition: compat.h:2044
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:1252
OLECHAR * BSTR
Definition: compat.h:1934
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:781
ULONG SegDs
Definition: nt_native.h:1456
WCHAR * __lstrcpynW(WCHAR *lpString1, const WCHAR *lpString2, int iMaxLength)
struct _KDHELP64 KDHELP64
SAFEARRAY ** pparray
Definition: compat.h:2067
ADDRESS64 AddrBStore
Definition: compat.h:1046
PVOID byref
Definition: compat.h:2062
char * LPSTR
Definition: xmlstorage.h:182
_IMAGEHLP_SYMBOL_TYPE_INFO
Definition: compat.h:1054
HANDLE UniqueProcess
Definition: compat.h:474
struct _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC
DataKind
Definition: compat.h:1287
ULONG WaitingOnLoaderLock
Definition: compat.h:541
struct _tagADDRESS ADDRESS
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR, ULONG, ULONG, PVOID)
Definition: compat.h:875
BYTE sign
Definition: compat.h:1913
PRUNTIME_FUNCTION FunctionEntry
Definition: compat.h:299
#define BOOL
Definition: nt_native.h:43
ULONG ulVal
Definition: compat.h:2029
struct _MINIDUMP_CALLBACK_OUTPUT * PMINIDUMP_CALLBACK_OUTPUT
#define DWORD
Definition: nt_native.h:44
DWORD ThCallbackStack
Definition: compat.h:1031
WORD BaseLow
Definition: compat.h:430
int32_t INT
Definition: typedefs.h:56
BYTE Flags1
Definition: compat.h:434
short VARIANT_BOOL
Definition: compat.h:1931
struct API_VERSION API_VERSION
PVOID ArbitraryUserPointer
Definition: compat.h:379
PCHAR FileName
Definition: compat.h:747
static __inline const char * wine_dbgstr_w(const WCHAR *s)
Definition: compat.h:51
WORD Segment
Definition: compat.h:816
PVOID WinSockData
Definition: compat.h:535
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
BOOL(CALLBACK * PENUMLOADED_MODULES_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:867
DWORD CheckSum
Definition: compat.h:860
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
DWORD target
Definition: compat.h:2099
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
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:882
VARIANT * LPVARIANT
Definition: compat.h:2080
uint32_t ULONG_PTR
Definition: typedefs.h:63
struct _IMAGEHLP_LINE * PIMAGEHLP_LINE
DWORD FramePointer
Definition: compat.h:1034
ULONGLONG * pullVal
Definition: compat.h:2069
struct _tagADDRESS * LPADDRESS
CLIENT_ID ClientId
Definition: compat.h:488
SHORT iVal
Definition: compat.h:2033
HANDLE GdiCachedProcessHandle
Definition: compat.h:511
struct tagSAFEARRAY SAFEARRAY
DWORD64 ModBase
Definition: compat.h:1091
DWORD ExceptionCode
Definition: compat.h:196
LONG lVal
Definition: compat.h:2034
UNICODE_STRING StaticUnicodeString
Definition: compat.h:525
struct tagVARIANT::@351::__tagVARIANT __VARIANT_NAME_2
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:2174
struct _IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL
ULONG NameLen
Definition: compat.h:1011
WCHAR LoadedImageName[256]
Definition: compat.h:727
BOOL(CALLBACK * PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR, ULONG, ULONG, PVOID)
Definition: compat.h:874
DWORD BaseMid
Definition: compat.h:439
PVOID Reserved5[3]
Definition: compat.h:542
USHORT Revision
Definition: compat.h:1214
struct _IMAGE_DEBUG_DIRECTORY * PIMAGE_DEBUG_DIRECTORY
Definition: compat.h:1896
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:1220
struct _MINIDUMP_CALLBACK_OUTPUT::@344::@345 DUMMYSTRUCTNAME
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:512
DWORD ebp
Definition: compat.h:2097
ADDRESS_MODE
Definition: compat.h:795
unsigned int BOOL
Definition: ntddk_ex.h:94
INT intVal
Definition: compat.h:2030
DWORD Address
Definition: compat.h:1173
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
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACK)(PCSTR, ULONG, PVOID)
Definition: compat.h:873
BOOL(CALLBACK * PSYM_ENUMMODULES_CALLBACKW64)(PCWSTR, DWORD64, PVOID)
Definition: compat.h:826
short SHORT
Definition: pedump.c:59
DWORD ImageSize
Definition: compat.h:845
struct _MINIDUMP_CALLBACK_OUTPUT MINIDUMP_CALLBACK_OUTPUT
DWORD callfrom_ip
Definition: compat.h:2114
struct _GDI_TEB_BATCH * PGDI_TEB_BATCH