Author: fireball
Date: Sun Aug 9 15:31:58 2009
New Revision: 42561
URL:
http://svn.reactos.org/svn/reactos?rev=42561&view=rev
Log:
- Add back STACK16/32FRAME which is needed by dbghelp.dll.
- Add #include <exception.h> to get rid of "#include <exception.h> // ROS
Hack" in windef16.h.
Modified:
branches/arwinss/reactos/dll/win32/dbghelp/stack.c
branches/arwinss/reactos/include/reactos/wine/winbase16.h
Modified: branches/arwinss/reactos/dll/win32/dbghelp/stack.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/dbghe…
==============================================================================
--- branches/arwinss/reactos/dll/win32/dbghelp/stack.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/dbghelp/stack.c [iso-8859-1] Sun Aug 9 15:31:58
2009
@@ -31,6 +31,7 @@
#define WIN32_NO_STATUS
#include "dbghelp_private.h"
#include "winternl.h"
+#include <exception.h>
#include "wine/winbase16.h"
#include "wine/debug.h"
Modified: branches/arwinss/reactos/include/reactos/wine/winbase16.h
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/reactos…
==============================================================================
--- branches/arwinss/reactos/include/reactos/wine/winbase16.h [iso-8859-1] (original)
+++ branches/arwinss/reactos/include/reactos/wine/winbase16.h [iso-8859-1] Sun Aug 9
15:31:58 2009
@@ -164,6 +164,43 @@
DWORD dwAllocBreak;
DWORD dwAllocCount;
} WINDEBUGINFO16, *LPWINDEBUGINFO16;
+
+/* 32-bit stack layout after __wine_call_to_16() */
+typedef struct _STACK32FRAME
+{
+ DWORD restore_addr; /* 00 return address for restoring code selector */
+ DWORD codeselector; /* 04 code selector to restore */
+ EXCEPTION_REGISTRATION_RECORD frame; /* 08 Exception frame */
+ SEGPTR frame16; /* 10 16-bit frame from last CallFrom16() */
+ DWORD edi; /* 14 saved registers */
+ DWORD esi; /* 18 */
+ DWORD ebx; /* 1c */
+ DWORD ebp; /* 20 saved 32-bit frame pointer */
+ DWORD retaddr; /* 24 return address */
+ DWORD target; /* 28 target address / CONTEXT86 pointer */
+ DWORD nb_args; /* 2c number of 16-bit argument bytes */
+} STACK32FRAME;
+
+/* 16-bit stack layout after __wine_call_from_16() */
+typedef struct _STACK16FRAME
+{
+ STACK32FRAME *frame32; /* 00 32-bit frame from last CallTo16() */
+ DWORD edx; /* 04 saved registers */
+ DWORD ecx; /* 08 */
+ DWORD ebp; /* 0c */
+ WORD ds; /* 10 */
+ WORD es; /* 12 */
+ WORD fs; /* 14 */
+ WORD gs; /* 16 */
+ DWORD callfrom_ip; /* 18 callfrom tail IP */
+ DWORD module_cs; /* 1c module code segment */
+ DWORD relay; /* 20 relay function address */
+ WORD entry_ip; /* 22 entry point IP */
+ DWORD entry_point; /* 26 API entry point to call, reused as mutex count
*/
+ WORD bp; /* 2a 16-bit stack frame chain */
+ WORD ip; /* 2c return address */
+ WORD cs; /* 2e */
+} STACK16FRAME;
#include <poppack.h>