diff options
Diffstat (limited to 'winsup/w32api/include/imagehlp.h')
-rw-r--r-- | winsup/w32api/include/imagehlp.h | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/winsup/w32api/include/imagehlp.h b/winsup/w32api/include/imagehlp.h deleted file mode 100644 index 1f94533..0000000 --- a/winsup/w32api/include/imagehlp.h +++ /dev/null @@ -1,329 +0,0 @@ -/* - imagehlp.h - Include file for IMAGEHLP.DLL APIs - - Written by Mumit Khan <khan@nanotech.wisc.edu> - - This file is part of a free library for the Win32 API. - - NOTE: This strictly does not belong in the Win32 API since it's - really part of Platform SDK. However,GDB needs it and we might - as well provide it here. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -*/ - -#ifndef _IMAGEHLP_H -#define _IMAGEHLP_H -#if __GNUC__ >=3 -#pragma GCC system_header -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define API_VERSION_NUMBER 7 -#define BIND_NO_BOUND_IMPORTS 0x00000001 -#define BIND_NO_UPDATE 0x00000002 -#define BIND_ALL_IMAGES 0x00000004 -#define BIND_CACHE_IMPORT_DLLS 0x00000008 -#define CBA_DEFERRED_SYMBOL_LOAD_START 1 -#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 2 -#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 3 -#define CBA_SYMBOLS_UNLOADED 4 -#define CBA_DUPLICATE_SYMBOL 5 -#define CERT_PE_IMAGE_DIGEST_DEBUG_INFO 1 -#define CERT_PE_IMAGE_DIGEST_RESOURCES 2 -#define CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO 4 -#define CERT_PE_IMAGE_DIGEST_NON_PE_INFO 8 -#define CERT_SECTION_TYPE_ANY 255 -#define CHECKSUM_SUCCESS 0 -#define CHECKSUM_OPEN_FAILURE 1 -#define CHECKSUM_MAP_FAILURE 2 -#define CHECKSUM_MAPVIEW_FAILURE 3 -#define CHECKSUM_UNICODE_FAILURE 4 -#define IMAGE_SEPARATION 65536 -#define SPLITSYM_REMOVE_PRIVATE 1 -#define SPLITSYM_EXTRACT_ALL 2 -#define SPLITSYM_SYMBOLPATH_IS_SRC 4 -#define SYMF_OMAP_GENERATED 1 -#define SYMF_OMAP_MODIFIED 2 -#define SYMOPT_CASE_INSENSITIVE 1 -#define SYMOPT_UNDNAME 2 -#define SYMOPT_DEFERRED_LOADS 4 -#define SYMOPT_NO_CPP 8 -#define SYMOPT_LOAD_LINES 16 -#define SYMOPT_OMAP_FIND_NEAREST 32 -#define UNDNAME_COMPLETE 0 -#define UNDNAME_NO_LEADING_UNDERSCORES 1 -#define UNDNAME_NO_MS_KEYWORDS 2 -#define UNDNAME_NO_FUNCTION_RETURNS 4 -#define UNDNAME_NO_ALLOCATION_MODEL 8 -#define UNDNAME_NO_ALLOCATION_LANGUAGE 16 -#define UNDNAME_NO_MS_THISTYPE 32 -#define UNDNAME_NO_CV_THISTYPE 64 -#define UNDNAME_NO_THISTYPE 96 -#define UNDNAME_NO_ACCESS_SPECIFIERS 128 -#define UNDNAME_NO_THROW_SIGNATURES 256 -#define UNDNAME_NO_MEMBER_TYPE 512 -#define UNDNAME_NO_RETURN_UDT_MODEL 1024 -#define UNDNAME_32_BIT_DECODE 2048 -#define UNDNAME_NAME_ONLY 4096 -#define UNDNAME_NO_ARGUMENTS 8192 -#define UNDNAME_NO_SPECIAL_SYMS 16384 - -#define _IMAGEHLPAPI DECLSPEC_IMPORT WINAPI - -#ifndef RC_INVOKED - -typedef enum _IMAGEHLP_STATUS_REASON { - BindOutOfMemory, - BindRvaToVaFailed, - BindNoRoomInImage, - BindImportModuleFailed, - BindImportProcedureFailed, - BindImportModule, - BindImportProcedure, - BindForwarder, - BindForwarderNOT, - BindImageModified, - BindExpandFileHeaders, - BindImageComplete, - BindMismatchedSymbols, - BindSymbolsNotUpdated -} IMAGEHLP_STATUS_REASON; -typedef BOOL(STDCALL*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,LPSTR,LPSTR,ULONG,ULONG); -typedef struct _LOADED_IMAGE { - LPSTR ModuleName; - HANDLE hFile; - PUCHAR MappedAddress; - PIMAGE_NT_HEADERS FileHeader; - PIMAGE_SECTION_HEADER LastRvaSection; - ULONG NumberOfSections; - PIMAGE_SECTION_HEADER Sections; - ULONG Characteristics; - BOOLEAN fSystemImage; - BOOLEAN fDOSImage; - LIST_ENTRY Links; - ULONG SizeOfImage; -} LOADED_IMAGE,*PLOADED_IMAGE; -typedef struct _IMAGE_DEBUG_INFORMATION { - LIST_ENTRY List; - DWORD Size; - PVOID MappedBase; - USHORT Machine; - USHORT Characteristics; - DWORD CheckSum; - DWORD ImageBase; - DWORD SizeOfImage; - DWORD NumberOfSections; - PIMAGE_SECTION_HEADER Sections; - DWORD ExportedNamesSize; - LPSTR ExportedNames; - DWORD NumberOfFunctionTableEntries; - PIMAGE_FUNCTION_ENTRY FunctionTableEntries; - DWORD LowestFunctionStartingAddress; - DWORD HighestFunctionEndingAddress; - DWORD NumberOfFpoTableEntries; - PFPO_DATA FpoTableEntries; - DWORD SizeOfCoffSymbols; - PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols; - DWORD SizeOfCodeViewSymbols; - PVOID CodeViewSymbols; - LPSTR ImageFilePath; - LPSTR ImageFileName; - LPSTR DebugFilePath; - DWORD TimeDateStamp; - BOOL RomImage; - PIMAGE_DEBUG_DIRECTORY DebugDirectory; - DWORD NumberOfDebugDirectories; - DWORD Reserved[3]; -} IMAGE_DEBUG_INFORMATION,*PIMAGE_DEBUG_INFORMATION; -typedef enum { - AddrMode1616, - AddrMode1632, - AddrModeReal, - AddrModeFlat -} ADDRESS_MODE; -typedef struct _tagADDRESS { - DWORD Offset; - WORD Segment; - ADDRESS_MODE Mode; -} ADDRESS,*LPADDRESS; -typedef struct _KDHELP { - DWORD Thread; - DWORD ThCallbackStack; - DWORD NextCallback; - DWORD FramePointer; - DWORD KiCallUserMode; - DWORD KeUserCallbackDispatcher; - DWORD SystemRangeStart; -} KDHELP,*PKDHELP; -typedef struct _tagSTACKFRAME { - ADDRESS AddrPC; - ADDRESS AddrReturn; - ADDRESS AddrFrame; - ADDRESS AddrStack; - LPVOID FuncTableEntry; - DWORD Params[4]; - BOOL Far; - BOOL Virtual; - DWORD Reserved[3]; - KDHELP KdHelp; -} STACKFRAME,*LPSTACKFRAME; -typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE ,LPCVOID,LPVOID,DWORD,LPDWORD); -typedef LPVOID(STDCALL*PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE,DWORD); -typedef DWORD(STDCALL*PGET_MODULE_BASE_ROUTINE)(HANDLE,DWORD); -typedef DWORD(STDCALL*PTRANSLATE_ADDRESS_ROUTINE)(HANDLE,HANDLE,LPADDRESS); -typedef struct API_VERSION { - USHORT MajorVersion; - USHORT MinorVersion; - USHORT Revision; - USHORT Reserved; -} API_VERSION,*LPAPI_VERSION; -typedef BOOL(CALLBACK*PSYM_ENUMMODULES_CALLBACK)(LPSTR,ULONG,PVOID); -typedef BOOL(CALLBACK*PSYM_ENUMSYMBOLS_CALLBACK)(LPSTR,ULONG,ULONG,PVOID); -typedef BOOL(CALLBACK*PENUMLOADED_MODULES_CALLBACK)(LPSTR,ULONG,ULONG,PVOID); -typedef BOOL(CALLBACK*PSYMBOL_REGISTERED_CALLBACK)(HANDLE,ULONG,PVOID,PVOID); -typedef enum { - SymNone, - SymCoff, - SymCv, - SymPdb, - SymExport, - SymDeferred, - SymSym -} SYM_TYPE; -typedef struct _IMAGEHLP_SYMBOL { - DWORD SizeOfStruct; - DWORD Address; - DWORD Size; - DWORD Flags; - DWORD MaxNameLength; - CHAR Name[1]; -} IMAGEHLP_SYMBOL,*PIMAGEHLP_SYMBOL; -typedef struct _IMAGEHLP_MODULE { - DWORD SizeOfStruct; - DWORD BaseOfImage; - DWORD ImageSize; - DWORD TimeDateStamp; - DWORD CheckSum; - DWORD NumSyms; - SYM_TYPE SymType; - CHAR ModuleName[32]; - CHAR ImageName[256]; - CHAR LoadedImageName[256]; -} IMAGEHLP_MODULE,*PIMAGEHLP_MODULE; -typedef struct _IMAGEHLP_LINE { - DWORD SizeOfStruct; - DWORD Key; - DWORD LineNumber; - PCHAR FileName; - DWORD Address; -} IMAGEHLP_LINE,*PIMAGEHLP_LINE; -typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD { - DWORD SizeOfStruct; - DWORD BaseOfImage; - DWORD CheckSum; - DWORD TimeDateStamp; - CHAR FileName[MAX_PATH]; - BOOLEAN Reparse; -} IMAGEHLP_DEFERRED_SYMBOL_LOAD,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD; -typedef struct _IMAGEHLP_DUPLICATE_SYMBOL { - DWORD SizeOfStruct; - DWORD NumberOfDups; - PIMAGEHLP_SYMBOL Symbol; - ULONG SelectedSymbol; -} IMAGEHLP_DUPLICATE_SYMBOL,*PIMAGEHLP_DUPLICATE_SYMBOL; -typedef PVOID DIGEST_HANDLE; -typedef BOOL(WINAPI*DIGEST_FUNCTION)(DIGEST_HANDLE refdata,PBYTE pData,DWORD dwLength); - -PIMAGE_NT_HEADERS _IMAGEHLPAPI CheckSumMappedFile(LPVOID,DWORD,LPDWORD,LPDWORD); -DWORD _IMAGEHLPAPI MapFileAndCheckSumA(LPSTR,LPDWORD,LPDWORD); -DWORD _IMAGEHLPAPI MapFileAndCheckSumW(PWSTR,LPDWORD,LPDWORD); -BOOL _IMAGEHLPAPI TouchFileTimes(HANDLE,LPSYSTEMTIME); -BOOL _IMAGEHLPAPI SplitSymbols(LPSTR,LPSTR,LPSTR,DWORD); -HANDLE _IMAGEHLPAPI FindDebugInfoFile(LPSTR,LPSTR,LPSTR); -HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR); -BOOL _IMAGEHLPAPI UpdateDebugInfoFile(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS); -BOOL _IMAGEHLPAPI UpdateDebugInfoFileEx(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS,DWORD); -BOOL _IMAGEHLPAPI BindImage(IN LPSTR,IN LPSTR,IN LPSTR); -BOOL _IMAGEHLPAPI BindImageEx(IN DWORD,IN LPSTR,IN LPSTR,IN LPSTR,IN PIMAGEHLP_STATUS_ROUTINE); -BOOL _IMAGEHLPAPI ReBaseImage(IN LPSTR,IN LPSTR,IN BOOL, IN BOOL,IN BOOL, IN ULONG, OUT ULONG*, OUT ULONG*, OUT ULONG*, IN OUT ULONG*, IN ULONG); - -PLOADED_IMAGE _IMAGEHLPAPI ImageLoad(LPSTR,LPSTR); -BOOL _IMAGEHLPAPI ImageUnload(PLOADED_IMAGE); -PIMAGE_NT_HEADERS _IMAGEHLPAPI ImageNtHeader(IN PVOID); -PVOID _IMAGEHLPAPI ImageDirectoryEntryToData(IN PVOID,IN BOOLEAN,IN USHORT,OUT PULONG); -PIMAGE_SECTION_HEADER _IMAGEHLPAPI ImageRvaToSection(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG); -PVOID _IMAGEHLPAPI ImageRvaToVa(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG,IN OUT PIMAGE_SECTION_HEADER*); -BOOL _IMAGEHLPAPI MapAndLoad(LPSTR,LPSTR,PLOADED_IMAGE,BOOL,BOOL); -BOOL _IMAGEHLPAPI GetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY); -DWORD _IMAGEHLPAPI GetImageUnusedHeaderBytes(PLOADED_IMAGE,LPDWORD); -BOOL _IMAGEHLPAPI SetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY); -BOOL _IMAGEHLPAPI UnMapAndLoad(PLOADED_IMAGE); -PIMAGE_DEBUG_INFORMATION _IMAGEHLPAPI MapDebugInformation(HANDLE,LPSTR,LPSTR,DWORD); -BOOL _IMAGEHLPAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); -HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR); -BOOL _IMAGEHLPAPI SearchTreeForFile(LPSTR,LPSTR,LPSTR); -BOOL _IMAGEHLPAPI MakeSureDirectoryPathExists(LPCSTR); -DWORD _IMAGEHLPAPI WINAPI UnDecorateSymbolName(LPCSTR,LPSTR,DWORD, DWORD); -BOOL -_IMAGEHLPAPI -StackWalk(DWORD,HANDLE,HANDLE,LPSTACKFRAME,LPVOID,PREAD_PROCESS_MEMORY_ROUTINE,PFUNCTION_TABLE_ACCESS_ROUTINE,PGET_MODULE_BASE_ROUTINE,PTRANSLATE_ADDRESS_ROUTINE); -LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersion(VOID); -LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersionEx(LPAPI_VERSION); -DWORD _IMAGEHLPAPI GetTimestampForLoadedLibrary(HMODULE); -BOOL _IMAGEHLPAPI RemovePrivateCvSymbolic(PCHAR,PCHAR*,ULONG*); -VOID _IMAGEHLPAPI RemoveRelocations(PCHAR); -DWORD _IMAGEHLPAPI SymSetOptions(IN DWORD); -DWORD _IMAGEHLPAPI SymGetOptions(VOID); -BOOL _IMAGEHLPAPI SymCleanup(IN HANDLE); -BOOL _IMAGEHLPAPI SymEnumerateModules(IN HANDLE,IN PSYM_ENUMMODULES_CALLBACK,IN PVOID); -BOOL _IMAGEHLPAPI SymEnumerateSymbols(IN HANDLE,IN DWORD,IN PSYM_ENUMSYMBOLS_CALLBACK,IN PVOID); -BOOL _IMAGEHLPAPI EnumerateLoadedModules(IN HANDLE,IN PENUMLOADED_MODULES_CALLBACK,IN PVOID); -LPVOID _IMAGEHLPAPI SymFunctionTableAccess(HANDLE,DWORD); -BOOL _IMAGEHLPAPI SymGetModuleInfo(IN HANDLE,IN DWORD,OUT PIMAGEHLP_MODULE); -DWORD _IMAGEHLPAPI SymGetModuleBase(IN HANDLE,IN DWORD); -BOOL _IMAGEHLPAPI SymGetSymFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_SYMBOL); -BOOL _IMAGEHLPAPI SymGetSymFromName(IN HANDLE,IN LPSTR,OUT PIMAGEHLP_SYMBOL); -BOOL _IMAGEHLPAPI SymGetSymNext(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL); -BOOL _IMAGEHLPAPI SymGetSymPrev(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL); -BOOL _IMAGEHLPAPI SymGetLineFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_LINE); -BOOL _IMAGEHLPAPI SymGetLineFromName(IN HANDLE,IN LPSTR,IN LPSTR,IN DWORD,OUT PLONG,IN OUT PIMAGEHLP_LINE); -BOOL _IMAGEHLPAPI SymGetLineNext(IN HANDLE,IN OUT PIMAGEHLP_LINE); -BOOL _IMAGEHLPAPI SymGetLinePrev(IN HANDLE,IN OUT PIMAGEHLP_LINE); -BOOL _IMAGEHLPAPI SymMatchFileName(IN LPSTR,IN LPSTR,OUT LPSTR*,OUT LPSTR*); -BOOL _IMAGEHLPAPI SymInitialize(IN HANDLE,IN LPSTR,IN BOOL); -BOOL _IMAGEHLPAPI SymGetSearchPath(IN HANDLE,OUT LPSTR,IN DWORD); -BOOL _IMAGEHLPAPI SymSetSearchPath(IN HANDLE,IN LPSTR); -BOOL _IMAGEHLPAPI SymLoadModule(IN HANDLE,IN HANDLE,IN PSTR,IN PSTR,IN DWORD,IN DWORD); -BOOL _IMAGEHLPAPI SymUnloadModule(IN HANDLE,IN DWORD); -BOOL _IMAGEHLPAPI SymUnDName(IN PIMAGEHLP_SYMBOL,OUT LPSTR,IN DWORD); -BOOL _IMAGEHLPAPI SymRegisterCallback(IN HANDLE,IN PSYMBOL_REGISTERED_CALLBACK,IN PVOID); -BOOL _IMAGEHLPAPI ImageGetDigestStream(IN HANDLE,IN DWORD,IN DIGEST_FUNCTION,IN DIGEST_HANDLE); -BOOL _IMAGEHLPAPI ImageAddCertificate(IN HANDLE,IN LPWIN_CERTIFICATE,OUT PDWORD); -BOOL _IMAGEHLPAPI ImageRemoveCertificate(IN HANDLE,IN DWORD); -BOOL _IMAGEHLPAPI ImageEnumerateCertificates(IN HANDLE,IN WORD,OUT PDWORD,IN OUT PDWORD OPTIONAL,IN OUT DWORD OPTIONAL); -BOOL _IMAGEHLPAPI ImageGetCertificateData(IN HANDLE,IN DWORD,OUT LPWIN_CERTIFICATE,IN OUT PDWORD); -BOOL _IMAGEHLPAPI ImageGetCertificateHeader(IN HANDLE,IN DWORD,IN OUT LPWIN_CERTIFICATE); -BOOL _IMAGEHLPAPI CopyPdb(CHAR const*,CHAR const*,BOOL); -BOOL _IMAGEHLPAPI RemovePrivateCvSymbolicEx(PCHAR,ULONG,PCHAR*,ULONG*); - -#endif /* RC_INVOKED */ - -#ifdef UNICODE -#define MapFileAndCheckSum MapFileAndCheckSumW -#else -#define MapFileAndCheckSum MapFileAndCheckSumA -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* _IMAGEHLP_H */ - |