72 lines
1,005 B
C
72 lines
1,005 B
C
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
amd64cpu.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the AMD64 platfrom specific cpu information.
|
|
|
|
Author:
|
|
|
|
David N. Cutler (davec) 21-Feb-2001
|
|
|
|
--*/
|
|
|
|
#ifndef _AMD64CPU_INCLUDE
|
|
#define _AMD64CPU_INCLUDE
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//
|
|
// 32-bit Cpu context.
|
|
//
|
|
|
|
#pragma pack(push, 4)
|
|
|
|
typedef struct _CpuContext {
|
|
CONTEXT32 Context;
|
|
WOW64SERVICE_BUF Wow64Service[1];
|
|
} CPUCONTEXT, *PCPUCONTEXT;
|
|
|
|
#pragma pack(pop)
|
|
|
|
NTSTATUS
|
|
GetContextRecord (
|
|
IN PCPUCONTEXT cpu,
|
|
IN OUT PCONTEXT32 Context
|
|
);
|
|
|
|
NTSTATUS
|
|
SetContextRecord (
|
|
IN PCPUCONTEXT cpu,
|
|
IN OUT PCONTEXT32 Context
|
|
);
|
|
|
|
NTSTATUS
|
|
CpupGetContextThread (
|
|
IN HANDLE ThreadHandle,
|
|
IN HANDLE ProcessHandle,
|
|
IN PTEB Teb,
|
|
IN OUT PCONTEXT32 Context
|
|
);
|
|
|
|
NTSTATUS
|
|
CpupSetContextThread(
|
|
IN HANDLE ThreadHandle,
|
|
IN HANDLE ProcessHandle,
|
|
IN PTEB Teb,
|
|
IN OUT PCONTEXT32 Context
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|