CVS: winex/include stackframe.h, 1.1.1.4, 1.2 thread.h, 1.18, 1.19
[email protected] 12 Sep 2007 12:34:56 -0000
| Newsgroups | gmane.comp.emulators.winex.cvs |
|---|---|
| Message-ID | <[email protected]> |
Subject: winex/include stackframe.h,1.1.1.4,1.2 thread.h,1.18,1.19Update of /var/lib/cvsd/cvsroot/winex/include
In directory agravaine:/tmp/cvs-serv11620/include
Modified Files:
stackframe.h thread.h
Log Message:
- changed TEB::cur_stack to TEB::WOW32Reserved. WOW32Reserved is now at offset 0xC0 (cur_stack was at 0x70). The old cur_stack has been renamed to 'unknown70'.
Index: stackframe.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/stackframe.h,v
retrieving revision 1.1.1.4
retrieving revision 1.2
diff -u -d -r1.1.1.4 -r1.2
--- stackframe.h 21 Dec 2000 03:34:34 -0000 1.1.1.4
+++ stackframe.h 12 Sep 2007 12:34:53 -0000 1.2
@@ -55,7 +55,7 @@
#include "poppack.h"
-#define THREAD_STACK16(teb) ((STACK16FRAME*)MapSL((teb)->cur_stack))
+#define THREAD_STACK16(teb) ((STACK16FRAME*)MapSL((DWORD)((teb)->WOW32Reserved)))
#define CURRENT_STACK16 (THREAD_STACK16(NtCurrentTeb()))
#define CURRENT_DS (CURRENT_STACK16->ds)
@@ -80,8 +80,8 @@
TEB *teb = NtCurrentTeb();
STACK16FRAME *frame = THREAD_STACK16(teb);
memmove( (char*)frame - size, frame, sizeof(*frame) );
- teb->cur_stack -= size;
- return (SEGPTR)(teb->cur_stack + sizeof(*frame));
+ teb->WOW32Reserved -= size;
+ return (SEGPTR)(teb->WOW32Reserved + sizeof(*frame));
}
/* Pop bytes from the 16-bit stack of a thread */
@@ -90,7 +90,7 @@
TEB *teb = NtCurrentTeb();
STACK16FRAME *frame = THREAD_STACK16(teb);
memmove( (char*)frame + size, frame, sizeof(*frame) );
- teb->cur_stack += size;
+ teb->WOW32Reserved += size;
}
/* Push a DWORD on the 32-bit stack */
Index: thread.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/thread.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- thread.h 30 Mar 2007 14:40:03 -0000 1.18
+++ thread.h 12 Sep 2007 12:34:53 -0000 1.19
@@ -68,7 +68,7 @@
HANDLE debug_cb; /* 1-n 64 Debugger context block */
DWORD debug_thread; /* 1-n 68 Thread debugging this one (?) */
void *pcontext; /* 1-n 6c Thread register context */
- DWORD cur_stack; /* --3 70 Current stack (was: unknown) */
+ DWORD unknown70; /* --n 70 */
DWORD ThunkConnect; /* 1-n 74 */
DWORD NegStackBase; /* 1-n 78 */
WORD current_ss; /* 1-n 7c Another 16-bit stack selector */
@@ -76,7 +76,8 @@
void *ss_table; /* --n 80 Pointer to info about 16-bit stack */
WORD thunk_ss; /* --n 84 Yet another 16-bit stack selector */
WORD pad3; /* --n 86 */
- DWORD pad4[15]; /* --n 88 */
+ DWORD pad4[14]; /* --n 88 */
+ PVOID WOW32Reserved; /* -2- C0 */
ULONG CurrentLocale; /* -2- C4 */
DWORD pad5[48]; /* --n C8 */
DWORD delta_priority; /* 1-n 188 Priority delta */