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/dbghel... ============================================================================== --- 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>