Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.2 KiB

  1. #ifndef __IA64_WOW64EXTS32__
  2. #define __IA64_WOW64EXTS32__
  3. #define _CROSS_PLATFORM_
  4. #define WOW64EXTS_386
  5. #if !defined(_X86_)
  6. #error This file can only be included for x86 build
  7. #else
  8. /* include headers as if the platform were ia64,
  9. because we need 64-bit stuff for context conversion */
  10. #undef _X86_
  11. #define _AMD64_
  12. #include <nt.h>
  13. #include <ntrtl.h>
  14. #include <nturtl.h>
  15. #include <windows.h>
  16. #undef _AMD64_
  17. #define _X86_
  18. /* 32-bit stuff for context conversion are defined here */
  19. #include <wow64.h>
  20. #include <wow64cpu.h>
  21. #include <vdmdbg.h>
  22. #include <amd64cpu.h>
  23. /* these are defined in nti386.h, since we only included ntia64.h (in nt.h),
  24. we have to define these. */
  25. #define SIZE_OF_FX_REGISTERS 128
  26. typedef struct _FXSAVE_FORMAT {
  27. USHORT ControlWord;
  28. USHORT StatusWord;
  29. USHORT TagWord;
  30. USHORT ErrorOpcode;
  31. ULONG ErrorOffset;
  32. ULONG ErrorSelector;
  33. ULONG DataOffset;
  34. ULONG DataSelector;
  35. ULONG MXCsr;
  36. ULONG Reserved2;
  37. UCHAR RegisterArea[SIZE_OF_FX_REGISTERS];
  38. UCHAR Reserved3[SIZE_OF_FX_REGISTERS];
  39. UCHAR Reserved4[224];
  40. UCHAR Align16Byte[8];
  41. } FXSAVE_FORMAT, *PFXSAVE_FORMAT_WX86;
  42. #endif
  43. #endif __IA64_WOW64EXTS32__