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.

71 lines
1005 B

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. amd64cpu.h
  5. Abstract:
  6. This module contains the AMD64 platfrom specific cpu information.
  7. Author:
  8. David N. Cutler (davec) 21-Feb-2001
  9. --*/
  10. #ifndef _AMD64CPU_INCLUDE
  11. #define _AMD64CPU_INCLUDE
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. //
  16. // 32-bit Cpu context.
  17. //
  18. #pragma pack(push, 4)
  19. typedef struct _CpuContext {
  20. CONTEXT32 Context;
  21. WOW64SERVICE_BUF Wow64Service[1];
  22. } CPUCONTEXT, *PCPUCONTEXT;
  23. #pragma pack(pop)
  24. NTSTATUS
  25. GetContextRecord (
  26. IN PCPUCONTEXT cpu,
  27. IN OUT PCONTEXT32 Context
  28. );
  29. NTSTATUS
  30. SetContextRecord (
  31. IN PCPUCONTEXT cpu,
  32. IN OUT PCONTEXT32 Context
  33. );
  34. NTSTATUS
  35. CpupGetContextThread (
  36. IN HANDLE ThreadHandle,
  37. IN HANDLE ProcessHandle,
  38. IN PTEB Teb,
  39. IN OUT PCONTEXT32 Context
  40. );
  41. NTSTATUS
  42. CpupSetContextThread(
  43. IN HANDLE ThreadHandle,
  44. IN HANDLE ProcessHandle,
  45. IN PTEB Teb,
  46. IN OUT PCONTEXT32 Context
  47. );
  48. #ifdef __cplusplus
  49. }
  50. #endif
  51. #endif