66 lines
1.3 KiB
C
66 lines
1.3 KiB
C
/*
|
|
*
|
|
* ctx386.h
|
|
*
|
|
* Context definition for win32 x86
|
|
*
|
|
*/
|
|
|
|
#ifndef _CTX386_h
|
|
#define _CTX386_h
|
|
|
|
typedef CONTEXT XBDMCTX;
|
|
typedef FLOATING_SAVE_AREA XBDMFLOATSAVE;
|
|
|
|
#define CONTEXT CTX86
|
|
#define _CONTEXT _CTX86
|
|
#define PCONTEXT PCTX86
|
|
#define LPCONTEXT PCONTEXT
|
|
#define FLOATING_SAVE_AREA FSAVEX86
|
|
#define _FLOATING_SAVE_AREA _FSAVEX86
|
|
#define PFLOATING_SAVE_AREA PFSAVEX86
|
|
|
|
typedef struct _FLOATING_SAVE_AREA {
|
|
DWORD ControlWord;
|
|
DWORD StatusWord;
|
|
DWORD TagWord;
|
|
DWORD ErrorOffset;
|
|
DWORD ErrorSelector;
|
|
DWORD DataOffset;
|
|
DWORD DataSelector;
|
|
BYTE RegisterArea[80];
|
|
DWORD Cr0NpxState;
|
|
} FLOATING_SAVE_AREA;
|
|
|
|
typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
|
|
|
|
typedef struct _CONTEXT {
|
|
DWORD ContextFlags;
|
|
DWORD Dr0;
|
|
DWORD Dr1;
|
|
DWORD Dr2;
|
|
DWORD Dr3;
|
|
DWORD Dr6;
|
|
DWORD Dr7;
|
|
FLOATING_SAVE_AREA FloatSave;
|
|
DWORD SegGs;
|
|
DWORD SegFs;
|
|
DWORD SegEs;
|
|
DWORD SegDs;
|
|
DWORD Edi;
|
|
DWORD Esi;
|
|
DWORD Ebx;
|
|
DWORD Edx;
|
|
DWORD Ecx;
|
|
DWORD Eax;
|
|
DWORD Ebp;
|
|
DWORD Eip;
|
|
DWORD SegCs;
|
|
DWORD EFlags;
|
|
DWORD Esp;
|
|
DWORD SegSs;
|
|
BYTE ExtendedRegisters[512];
|
|
} CONTEXT, *PCONTEXT;
|
|
|
|
#endif // _CTX386_h
|