annotate win32/imagehlp.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * imagehlp.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.imagehlp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 /* Comment from MinGW
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14 NOTE: This strictly does not belong in the Win32 API since it's
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 really part of Platform SDK. However, GDB needs it and we might
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 as well provide it here.
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 private import win32.winbase, win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 // FIXME: check types of constants
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 const API_VERSION_NUMBER = 7;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 const BIND_NO_BOUND_IMPORTS = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 const BIND_NO_UPDATE = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 const BIND_ALL_IMAGES = 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 const BIND_CACHE_IMPORT_DLLS = 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 CBA_DEFERRED_SYMBOL_LOAD_START = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 CBA_DEFERRED_SYMBOL_LOAD_COMPLETE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 CBA_DEFERRED_SYMBOL_LOAD_FAILURE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 CBA_SYMBOLS_UNLOADED,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 CBA_DUPLICATE_SYMBOL
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 const CERT_PE_IMAGE_DIGEST_DEBUG_INFO = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 const CERT_PE_IMAGE_DIGEST_RESOURCES = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 const CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO = 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 const CERT_PE_IMAGE_DIGEST_NON_PE_INFO = 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 const CERT_SECTION_TYPE_ANY = 255;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 enum {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 CHECKSUM_SUCCESS = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 CHECKSUM_OPEN_FAILURE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 CHECKSUM_MAP_FAILURE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 CHECKSUM_MAPVIEW_FAILURE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 CHECKSUM_UNICODE_FAILURE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 const IMAGE_SEPARATION = 65536;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 const SPLITSYM_REMOVE_PRIVATE = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 const SPLITSYM_EXTRACT_ALL = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 const SPLITSYM_SYMBOLPATH_IS_SRC = 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 const SYMF_OMAP_GENERATED = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 const SYMF_OMAP_MODIFIED = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 const SYMOPT_CASE_INSENSITIVE = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 const SYMOPT_UNDNAME = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 const SYMOPT_DEFERRED_LOADS = 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 const SYMOPT_NO_CPP = 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 const SYMOPT_LOAD_LINES = 16;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 const SYMOPT_OMAP_FIND_NEAREST = 32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 const UNDNAME_COMPLETE = 0;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 const UNDNAME_NO_LEADING_UNDERSCORES = 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 const UNDNAME_NO_MS_KEYWORDS = 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 const UNDNAME_NO_FUNCTION_RETURNS = 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 const UNDNAME_NO_ALLOCATION_MODEL = 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 const UNDNAME_NO_ALLOCATION_LANGUAGE = 16;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 const UNDNAME_NO_MS_THISTYPE = 32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 const UNDNAME_NO_CV_THISTYPE = 64;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 const UNDNAME_NO_THISTYPE = 96;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 const UNDNAME_NO_ACCESS_SPECIFIERS = 128;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 const UNDNAME_NO_THROW_SIGNATURES = 256;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 const UNDNAME_NO_MEMBER_TYPE = 512;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 const UNDNAME_NO_RETURN_UDT_MODEL = 1024;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 const UNDNAME_32_BIT_DECODE = 2048;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 const UNDNAME_NAME_ONLY = 4096;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 const UNDNAME_NO_ARGUMENTS = 8192;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 const UNDNAME_NO_SPECIAL_SYMS = 16384;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 enum IMAGEHLP_STATUS_REASON {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 BindOutOfMemory,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 BindRvaToVaFailed,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 BindNoRoomInImage,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 BindImportModuleFailed,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 BindImportProcedureFailed,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 BindImportModule,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 BindImportProcedure,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 BindForwarder,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 BindForwarderNOT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 BindImageModified,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 BindExpandFileHeaders,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 BindImageComplete,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 BindMismatchedSymbols,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 BindSymbolsNotUpdated
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 struct LOADED_IMAGE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 LPSTR ModuleName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 HANDLE hFile;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 PUCHAR MappedAddress;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 PIMAGE_NT_HEADERS FileHeader;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 PIMAGE_SECTION_HEADER LastRvaSection;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 ULONG NumberOfSections;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 PIMAGE_SECTION_HEADER Sections;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 ULONG Characteristics;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 BOOLEAN fSystemImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 BOOLEAN fDOSImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 LIST_ENTRY Links;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 ULONG SizeOfImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 alias LOADED_IMAGE* PLOADED_IMAGE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 struct IMAGE_DEBUG_INFORMATION {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 LIST_ENTRY List;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 DWORD Size;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 PVOID MappedBase;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 USHORT Machine;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 USHORT Characteristics;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 DWORD CheckSum;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 DWORD ImageBase;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 DWORD SizeOfImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 DWORD NumberOfSections;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 PIMAGE_SECTION_HEADER Sections;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 DWORD ExportedNamesSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 LPSTR ExportedNames;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 DWORD NumberOfFunctionTableEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 PIMAGE_FUNCTION_ENTRY FunctionTableEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 DWORD LowestFunctionStartingAddress;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 DWORD HighestFunctionEndingAddress;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 DWORD NumberOfFpoTableEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 PFPO_DATA FpoTableEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 DWORD SizeOfCoffSymbols;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 DWORD SizeOfCodeViewSymbols;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 PVOID CodeViewSymbols;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 LPSTR ImageFilePath;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 LPSTR ImageFileName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 LPSTR DebugFilePath;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 DWORD TimeDateStamp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 BOOL RomImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 PIMAGE_DEBUG_DIRECTORY DebugDirectory;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 DWORD NumberOfDebugDirectories;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 DWORD[3] Reserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 alias IMAGE_DEBUG_INFORMATION* PIMAGE_DEBUG_INFORMATION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 enum ADDRESS_MODE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 AddrMode1616,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 AddrMode1632,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 AddrModeReal,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 AddrModeFlat
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 struct ADDRESS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 DWORD Offset;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 WORD Segment;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 ADDRESS_MODE Mode;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 alias ADDRESS* LPADDRESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 struct KDHELP {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 DWORD Thread;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 DWORD ThCallbackStack;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 DWORD NextCallback;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 DWORD FramePointer;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 DWORD KiCallUserMode;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 DWORD KeUserCallbackDispatcher;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 DWORD SystemRangeStart;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 alias KDHELP* PKDHELP;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 struct STACKFRAME {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 ADDRESS AddrPC;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 ADDRESS AddrReturn;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 ADDRESS AddrFrame;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 ADDRESS AddrStack;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184 LPVOID FuncTableEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 DWORD[4] Params;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186 BOOL Far;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 BOOL Virtual;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188 DWORD[3] Reserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 KDHELP KdHelp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191 alias STACKFRAME* LPSTACKFRAME;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 struct API_VERSION {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 USHORT MajorVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 USHORT MinorVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 USHORT Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197 USHORT Reserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 alias API_VERSION* LPAPI_VERSION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201 enum SYM_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202 SymNone,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 SymCoff,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204 SymCv,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205 SymPdb,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206 SymExport,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 SymDeferred,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 SymSym
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211 struct IMAGEHLP_SYMBOL {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 DWORD SizeOfStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213 DWORD Address;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 DWORD Size;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215 DWORD Flags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 DWORD MaxNameLength;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 CHAR[1] Name;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 alias IMAGEHLP_SYMBOL* PIMAGEHLP_SYMBOL;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221 struct IMAGEHLP_MODULE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 DWORD SizeOfStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223 DWORD BaseOfImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 DWORD ImageSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 DWORD TimeDateStamp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 DWORD CheckSum;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227 DWORD NumSyms;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 SYM_TYPE SymType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
229 CHAR[32] ModuleName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
230 CHAR[256] ImageName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
231 CHAR[256] LoadedImageName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
232 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
233 alias IMAGEHLP_MODULE* PIMAGEHLP_MODULE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
234
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
235 struct IMAGEHLP_LINE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
236 DWORD SizeOfStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
237 DWORD Key;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
238 DWORD LineNumber;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
239 PCHAR FileName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
240 DWORD Address;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
241 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
242 alias IMAGEHLP_LINE* PIMAGEHLP_LINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
243
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
244 struct IMAGEHLP_DEFERRED_SYMBOL_LOAD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
245 DWORD SizeOfStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
246 DWORD BaseOfImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
247 DWORD CheckSum;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
248 DWORD TimeDateStamp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
249 CHAR[MAX_PATH] FileName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
250 BOOLEAN Reparse;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
251 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
252 alias IMAGEHLP_DEFERRED_SYMBOL_LOAD* PIMAGEHLP_DEFERRED_SYMBOL_LOAD;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
253
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
254 struct IMAGEHLP_DUPLICATE_SYMBOL {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
255 DWORD SizeOfStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
256 DWORD NumberOfDups;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
257 PIMAGEHLP_SYMBOL Symbol;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
258 ULONG SelectedSymbol;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
259 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
260 alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
261
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
262 alias HANDLE DIGEST_HANDLE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
263
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
264 extern (Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
265 alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
266 PIMAGEHLP_STATUS_ROUTINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
267 alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
268 PREAD_PROCESS_MEMORY_ROUTINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
269 alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
270 alias DWORD function(HANDLE, DWORD) PGET_MODULE_BASE_ROUTINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
271 alias DWORD function(HANDLE, HANDLE, LPADDRESS)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
272 PTRANSLATE_ADDRESS_ROUTINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
273 alias BOOL function(LPSTR, ULONG, PVOID) PSYM_ENUMMODULES_CALLBACK;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
274 alias BOOL function(LPSTR, ULONG, ULONG, PVOID) PSYM_ENUMSYMBOLS_CALLBACK;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
275 alias BOOL function(LPSTR, ULONG, ULONG, PVOID)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
276 PENUMLOADED_MODULES_CALLBACK;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
277 alias BOOL function(HANDLE, ULONG, PVOID, PVOID)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
278 PSYMBOL_REGISTERED_CALLBACK;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
279 alias BOOL function(DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
280 DIGEST_FUNCTION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
281
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
282 PIMAGE_NT_HEADERS CheckSumMappedFile(LPVOID, DWORD, LPDWORD, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
283 DWORD MapFileAndCheckSumA(LPSTR, LPDWORD, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
284 DWORD MapFileAndCheckSumW(PWSTR, LPDWORD, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
285 BOOL TouchFileTimes(HANDLE, LPSYSTEMTIME);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
286 BOOL SplitSymbols(LPSTR, LPSTR, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
287 HANDLE FindDebugInfoFile(LPSTR, LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
288 HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
289 BOOL UpdateDebugInfoFile(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
290 BOOL UpdateDebugInfoFileEx(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
291 BOOL BindImage(LPSTR, LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
292 BOOL BindImageEx(DWORD, LPSTR, LPSTR, LPSTR, PIMAGEHLP_STATUS_ROUTINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
293 BOOL ReBaseImage(LPSTR, LPSTR, BOOL, BOOL, BOOL, ULONG, ULONG*, ULONG*,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
294 ULONG*, ULONG*, ULONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
295 PLOADED_IMAGE ImageLoad(LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
296 BOOL ImageUnload(PLOADED_IMAGE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
297 PIMAGE_NT_HEADERS ImageNtHeader(PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
298 PVOID ImageDirectoryEntryToData(PVOID, BOOLEAN, USHORT, PULONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
299 PIMAGE_SECTION_HEADER ImageRvaToSection(PIMAGE_NT_HEADERS, PVOID, ULONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
300 PVOID ImageRvaToVa(PIMAGE_NT_HEADERS, PVOID, ULONG,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
301 PIMAGE_SECTION_HEADER*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
302 BOOL MapAndLoad(LPSTR, LPSTR, PLOADED_IMAGE, BOOL, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
303 BOOL GetImageConfigInformation(PLOADED_IMAGE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
304 PIMAGE_LOAD_CONFIG_DIRECTORY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
305 DWORD GetImageUnusedHeaderBytes(PLOADED_IMAGE, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
306 BOOL SetImageConfigInformation(PLOADED_IMAGE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
307 PIMAGE_LOAD_CONFIG_DIRECTORY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
308 BOOL UnMapAndLoad(PLOADED_IMAGE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
309 PIMAGE_DEBUG_INFORMATION MapDebugInformation(HANDLE, LPSTR, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
310 BOOL UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
311 HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
312 BOOL SearchTreeForFile(LPSTR, LPSTR, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
313 BOOL MakeSureDirectoryPathExists(LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
314 DWORD UnDecorateSymbolName(LPCSTR, LPSTR, DWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
315 BOOL StackWalk(DWORD, HANDLE, HANDLE, LPSTACKFRAME, LPVOID,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
316 PREAD_PROCESS_MEMORY_ROUTINE, PFUNCTION_TABLE_ACCESS_ROUTINE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
317 PGET_MODULE_BASE_ROUTINE, PTRANSLATE_ADDRESS_ROUTINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
318 LPAPI_VERSION ImagehlpApiVersion();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
319 LPAPI_VERSION ImagehlpApiVersionEx(LPAPI_VERSION);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
320 DWORD GetTimestampForLoadedLibrary(HMODULE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
321 BOOL RemovePrivateCvSymbolic(PCHAR, PCHAR*, ULONG*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
322 VOID RemoveRelocations(PCHAR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
323 DWORD SymSetOptions(DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
324 DWORD SymGetOptions();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
325 BOOL SymCleanup(HANDLE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
326 BOOL SymEnumerateModules(HANDLE, PSYM_ENUMMODULES_CALLBACK, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
327 BOOL SymEnumerateSymbols(HANDLE, DWORD, PSYM_ENUMSYMBOLS_CALLBACK, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
328 BOOL EnumerateLoadedModules(HANDLE, PENUMLOADED_MODULES_CALLBACK, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
329 LPVOID SymFunctionTableAccess(HANDLE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
330 BOOL SymGetModuleInfo(HANDLE, DWORD, PIMAGEHLP_MODULE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
331 DWORD SymGetModuleBase(HANDLE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
332 BOOL SymGetSymFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
333 BOOL SymGetSymFromName(HANDLE, LPSTR, PIMAGEHLP_SYMBOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
334 BOOL SymGetSymNext(HANDLE, PIMAGEHLP_SYMBOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
335 BOOL SymGetSymPrev(HANDLE, PIMAGEHLP_SYMBOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
336 BOOL SymGetLineFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
337 BOOL SymGetLineFromName(HANDLE, LPSTR, LPSTR, DWORD, PLONG,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
338 PIMAGEHLP_LINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
339 BOOL SymGetLineNext(HANDLE, PIMAGEHLP_LINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
340 BOOL SymGetLinePrev(HANDLE, PIMAGEHLP_LINE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
341 BOOL SymMatchFileName(LPSTR, LPSTR, LPSTR*, LPSTR*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
342 BOOL SymInitialize(HANDLE, LPSTR, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
343 BOOL SymGetSearchPath(HANDLE, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
344 BOOL SymSetSearchPath(HANDLE, LPSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
345 BOOL SymLoadModule(HANDLE, HANDLE, PSTR, PSTR, DWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
346 BOOL SymUnloadModule(HANDLE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
347 BOOL SymUnDName(PIMAGEHLP_SYMBOL, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
348 BOOL SymRegisterCallback(HANDLE, PSYMBOL_REGISTERED_CALLBACK, PVOID);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
349 BOOL ImageGetDigestStream(HANDLE, DWORD, DIGEST_FUNCTION, DIGEST_HANDLE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
350 BOOL ImageAddCertificate(HANDLE, LPWIN_CERTIFICATE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
351 BOOL ImageRemoveCertificate(HANDLE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
352 BOOL ImageEnumerateCertificates(HANDLE, WORD, PDWORD, PDWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
353 BOOL ImageGetCertificateData(HANDLE, DWORD, LPWIN_CERTIFICATE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
354 BOOL ImageGetCertificateHeader(HANDLE, DWORD, LPWIN_CERTIFICATE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
355 BOOL CopyPdb(CHAR*, CHAR*, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
356 BOOL RemovePrivateCvSymbolicEx(PCHAR, ULONG, PCHAR*, ULONG*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
357 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
358
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
359 version (Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
360 alias MapFileAndCheckSumW MapFileAndCheckSum;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
361 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
362 alias MapFileAndCheckSumA MapFileAndCheckSum;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
363 }