wine/include imagehlp.h
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 28 05:03:10 CST 2005
ChangeSet ID: 21469
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/28 05:03:10
Modified files:
include : imagehlp.h
Log message:
Vitaliy Margolen <wine-patch at 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
);
More information about the wine-cvs
mailing list