ChangeSet ID: 21469 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/28 05:03:10
Modified files: include : imagehlp.h
Log message: Vitaliy Margolen wine-patch@kievinfo.com Add some 64 bit definitions.
Patch: http://cvs.winehq.org/patch.py?id=21469
Old revision New revision Changes Path 1.23 1.24 +56 -0 wine/include/imagehlp.h
Index: wine/include/imagehlp.h diff -u -p wine/include/imagehlp.h:1.23 wine/include/imagehlp.h:1.24 --- wine/include/imagehlp.h:1.23 28 Nov 2005 11: 3:10 -0000 +++ wine/include/imagehlp.h 28 Nov 2005 11: 3:10 -0000 @@ -236,6 +236,12 @@ typedef struct _ADDRESS { ADDRESS_MODE Mode; } ADDRESS, *PADDRESS;
+typedef struct _ADDRESS64 { + DWORD64 Offset; + WORD Segment; + ADDRESS_MODE Mode; +} ADDRESS64, *LPADDRESS64; + typedef struct _KDHELP { DWORD Thread; DWORD ThCallbackStack; @@ -246,6 +252,18 @@ typedef struct _KDHELP { DWORD SystemRangeStart; } KDHELP, *PKDHELP;
+typedef struct _KDHELP64 { + DWORD64 Thread; + DWORD ThCallbackStack; + DWORD ThCallbackBStore; + DWORD NextCallback; + DWORD FramePointer; + DWORD64 KiCallUserMode; + DWORD64 KeUserCallbackDispatcher; + DWORD64 SystemRangeStart; + DWORD64 Reserved[8]; +} KDHELP64, *PKDHELP64; + typedef struct _STACKFRAME { ADDRESS AddrPC; ADDRESS AddrReturn; @@ -259,6 +277,20 @@ typedef struct _STACKFRAME { KDHELP KdHelp; } STACKFRAME, *LPSTACKFRAME;
+typedef struct _STACKFRAME64 { + ADDRESS64 AddrPC; + ADDRESS64 AddrReturn; + ADDRESS64 AddrFrame; + ADDRESS64 AddrStack; + ADDRESS64 AddrBStore; + PVOID FuncTableEntry; + DWORD64 Params[4]; + BOOL Far; + BOOL Virtual; + DWORD64 Reserved[3]; + KDHELP64 KdHelp; +} STACKFRAME64, *LPSTACKFRAME64; + typedef struct _SOURCEFILE { DWORD64 ModBase; PCHAR FileName; @@ -398,17 +430,33 @@ typedef BOOL (CALLBACK *PREAD_PROCESS_ME DWORD nSize, PDWORD lpNumberOfBytesRead );
+typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)( + HANDLE hProcess, DWORD64 lpBaseAddress, PVOID lpBuffer, + DWORD nSize, LPDWORD lpNumberOfBytesRead +); + typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)( HANDLE hProcess, DWORD AddrBase );
+typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)( + HANDLE hProcess, DWORD64 AddrBase +); + typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE)( HANDLE hProcess, DWORD ReturnAddress);
+typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE64)( + HANDLE hProcess, DWORD64 ReturnAddress); + typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE)( HANDLE hProcess, HANDLE hThread, PADDRESS lpaddr );
+typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE64)( + HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr +); + /*********************************************************************** * Functions */ @@ -541,6 +589,14 @@ BOOL WINAPI StackWalk( PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine, PTRANSLATE_ADDRESS_ROUTINE TranslateAddress ); +BOOL WINAPI StackWalk64( + DWORD MachineType, HANDLE hProcess, HANDLE hThread, + LPSTACKFRAME64 StackFrame, PVOID ContextRecord, + PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine, + PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, + PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, + PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress +); BOOL WINAPI SymCleanup( HANDLE hProcess );