ReactOS 0.4.15-dev-6056-gb29b268
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 K0IPCR   ((ULONG_PTR)(KIP0PCRADDRESS))
 
#define PCR   ((KPCR *)K0IPCR)
 
#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 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 300 of file ketypes.h.

◆ APIC_BASE

#define APIC_BASE   0xFFFE0000

Definition at line 174 of file ketypes.h.

◆ CR4_DE

#define CR4_DE   0x8

Definition at line 98 of file ketypes.h.

◆ CR4_FXSR

#define CR4_FXSR   0x200

Definition at line 103 of file ketypes.h.

◆ CR4_MCE

#define CR4_MCE   0x40

Definition at line 101 of file ketypes.h.

◆ CR4_PAE

#define CR4_PAE   0x20

Definition at line 100 of file ketypes.h.

◆ CR4_PGE

#define CR4_PGE   0x80

Definition at line 102 of file ketypes.h.

◆ CR4_PSE

#define CR4_PSE   0x10

Definition at line 99 of file ketypes.h.

◆ CR4_PVI

#define CR4_PVI   0x2

Definition at line 96 of file ketypes.h.

◆ CR4_TSD

#define CR4_TSD   0x4

Definition at line 97 of file ketypes.h.

◆ CR4_VME

#define CR4_VME   0x1

Definition at line 95 of file ketypes.h.

◆ CR4_XMMEXCPT

#define CR4_XMMEXCPT   0x400

Definition at line 104 of file ketypes.h.

◆ EFLAG_SIGN

#define EFLAG_SIGN   0x8000

Definition at line 123 of file ketypes.h.

◆ EFLAG_ZERO

#define EFLAG_ZERO   0x4000

Definition at line 124 of file ketypes.h.

◆ EFLAGS_ALIGN_CHECK

#define EFLAGS_ALIGN_CHECK   0x40000

Definition at line 118 of file ketypes.h.

◆ EFLAGS_CF

#define EFLAGS_CF   0x01L

Definition at line 109 of file ketypes.h.

◆ EFLAGS_DF

#define EFLAGS_DF   0x400L

Definition at line 113 of file ketypes.h.

◆ EFLAGS_ID

#define EFLAGS_ID   0x200000

Definition at line 121 of file ketypes.h.

◆ EFLAGS_INTERRUPT_MASK

#define EFLAGS_INTERRUPT_MASK   0x200L

Definition at line 112 of file ketypes.h.

◆ EFLAGS_IOPL

#define EFLAGS_IOPL   0x3000L

Definition at line 114 of file ketypes.h.

◆ EFLAGS_NESTED_TASK

#define EFLAGS_NESTED_TASK   0x4000L

Definition at line 115 of file ketypes.h.

◆ EFLAGS_RF

#define EFLAGS_RF   0x10000

Definition at line 116 of file ketypes.h.

◆ EFLAGS_TF

#define EFLAGS_TF   0x100L

Definition at line 111 of file ketypes.h.

◆ EFLAGS_USER_SANITIZE

#define EFLAGS_USER_SANITIZE   0x3F4DD7

Definition at line 122 of file ketypes.h.

◆ EFLAGS_V86_MASK

#define EFLAGS_V86_MASK   0x20000

Definition at line 117 of file ketypes.h.

◆ EFLAGS_VIF

#define EFLAGS_VIF   0x80000

Definition at line 119 of file ketypes.h.

◆ EFLAGS_VIP

#define EFLAGS_VIP   0x100000

Definition at line 120 of file ketypes.h.

◆ EFLAGS_ZF

#define EFLAGS_ZF   0x40L

Definition at line 110 of file ketypes.h.

◆ FSW_DENORMAL

#define FSW_DENORMAL   0x2

Definition at line 130 of file ketypes.h.

◆ FSW_INVALID_OPERATION

#define FSW_INVALID_OPERATION   0x1

Definition at line 129 of file ketypes.h.

◆ FSW_OVERFLOW

#define FSW_OVERFLOW   0x8

Definition at line 132 of file ketypes.h.

◆ FSW_PRECISION

#define FSW_PRECISION   0x20

Definition at line 134 of file ketypes.h.

◆ FSW_STACK_FAULT

#define FSW_STACK_FAULT   0x40

Definition at line 135 of file ketypes.h.

◆ FSW_UNDERFLOW

#define FSW_UNDERFLOW   0x10

Definition at line 133 of file ketypes.h.

◆ FSW_ZERO_DIVIDE

#define FSW_ZERO_DIVIDE   0x4

Definition at line 131 of file ketypes.h.

◆ I386_ACTIVE_TSS

#define I386_ACTIVE_TSS   0xB

Definition at line 64 of file ketypes.h.

◆ I386_CALL_GATE

#define I386_CALL_GATE   0xC

Definition at line 65 of file ketypes.h.

◆ I386_INTERRUPT_GATE

#define I386_INTERRUPT_GATE   0xE

Definition at line 66 of file ketypes.h.

◆ I386_TASK_GATE

#define I386_TASK_GATE   0x5

Definition at line 62 of file ketypes.h.

◆ I386_TRAP_GATE

#define I386_TRAP_GATE   0xF

Definition at line 67 of file ketypes.h.

◆ I386_TSS

#define I386_TSS   0x9

Definition at line 63 of file ketypes.h.

◆ INITIAL_STALL_COUNT

#define INITIAL_STALL_COUNT   100

Definition at line 171 of file ketypes.h.

◆ IO_ACCESS_MAP_NONE

#define IO_ACCESS_MAP_NONE   0

Definition at line 182 of file ketypes.h.

◆ IOPM_COUNT

#define IOPM_COUNT   1

Definition at line 179 of file ketypes.h.

◆ IOPM_DIRECTION_MAP_SIZE

#define IOPM_DIRECTION_MAP_SIZE   32

Definition at line 183 of file ketypes.h.

◆ IOPM_FULL_SIZE

#define IOPM_FULL_SIZE   8196

Definition at line 181 of file ketypes.h.

◆ IOPM_OFFSET

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

Definition at line 184 of file ketypes.h.

◆ IOPM_SIZE

#define IOPM_SIZE   8192

Definition at line 180 of file ketypes.h.

◆ IPI_APC

#define IPI_APC   1

Definition at line 154 of file ketypes.h.

◆ IPI_DPC

#define IPI_DPC   2

Definition at line 155 of file ketypes.h.

◆ IPI_FREEZE

#define IPI_FREEZE   4

Definition at line 156 of file ketypes.h.

◆ IPI_PACKET_READY

#define IPI_PACKET_READY   8

Definition at line 157 of file ketypes.h.

◆ IPI_SYNCH_REQUEST

#define IPI_SYNCH_REQUEST   16

Definition at line 158 of file ketypes.h.

◆ K0IPCR

#define K0IPCR   ((ULONG_PTR)(KIP0PCRADDRESS))

Definition at line 29 of file ketypes.h.

◆ KGDT_DF_TSS

#define KGDT_DF_TSS   0x50

Definition at line 84 of file ketypes.h.

◆ KGDT_LDT

#define KGDT_LDT   0x48

Definition at line 83 of file ketypes.h.

◆ KGDT_NMI_TSS

#define KGDT_NMI_TSS   0x58

Definition at line 85 of file ketypes.h.

◆ KGDT_NULL

#define KGDT_NULL   0x00

Definition at line 74 of file ketypes.h.

◆ KGDT_NUMBER

#define KGDT_NUMBER   10

Definition at line 90 of file ketypes.h.

◆ KGDT_R0_CODE

#define KGDT_R0_CODE   0x08

Definition at line 75 of file ketypes.h.

◆ KGDT_R0_DATA

#define KGDT_R0_DATA   0x10

Definition at line 76 of file ketypes.h.

◆ KGDT_R0_PCR

#define KGDT_R0_PCR   0x30

Definition at line 80 of file ketypes.h.

◆ KGDT_R3_CODE

#define KGDT_R3_CODE   0x18

Definition at line 77 of file ketypes.h.

◆ KGDT_R3_DATA

#define KGDT_R3_DATA   0x20

Definition at line 78 of file ketypes.h.

◆ KGDT_R3_TEB

#define KGDT_R3_TEB   0x38

Definition at line 81 of file ketypes.h.

◆ KGDT_TSS

#define KGDT_TSS   0x28

Definition at line 79 of file ketypes.h.

◆ KGDT_VDM_TILE

#define KGDT_VDM_TILE   0x40

Definition at line 82 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:925
#define IO_ACCESS_MAP_NONE
Definition: ketypes.h:268
unsigned short USHORT
Definition: pedump.c:61
Definition: ketypes.h:791
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255

Definition at line 185 of file ketypes.h.

◆ KSEG0_BASE

#define KSEG0_BASE   0x80000000

Definition at line 202 of file ketypes.h.

◆ MACHINE_TYPE_EISA

#define MACHINE_TYPE_EISA   0x0001

Definition at line 56 of file ketypes.h.

◆ MACHINE_TYPE_ISA

#define MACHINE_TYPE_ISA   0x0000

Definition at line 55 of file ketypes.h.

◆ MACHINE_TYPE_MCA

#define MACHINE_TYPE_MCA   0x0002

Definition at line 57 of file ketypes.h.

◆ MM_HAL_VA_END

#define MM_HAL_VA_END   0xFFFFFFFF

Definition at line 173 of file ketypes.h.

◆ MM_HAL_VA_START

#define MM_HAL_VA_START   0xFFC00000

Definition at line 172 of file ketypes.h.

◆ MODE_MASK

#define MODE_MASK   0x0001

Definition at line 73 of file ketypes.h.

◆ MSR_AMD_ACCESS

#define MSR_AMD_ACCESS   0x9C5A203A

Definition at line 140 of file ketypes.h.

◆ MSR_EFER

#define MSR_EFER   0xC0000080

Definition at line 142 of file ketypes.h.

◆ MSR_IA32_MISC_ENABLE

#define MSR_IA32_MISC_ENABLE   0x01A0

Definition at line 141 of file ketypes.h.

◆ MSR_NXE

#define MSR_NXE   0x0800

Definition at line 147 of file ketypes.h.

◆ MSR_XD_ENABLE_MASK

#define MSR_XD_ENABLE_MASK   0xFFFFFFFB

Definition at line 149 of file ketypes.h.

◆ NUMBER_POOL_LOOKASIDE_LISTS

#define NUMBER_POOL_LOOKASIDE_LISTS   32

Definition at line 220 of file ketypes.h.

◆ PCR

#define PCR   ((KPCR *)K0IPCR)

Definition at line 30 of file ketypes.h.

◆ PRCB_BUILD_DEBUG

#define PRCB_BUILD_DEBUG   1

Definition at line 165 of file ketypes.h.

◆ PRCB_BUILD_UNIPROCESSOR

#define PRCB_BUILD_UNIPROCESSOR   2

Definition at line 166 of file ketypes.h.

◆ PRCB_MAJOR_VERSION

#define PRCB_MAJOR_VERSION   1

Definition at line 164 of file ketypes.h.

◆ PRCB_MINOR_VERSION

#define PRCB_MINOR_VERSION   1

Definition at line 163 of file ketypes.h.

◆ RPL_MASK

#define RPL_MASK   0x0003

Definition at line 72 of file ketypes.h.

◆ SIZE_OF_FX_REGISTERS

#define SIZE_OF_FX_REGISTERS   128

Definition at line 197 of file ketypes.h.

◆ SYNCH_LEVEL

#define SYNCH_LEVEL   DISPATCH_LEVEL

Definition at line 208 of file ketypes.h.

◆ XHF_NOEXECUTE

#define XHF_NOEXECUTE   0x100000

Definition at line 148 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 832 of file ketypes.h.

◆ KGDTENTRY

◆ KIDT_ACCESS

◆ KIDTENTRY

◆ KIIO_ACCESS_MAP

◆ KIO_ACCESS_MAP

typedef UCHAR KIO_ACCESS_MAP[IOPM_SIZE]

Definition at line 190 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 832 of file ketypes.h.

◆ PKGDTENTRY

◆ PKIDT_ACCESS

◆ PKIDTENTRY

◆ PKIO_ACCESS_MAP

Definition at line 192 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 872 of file ketypes.h.

873{
@ VDM_INDEX_OUTBimm
Definition: ketypes.h:896
@ VDM_INDEX_NPX
Definition: ketypes.h:893
@ VDM_INDEX_POPF
Definition: ketypes.h:889
@ VDM_INDEX_OUTSW
Definition: ketypes.h:887
@ VDM_INDEX_ESPrefix
Definition: ketypes.h:876
@ VDM_INDEX_INW
Definition: ketypes.h:899
@ VDM_INDEX_ADDR32Prefix
Definition: ketypes.h:883
@ VDM_INDEX_STI
Definition: ketypes.h:906
@ VDM_INDEX_DSPrefix
Definition: ketypes.h:879
@ VDM_INDEX_INB
Definition: ketypes.h:898
@ VDM_INDEX_HLT
Definition: ketypes.h:907
@ VDM_INDEX_OUTSB
Definition: ketypes.h:886
@ VDM_INDEX_INSW
Definition: ketypes.h:885
@ VDM_INDEX_INTO
Definition: ketypes.h:891
@ VDM_INDEX_INBimm
Definition: ketypes.h:894
@ VDM_INDEX_CSPrefix
Definition: ketypes.h:877
@ VDM_INDEX_IRET
Definition: ketypes.h:892
@ VDM_INDEX_0F
Definition: ketypes.h:875
@ VDM_INDEX_Invalid
Definition: ketypes.h:874
@ VDM_INDEX_OUTWimm
Definition: ketypes.h:897
@ VDM_INDEX_REPPrefix
Definition: ketypes.h:904
@ VDM_INDEX_OUTW
Definition: ketypes.h:901
@ VDM_INDEX_INSB
Definition: ketypes.h:884
@ VDM_INDEX_OUTB
Definition: ketypes.h:900
@ VDM_INDEX_CLI
Definition: ketypes.h:905
@ VDM_INDEX_PUSHF
Definition: ketypes.h:888
@ VDM_INDEX_INTnn
Definition: ketypes.h:890
@ VDM_INDEX_FSPrefix
Definition: ketypes.h:880
@ MAX_VDM_INDEX
Definition: ketypes.h:908
@ VDM_INDEX_INWimm
Definition: ketypes.h:895
@ VDM_INDEX_SSPrefix
Definition: ketypes.h:878
@ VDM_INDEX_OPER32Prefix
Definition: ketypes.h:882
@ VDM_INDEX_LOCKPrefix
Definition: ketypes.h:902
@ VDM_INDEX_GSPrefix
Definition: ketypes.h:881
@ VDM_INDEX_REPNEPrefix
Definition: ketypes.h:903
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 836 of file ketypes.h.

837{
838 ServiceNoTurbo = 0x0000,
839 Service0Arg = 0x0001,
840 Service0ArgReloadState = 0x0002,
841 Service1ArgSp = 0x0003,
842 Service1ArgNSp = 0x0004,
843 Service2ArgNSpNSp = 0x0005,
845 Service2ArgSpNSp = 0x0007,
846 Service2ArgSpSp = 0x0008,
847 Service2ArgNSpSp = 0x0009,
848 Service3ArgNSpNSpNSp = 0x000A,
849 Service3ArgSpSpSp = 0x000B,
850 Service3ArgSpNSpNSp = 0x000C,
852 Service3ArgSpSpNSp = 0x000E,
853 Service3ArgNSpSpNSp = 0x000F,
854 Service3ArgSpNSpSp = 0x0010,
856 Service4ArgSpSpNSpNSp = 0x0012,
858 Service4ArgSpNSpNSpNSp = 0x0014,
860 Service4ArgNSpSpNSpNSp = 0x0016,
861 Service4ArgSpSpSpNSp = 0x0017,
869 Wow64ServiceTypesCount // = 0x001F
enum _WOW64_SERVICE_TYPES * PWOW64_SERVICE_TYPES
enum _WOW64_SERVICE_TYPES WOW64_SERVICE_TYPES
@ Service0Arg
Definition: ketypes.h:839
@ Service4ArgSpSpNSpNSpReloadState
Definition: ketypes.h:857
@ Service4ArgSpNSpNSpNSpReloadState
Definition: ketypes.h:859
@ Service3ArgSpNSpNSp
Definition: ketypes.h:850
@ ServiceCpupTdReadWriteFile
Definition: ketypes.h:864
@ ServiceCpupTdWaitForMultipleObjects
Definition: ketypes.h:867
@ Service3ArgSpNSpNSpReloadState
Definition: ketypes.h:851
@ Service3ArgSpSpNSp
Definition: ketypes.h:852
@ ServiceNoTurbo
Definition: ketypes.h:838
@ Service2ArgNSpSp
Definition: ketypes.h:847
@ Service2ArgSpSp
Definition: ketypes.h:846
@ Service4ArgSpSpSpNSp
Definition: ketypes.h:861
@ Service2ArgNSpNSpReloadState
Definition: ketypes.h:844
@ Service2ArgNSpNSp
Definition: ketypes.h:843
@ Service2ArgSpNSp
Definition: ketypes.h:845
@ Service0ArgReloadState
Definition: ketypes.h:840
@ Service4ArgSpSpNSpNSp
Definition: ketypes.h:856
@ Service4ArgNSpNSpNSpNSp
Definition: ketypes.h:855
@ ServiceCpupTdQuerySystemTime
Definition: ketypes.h:862
@ Wow64ServiceTypesCount
Definition: ketypes.h:869
@ Service1ArgSp
Definition: ketypes.h:841
@ ServiceCpupTdGetCurrentProcessorNumber
Definition: ketypes.h:863
@ Service3ArgNSpNSpNSp
Definition: ketypes.h:848
@ Service3ArgSpSpSp
Definition: ketypes.h:849
@ Service3ArgSpNSpSp
Definition: ketypes.h:854
@ Service4ArgNSpSpNSpNSp
Definition: ketypes.h:860
@ ServiceCpupTdRemoveIoCompletion
Definition: ketypes.h:866
@ Service1ArgNSp
Definition: ketypes.h:842
@ ServiceCpupTdWaitForMultipleObjects32
Definition: ketypes.h:868
@ Service3ArgNSpSpNSp
Definition: ketypes.h:853
@ Service4ArgSpNSpNSpNSp
Definition: ketypes.h:858
@ ServiceCpupTdDeviceIoControlFile
Definition: ketypes.h:865

◆ 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 39 of file ketypes.h.

40{
41 CPU_NONE = 0,
42 CPU_INTEL = 1,
43 CPU_AMD = 2,
44 CPU_CYRIX = 3,
45 CPU_TRANSMETA = 4,
46 CPU_VIA = 5,
48 CPU_RISE = 6,
49 CPU_UNKNOWN = 7
CPU_VENDORS
Definition: ketypes.h:42
@ CPU_VIA
Definition: ketypes.h:46
@ CPU_INTEL
Definition: ketypes.h:45
@ CPU_UNKNOWN
Definition: ketypes.h:43
@ CPU_AMD
Definition: ketypes.h:44
@ CPU_RISE
Definition: ketypes.h:48
@ CPU_NONE
Definition: ketypes.h:41
@ CPU_CENTAUR
Definition: ketypes.h:47
@ CPU_CYRIX
Definition: ketypes.h:44
@ CPU_TRANSMETA
Definition: ketypes.h:45

Function Documentation

◆ KeGetCurrentPrcb()

FORCEINLINE struct _KPRCB * KeGetCurrentPrcb ( VOID  )

Definition at line 406 of file ketypes.h.

407{
408 return (struct _KPRCB *)(ULONG_PTR)__readfsdword(FIELD_OFFSET(KPCR, Prcb));
409}
#define ULONG_PTR
Definition: config.h:101
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
Definition: intrin_ppc.h:382
Definition: ke.h:290