Fixed some CONTEXT86 vs. CONTEXT mismatches.
diff --git a/include/winnt.h b/include/winnt.h
index 1f3c016..3ea1d5e 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -172,20 +172,20 @@
DWORD SegSs;
} CONTEXT86;
+#define CONTEXT_X86 0x00010000
+#define CONTEXT_i386 CONTEXT_X86
+#define CONTEXT_i486 CONTEXT_X86
+
#define CONTEXT86_CONTROL (CONTEXT_i386 | 0x0001) /* SS:SP, CS:IP, FLAGS, BP */
#define CONTEXT86_INTEGER (CONTEXT_i386 | 0x0002) /* AX, BX, CX, DX, SI, DI */
#define CONTEXT86_SEGMENTS (CONTEXT_i386 | 0x0004) /* DS, ES, FS, GS */
#define CONTEXT86_FLOATING_POINT (CONTEXT_i386 | 0x0008L) /* 387 state */
#define CONTEXT86_DEBUG_REGISTERS (CONTEXT_i386 | 0x0010L) /* DB 0-3,6,7 */
-#define CONTEXT86_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
+#define CONTEXT86_FULL (CONTEXT86_CONTROL | CONTEXT86_INTEGER | CONTEXT86_SEGMENTS)
/* i386 context definitions */
#ifdef __i386__
-#define CONTEXT_X86 0x00010000
-#define CONTEXT_i386 CONTEXT_X86
-#define CONTEXT_i486 CONTEXT_X86
-
#define CONTEXT_CONTROL CONTEXT86_CONTROL
#define CONTEXT_INTEGER CONTEXT86_INTEGER
#define CONTEXT_SEGMENTS CONTEXT86_SEGMENTS
diff --git a/win32/device.c b/win32/device.c
index 290da64..c981c4e 100644
--- a/win32/device.c
+++ b/win32/device.c
@@ -723,7 +723,7 @@
{
memset(pCxt,0,sizeof(*pCxt));
- pCxt->ContextFlags=CONTEXT_INTEGER|CONTEXT_CONTROL;
+ pCxt->ContextFlags=CONTEXT86_INTEGER|CONTEXT86_CONTROL;
pCxt->Eax = pIn->ar_eax;
pCxt->Ebx = pIn->ar_ebx;
pCxt->Ecx = pIn->ar_ecx;
@@ -731,7 +731,7 @@
pCxt->Esi = pIn->ar_esi;
pCxt->Edi = pIn->ar_edi;
- /* FIXME: Only partial CONTEXT_CONTROL */
+ /* FIXME: Only partial CONTEXT86_CONTROL */
pCxt->Ebp = pIn->ar_ebp;
/* FIXME: pIn->ar_proid ignored */
@@ -750,7 +750,7 @@
pOut->ar_esi = pCxt->Esi;
pOut->ar_edi = pCxt->Edi;
- /* FIXME: Only partial CONTEXT_CONTROL */
+ /* FIXME: Only partial CONTEXT86_CONTROL */
pOut->ar_ebp = pCxt->Ebp;
/* FIXME: pOut->ar_proid ignored */
@@ -830,7 +830,7 @@
/* Note: segment registers == 0 means that CTX_SEG_OFF_TO_LIN
will interpret 32-bit register contents as linear pointers */
- pCxt->ContextFlags=CONTEXT_INTEGER|CONTEXT_CONTROL;
+ pCxt->ContextFlags=CONTEXT86_INTEGER|CONTEXT86_CONTROL;
pCxt->Eax = pIn->reg_EAX;
pCxt->Ebx = pIn->reg_EBX;
pCxt->Ecx = pIn->reg_ECX;
@@ -838,7 +838,7 @@
pCxt->Esi = pIn->reg_ESI;
pCxt->Edi = pIn->reg_EDI;
- /* FIXME: Only partial CONTEXT_CONTROL */
+ /* FIXME: Only partial CONTEXT86_CONTROL */
pCxt->EFlags = pIn->reg_Flags;
}
@@ -853,7 +853,7 @@
pOut->reg_ESI = pCxt->Esi;
pOut->reg_EDI = pCxt->Edi;
- /* FIXME: Only partial CONTEXT_CONTROL */
+ /* FIXME: Only partial CONTEXT86_CONTROL */
pOut->reg_Flags = pCxt->EFlags;
}