ReactOS 0.4.15-dev-8236-g99f0937
ketypes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _CPU_INFO
 
struct  _KTRAP_FRAME
 
struct  _KCALLOUT_FRAME
 
struct  _LDT_ENTRY
 
struct  _KGDTENTRY
 
struct  _KIDT_ACCESS
 
struct  _KIDTENTRY
 
struct  _DESCRIPTOR
 
struct  _FNSAVE_FORMAT
 
struct  _FXSAVE_FORMAT
 
struct  _FX_SAVE_AREA
 
struct  _KSPECIAL_REGISTERS
 
struct  _KPROCESSOR_STATE
 
struct  _KPRCB
 
struct  _KIPCR
 
struct  _KiIoAccessMap
 
struct  _KTSS
 

Macros

#define KF_V86_VIS   0x00000001
 
#define KF_RDTSC   0x00000002
 
#define KF_CR4   0x00000004
 
#define KF_CMOV   0x00000008
 
#define KF_GLOBAL_PAGE   0x00000010
 
#define KF_LARGE_PAGE   0x00000020
 
#define KF_MTRR   0x00000040
 
#define KF_CMPXCHG8B   0x00000080
 
#define KF_MMX   0x00000100
 
#define KF_WORKING_PTE   0x00000200
 
#define KF_PAT   0x00000400
 
#define KF_FXSR   0x00000800
 
#define KF_FAST_SYSCALL   0x00001000
 
#define KF_XMMI   0x00002000
 
#define KF_3DNOW   0x00004000
 
#define KF_AMDK6MTRR   0x00008000
 
#define KF_XSAVEOPT   0x00008000
 
#define KF_XMMI64   0x00010000
 
#define KF_DTS   0x00020000
 
#define KF_CLFLUSH   0x00040000
 
#define KF_SSE3   0x00080000
 
#define KF_AUTHENTICAMD   0x00100000
 
#define KF_ACNT2   0x00200000
 
#define KF_XSTATE   0x00400000
 
#define KF_GENUINE_INTEL   0x00800000
 
#define KF_SMEP   0x01000000
 
#define KF_RDRAND   0x02000000
 
#define KF_SLAT   0x04000000
 
#define KF_08000000   0x08000000
 
#define KF_NX_BIT   0x20000000
 
#define KF_NX_DISABLED   0x40000000
 
#define KF_NX_ENABLED   0x80000000
 
#define KF_RDTSCP   0x0000000100000000ULL
 
#define KF_CLFLUSHOPT   0x0000000200000000ULL
 
#define KF_HDC   0x0000000400000000ULL
 
#define KF_FPU_LEAKAGE   0x0000001000000000ULL
 
#define KF_SSSE3   0x0000004000000000ULL
 
#define KF_SSE4_1   0x0000008000000000ULL
 
#define KF_SSE4_2   0x0000010000000000ULL
 
#define KF_FPU_LEAKAGE_BIT   36
 
#define K0IPCR   ((ULONG_PTR)(KIP0PCRADDRESS))
 
#define PCR   ((KPCR *)K0IPCR)
 
#define KeGetPcr()   PCR
 
#define MACHINE_TYPE_ISA   0x0000
 
#define MACHINE_TYPE_EISA   0x0001
 
#define MACHINE_TYPE_MCA   0x0002
 
#define I386_TASK_GATE   0x5
 
#define I386_TSS   0x9
 
#define I386_ACTIVE_TSS   0xB
 
#define I386_CALL_GATE   0xC
 
#define I386_INTERRUPT_GATE   0xE
 
#define I386_TRAP_GATE   0xF
 
#define RPL_MASK   0x0003
 
#define MODE_MASK   0x0001
 
#define KGDT_NULL   0x00
 
#define KGDT_R0_CODE   0x08
 
#define KGDT_R0_DATA   0x10
 
#define KGDT_R3_CODE   0x18
 
#define KGDT_R3_DATA   0x20
 
#define KGDT_TSS   0x28
 
#define KGDT_R0_PCR   0x30
 
#define KGDT_R3_TEB   0x38
 
#define KGDT_VDM_TILE   0x40
 
#define KGDT_LDT   0x48
 
#define KGDT_DF_TSS   0x50
 
#define KGDT_NMI_TSS   0x58
 
#define KGDT_NUMBER   10
 
#define CR4_VME   0x1
 
#define CR4_PVI   0x2
 
#define CR4_TSD   0x4
 
#define CR4_DE   0x8
 
#define CR4_PSE   0x10
 
#define CR4_PAE   0x20
 
#define CR4_MCE   0x40
 
#define CR4_PGE   0x80
 
#define CR4_FXSR   0x200
 
#define CR4_XMMEXCPT   0x400
 
#define EFLAGS_CF   0x01L
 
#define EFLAGS_ZF   0x40L
 
#define EFLAGS_TF   0x100L
 
#define EFLAGS_INTERRUPT_MASK   0x200L
 
#define EFLAGS_DF   0x400L
 
#define EFLAGS_IOPL   0x3000L
 
#define EFLAGS_NESTED_TASK   0x4000L
 
#define EFLAGS_RF   0x10000
 
#define EFLAGS_V86_MASK   0x20000
 
#define EFLAGS_ALIGN_CHECK   0x40000
 
#define EFLAGS_VIF   0x80000
 
#define EFLAGS_VIP   0x100000
 
#define EFLAGS_ID   0x200000
 
#define EFLAGS_USER_SANITIZE   0x3F4DD7
 
#define EFLAG_SIGN   0x8000
 
#define EFLAG_ZERO   0x4000
 
#define FSW_INVALID_OPERATION   0x1
 
#define FSW_DENORMAL   0x2
 
#define FSW_ZERO_DIVIDE   0x4
 
#define FSW_OVERFLOW   0x8
 
#define FSW_UNDERFLOW   0x10
 
#define FSW_PRECISION   0x20
 
#define FSW_STACK_FAULT   0x40
 
#define MSR_AMD_ACCESS   0x9C5A203A
 
#define MSR_IA32_MISC_ENABLE   0x01A0
 
#define MSR_EFER   0xC0000080
 
#define MSR_NXE   0x0800
 
#define XHF_NOEXECUTE   0x100000
 
#define MSR_XD_ENABLE_MASK   0xFFFFFFFB
 
#define IPI_APC   1
 
#define IPI_DPC   2
 
#define IPI_FREEZE   4
 
#define IPI_PACKET_READY   8
 
#define IPI_SYNCH_REQUEST   16
 
#define PRCB_MINOR_VERSION   1
 
#define PRCB_MAJOR_VERSION   1
 
#define PRCB_BUILD_DEBUG   1
 
#define PRCB_BUILD_UNIPROCESSOR   2
 
#define INITIAL_STALL_COUNT   100
 
#define MM_HAL_VA_START   0xFFC00000
 
#define MM_HAL_VA_END   0xFFFFFFFF
 
#define APIC_BASE   0xFFFE0000
 
#define IOPM_COUNT   1
 
#define IOPM_SIZE   8192
 
#define IOPM_FULL_SIZE   8196
 
#define IO_ACCESS_MAP_NONE   0
 
#define IOPM_DIRECTION_MAP_SIZE   32
 
#define IOPM_OFFSET   FIELD_OFFSET(KTSS, IoMaps[0].IoMap)
 
#define KiComputeIopmOffset(MapNumber)
 
#define SIZE_OF_FX_REGISTERS   128
 
#define KSEG0_BASE   0x80000000
 
#define SYNCH_LEVEL   DISPATCH_LEVEL
 
#define DOUBLE_FAULT_STACK_SIZE   0x3000
 
#define NUMBER_POOL_LOOKASIDE_LISTS   32
 
#define _LDT_ENTRY_DEFINED
 

Typedefs

typedef UCHAR KIO_ACCESS_MAP[IOPM_SIZE]
 
typedef KIO_ACCESS_MAPPKIO_ACCESS_MAP
 
typedef union _CPU_INFO CPU_INFO
 
typedef union _CPU_INFOPCPU_INFO
 
typedef struct _KTRAP_FRAME KTRAP_FRAME
 
typedef struct _KTRAP_FRAMEPKTRAP_FRAME
 
typedef struct _KCALLOUT_FRAME KCALLOUT_FRAME
 
typedef struct _KCALLOUT_FRAMEPKCALLOUT_FRAME
 
typedef struct _LDT_ENTRY LDT_ENTRY
 
typedef struct _LDT_ENTRYPLDT_ENTRY
 
typedef struct _LDT_ENTRYLPLDT_ENTRY
 
typedef struct _KGDTENTRY KGDTENTRY
 
typedef struct _KGDTENTRYPKGDTENTRY
 
typedef struct _KIDT_ACCESS KIDT_ACCESS
 
typedef struct _KIDT_ACCESSPKIDT_ACCESS
 
typedef struct _KIDTENTRY KIDTENTRY
 
typedef struct _KIDTENTRYPKIDTENTRY
 
typedef struct _DESCRIPTOR KDESCRIPTOR
 
typedef struct _DESCRIPTORPKDESCRIPTOR
 
typedef struct _FNSAVE_FORMAT FNSAVE_FORMAT
 
typedef struct _FNSAVE_FORMATPFNSAVE_FORMAT
 
typedef struct _FXSAVE_FORMAT FXSAVE_FORMAT
 
typedef struct _FXSAVE_FORMATPFXSAVE_FORMAT
 
typedef struct _FX_SAVE_AREA FX_SAVE_AREA
 
typedef struct _FX_SAVE_AREAPFX_SAVE_AREA
 
typedef struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS
 
typedef struct _KSPECIAL_REGISTERSPKSPECIAL_REGISTERS
 
typedef struct _KPROCESSOR_STATE KPROCESSOR_STATE
 
typedef struct _KPROCESSOR_STATEPKPROCESSOR_STATE
 
typedef struct _KPRCB KPRCB
 
typedef struct _KPRCBPKPRCB
 
typedef struct _KIPCR KIPCR
 
typedef struct _KIPCRPKIPCR
 
typedef struct _KiIoAccessMap KIIO_ACCESS_MAP
 
typedef struct _KTSS KTSS
 
typedef struct _KTSSPKTSS
 
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME
 
typedef struct _KEXCEPTION_FRAMEPKEXCEPTION_FRAME
 
typedef enum _WOW64_SERVICE_TYPES WOW64_SERVICE_TYPES
 
typedef enum _WOW64_SERVICE_TYPESPWOW64_SERVICE_TYPES
 
typedef enum _VDM_INDEX VDM_INDEX
 
typedef enum _VDM_INDEXPVDM_INDEX
 

Enumerations

enum  CPU_VENDORS {
  CPU_UNKNOWN , CPU_AMD , CPU_INTEL , CPU_VIA ,
  CPU_UNKNOWN = 0 , CPU_NONE = 0 , CPU_INTEL = 1 , CPU_AMD = 2 ,
  CPU_CYRIX = 3 , CPU_TRANSMETA = 4 , CPU_VIA = 5 , CPU_CENTAUR = CPU_VIA ,
  CPU_RISE = 6 , CPU_UNKNOWN = 7
}
 
enum  _WOW64_SERVICE_TYPES {
  ServiceNoTurbo = 0x0000 , Service0Arg = 0x0001 , Service0ArgReloadState = 0x0002 , Service1ArgSp = 0x0003 ,
  Service1ArgNSp = 0x0004 , Service2ArgNSpNSp = 0x0005 , Service2ArgNSpNSpReloadState = 0x0006 , Service2ArgSpNSp = 0x0007 ,
  Service2ArgSpSp = 0x0008 , Service2ArgNSpSp = 0x0009 , Service3ArgNSpNSpNSp = 0x000A , Service3ArgSpSpSp = 0x000B ,
  Service3ArgSpNSpNSp = 0x000C , Service3ArgSpNSpNSpReloadState = 0x000D , Service3ArgSpSpNSp = 0x000E , Service3ArgNSpSpNSp = 0x000F ,
  Service3ArgSpNSpSp = 0x0010 , Service4ArgNSpNSpNSpNSp = 0x0011 , Service4ArgSpSpNSpNSp = 0x0012 , Service4ArgSpSpNSpNSpReloadState = 0x0013 ,
  Service4ArgSpNSpNSpNSp = 0x0014 , Service4ArgSpNSpNSpNSpReloadState = 0x0015 , Service4ArgNSpSpNSpNSp = 0x0016 , Service4ArgSpSpSpNSp = 0x0017 ,
  ServiceCpupTdQuerySystemTime = 0x0018 , ServiceCpupTdGetCurrentProcessorNumber = 0x0019 , ServiceCpupTdReadWriteFile = 0x001A , ServiceCpupTdDeviceIoControlFile = 0x001B ,
  ServiceCpupTdRemoveIoCompletion = 0x001C , ServiceCpupTdWaitForMultipleObjects = 0x001D , ServiceCpupTdWaitForMultipleObjects32 = 0x001E , Wow64ServiceTypesCount
}
 
enum  _VDM_INDEX {
  VDM_INDEX_Invalid = 0 , VDM_INDEX_0F , VDM_INDEX_ESPrefix , VDM_INDEX_CSPrefix ,
  VDM_INDEX_SSPrefix , VDM_INDEX_DSPrefix , VDM_INDEX_FSPrefix , VDM_INDEX_GSPrefix ,
  VDM_INDEX_OPER32Prefix , VDM_INDEX_ADDR32Prefix , VDM_INDEX_INSB , VDM_INDEX_INSW ,
  VDM_INDEX_OUTSB , VDM_INDEX_OUTSW , VDM_INDEX_PUSHF , VDM_INDEX_POPF ,
  VDM_INDEX_INTnn , VDM_INDEX_INTO , VDM_INDEX_IRET , VDM_INDEX_NPX ,
  VDM_INDEX_INBimm , VDM_INDEX_INWimm , VDM_INDEX_OUTBimm , VDM_INDEX_OUTWimm ,
  VDM_INDEX_INB , VDM_INDEX_INW , VDM_INDEX_OUTB , VDM_INDEX_OUTW ,
  VDM_INDEX_LOCKPrefix , VDM_INDEX_REPNEPrefix , VDM_INDEX_REPPrefix , VDM_INDEX_CLI ,
  VDM_INDEX_STI , VDM_INDEX_HLT , MAX_VDM_INDEX
}
 

Functions

FORCEINLINE struct _KPRCBKeGetCurrentPrcb (VOID)
 

Macro Definition Documentation

◆ _LDT_ENTRY_DEFINED

#define _LDT_ENTRY_DEFINED

Definition at line 353 of file ketypes.h.

◆ APIC_BASE

#define APIC_BASE   0xFFFE0000

Definition at line 222 of file ketypes.h.

◆ CR4_DE

#define CR4_DE   0x8

Definition at line 146 of file ketypes.h.

◆ CR4_FXSR

#define CR4_FXSR   0x200

Definition at line 151 of file ketypes.h.

◆ CR4_MCE

#define CR4_MCE   0x40

Definition at line 149 of file ketypes.h.

◆ CR4_PAE

#define CR4_PAE   0x20

Definition at line 148 of file ketypes.h.

◆ CR4_PGE

#define CR4_PGE   0x80

Definition at line 150 of file ketypes.h.

◆ CR4_PSE

#define CR4_PSE   0x10

Definition at line 147 of file ketypes.h.

◆ CR4_PVI

#define CR4_PVI   0x2

Definition at line 144 of file ketypes.h.

◆ CR4_TSD

#define CR4_TSD   0x4

Definition at line 145 of file ketypes.h.

◆ CR4_VME

#define CR4_VME   0x1

Definition at line 143 of file ketypes.h.

◆ CR4_XMMEXCPT

#define CR4_XMMEXCPT   0x400

Definition at line 152 of file ketypes.h.

◆ DOUBLE_FAULT_STACK_SIZE

#define DOUBLE_FAULT_STACK_SIZE   0x3000

Definition at line 268 of file ketypes.h.

◆ EFLAG_SIGN

#define EFLAG_SIGN   0x8000

Definition at line 171 of file ketypes.h.

◆ EFLAG_ZERO

#define EFLAG_ZERO   0x4000

Definition at line 172 of file ketypes.h.

◆ EFLAGS_ALIGN_CHECK

#define EFLAGS_ALIGN_CHECK   0x40000

Definition at line 166 of file ketypes.h.

◆ EFLAGS_CF

#define EFLAGS_CF   0x01L

Definition at line 157 of file ketypes.h.

◆ EFLAGS_DF

#define EFLAGS_DF   0x400L

Definition at line 161 of file ketypes.h.

◆ EFLAGS_ID

#define EFLAGS_ID   0x200000

Definition at line 169 of file ketypes.h.

◆ EFLAGS_INTERRUPT_MASK

#define EFLAGS_INTERRUPT_MASK   0x200L

Definition at line 160 of file ketypes.h.

◆ EFLAGS_IOPL

#define EFLAGS_IOPL   0x3000L

Definition at line 162 of file ketypes.h.

◆ EFLAGS_NESTED_TASK

#define EFLAGS_NESTED_TASK   0x4000L

Definition at line 163 of file ketypes.h.

◆ EFLAGS_RF

#define EFLAGS_RF   0x10000

Definition at line 164 of file ketypes.h.

◆ EFLAGS_TF

#define EFLAGS_TF   0x100L

Definition at line 159 of file ketypes.h.

◆ EFLAGS_USER_SANITIZE

#define EFLAGS_USER_SANITIZE   0x3F4DD7

Definition at line 170 of file ketypes.h.

◆ EFLAGS_V86_MASK

#define EFLAGS_V86_MASK   0x20000

Definition at line 165 of file ketypes.h.

◆ EFLAGS_VIF

#define EFLAGS_VIF   0x80000

Definition at line 167 of file ketypes.h.

◆ EFLAGS_VIP

#define EFLAGS_VIP   0x100000

Definition at line 168 of file ketypes.h.

◆ EFLAGS_ZF

#define EFLAGS_ZF   0x40L

Definition at line 158 of file ketypes.h.

◆ FSW_DENORMAL

#define FSW_DENORMAL   0x2

Definition at line 178 of file ketypes.h.

◆ FSW_INVALID_OPERATION

#define FSW_INVALID_OPERATION   0x1

Definition at line 177 of file ketypes.h.

◆ FSW_OVERFLOW

#define FSW_OVERFLOW   0x8

Definition at line 180 of file ketypes.h.

◆ FSW_PRECISION

#define FSW_PRECISION   0x20

Definition at line 182 of file ketypes.h.

◆ FSW_STACK_FAULT

#define FSW_STACK_FAULT   0x40

Definition at line 183 of file ketypes.h.

◆ FSW_UNDERFLOW

#define FSW_UNDERFLOW   0x10

Definition at line 181 of file ketypes.h.

◆ FSW_ZERO_DIVIDE

#define FSW_ZERO_DIVIDE   0x4

Definition at line 179 of file ketypes.h.

◆ I386_ACTIVE_TSS

#define I386_ACTIVE_TSS   0xB

Definition at line 112 of file ketypes.h.

◆ I386_CALL_GATE

#define I386_CALL_GATE   0xC

Definition at line 113 of file ketypes.h.

◆ I386_INTERRUPT_GATE

#define I386_INTERRUPT_GATE   0xE

Definition at line 114 of file ketypes.h.

◆ I386_TASK_GATE

#define I386_TASK_GATE   0x5

Definition at line 110 of file ketypes.h.

◆ I386_TRAP_GATE

#define I386_TRAP_GATE   0xF

Definition at line 115 of file ketypes.h.

◆ I386_TSS

#define I386_TSS   0x9

Definition at line 111 of file ketypes.h.

◆ INITIAL_STALL_COUNT

#define INITIAL_STALL_COUNT   100

Definition at line 219 of file ketypes.h.

◆ IO_ACCESS_MAP_NONE

#define IO_ACCESS_MAP_NONE   0

Definition at line 230 of file ketypes.h.

◆ IOPM_COUNT

#define IOPM_COUNT   1

Definition at line 227 of file ketypes.h.

◆ IOPM_DIRECTION_MAP_SIZE

#define IOPM_DIRECTION_MAP_SIZE   32

Definition at line 231 of file ketypes.h.

◆ IOPM_FULL_SIZE

#define IOPM_FULL_SIZE   8196

Definition at line 229 of file ketypes.h.

◆ IOPM_OFFSET

#define IOPM_OFFSET   FIELD_OFFSET(KTSS, IoMaps[0].IoMap)

Definition at line 232 of file ketypes.h.

◆ IOPM_SIZE

#define IOPM_SIZE   8192

Definition at line 228 of file ketypes.h.

◆ IPI_APC

#define IPI_APC   1

Definition at line 202 of file ketypes.h.

◆ IPI_DPC

#define IPI_DPC   2

Definition at line 203 of file ketypes.h.

◆ IPI_FREEZE

#define IPI_FREEZE   4

Definition at line 204 of file ketypes.h.

◆ IPI_PACKET_READY

#define IPI_PACKET_READY   8

Definition at line 205 of file ketypes.h.

◆ IPI_SYNCH_REQUEST

#define IPI_SYNCH_REQUEST   16

Definition at line 206 of file ketypes.h.

◆ K0IPCR

#define K0IPCR   ((ULONG_PTR)(KIP0PCRADDRESS))

Definition at line 75 of file ketypes.h.

◆ KeGetPcr

#define KeGetPcr ( )    PCR

Definition at line 81 of file ketypes.h.

◆ KF_08000000

#define KF_08000000   0x08000000

Definition at line 58 of file ketypes.h.

◆ KF_3DNOW

#define KF_3DNOW   0x00004000

Definition at line 44 of file ketypes.h.

◆ KF_ACNT2

#define KF_ACNT2   0x00200000

Definition at line 52 of file ketypes.h.

◆ KF_AMDK6MTRR

#define KF_AMDK6MTRR   0x00008000

Definition at line 45 of file ketypes.h.

◆ KF_AUTHENTICAMD

#define KF_AUTHENTICAMD   0x00100000

Definition at line 51 of file ketypes.h.

◆ KF_CLFLUSH

#define KF_CLFLUSH   0x00040000

Definition at line 49 of file ketypes.h.

◆ KF_CLFLUSHOPT

#define KF_CLFLUSHOPT   0x0000000200000000ULL

Definition at line 63 of file ketypes.h.

◆ KF_CMOV

#define KF_CMOV   0x00000008

Definition at line 33 of file ketypes.h.

◆ KF_CMPXCHG8B

#define KF_CMPXCHG8B   0x00000080

Definition at line 37 of file ketypes.h.

◆ KF_CR4

#define KF_CR4   0x00000004

Definition at line 32 of file ketypes.h.

◆ KF_DTS

#define KF_DTS   0x00020000

Definition at line 48 of file ketypes.h.

◆ KF_FAST_SYSCALL

#define KF_FAST_SYSCALL   0x00001000

Definition at line 42 of file ketypes.h.

◆ KF_FPU_LEAKAGE

#define KF_FPU_LEAKAGE   0x0000001000000000ULL

Definition at line 65 of file ketypes.h.

◆ KF_FPU_LEAKAGE_BIT

#define KF_FPU_LEAKAGE_BIT   36

Definition at line 70 of file ketypes.h.

◆ KF_FXSR

#define KF_FXSR   0x00000800

Definition at line 41 of file ketypes.h.

◆ KF_GENUINE_INTEL

#define KF_GENUINE_INTEL   0x00800000

Definition at line 54 of file ketypes.h.

◆ KF_GLOBAL_PAGE

#define KF_GLOBAL_PAGE   0x00000010

Definition at line 34 of file ketypes.h.

◆ KF_HDC

#define KF_HDC   0x0000000400000000ULL

Definition at line 64 of file ketypes.h.

◆ KF_LARGE_PAGE

#define KF_LARGE_PAGE   0x00000020

Definition at line 35 of file ketypes.h.

◆ KF_MMX

#define KF_MMX   0x00000100

Definition at line 38 of file ketypes.h.

◆ KF_MTRR

#define KF_MTRR   0x00000040

Definition at line 36 of file ketypes.h.

◆ KF_NX_BIT

#define KF_NX_BIT   0x20000000

Definition at line 59 of file ketypes.h.

◆ KF_NX_DISABLED

#define KF_NX_DISABLED   0x40000000

Definition at line 60 of file ketypes.h.

◆ KF_NX_ENABLED

#define KF_NX_ENABLED   0x80000000

Definition at line 61 of file ketypes.h.

◆ KF_PAT

#define KF_PAT   0x00000400

Definition at line 40 of file ketypes.h.

◆ KF_RDRAND

#define KF_RDRAND   0x02000000

Definition at line 56 of file ketypes.h.

◆ KF_RDTSC

#define KF_RDTSC   0x00000002

Definition at line 31 of file ketypes.h.

◆ KF_RDTSCP

#define KF_RDTSCP   0x0000000100000000ULL

Definition at line 62 of file ketypes.h.

◆ KF_SLAT

#define KF_SLAT   0x04000000

Definition at line 57 of file ketypes.h.

◆ KF_SMEP

#define KF_SMEP   0x01000000

Definition at line 55 of file ketypes.h.

◆ KF_SSE3

#define KF_SSE3   0x00080000

Definition at line 50 of file ketypes.h.

◆ KF_SSE4_1

#define KF_SSE4_1   0x0000008000000000ULL

Definition at line 67 of file ketypes.h.

◆ KF_SSE4_2

#define KF_SSE4_2   0x0000010000000000ULL

Definition at line 68 of file ketypes.h.

◆ KF_SSSE3

#define KF_SSSE3   0x0000004000000000ULL

Definition at line 66 of file ketypes.h.

◆ KF_V86_VIS

#define KF_V86_VIS   0x00000001

Definition at line 30 of file ketypes.h.

◆ KF_WORKING_PTE

#define KF_WORKING_PTE   0x00000200

Definition at line 39 of file ketypes.h.

◆ KF_XMMI

#define KF_XMMI   0x00002000

Definition at line 43 of file ketypes.h.

◆ KF_XMMI64

#define KF_XMMI64   0x00010000

Definition at line 47 of file ketypes.h.

◆ KF_XSAVEOPT

#define KF_XSAVEOPT   0x00008000

Definition at line 46 of file ketypes.h.

◆ KF_XSTATE

#define KF_XSTATE   0x00400000

Definition at line 53 of file ketypes.h.

◆ KGDT_DF_TSS

#define KGDT_DF_TSS   0x50

Definition at line 132 of file ketypes.h.

◆ KGDT_LDT

#define KGDT_LDT   0x48

Definition at line 131 of file ketypes.h.

◆ KGDT_NMI_TSS

#define KGDT_NMI_TSS   0x58

Definition at line 133 of file ketypes.h.

◆ KGDT_NULL

#define KGDT_NULL   0x00

Definition at line 122 of file ketypes.h.

◆ KGDT_NUMBER

#define KGDT_NUMBER   10

Definition at line 138 of file ketypes.h.

◆ KGDT_R0_CODE

#define KGDT_R0_CODE   0x08

Definition at line 123 of file ketypes.h.

◆ KGDT_R0_DATA

#define KGDT_R0_DATA   0x10

Definition at line 124 of file ketypes.h.

◆ KGDT_R0_PCR

#define KGDT_R0_PCR   0x30

Definition at line 128 of file ketypes.h.

◆ KGDT_R3_CODE

#define KGDT_R3_CODE   0x18

Definition at line 125 of file ketypes.h.

◆ KGDT_R3_DATA

#define KGDT_R3_DATA   0x20

Definition at line 126 of file ketypes.h.

◆ KGDT_R3_TEB

#define KGDT_R3_TEB   0x38

Definition at line 129 of file ketypes.h.

◆ KGDT_TSS

#define KGDT_TSS   0x28

Definition at line 127 of file ketypes.h.

◆ KGDT_VDM_TILE

#define KGDT_VDM_TILE   0x40

Definition at line 130 of file ketypes.h.

◆ KiComputeIopmOffset

#define KiComputeIopmOffset (   MapNumber)
Value:
(MapNumber == IO_ACCESS_MAP_NONE) ? \
(USHORT)(sizeof(KTSS)) : \
(USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap))
#define KTSS
Definition: ketypes.h:1006
#define IO_ACCESS_MAP_NONE
Definition: ketypes.h:344
unsigned short USHORT
Definition: pedump.c:61
Definition: ketypes.h:844
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255

Definition at line 233 of file ketypes.h.

◆ KSEG0_BASE

#define KSEG0_BASE   0x80000000

Definition at line 250 of file ketypes.h.

◆ MACHINE_TYPE_EISA

#define MACHINE_TYPE_EISA   0x0001

Definition at line 104 of file ketypes.h.

◆ MACHINE_TYPE_ISA

#define MACHINE_TYPE_ISA   0x0000

Definition at line 103 of file ketypes.h.

◆ MACHINE_TYPE_MCA

#define MACHINE_TYPE_MCA   0x0002

Definition at line 105 of file ketypes.h.

◆ MM_HAL_VA_END

#define MM_HAL_VA_END   0xFFFFFFFF

Definition at line 221 of file ketypes.h.

◆ MM_HAL_VA_START

#define MM_HAL_VA_START   0xFFC00000

Definition at line 220 of file ketypes.h.

◆ MODE_MASK

#define MODE_MASK   0x0001

Definition at line 121 of file ketypes.h.

◆ MSR_AMD_ACCESS

#define MSR_AMD_ACCESS   0x9C5A203A

Definition at line 188 of file ketypes.h.

◆ MSR_EFER

#define MSR_EFER   0xC0000080

Definition at line 190 of file ketypes.h.

◆ MSR_IA32_MISC_ENABLE

#define MSR_IA32_MISC_ENABLE   0x01A0

Definition at line 189 of file ketypes.h.

◆ MSR_NXE

#define MSR_NXE   0x0800

Definition at line 195 of file ketypes.h.

◆ MSR_XD_ENABLE_MASK

#define MSR_XD_ENABLE_MASK   0xFFFFFFFB

Definition at line 197 of file ketypes.h.

◆ NUMBER_POOL_LOOKASIDE_LISTS

#define NUMBER_POOL_LOOKASIDE_LISTS   32

Definition at line 273 of file ketypes.h.

◆ PCR

#define PCR   ((KPCR *)K0IPCR)

Definition at line 76 of file ketypes.h.

◆ PRCB_BUILD_DEBUG

#define PRCB_BUILD_DEBUG   1

Definition at line 213 of file ketypes.h.

◆ PRCB_BUILD_UNIPROCESSOR

#define PRCB_BUILD_UNIPROCESSOR   2

Definition at line 214 of file ketypes.h.

◆ PRCB_MAJOR_VERSION

#define PRCB_MAJOR_VERSION   1

Definition at line 212 of file ketypes.h.

◆ PRCB_MINOR_VERSION

#define PRCB_MINOR_VERSION   1

Definition at line 211 of file ketypes.h.

◆ RPL_MASK

#define RPL_MASK   0x0003

Definition at line 120 of file ketypes.h.

◆ SIZE_OF_FX_REGISTERS

#define SIZE_OF_FX_REGISTERS   128

Definition at line 245 of file ketypes.h.

◆ SYNCH_LEVEL

#define SYNCH_LEVEL   DISPATCH_LEVEL

Definition at line 256 of file ketypes.h.

◆ XHF_NOEXECUTE

#define XHF_NOEXECUTE   0x100000

Definition at line 196 of file ketypes.h.

Typedef Documentation

◆ CPU_INFO

typedef union _CPU_INFO CPU_INFO

◆ FNSAVE_FORMAT

◆ FX_SAVE_AREA

◆ FXSAVE_FORMAT

◆ KCALLOUT_FRAME

◆ KDESCRIPTOR

◆ KEXCEPTION_FRAME

Definition at line 885 of file ketypes.h.

◆ KGDTENTRY

◆ KIDT_ACCESS

◆ KIDTENTRY

◆ KIIO_ACCESS_MAP

◆ KIO_ACCESS_MAP

typedef UCHAR KIO_ACCESS_MAP[IOPM_SIZE]

Definition at line 238 of file ketypes.h.

◆ KIPCR

typedef struct _KIPCR KIPCR

◆ KPRCB

typedef struct _KPRCB KPRCB

◆ KPROCESSOR_STATE

◆ KSPECIAL_REGISTERS

◆ KTRAP_FRAME

◆ KTSS

typedef struct _KTSS KTSS

◆ LDT_ENTRY

◆ LPLDT_ENTRY

◆ PCPU_INFO

typedef union _CPU_INFO * PCPU_INFO

◆ PFNSAVE_FORMAT

◆ PFX_SAVE_AREA

◆ PFXSAVE_FORMAT

◆ PKCALLOUT_FRAME

◆ PKDESCRIPTOR

◆ PKEXCEPTION_FRAME

Definition at line 885 of file ketypes.h.

◆ PKGDTENTRY

◆ PKIDT_ACCESS

◆ PKIDTENTRY

◆ PKIO_ACCESS_MAP

Definition at line 240 of file ketypes.h.

◆ PKIPCR

typedef struct _KIPCR * PKIPCR

◆ PKPRCB

typedef struct _KPRCB * PKPRCB

◆ PKPROCESSOR_STATE

◆ PKSPECIAL_REGISTERS

◆ PKTRAP_FRAME

◆ PKTSS

typedef struct _KTSS * PKTSS

◆ PLDT_ENTRY

◆ PVDM_INDEX

◆ PWOW64_SERVICE_TYPES

◆ VDM_INDEX

◆ WOW64_SERVICE_TYPES

Enumeration Type Documentation

◆ _VDM_INDEX

Enumerator
VDM_INDEX_Invalid 
VDM_INDEX_0F 
VDM_INDEX_ESPrefix 
VDM_INDEX_CSPrefix 
VDM_INDEX_SSPrefix 
VDM_INDEX_DSPrefix 
VDM_INDEX_FSPrefix 
VDM_INDEX_GSPrefix 
VDM_INDEX_OPER32Prefix 
VDM_INDEX_ADDR32Prefix 
VDM_INDEX_INSB 
VDM_INDEX_INSW 
VDM_INDEX_OUTSB 
VDM_INDEX_OUTSW 
VDM_INDEX_PUSHF 
VDM_INDEX_POPF 
VDM_INDEX_INTnn 
VDM_INDEX_INTO 
VDM_INDEX_IRET 
VDM_INDEX_NPX 
VDM_INDEX_INBimm 
VDM_INDEX_INWimm 
VDM_INDEX_OUTBimm 
VDM_INDEX_OUTWimm 
VDM_INDEX_INB 
VDM_INDEX_INW 
VDM_INDEX_OUTB 
VDM_INDEX_OUTW 
VDM_INDEX_LOCKPrefix 
VDM_INDEX_REPNEPrefix 
VDM_INDEX_REPPrefix 
VDM_INDEX_CLI 
VDM_INDEX_STI 
VDM_INDEX_HLT 
MAX_VDM_INDEX 

Definition at line 925 of file ketypes.h.

926{
@ VDM_INDEX_OUTBimm
Definition: ketypes.h:949
@ VDM_INDEX_NPX
Definition: ketypes.h:946
@ VDM_INDEX_POPF
Definition: ketypes.h:942
@ VDM_INDEX_OUTSW
Definition: ketypes.h:940
@ VDM_INDEX_ESPrefix
Definition: ketypes.h:929
@ VDM_INDEX_INW
Definition: ketypes.h:952
@ VDM_INDEX_ADDR32Prefix
Definition: ketypes.h:936
@ VDM_INDEX_STI
Definition: ketypes.h:959
@ VDM_INDEX_DSPrefix
Definition: ketypes.h:932
@ VDM_INDEX_INB
Definition: ketypes.h:951
@ VDM_INDEX_HLT
Definition: ketypes.h:960
@ VDM_INDEX_OUTSB
Definition: ketypes.h:939
@ VDM_INDEX_INSW
Definition: ketypes.h:938
@ VDM_INDEX_INTO
Definition: ketypes.h:944
@ VDM_INDEX_INBimm
Definition: ketypes.h:947
@ VDM_INDEX_CSPrefix
Definition: ketypes.h:930
@ VDM_INDEX_IRET
Definition: ketypes.h:945
@ VDM_INDEX_0F
Definition: ketypes.h:928
@ VDM_INDEX_Invalid
Definition: ketypes.h:927
@ VDM_INDEX_OUTWimm
Definition: ketypes.h:950
@ VDM_INDEX_REPPrefix
Definition: ketypes.h:957
@ VDM_INDEX_OUTW
Definition: ketypes.h:954
@ VDM_INDEX_INSB
Definition: ketypes.h:937
@ VDM_INDEX_OUTB
Definition: ketypes.h:953
@ VDM_INDEX_CLI
Definition: ketypes.h:958
@ VDM_INDEX_PUSHF
Definition: ketypes.h:941
@ VDM_INDEX_INTnn
Definition: ketypes.h:943
@ VDM_INDEX_FSPrefix
Definition: ketypes.h:933
@ MAX_VDM_INDEX
Definition: ketypes.h:961
@ VDM_INDEX_INWimm
Definition: ketypes.h:948
@ VDM_INDEX_SSPrefix
Definition: ketypes.h:931
@ VDM_INDEX_OPER32Prefix
Definition: ketypes.h:935
@ VDM_INDEX_LOCKPrefix
Definition: ketypes.h:955
@ VDM_INDEX_GSPrefix
Definition: ketypes.h:934
@ VDM_INDEX_REPNEPrefix
Definition: ketypes.h:956
enum _VDM_INDEX VDM_INDEX
enum _VDM_INDEX * PVDM_INDEX

◆ _WOW64_SERVICE_TYPES

Enumerator
ServiceNoTurbo 
Service0Arg 
Service0ArgReloadState 
Service1ArgSp 
Service1ArgNSp 
Service2ArgNSpNSp 
Service2ArgNSpNSpReloadState 
Service2ArgSpNSp 
Service2ArgSpSp 
Service2ArgNSpSp 
Service3ArgNSpNSpNSp 
Service3ArgSpSpSp 
Service3ArgSpNSpNSp 
Service3ArgSpNSpNSpReloadState 
Service3ArgSpSpNSp 
Service3ArgNSpSpNSp 
Service3ArgSpNSpSp 
Service4ArgNSpNSpNSpNSp 
Service4ArgSpSpNSpNSp 
Service4ArgSpSpNSpNSpReloadState 
Service4ArgSpNSpNSpNSp 
Service4ArgSpNSpNSpNSpReloadState 
Service4ArgNSpSpNSpNSp 
Service4ArgSpSpSpNSp 
ServiceCpupTdQuerySystemTime 
ServiceCpupTdGetCurrentProcessorNumber 
ServiceCpupTdReadWriteFile 
ServiceCpupTdDeviceIoControlFile 
ServiceCpupTdRemoveIoCompletion 
ServiceCpupTdWaitForMultipleObjects 
ServiceCpupTdWaitForMultipleObjects32 
Wow64ServiceTypesCount 

Definition at line 889 of file ketypes.h.

890{
891 ServiceNoTurbo = 0x0000,
892 Service0Arg = 0x0001,
893 Service0ArgReloadState = 0x0002,
894 Service1ArgSp = 0x0003,
895 Service1ArgNSp = 0x0004,
896 Service2ArgNSpNSp = 0x0005,
898 Service2ArgSpNSp = 0x0007,
899 Service2ArgSpSp = 0x0008,
900 Service2ArgNSpSp = 0x0009,
901 Service3ArgNSpNSpNSp = 0x000A,
902 Service3ArgSpSpSp = 0x000B,
903 Service3ArgSpNSpNSp = 0x000C,
905 Service3ArgSpSpNSp = 0x000E,
906 Service3ArgNSpSpNSp = 0x000F,
907 Service3ArgSpNSpSp = 0x0010,
909 Service4ArgSpSpNSpNSp = 0x0012,
911 Service4ArgSpNSpNSpNSp = 0x0014,
913 Service4ArgNSpSpNSpNSp = 0x0016,
914 Service4ArgSpSpSpNSp = 0x0017,
922 Wow64ServiceTypesCount // = 0x001F
enum _WOW64_SERVICE_TYPES * PWOW64_SERVICE_TYPES
enum _WOW64_SERVICE_TYPES WOW64_SERVICE_TYPES
@ Service0Arg
Definition: ketypes.h:892
@ Service4ArgSpSpNSpNSpReloadState
Definition: ketypes.h:910
@ Service4ArgSpNSpNSpNSpReloadState
Definition: ketypes.h:912
@ Service3ArgSpNSpNSp
Definition: ketypes.h:903
@ ServiceCpupTdReadWriteFile
Definition: ketypes.h:917
@ ServiceCpupTdWaitForMultipleObjects
Definition: ketypes.h:920
@ Service3ArgSpNSpNSpReloadState
Definition: ketypes.h:904
@ Service3ArgSpSpNSp
Definition: ketypes.h:905
@ ServiceNoTurbo
Definition: ketypes.h:891
@ Service2ArgNSpSp
Definition: ketypes.h:900
@ Service2ArgSpSp
Definition: ketypes.h:899
@ Service4ArgSpSpSpNSp
Definition: ketypes.h:914
@ Service2ArgNSpNSpReloadState
Definition: ketypes.h:897
@ Service2ArgNSpNSp
Definition: ketypes.h:896
@ Service2ArgSpNSp
Definition: ketypes.h:898
@ Service0ArgReloadState
Definition: ketypes.h:893
@ Service4ArgSpSpNSpNSp
Definition: ketypes.h:909
@ Service4ArgNSpNSpNSpNSp
Definition: ketypes.h:908
@ ServiceCpupTdQuerySystemTime
Definition: ketypes.h:915
@ Wow64ServiceTypesCount
Definition: ketypes.h:922
@ Service1ArgSp
Definition: ketypes.h:894
@ ServiceCpupTdGetCurrentProcessorNumber
Definition: ketypes.h:916
@ Service3ArgNSpNSpNSp
Definition: ketypes.h:901
@ Service3ArgSpSpSp
Definition: ketypes.h:902
@ Service3ArgSpNSpSp
Definition: ketypes.h:907
@ Service4ArgNSpSpNSpNSp
Definition: ketypes.h:913
@ ServiceCpupTdRemoveIoCompletion
Definition: ketypes.h:919
@ Service1ArgNSp
Definition: ketypes.h:895
@ ServiceCpupTdWaitForMultipleObjects32
Definition: ketypes.h:921
@ Service3ArgNSpSpNSp
Definition: ketypes.h:906
@ Service4ArgSpNSpNSpNSp
Definition: ketypes.h:911
@ ServiceCpupTdDeviceIoControlFile
Definition: ketypes.h:918

◆ CPU_VENDORS

Enumerator
CPU_UNKNOWN 
CPU_AMD 
CPU_INTEL 
CPU_VIA 
CPU_UNKNOWN 
CPU_NONE 
CPU_INTEL 
CPU_AMD 
CPU_CYRIX 
CPU_TRANSMETA 
CPU_VIA 
CPU_CENTAUR 
CPU_RISE 
CPU_UNKNOWN 

Definition at line 87 of file ketypes.h.

88{
89 CPU_NONE = 0,
90 CPU_INTEL = 1,
91 CPU_AMD = 2,
92 CPU_CYRIX = 3,
93 CPU_TRANSMETA = 4,
94 CPU_VIA = 5,
96 CPU_RISE = 6,
97 CPU_UNKNOWN = 7
CPU_VENDORS
Definition: ketypes.h:103
@ CPU_VIA
Definition: ketypes.h:107
@ CPU_INTEL
Definition: ketypes.h:106
@ CPU_UNKNOWN
Definition: ketypes.h:104
@ CPU_AMD
Definition: ketypes.h:105
@ CPU_RISE
Definition: ketypes.h:96
@ CPU_NONE
Definition: ketypes.h:89
@ CPU_CENTAUR
Definition: ketypes.h:95
@ CPU_CYRIX
Definition: ketypes.h:92
@ CPU_TRANSMETA
Definition: ketypes.h:93

Function Documentation

◆ KeGetCurrentPrcb()

FORCEINLINE struct _KPRCB * KeGetCurrentPrcb ( VOID  )

Definition at line 459 of file ketypes.h.

460{
461 return (struct _KPRCB *)(ULONG_PTR)__readfsdword(FIELD_OFFSET(KPCR, Prcb));
462}
#define ULONG_PTR
Definition: config.h:101
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
Definition: intrin_ppc.h:382
Definition: ke.h:294