-namespace factor
-{
+#include "atomic-cl-32.hpp"
+
+namespace factor {
#define ESP Esp
#define EIP Eip
typedef struct DECLSPEC_ALIGN(16) _M128A {
- ULONGLONG Low;
- LONGLONG High;
+ ULONGLONG Low;
+ LONGLONG High;
} M128A, *PM128A;
-/* The ExtendedRegisters field of the x86.32 CONTEXT structure uses this layout; however,
- * this structure is only made available from winnt.h on x86.64 */
+// The ExtendedRegisters field of the x86.32 CONTEXT structure uses this layout;
+// however, this structure is only made available from winnt.h on x86.64
typedef struct _XMM_SAVE_AREA32 {
- WORD ControlWord; /* 000 */
- WORD StatusWord; /* 002 */
- BYTE TagWord; /* 004 */
- BYTE Reserved1; /* 005 */
- WORD ErrorOpcode; /* 006 */
- DWORD ErrorOffset; /* 008 */
- WORD ErrorSelector; /* 00c */
- WORD Reserved2; /* 00e */
- DWORD DataOffset; /* 010 */
- WORD DataSelector; /* 014 */
- WORD Reserved3; /* 016 */
- DWORD MxCsr; /* 018 */
- DWORD MxCsr_Mask; /* 01c */
- M128A FloatRegisters[8]; /* 020 */
- M128A XmmRegisters[16]; /* 0a0 */
- BYTE Reserved4[96]; /* 1a0 */
+ WORD ControlWord; // 000
+ WORD StatusWord; // 002
+ BYTE TagWord; // 004
+ BYTE Reserved1; // 005
+ WORD ErrorOpcode; // 006
+ DWORD ErrorOffset; // 008
+ WORD ErrorSelector; // 00c
+ WORD Reserved2; // 00e
+ DWORD DataOffset; // 010
+ WORD DataSelector; // 014
+ WORD Reserved3; // 016
+ DWORD MxCsr; // 018
+ DWORD MxCsr_Mask; // 01c
+ M128A FloatRegisters[8]; // 020
+ M128A XmmRegisters[16]; // 0a0
+ BYTE Reserved4[96]; // 1a0
} XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
#define X87SW(ctx) (ctx)->FloatSave.StatusWord