File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               imagehlp.d                              *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                           by Stewart Gordon                           *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.imagehlp;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /* Comment from MinGW
4e2933c620 2015-04-21        kinaba: 	NOTE: This strictly does not belong in the Win32 API since it's
4e2933c620 2015-04-21        kinaba: 	really part of Platform SDK. However, GDB needs it and we might
4e2933c620 2015-04-21        kinaba: 	as well provide it here.
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.winbase, win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FIXME: check types of constants
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const API_VERSION_NUMBER = 7;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const BIND_NO_BOUND_IMPORTS  = 1;
4e2933c620 2015-04-21        kinaba: const BIND_NO_UPDATE         = 2;
4e2933c620 2015-04-21        kinaba: const BIND_ALL_IMAGES        = 4;
4e2933c620 2015-04-21        kinaba: const BIND_CACHE_IMPORT_DLLS = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	CBA_DEFERRED_SYMBOL_LOAD_START = 1,
4e2933c620 2015-04-21        kinaba: 	CBA_DEFERRED_SYMBOL_LOAD_COMPLETE,
4e2933c620 2015-04-21        kinaba: 	CBA_DEFERRED_SYMBOL_LOAD_FAILURE,
4e2933c620 2015-04-21        kinaba: 	CBA_SYMBOLS_UNLOADED,
4e2933c620 2015-04-21        kinaba: 	CBA_DUPLICATE_SYMBOL
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const CERT_PE_IMAGE_DIGEST_DEBUG_INFO      = 1;
4e2933c620 2015-04-21        kinaba: const CERT_PE_IMAGE_DIGEST_RESOURCES       = 2;
4e2933c620 2015-04-21        kinaba: const CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO = 4;
4e2933c620 2015-04-21        kinaba: const CERT_PE_IMAGE_DIGEST_NON_PE_INFO     = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const CERT_SECTION_TYPE_ANY = 255;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	CHECKSUM_SUCCESS = 0,
4e2933c620 2015-04-21        kinaba: 	CHECKSUM_OPEN_FAILURE,
4e2933c620 2015-04-21        kinaba: 	CHECKSUM_MAP_FAILURE,
4e2933c620 2015-04-21        kinaba: 	CHECKSUM_MAPVIEW_FAILURE,
4e2933c620 2015-04-21        kinaba: 	CHECKSUM_UNICODE_FAILURE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMAGE_SEPARATION = 65536;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SPLITSYM_REMOVE_PRIVATE    = 1;
4e2933c620 2015-04-21        kinaba: const SPLITSYM_EXTRACT_ALL       = 2;
4e2933c620 2015-04-21        kinaba: const SPLITSYM_SYMBOLPATH_IS_SRC = 4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SYMF_OMAP_GENERATED = 1;
4e2933c620 2015-04-21        kinaba: const SYMF_OMAP_MODIFIED  = 2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SYMOPT_CASE_INSENSITIVE  =  1;
4e2933c620 2015-04-21        kinaba: const SYMOPT_UNDNAME           =  2;
4e2933c620 2015-04-21        kinaba: const SYMOPT_DEFERRED_LOADS    =  4;
4e2933c620 2015-04-21        kinaba: const SYMOPT_NO_CPP            =  8;
4e2933c620 2015-04-21        kinaba: const SYMOPT_LOAD_LINES        = 16;
4e2933c620 2015-04-21        kinaba: const SYMOPT_OMAP_FIND_NEAREST = 32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const UNDNAME_COMPLETE               =     0;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_LEADING_UNDERSCORES =     1;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_MS_KEYWORDS         =     2;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_FUNCTION_RETURNS    =     4;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_ALLOCATION_MODEL    =     8;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_ALLOCATION_LANGUAGE =    16;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_MS_THISTYPE         =    32;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_CV_THISTYPE         =    64;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_THISTYPE            =    96;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_ACCESS_SPECIFIERS   =   128;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_THROW_SIGNATURES    =   256;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_MEMBER_TYPE         =   512;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_RETURN_UDT_MODEL    =  1024;
4e2933c620 2015-04-21        kinaba: const UNDNAME_32_BIT_DECODE          =  2048;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NAME_ONLY              =  4096;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_ARGUMENTS           =  8192;
4e2933c620 2015-04-21        kinaba: const UNDNAME_NO_SPECIAL_SYMS        = 16384;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum IMAGEHLP_STATUS_REASON {
4e2933c620 2015-04-21        kinaba: 	BindOutOfMemory,
4e2933c620 2015-04-21        kinaba: 	BindRvaToVaFailed,
4e2933c620 2015-04-21        kinaba: 	BindNoRoomInImage,
4e2933c620 2015-04-21        kinaba: 	BindImportModuleFailed,
4e2933c620 2015-04-21        kinaba: 	BindImportProcedureFailed,
4e2933c620 2015-04-21        kinaba: 	BindImportModule,
4e2933c620 2015-04-21        kinaba: 	BindImportProcedure,
4e2933c620 2015-04-21        kinaba: 	BindForwarder,
4e2933c620 2015-04-21        kinaba: 	BindForwarderNOT,
4e2933c620 2015-04-21        kinaba: 	BindImageModified,
4e2933c620 2015-04-21        kinaba: 	BindExpandFileHeaders,
4e2933c620 2015-04-21        kinaba: 	BindImageComplete,
4e2933c620 2015-04-21        kinaba: 	BindMismatchedSymbols,
4e2933c620 2015-04-21        kinaba: 	BindSymbolsNotUpdated
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LOADED_IMAGE {
4e2933c620 2015-04-21        kinaba: 	LPSTR                 ModuleName;
4e2933c620 2015-04-21        kinaba: 	HANDLE                hFile;
4e2933c620 2015-04-21        kinaba: 	PUCHAR                MappedAddress;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_NT_HEADERS     FileHeader;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_SECTION_HEADER LastRvaSection;
4e2933c620 2015-04-21        kinaba: 	ULONG                 NumberOfSections;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_SECTION_HEADER Sections;
4e2933c620 2015-04-21        kinaba: 	ULONG                 Characteristics;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN               fSystemImage;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN               fDOSImage;
4e2933c620 2015-04-21        kinaba: 	LIST_ENTRY            Links;
4e2933c620 2015-04-21        kinaba: 	ULONG                 SizeOfImage;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LOADED_IMAGE* PLOADED_IMAGE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGE_DEBUG_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	LIST_ENTRY                 List;
4e2933c620 2015-04-21        kinaba: 	DWORD                      Size;
4e2933c620 2015-04-21        kinaba: 	PVOID                      MappedBase;
4e2933c620 2015-04-21        kinaba: 	USHORT                     Machine;
4e2933c620 2015-04-21        kinaba: 	USHORT                     Characteristics;
4e2933c620 2015-04-21        kinaba: 	DWORD                      CheckSum;
4e2933c620 2015-04-21        kinaba: 	DWORD                      ImageBase;
4e2933c620 2015-04-21        kinaba: 	DWORD                      SizeOfImage;
4e2933c620 2015-04-21        kinaba: 	DWORD                      NumberOfSections;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_SECTION_HEADER      Sections;
4e2933c620 2015-04-21        kinaba: 	DWORD                      ExportedNamesSize;
4e2933c620 2015-04-21        kinaba: 	LPSTR                      ExportedNames;
4e2933c620 2015-04-21        kinaba: 	DWORD                      NumberOfFunctionTableEntries;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_FUNCTION_ENTRY      FunctionTableEntries;
4e2933c620 2015-04-21        kinaba: 	DWORD                      LowestFunctionStartingAddress;
4e2933c620 2015-04-21        kinaba: 	DWORD                      HighestFunctionEndingAddress;
4e2933c620 2015-04-21        kinaba: 	DWORD                      NumberOfFpoTableEntries;
4e2933c620 2015-04-21        kinaba: 	PFPO_DATA                  FpoTableEntries;
4e2933c620 2015-04-21        kinaba: 	DWORD                      SizeOfCoffSymbols;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
4e2933c620 2015-04-21        kinaba: 	DWORD                      SizeOfCodeViewSymbols;
4e2933c620 2015-04-21        kinaba: 	PVOID                      CodeViewSymbols;
4e2933c620 2015-04-21        kinaba: 	LPSTR                      ImageFilePath;
4e2933c620 2015-04-21        kinaba: 	LPSTR                      ImageFileName;
4e2933c620 2015-04-21        kinaba: 	LPSTR                      DebugFilePath;
4e2933c620 2015-04-21        kinaba: 	DWORD                      TimeDateStamp;
4e2933c620 2015-04-21        kinaba: 	BOOL                       RomImage;
4e2933c620 2015-04-21        kinaba: 	PIMAGE_DEBUG_DIRECTORY     DebugDirectory;
4e2933c620 2015-04-21        kinaba: 	DWORD                      NumberOfDebugDirectories;
4e2933c620 2015-04-21        kinaba: 	DWORD[3]                   Reserved;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGE_DEBUG_INFORMATION* PIMAGE_DEBUG_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum ADDRESS_MODE {
4e2933c620 2015-04-21        kinaba: 	AddrMode1616,
4e2933c620 2015-04-21        kinaba: 	AddrMode1632,
4e2933c620 2015-04-21        kinaba: 	AddrModeReal,
4e2933c620 2015-04-21        kinaba: 	AddrModeFlat
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct ADDRESS {
4e2933c620 2015-04-21        kinaba: 	DWORD        Offset;
4e2933c620 2015-04-21        kinaba: 	WORD         Segment;
4e2933c620 2015-04-21        kinaba: 	ADDRESS_MODE Mode;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias ADDRESS* LPADDRESS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct KDHELP {
4e2933c620 2015-04-21        kinaba: 	DWORD Thread;
4e2933c620 2015-04-21        kinaba: 	DWORD ThCallbackStack;
4e2933c620 2015-04-21        kinaba: 	DWORD NextCallback;
4e2933c620 2015-04-21        kinaba: 	DWORD FramePointer;
4e2933c620 2015-04-21        kinaba: 	DWORD KiCallUserMode;
4e2933c620 2015-04-21        kinaba: 	DWORD KeUserCallbackDispatcher;
4e2933c620 2015-04-21        kinaba: 	DWORD SystemRangeStart;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias KDHELP* PKDHELP;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STACKFRAME {
4e2933c620 2015-04-21        kinaba: 	ADDRESS  AddrPC;
4e2933c620 2015-04-21        kinaba: 	ADDRESS  AddrReturn;
4e2933c620 2015-04-21        kinaba: 	ADDRESS  AddrFrame;
4e2933c620 2015-04-21        kinaba: 	ADDRESS  AddrStack;
4e2933c620 2015-04-21        kinaba: 	LPVOID   FuncTableEntry;
4e2933c620 2015-04-21        kinaba: 	DWORD[4] Params;
4e2933c620 2015-04-21        kinaba: 	BOOL     Far;
4e2933c620 2015-04-21        kinaba: 	BOOL     Virtual;
4e2933c620 2015-04-21        kinaba: 	DWORD[3] Reserved;
4e2933c620 2015-04-21        kinaba: 	KDHELP   KdHelp;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias STACKFRAME* LPSTACKFRAME;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct API_VERSION {
4e2933c620 2015-04-21        kinaba: 	USHORT MajorVersion;
4e2933c620 2015-04-21        kinaba: 	USHORT MinorVersion;
4e2933c620 2015-04-21        kinaba: 	USHORT Revision;
4e2933c620 2015-04-21        kinaba: 	USHORT Reserved;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias API_VERSION* LPAPI_VERSION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum SYM_TYPE {
4e2933c620 2015-04-21        kinaba: 	SymNone,
4e2933c620 2015-04-21        kinaba: 	SymCoff,
4e2933c620 2015-04-21        kinaba: 	SymCv,
4e2933c620 2015-04-21        kinaba: 	SymPdb,
4e2933c620 2015-04-21        kinaba: 	SymExport,
4e2933c620 2015-04-21        kinaba: 	SymDeferred,
4e2933c620 2015-04-21        kinaba: 	SymSym
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGEHLP_SYMBOL {
4e2933c620 2015-04-21        kinaba: 	DWORD   SizeOfStruct;
4e2933c620 2015-04-21        kinaba: 	DWORD   Address;
4e2933c620 2015-04-21        kinaba: 	DWORD   Size;
4e2933c620 2015-04-21        kinaba: 	DWORD   Flags;
4e2933c620 2015-04-21        kinaba: 	DWORD   MaxNameLength;
4e2933c620 2015-04-21        kinaba: 	CHAR[1] Name;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGEHLP_SYMBOL* PIMAGEHLP_SYMBOL;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGEHLP_MODULE {
4e2933c620 2015-04-21        kinaba: 	DWORD     SizeOfStruct;
4e2933c620 2015-04-21        kinaba: 	DWORD     BaseOfImage;
4e2933c620 2015-04-21        kinaba: 	DWORD     ImageSize;
4e2933c620 2015-04-21        kinaba: 	DWORD     TimeDateStamp;
4e2933c620 2015-04-21        kinaba: 	DWORD     CheckSum;
4e2933c620 2015-04-21        kinaba: 	DWORD     NumSyms;
4e2933c620 2015-04-21        kinaba: 	SYM_TYPE  SymType;
4e2933c620 2015-04-21        kinaba: 	CHAR[32]  ModuleName;
4e2933c620 2015-04-21        kinaba: 	CHAR[256] ImageName;
4e2933c620 2015-04-21        kinaba: 	CHAR[256] LoadedImageName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGEHLP_MODULE* PIMAGEHLP_MODULE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGEHLP_LINE {
4e2933c620 2015-04-21        kinaba: 	DWORD SizeOfStruct;
4e2933c620 2015-04-21        kinaba: 	DWORD Key;
4e2933c620 2015-04-21        kinaba: 	DWORD LineNumber;
4e2933c620 2015-04-21        kinaba: 	PCHAR FileName;
4e2933c620 2015-04-21        kinaba: 	DWORD Address;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGEHLP_LINE* PIMAGEHLP_LINE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGEHLP_DEFERRED_SYMBOL_LOAD {
4e2933c620 2015-04-21        kinaba: 	DWORD          SizeOfStruct;
4e2933c620 2015-04-21        kinaba: 	DWORD          BaseOfImage;
4e2933c620 2015-04-21        kinaba: 	DWORD          CheckSum;
4e2933c620 2015-04-21        kinaba: 	DWORD          TimeDateStamp;
4e2933c620 2015-04-21        kinaba: 	CHAR[MAX_PATH] FileName;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN        Reparse;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGEHLP_DEFERRED_SYMBOL_LOAD* PIMAGEHLP_DEFERRED_SYMBOL_LOAD;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMAGEHLP_DUPLICATE_SYMBOL {
4e2933c620 2015-04-21        kinaba: 	DWORD            SizeOfStruct;
4e2933c620 2015-04-21        kinaba: 	DWORD            NumberOfDups;
4e2933c620 2015-04-21        kinaba: 	PIMAGEHLP_SYMBOL Symbol;
4e2933c620 2015-04-21        kinaba: 	ULONG            SelectedSymbol;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias HANDLE DIGEST_HANDLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG)
4e2933c620 2015-04-21        kinaba: 	  PIMAGEHLP_STATUS_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD)
4e2933c620 2015-04-21        kinaba: 	  PREAD_PROCESS_MEMORY_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias DWORD function(HANDLE, DWORD) PGET_MODULE_BASE_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias DWORD function(HANDLE, HANDLE, LPADDRESS)
4e2933c620 2015-04-21        kinaba: 	  PTRANSLATE_ADDRESS_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(LPSTR, ULONG, PVOID) PSYM_ENUMMODULES_CALLBACK;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(LPSTR, ULONG, ULONG, PVOID) PSYM_ENUMSYMBOLS_CALLBACK;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(LPSTR, ULONG, ULONG, PVOID)
4e2933c620 2015-04-21        kinaba: 	  PENUMLOADED_MODULES_CALLBACK;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HANDLE, ULONG, PVOID, PVOID)
4e2933c620 2015-04-21        kinaba: 	  PSYMBOL_REGISTERED_CALLBACK;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength)
4e2933c620 2015-04-21        kinaba: 	  DIGEST_FUNCTION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	PIMAGE_NT_HEADERS CheckSumMappedFile(LPVOID, DWORD, LPDWORD, LPDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD MapFileAndCheckSumA(LPSTR, LPDWORD, LPDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD MapFileAndCheckSumW(PWSTR, LPDWORD, LPDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL TouchFileTimes(HANDLE, LPSYSTEMTIME);
4e2933c620 2015-04-21        kinaba: 	BOOL SplitSymbols(LPSTR, LPSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindDebugInfoFile(LPSTR, LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL UpdateDebugInfoFile(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS);
4e2933c620 2015-04-21        kinaba: 	BOOL UpdateDebugInfoFileEx(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL BindImage(LPSTR, LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL BindImageEx(DWORD, LPSTR, LPSTR, LPSTR, PIMAGEHLP_STATUS_ROUTINE);
4e2933c620 2015-04-21        kinaba: 	BOOL ReBaseImage(LPSTR, LPSTR, BOOL, BOOL, BOOL, ULONG, ULONG*, ULONG*,
4e2933c620 2015-04-21        kinaba: 	  ULONG*, ULONG*, ULONG);
4e2933c620 2015-04-21        kinaba: 	PLOADED_IMAGE ImageLoad(LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageUnload(PLOADED_IMAGE);
4e2933c620 2015-04-21        kinaba: 	PIMAGE_NT_HEADERS ImageNtHeader(PVOID);
4e2933c620 2015-04-21        kinaba: 	PVOID ImageDirectoryEntryToData(PVOID, BOOLEAN, USHORT, PULONG);
4e2933c620 2015-04-21        kinaba: 	PIMAGE_SECTION_HEADER ImageRvaToSection(PIMAGE_NT_HEADERS, PVOID, ULONG);
4e2933c620 2015-04-21        kinaba: 	PVOID ImageRvaToVa(PIMAGE_NT_HEADERS, PVOID, ULONG,
4e2933c620 2015-04-21        kinaba: 	  PIMAGE_SECTION_HEADER*);
4e2933c620 2015-04-21        kinaba: 	BOOL MapAndLoad(LPSTR, LPSTR, PLOADED_IMAGE, BOOL, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL GetImageConfigInformation(PLOADED_IMAGE,
4e2933c620 2015-04-21        kinaba: 	  PIMAGE_LOAD_CONFIG_DIRECTORY);
4e2933c620 2015-04-21        kinaba: 	DWORD GetImageUnusedHeaderBytes(PLOADED_IMAGE, LPDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetImageConfigInformation(PLOADED_IMAGE,
4e2933c620 2015-04-21        kinaba: 	  PIMAGE_LOAD_CONFIG_DIRECTORY);
4e2933c620 2015-04-21        kinaba: 	BOOL UnMapAndLoad(PLOADED_IMAGE);
4e2933c620 2015-04-21        kinaba: 	PIMAGE_DEBUG_INFORMATION MapDebugInformation(HANDLE, LPSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SearchTreeForFile(LPSTR, LPSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL MakeSureDirectoryPathExists(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD UnDecorateSymbolName(LPCSTR, LPSTR, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL StackWalk(DWORD, HANDLE, HANDLE, LPSTACKFRAME, LPVOID,
4e2933c620 2015-04-21        kinaba: 	  PREAD_PROCESS_MEMORY_ROUTINE, PFUNCTION_TABLE_ACCESS_ROUTINE,
4e2933c620 2015-04-21        kinaba: 	  PGET_MODULE_BASE_ROUTINE, PTRANSLATE_ADDRESS_ROUTINE);
4e2933c620 2015-04-21        kinaba: 	LPAPI_VERSION ImagehlpApiVersion();
4e2933c620 2015-04-21        kinaba: 	LPAPI_VERSION ImagehlpApiVersionEx(LPAPI_VERSION);
4e2933c620 2015-04-21        kinaba: 	DWORD GetTimestampForLoadedLibrary(HMODULE);
4e2933c620 2015-04-21        kinaba: 	BOOL RemovePrivateCvSymbolic(PCHAR, PCHAR*, ULONG*);
4e2933c620 2015-04-21        kinaba: 	VOID RemoveRelocations(PCHAR);
4e2933c620 2015-04-21        kinaba: 	DWORD SymSetOptions(DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD SymGetOptions();
4e2933c620 2015-04-21        kinaba: 	BOOL SymCleanup(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL SymEnumerateModules(HANDLE, PSYM_ENUMMODULES_CALLBACK, PVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL SymEnumerateSymbols(HANDLE, DWORD, PSYM_ENUMSYMBOLS_CALLBACK, PVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumerateLoadedModules(HANDLE, PENUMLOADED_MODULES_CALLBACK, PVOID);
4e2933c620 2015-04-21        kinaba: 	LPVOID SymFunctionTableAccess(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetModuleInfo(HANDLE, DWORD, PIMAGEHLP_MODULE);
4e2933c620 2015-04-21        kinaba: 	DWORD SymGetModuleBase(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetSymFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetSymFromName(HANDLE, LPSTR, PIMAGEHLP_SYMBOL);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetSymNext(HANDLE, PIMAGEHLP_SYMBOL);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetSymPrev(HANDLE, PIMAGEHLP_SYMBOL);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetLineFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetLineFromName(HANDLE, LPSTR, LPSTR, DWORD, PLONG,
4e2933c620 2015-04-21        kinaba: 	  PIMAGEHLP_LINE);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetLineNext(HANDLE, PIMAGEHLP_LINE);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetLinePrev(HANDLE, PIMAGEHLP_LINE);
4e2933c620 2015-04-21        kinaba: 	BOOL SymMatchFileName(LPSTR, LPSTR, LPSTR*, LPSTR*);
4e2933c620 2015-04-21        kinaba: 	BOOL SymInitialize(HANDLE, LPSTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL SymGetSearchPath(HANDLE, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymSetSearchPath(HANDLE, LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SymLoadModule(HANDLE, HANDLE, PSTR, PSTR, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymUnloadModule(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymUnDName(PIMAGEHLP_SYMBOL, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SymRegisterCallback(HANDLE, PSYMBOL_REGISTERED_CALLBACK, PVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageGetDigestStream(HANDLE, DWORD, DIGEST_FUNCTION, DIGEST_HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageAddCertificate(HANDLE, LPWIN_CERTIFICATE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageRemoveCertificate(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageEnumerateCertificates(HANDLE, WORD, PDWORD, PDWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageGetCertificateData(HANDLE, DWORD, LPWIN_CERTIFICATE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL ImageGetCertificateHeader(HANDLE, DWORD, LPWIN_CERTIFICATE);
4e2933c620 2015-04-21        kinaba: 	BOOL CopyPdb(CHAR*, CHAR*, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL RemovePrivateCvSymbolicEx(PCHAR, ULONG, PCHAR*, ULONG*);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version (Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias MapFileAndCheckSumW MapFileAndCheckSum;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias MapFileAndCheckSumA MapFileAndCheckSum;
4e2933c620 2015-04-21        kinaba: }