ReactOS 0.4.16-dev-282-g4d0a26d
ketypes.h File Reference

Go to the source code of this file.

Classes

struct  _CACHE_DESCRIPTOR
 
struct  _NUMA_NODE_RELATIONSHIP
 
struct  _CACHE_RELATIONSHIP
 
struct  _GROUP_RELATIONSHIP
 
struct  _PROCESSOR_RELATIONSHIP
 
struct  _SYSTEM_LOGICAL_PROCESSOR_INFORMATION
 
struct  _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
 
struct  _KBUGCHECK_ADD_PAGES
 
struct  _KBUGCHECK_SECONDARY_DUMP_DATA
 
struct  _KBUGCHECK_DUMP_IO
 
struct  _KBUGCHECK_REASON_CALLBACK_RECORD
 
struct  _KBUGCHECK_CALLBACK_RECORD
 
struct  _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT
 
struct  _KWAIT_BLOCK
 
struct  _KAPC
 
struct  _KDEVICE_QUEUE_ENTRY
 
struct  _KIPI_COUNTS
 
struct  _KSPIN_LOCK_QUEUE
 
struct  _KLOCK_QUEUE_HANDLE
 
struct  _KDPC
 
struct  _KDPC_WATCHDOG_INFORMATION
 
struct  _KDEVICE_QUEUE
 
struct  _DISPATCHER_HEADER
 
struct  _KEVENT
 
struct  _KSEMAPHORE
 
struct  _KGATE
 
struct  _KGUARDED_MUTEX
 
struct  _KMUTANT
 
struct  _KTIMER
 
struct  _KSYSTEM_TIME
 
struct  _XSTATE_CONTEXT
 
struct  _XSTATE_SAVE
 
struct  _CONTEXT_CHUNK
 
struct  _CONTEXT_EX
 
struct  _NT_TIB
 
struct  _NT_TIB32
 
struct  _NT_TIB64
 
struct  _TIMER_SET_COALESCABLE_TIMER_INFO
 
struct  _XSTATE_FEATURE
 
struct  _XSTATE_CONFIGURATION
 
struct  _KUSER_SHARED_DATA
 
struct  _KQUEUE
 

Macros

#define CACHE_FULLY_ASSOCIATIVE   0xFF
 
#define MAXIMUM_SUSPEND_COUNT   MAXCHAR
 
#define EVENT_QUERY_STATE   (0x0001)
 
#define EVENT_MODIFY_STATE   (0x0002)
 
#define EVENT_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
 
#define LTP_PC_SMT   0x1
 
#define SINGLE_GROUP_LEGACY_API   1
 
#define SEMAPHORE_QUERY_STATE   (0x0001)
 
#define SEMAPHORE_MODIFY_STATE   (0x0002)
 
#define SEMAPHORE_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
 
#define PF_FLOATING_POINT_PRECISION_ERRATA   0
 
#define PF_FLOATING_POINT_EMULATED   1
 
#define PF_COMPARE_EXCHANGE_DOUBLE   2
 
#define PF_MMX_INSTRUCTIONS_AVAILABLE   3
 
#define PF_PPC_MOVEMEM_64BIT_OK   4
 
#define PF_ALPHA_BYTE_INSTRUCTIONS   5
 
#define PF_XMMI_INSTRUCTIONS_AVAILABLE   6
 
#define PF_3DNOW_INSTRUCTIONS_AVAILABLE   7
 
#define PF_RDTSC_INSTRUCTION_AVAILABLE   8
 
#define PF_PAE_ENABLED   9
 
#define PF_XMMI64_INSTRUCTIONS_AVAILABLE   10
 
#define PF_SSE_DAZ_MODE_AVAILABLE   11
 
#define PF_NX_ENABLED   12
 
#define PF_SSE3_INSTRUCTIONS_AVAILABLE   13
 
#define PF_COMPARE_EXCHANGE128   14
 
#define PF_COMPARE64_EXCHANGE128   15
 
#define PF_CHANNELS_ENABLED   16
 
#define PF_XSAVE_ENABLED   17
 
#define PF_ARM_VFP_32_REGISTERS_AVAILABLE   18
 
#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE   19
 
#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION   20
 
#define PF_VIRT_FIRMWARE_ENABLED   21
 
#define PF_RDWRFSGSBASE_AVAILABLE   22
 
#define PF_FASTFAIL_AVAILABLE   23
 
#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE   24
 
#define PF_ARM_64BIT_LOADSTORE_ATOMIC   25
 
#define PF_ARM_EXTERNAL_CACHE_AVAILABLE   26
 
#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE   27
 
#define PF_RDRAND_INSTRUCTION_AVAILABLE   28
 
#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE   29
 
#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE   30
 
#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE   31
 
#define PF_RDTSCP_INSTRUCTION_AVAILABLE   32
 
#define PF_RDPID_INSTRUCTION_AVAILABLE   33
 
#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE   34
 
#define PF_SSSE3_INSTRUCTIONS_AVAILABLE   36
 
#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE   37
 
#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE   38
 
#define PF_AVX_INSTRUCTIONS_AVAILABLE   39
 
#define PF_AVX2_INSTRUCTIONS_AVAILABLE   40
 
#define PF_AVX512F_INSTRUCTIONS_AVAILABLE   41
 
#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE   43
 
#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE   44
 
#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE   45
 
#define MAXIMUM_WAIT_OBJECTS   64
 
#define ASSERT_APC(Object)    NT_ASSERT((Object)->Type == ApcObject)
 
#define ASSERT_DPC(Object)
 
#define ASSERT_GATE(Object)
 
#define ASSERT_DEVICE_QUEUE(Object)    NT_ASSERT((Object)->Type == DeviceQueueObject)
 
#define ASSERT_TIMER(Object)
 
#define ASSERT_MUTANT(Object)    NT_ASSERT((Object)->Header.Type == MutantObject)
 
#define ASSERT_SEMAPHORE(Object)    NT_ASSERT((Object)->Header.Type == SemaphoreObject)
 
#define ASSERT_EVENT(Object)
 
#define DPC_NORMAL   0
 
#define DPC_THREADED   1
 
#define GM_LOCK_BIT   0x1
 
#define GM_LOCK_BIT_V   0x0
 
#define GM_LOCK_WAITER_WOKEN   0x2
 
#define GM_LOCK_WAITER_INC   0x4
 
#define LOCK_QUEUE_WAIT_BIT   0
 
#define LOCK_QUEUE_OWNER_BIT   1
 
#define LOCK_QUEUE_WAIT   1
 
#define LOCK_QUEUE_OWNER   2
 
#define LOCK_QUEUE_TIMER_LOCK_SHIFT   4
 
#define LOCK_QUEUE_TIMER_TABLE_LOCKS   (1 << (8 - LOCK_QUEUE_TIMER_LOCK_SHIFT))
 
#define PROCESSOR_FEATURE_MAX   64
 
#define DBG_STATUS_CONTROL_C   1
 
#define DBG_STATUS_SYSRQ   2
 
#define DBG_STATUS_BUGCHECK_FIRST   3
 
#define DBG_STATUS_BUGCHECK_SECOND   4
 
#define DBG_STATUS_FATAL   5
 
#define DBG_STATUS_DEBUG_CONTROL   6
 
#define DBG_STATUS_WORKER   7
 
#define MAXIMUM_PROC_PER_GROUP   32
 
#define MAXIMUM_PROCESSORS   MAXIMUM_PROC_PER_GROUP
 
#define EXCEPTION_DIVIDED_BY_ZERO   0
 
#define EXCEPTION_DEBUG   1
 
#define EXCEPTION_NMI   2
 
#define EXCEPTION_INT3   3
 
#define EXCEPTION_BOUND_CHECK   5
 
#define EXCEPTION_INVALID_OPCODE   6
 
#define EXCEPTION_NPX_NOT_AVAILABLE   7
 
#define EXCEPTION_DOUBLE_FAULT   8
 
#define EXCEPTION_NPX_OVERRUN   9
 
#define EXCEPTION_INVALID_TSS   0x0A
 
#define EXCEPTION_SEGMENT_NOT_PRESENT   0x0B
 
#define EXCEPTION_STACK_FAULT   0x0C
 
#define EXCEPTION_GP_FAULT   0x0D
 
#define EXCEPTION_RESERVED_TRAP   0x0F
 
#define EXCEPTION_NPX_ERROR   0x010
 
#define EXCEPTION_ALIGNMENT_CHECK   0x011
 
#define KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS   0x00000001UL
 
#define KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS   0x00000002UL
 
#define KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST   0x80000000UL
 
#define KE_PROCESSOR_CHANGE_ADD_EXISTING   1
 
#define INVALID_PROCESSOR_INDEX   0xffffffff
 
#define THREAD_WAIT_OBJECTS   3
 
#define KAPC_OFFSET_TO_SPARE_BYTE0   FIELD_OFFSET(KAPC, SpareByte0)
 
#define KAPC_OFFSET_TO_SPARE_BYTE1   FIELD_OFFSET(KAPC, SpareByte1)
 
#define KAPC_OFFSET_TO_SPARE_LONG   FIELD_OFFSET(KAPC, SpareLong0)
 
#define KAPC_OFFSET_TO_SYSTEMARGUMENT1   FIELD_OFFSET(KAPC, SystemArgument1)
 
#define KAPC_OFFSET_TO_SYSTEMARGUMENT2   FIELD_OFFSET(KAPC, SystemArgument2)
 
#define KAPC_OFFSET_TO_APCSTATEINDEX   FIELD_OFFSET(KAPC, ApcStateIndex)
 
#define KAPC_ACTUAL_LENGTH   (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))
 
#define TIMER_EXPIRED_INDEX_BITS   6
 
#define TIMER_PROCESSOR_INDEX_BITS   5
 
#define KSEMAPHORE_ACTUAL_LENGTH   (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
 
#define TIMER_TABLE_SIZE   512
 
#define TIMER_TABLE_SHIFT   9
 
#define KTIMER_ACTUAL_LENGTH   (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
 
#define IsNEC_98   (FALSE)
 
#define IsNotNEC_98   (TRUE)
 
#define SetNEC_98
 
#define SetNotNEC_98
 
#define XSAVE_ALIGN   64
 
#define MINIMAL_XSTATE_AREA_LENGTH   sizeof(XSAVE_AREA)
 
#define CONTEXT_EX_LENGTH   ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
 
#define XSTATE_LEGACY_FLOATING_POINT   0
 
#define XSTATE_LEGACY_SSE   1
 
#define XSTATE_GSSE   2
 
#define XSTATE_AVX   XSTATE_GSSE
 
#define XSTATE_MPX_BNDREGS   3
 
#define XSTATE_MPX_BNDCSR   4
 
#define XSTATE_AVX512_KMASK   5
 
#define XSTATE_AVX512_ZMM_H   6
 
#define XSTATE_AVX512_ZMM   7
 
#define XSTATE_IPT   8
 
#define XSTATE_PASID   10
 
#define XSTATE_CET_U   11
 
#define XSTATE_CET_S   12
 
#define XSTATE_AMX_TILE_CONFIG   17
 
#define XSTATE_AMX_TILE_DATA   18
 
#define XSTATE_LWP   62
 
#define MAXIMUM_XSTATE_FEATURES   64
 
#define XSTATE_MASK_LEGACY_FLOATING_POINT   (1LL << (XSTATE_LEGACY_FLOATING_POINT))
 
#define XSTATE_MASK_LEGACY_SSE   (1LL << (XSTATE_LEGACY_SSE))
 
#define XSTATE_MASK_LEGACY   (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
 
#define XSTATE_MASK_GSSE   (1LL << (XSTATE_GSSE))
 
#define XSTATE_MASK_AVX   XSTATE_MASK_GSSE
 
#define XSTATE_MASK_MPX   ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))
 
#define XSTATE_MASK_AVX512   ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))
 
#define XSTATE_MASK_IPT   (1LL << (XSTATE_IPT))
 
#define XSTATE_MASK_PASID   (1LL << (XSTATE_PASID))
 
#define XSTATE_MASK_CET_U   (1LL << (XSTATE_CET_U))
 
#define XSTATE_MASK_CET_S   (1LL << (XSTATE_CET_S))
 
#define XSTATE_MASK_AMX_TILE_CONFIG   (1LL << (XSTATE_AMX_TILE_CONFIG))
 
#define XSTATE_MASK_AMX_TILE_DATA   (1LL << (XSTATE_AMX_TILE_DATA))
 
#define XSTATE_MASK_LWP   (1LL << (XSTATE_LWP))
 
#define XSTATE_MASK_PERSISTENT   ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
 
#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR   (XSTATE_MASK_CET_U)
 
#define XSTATE_MASK_LARGE_FEATURES   (XSTATE_MASK_AMX_TILE_DATA)
 
#define XSTATE_COMPACTION_ENABLE   63
 
#define XSTATE_COMPACTION_ENABLE_MASK   (1LL << (XSTATE_COMPACTION_ENABLE))
 
#define XSTATE_ALIGN_BIT   1
 
#define XSTATE_ALIGN_MASK   (1LL << (XSTATE_ALIGN_BIT))
 
#define XSTATE_XFD_BIT   2
 
#define XSTATE_XFD_MASK   (1LL << (XSTATE_XFD_BIT))
 
#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK   1
 
#define XSTATE_CONTROLFLAG_XSAVEC_MASK   2
 
#define XSTATE_CONTROLFLAG_XFD_MASK   4
 
#define XSTATE_CONTROLFLAG_VALID_MASK
 
#define MAXIMUM_XSTATE_FEATURES   64
 
#define MAX_WOW64_SHARED_ENTRIES   16
 
#define NX_SUPPORT_POLICY_ALWAYSOFF   0
 
#define NX_SUPPORT_POLICY_ALWAYSON   1
 
#define NX_SUPPORT_POLICY_OPTIN   2
 
#define NX_SUPPORT_POLICY_OPTOUT   3
 
#define KAPC_STATE_ACTUAL_LENGTH   (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
 
#define ASSERT_QUEUE(Q)   ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
 

Typedefs

typedef CCHAR KPROCESSOR_MODE
 
typedef LONG KPRIORITY
 
typedef enum _MODE MODE
 
typedef enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE
 
typedef struct _CACHE_DESCRIPTOR CACHE_DESCRIPTOR
 
typedef struct _CACHE_DESCRIPTORPCACHE_DESCRIPTOR
 
typedef struct _NUMA_NODE_RELATIONSHIP NUMA_NODE_RELATIONSHIP
 
typedef struct _NUMA_NODE_RELATIONSHIPPNUMA_NODE_RELATIONSHIP
 
typedef struct _CACHE_RELATIONSHIP CACHE_RELATIONSHIP
 
typedef struct _CACHE_RELATIONSHIPPCACHE_RELATIONSHIP
 
typedef struct _GROUP_RELATIONSHIP GROUP_RELATIONSHIP
 
typedef struct _GROUP_RELATIONSHIPPGROUP_RELATIONSHIP
 
typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
 
typedef struct _PROCESSOR_RELATIONSHIP PROCESSOR_RELATIONSHIP
 
typedef struct _PROCESSOR_RELATIONSHIPPPROCESSOR_RELATIONSHIP
 
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION SYSTEM_LOGICAL_PROCESSOR_INFORMATION
 
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATIONPSYSTEM_LOGICAL_PROCESSOR_INFORMATION
 
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
 
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EXPSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
 
typedef KBUGCHECK_REASON_CALLBACK_ROUTINE * PKBUGCHECK_REASON_CALLBACK_ROUTINE
 
typedef struct _KBUGCHECK_ADD_PAGES KBUGCHECK_ADD_PAGES
 
typedef struct _KBUGCHECK_ADD_PAGESPKBUGCHECK_ADD_PAGES
 
typedef struct _KBUGCHECK_SECONDARY_DUMP_DATA KBUGCHECK_SECONDARY_DUMP_DATA
 
typedef struct _KBUGCHECK_SECONDARY_DUMP_DATAPKBUGCHECK_SECONDARY_DUMP_DATA
 
typedef enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
 
typedef struct _KBUGCHECK_DUMP_IO KBUGCHECK_DUMP_IO
 
typedef struct _KBUGCHECK_DUMP_IOPKBUGCHECK_DUMP_IO
 
typedef struct _KBUGCHECK_REASON_CALLBACK_RECORD KBUGCHECK_REASON_CALLBACK_RECORD
 
typedef struct _KBUGCHECK_REASON_CALLBACK_RECORDPKBUGCHECK_REASON_CALLBACK_RECORD
 
typedef enum _KBUGCHECK_BUFFER_DUMP_STATE KBUGCHECK_BUFFER_DUMP_STATE
 
typedef KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
 
typedef struct _KBUGCHECK_CALLBACK_RECORD KBUGCHECK_CALLBACK_RECORD
 
typedef struct _KBUGCHECK_CALLBACK_RECORDPKBUGCHECK_CALLBACK_RECORD
 
typedef NMI_CALLBACK * PNMI_CALLBACK
 
typedef enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE KE_PROCESSOR_CHANGE_NOTIFY_STATE
 
typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT
 
typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXTPKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT
 
typedef PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
 
typedef enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
 
typedef enum _KINTERRUPT_POLARITYPKINTERRUPT_POLARITY
 
typedef enum _KPROFILE_SOURCE KPROFILE_SOURCE
 
typedef enum _KWAIT_REASON KWAIT_REASON
 
typedef struct _KWAIT_BLOCK KWAIT_BLOCK
 
typedef struct _KWAIT_BLOCKPKWAIT_BLOCK
 
typedef struct _KWAIT_BLOCKPRKWAIT_BLOCK
 
typedef enum _KINTERRUPT_MODE KINTERRUPT_MODE
 
typedef KSTART_ROUTINE * PKSTART_ROUTINE
 
typedef VOID(NTAPIPKINTERRUPT_ROUTINE) (VOID)
 
typedef KSERVICE_ROUTINE * PKSERVICE_ROUTINE
 
typedef KMESSAGE_SERVICE_ROUTINE * PKMESSAGE_SERVICE_ROUTINE
 
typedef enum _KD_OPTION KD_OPTION
 
typedef struct _KAPC KAPC
 
typedef struct _KAPCPKAPC
 
typedef struct _KAPC PRKAPC
 
typedef struct _KDEVICE_QUEUE_ENTRY KDEVICE_QUEUE_ENTRY
 
typedef struct _KDEVICE_QUEUE_ENTRYPKDEVICE_QUEUE_ENTRY
 
typedef struct _KDEVICE_QUEUE_ENTRY PRKDEVICE_QUEUE_ENTRY
 
typedef PVOID PKIPI_CONTEXT
 
typedef VOID(NTAPIPKIPI_WORKER) (IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
 
typedef struct _KIPI_COUNTS KIPI_COUNTS
 
typedef struct _KIPI_COUNTSPKIPI_COUNTS
 
typedef KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
 
typedef ULONG_PTR KSPIN_LOCK
 
typedef ULONG_PTRPKSPIN_LOCK
 
typedef struct _KSPIN_LOCK_QUEUE KSPIN_LOCK_QUEUE
 
typedef struct _KSPIN_LOCK_QUEUEPKSPIN_LOCK_QUEUE
 
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE
 
typedef struct _KLOCK_QUEUE_HANDLEPKLOCK_QUEUE_HANDLE
 
typedef enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
 
typedef enum _KSPIN_LOCK_QUEUE_NUMBERPKSPIN_LOCK_QUEUE_NUMBER
 
typedef KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
 
typedef enum _KDPC_IMPORTANCE KDPC_IMPORTANCE
 
typedef struct _KDPC KDPC
 
typedef struct _KDPCPKDPC
 
typedef struct _KDPC PRKDPC
 
typedef struct _KDPC_WATCHDOG_INFORMATION KDPC_WATCHDOG_INFORMATION
 
typedef struct _KDPC_WATCHDOG_INFORMATIONPKDPC_WATCHDOG_INFORMATION
 
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE
 
typedef struct _KDEVICE_QUEUEPKDEVICE_QUEUE
 
typedef struct _KDEVICE_QUEUE PRKDEVICE_QUEUE
 
typedef struct _DISPATCHER_HEADER DISPATCHER_HEADER
 
typedef struct _DISPATCHER_HEADERPDISPATCHER_HEADER
 
typedef struct _KEVENT KEVENT
 
typedef struct _KEVENTPKEVENT
 
typedef struct _KEVENT PRKEVENT
 
typedef struct _KSEMAPHORE KSEMAPHORE
 
typedef struct _KSEMAPHOREPKSEMAPHORE
 
typedef struct _KSEMAPHORE PRKSEMAPHORE
 
typedef struct _KGATE KGATE
 
typedef struct _KGATEPKGATE
 
typedef struct _KGATE PRKGATE
 
typedef struct _KGUARDED_MUTEX KGUARDED_MUTEX
 
typedef struct _KGUARDED_MUTEXPKGUARDED_MUTEX
 
typedef struct _KMUTANT KMUTANT
 
typedef struct _KMUTANTPKMUTANT
 
typedef struct _KMUTANT PRKMUTANT
 
typedef struct _KMUTANT KMUTEX
 
typedef struct _KMUTANTPKMUTEX
 
typedef struct _KMUTANT PRKMUTEX
 
typedef struct _KTIMER KTIMER
 
typedef struct _KTIMERPKTIMER
 
typedef struct _KTIMER PRKTIMER
 
typedef enum _LOCK_OPERATION LOCK_OPERATION
 
typedef KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
 
typedef enum _POOL_TYPE POOL_TYPE
 
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE
 
typedef struct _KSYSTEM_TIME KSYSTEM_TIME
 
typedef struct _KSYSTEM_TIMEPKSYSTEM_TIME
 
typedef struct _XSTATE_CONTEXT XSTATE_CONTEXT
 
typedef struct _XSTATE_CONTEXTPXSTATE_CONTEXT
 
typedef struct _XSTATE_SAVE XSTATE_SAVE
 
typedef struct _XSTATE_SAVEPXSTATE_SAVE
 
typedef struct _CONTEXT_CHUNK CONTEXT_CHUNK
 
typedef struct _CONTEXT_CHUNKPCONTEXT_CHUNK
 
typedef struct _CONTEXT_EX CONTEXT_EX
 
typedef struct _CONTEXT_EXPCONTEXT_EX
 
typedef struct _NT_TIB NT_TIB
 
typedef struct _NT_TIBPNT_TIB
 
typedef struct _NT_TIB32 NT_TIB32
 
typedef struct _NT_TIB32PNT_TIB32
 
typedef struct _NT_TIB64 NT_TIB64
 
typedef struct _NT_TIB64PNT_TIB64
 
typedef EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
 
typedef VOID(NTAPIPTIMER_APC_ROUTINE) (_In_ PVOID TimerContext, _In_ ULONG TimerLowValue, _In_ LONG TimerHighValue)
 
typedef enum _TIMER_SET_INFORMATION_CLASS TIMER_SET_INFORMATION_CLASS
 
typedef struct _TIMER_SET_COALESCABLE_TIMER_INFO TIMER_SET_COALESCABLE_TIMER_INFO
 
typedef struct _TIMER_SET_COALESCABLE_TIMER_INFOPTIMER_SET_COALESCABLE_TIMER_INFO
 
typedef struct _XSTATE_FEATURE XSTATE_FEATURE
 
typedef struct _XSTATE_FEATUREPXSTATE_FEATURE
 
typedef struct _XSTATE_CONFIGURATION XSTATE_CONFIGURATION
 
typedef struct _XSTATE_CONFIGURATIONPXSTATE_CONFIGURATION
 
typedef struct _KUSER_SHARED_DATA KUSER_SHARED_DATA
 
typedef struct _KUSER_SHARED_DATAPKUSER_SHARED_DATA
 
typedef struct _KQUEUE KQUEUE
 
typedef struct _KQUEUEPKQUEUE
 
typedef struct _KQUEUE PRKQUEUE
 

Enumerations

enum  _MODE { KernelMode , UserMode , MaximumMode }
 
enum  _PROCESSOR_CACHE_TYPE { CacheUnified , CacheInstruction , CacheData , CacheTrace }
 
enum  _LOGICAL_PROCESSOR_RELATIONSHIP {
  RelationProcessorCore , RelationNumaNode , RelationCache , RelationProcessorPackage ,
  RelationGroup , RelationAll = 0xffff
}
 
enum  _KBUGCHECK_DUMP_IO_TYPE {
  KbDumpIoInvalid , KbDumpIoHeader , KbDumpIoBody , KbDumpIoSecondaryData ,
  KbDumpIoComplete
}
 
enum  _KBUGCHECK_BUFFER_DUMP_STATE {
  BufferEmpty , BufferInserted , BufferStarted , BufferFinished ,
  BufferIncomplete
}
 
enum  _KE_PROCESSOR_CHANGE_NOTIFY_STATE { KeProcessorAddStartNotify = 0 , KeProcessorAddCompleteNotify , KeProcessorAddFailureNotify }
 
enum  _KINTERRUPT_POLARITY { InterruptPolarityUnknown , InterruptActiveHigh , InterruptActiveLow }
 
enum  _KPROFILE_SOURCE {
  ProfileTime , ProfileAlignmentFixup , ProfileTotalIssues , ProfilePipelineDry ,
  ProfileLoadInstructions , ProfilePipelineFrozen , ProfileBranchInstructions , ProfileTotalNonissues ,
  ProfileDcacheMisses , ProfileIcacheMisses , ProfileCacheMisses , ProfileBranchMispredictions ,
  ProfileStoreInstructions , ProfileFpInstructions , ProfileIntegerInstructions , Profile2Issue ,
  Profile3Issue , Profile4Issue , ProfileSpecialInstructions , ProfileTotalCycles ,
  ProfileIcacheIssues , ProfileDcacheAccesses , ProfileMemoryBarrierCycles , ProfileLoadLinkedIssues ,
  ProfileMaximum , ProfileTime , ProfileAlignmentFixup , ProfileTotalIssues ,
  ProfilePipelineDry , ProfileLoadInstructions , ProfilePipelineFrozen , ProfileBranchInstructions ,
  ProfileTotalNonissues , ProfileDcacheMisses , ProfileIcacheMisses , ProfileCacheMisses ,
  ProfileBranchMispredictions , ProfileStoreInstructions , ProfileFpInstructions , ProfileIntegerInstructions ,
  Profile2Issue , Profile3Issue , Profile4Issue , ProfileSpecialInstructions ,
  ProfileTotalCycles , ProfileIcacheIssues , ProfileDcacheAccesses , ProfileMemoryBarrierCycles ,
  ProfileLoadLinkedIssues , ProfileMaximum
}
 
enum  _KWAIT_REASON {
  Executive , FreePage , PageIn , PoolAllocation ,
  DelayExecution , Suspended , UserRequest , WrExecutive ,
  WrFreePage , WrPageIn , WrPoolAllocation , WrDelayExecution ,
  WrSuspended , WrUserRequest , WrEventPair , WrQueue ,
  WrLpcReceive , WrLpcReply , WrVirtualMemory , WrPageOut ,
  WrRendezvous , WrKeyedEvent , WrTerminated , WrProcessInSwap ,
  WrCpuRateControl , WrCalloutStack , WrKernel , WrResource ,
  WrPushLock , WrMutex , WrQuantumEnd , WrDispatchInt ,
  WrPreempted , WrYieldExecution , WrFastMutex , WrGuardedMutex ,
  WrRundown , MaximumWaitReason
}
 
enum  _KINTERRUPT_MODE { LevelSensitive , Latched , LevelSensitive , Latched }
 
enum  _KD_OPTION { KD_OPTION_SET_BLOCK_ENABLE }
 
enum  _KSPIN_LOCK_QUEUE_NUMBER {
  LockQueueDispatcherLock , LockQueueExpansionLock , LockQueuePfnLock , LockQueueSystemSpaceLock ,
  LockQueueVacbLock , LockQueueMasterLock , LockQueueNonPagedPoolLock , LockQueueIoCancelLock ,
  LockQueueWorkQueueLock , LockQueueIoVpbLock , LockQueueIoDatabaseLock , LockQueueIoCompletionLock ,
  LockQueueNtfsStructLock , LockQueueAfdWorkQueueLock , LockQueueBcbLock , LockQueueMmNonPagedPoolLock ,
  LockQueueUnusedSpare16 , LockQueueTimerTableLock , LockQueueMaximumLock = LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS
}
 
enum  _KDPC_IMPORTANCE { LowImportance , MediumImportance , HighImportance , MediumHighImportance }
 
enum  _LOCK_OPERATION { IoReadAccess , IoWriteAccess , IoModifyAccess }
 
enum  _POOL_TYPE {
  NonPagedPool , PagedPool , NonPagedPoolMustSucceed , DontUseThisType ,
  NonPagedPoolCacheAligned , PagedPoolCacheAligned , NonPagedPoolCacheAlignedMustS , MaxPoolType ,
  NonPagedPoolBase = 0 , NonPagedPoolBaseMustSucceed = NonPagedPoolBase + 2 , NonPagedPoolBaseCacheAligned = NonPagedPoolBase + 4 , NonPagedPoolBaseCacheAlignedMustS = NonPagedPoolBase + 6 ,
  NonPagedPoolSession = 32 , PagedPoolSession , NonPagedPoolMustSucceedSession , DontUseThisTypeSession ,
  NonPagedPoolCacheAlignedSession , PagedPoolCacheAlignedSession , NonPagedPoolCacheAlignedMustSSession
}
 
enum  _ALTERNATIVE_ARCHITECTURE_TYPE { StandardDesign , NEC98x86 , EndAlternatives }
 
enum  _TIMER_SET_INFORMATION_CLASS { TimerSetCoalescableTimer , MaxTimerInfoClass }
 

Functions

 $if (_WDMDDK_) typedef UCHAR KIRQL
 
 $endif (_WDMDDK_) $if(_WDMDDK_||_WINNT_) typedef struct _PROCESSOR_GROUP_INFO
 
 $endif (_WDMDDK_||_WINNT_) $if(_WDMDDK_) typedef enum _KBUGCHECK_CALLBACK_REASON
 
 _Function_class_ (KBUGCHECK_REASON_CALLBACK_ROUTINE) _IRQL_requires_same_ typedef VOID(NTAPI KBUGCHECK_REASON_CALLBACK_ROUTINE)(_In_ KBUGCHECK_CALLBACK_REASON Reason
 
 _Function_class_ (KBUGCHECK_CALLBACK_ROUTINE) _IRQL_requires_same_ typedef VOID(NTAPI KBUGCHECK_CALLBACK_ROUTINE)(IN PVOID Buffer
 
 _Function_class_ (NMI_CALLBACK) _IRQL_requires_same_ typedef BOOLEAN(NTAPI NMI_CALLBACK)(_In_opt_ PVOID Context
 
_IRQL_requires_same_ _Function_class_ (PROCESSOR_CALLBACK_FUNCTION) typedef VOID(NTAPI PROCESSOR_CALLBACK_FUNCTION)(_In_ PVOID CallbackContext
 
_IRQL_requires_same_ _Function_class_ (KSTART_ROUTINE) typedef VOID(NTAPI KSTART_ROUTINE)(_In_ PVOID StartContext)
 
 _Function_class_ (KSERVICE_ROUTINE) _IRQL_requires_(HIGH_LEVEL) _IRQL_requires_same_ typedef BOOLEAN(NTAPI KSERVICE_ROUTINE)(_In_ struct _KINTERRUPT *Interrupt
 
 _Function_class_ (KMESSAGE_SERVICE_ROUTINE) _IRQL_requires_same_ typedef BOOLEAN(NTAPI KMESSAGE_SERVICE_ROUTINE)(_In_ struct _KINTERRUPT *Interrupt
 
_IRQL_requires_same_ _Function_class_ (KIPI_BROADCAST_WORKER) _IRQL_requires_(IPI_LEVEL) typedef ULONG_PTR(NTAPI KIPI_BROADCAST_WORKER)(_In_ ULONG_PTR Argument)
 
 _Function_class_ (KDEFERRED_ROUTINE) _IRQL_requires_(DISPATCH_LEVEL) _IRQL_requires_same_ typedef VOID(NTAPI KDEFERRED_ROUTINE)(_In_ struct _KDPC *Dpc
 
 _Function_class_ (KSYNCHRONIZE_ROUTINE) _IRQL_requires_same_ typedef BOOLEAN(NTAPI KSYNCHRONIZE_ROUTINE)(_In_ PVOID SynchronizeContext)
 
struct DECLSPEC_ALIGN (16) _M128A
 
struct DECLSPEC_ALIGN (8) _XSAVE_AREA_HEADER
 
 C_ASSERT ((sizeof(XSAVE_FORMAT) &(XSAVE_ALIGN - 1))==0)
 
 C_ASSERT ((FIELD_OFFSET(XSAVE_AREA, Header) &(XSAVE_ALIGN - 1))==0)
 
 C_ASSERT (MINIMAL_XSTATE_AREA_LENGTH==512+64)
 
_IRQL_requires_same_ _Function_class_ (EXPAND_STACK_CALLOUT) typedef VOID(NTAPI EXPAND_STACK_CALLOUT)(_In_opt_ PVOID Parameter)
 
 $endif (_NTDDK_) $if(_NTIFS_) typedef struct _KAPC_STATE
 

Variables

PKIRQL
 
 PROCESSOR_GROUP_INFO
 
PPROCESSOR_GROUP_INFO
 
 KBUGCHECK_CALLBACK_REASON
 
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORDRecord
 
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID ReasonSpecificData
 
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID _In_ ULONG ReasonSpecificDataLength
 
IN ULONG Length
 
_In_ BOOLEAN Handled
 
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext
 
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
 
_In_ PVOID ServiceContext
 
_In_ PVOID _In_ ULONG MessageID
 
_In_opt_ PVOID DeferredContext
 
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
 
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
 
 M128A
 
PM128A
 
 XSAVE_FORMAT
 
PXSAVE_FORMAT
 
 XSAVE_AREA_HEADER
 
PXSAVE_AREA_HEADER
 
 XSAVE_AREA
 
PXSAVE_AREA
 
NTSYSAPI volatile CCHAR KeNumberProcessors
 
 EXCEPTION_REGISTRATION_RECORD
 
PEXCEPTION_REGISTRATION_RECORD
 
 KAPC_STATE
 
PKAPC_STATE
 
*RESTRICTED_POINTER PRKAPC_STATE
 

Macro Definition Documentation

◆ ASSERT_APC

#define ASSERT_APC (   Object)     NT_ASSERT((Object)->Type == ApcObject)

◆ ASSERT_DEVICE_QUEUE

#define ASSERT_DEVICE_QUEUE (   Object)     NT_ASSERT((Object)->Type == DeviceQueueObject)

◆ ASSERT_DPC

#define ASSERT_DPC (   Object)
Value:
NT_ASSERT(((Object)->Type == 0) || \
((Object)->Type == DpcObject) || \
Type
Definition: Type.h:7
@ DpcObject
Definition: ketypes.h:425
@ ThreadedDpcObject
Definition: ketypes.h:430
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
#define NT_ASSERT
Definition: rtlfuncs.h:3327

◆ ASSERT_EVENT

#define ASSERT_EVENT (   Object)
Value:
((Object)->Header.Type == SynchronizationEvent))
Definition: Header.h:9
@ NotificationEvent
@ SynchronizationEvent

◆ ASSERT_GATE

#define ASSERT_GATE (   Object)
Value:
@ EventSynchronizationObject
Definition: ketypes.h:407
@ GateObject
Definition: ketypes.h:413
#define KOBJECT_TYPE_MASK
Definition: ketypes.h:120

◆ ASSERT_MUTANT

#define ASSERT_MUTANT (   Object)     NT_ASSERT((Object)->Header.Type == MutantObject)

◆ ASSERT_QUEUE

#define ASSERT_QUEUE (   Q)    ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);

Definition at line 1413 of file ketypes.h.

◆ ASSERT_SEMAPHORE

#define ASSERT_SEMAPHORE (   Object)     NT_ASSERT((Object)->Header.Type == SemaphoreObject)

◆ ASSERT_TIMER

#define ASSERT_TIMER (   Object)
Value:
((Object)->Header.Type == TimerSynchronizationObject))
@ TimerNotificationObject
Definition: ketypes.h:414
@ TimerSynchronizationObject
Definition: ketypes.h:415

◆ CACHE_FULLY_ASSOCIATIVE

#define CACHE_FULLY_ASSOCIATIVE   0xFF

Definition at line 16 of file ketypes.h.

◆ CONTEXT_EX_LENGTH

#define CONTEXT_EX_LENGTH   ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)

Definition at line 1043 of file ketypes.h.

◆ DBG_STATUS_BUGCHECK_FIRST

#define DBG_STATUS_BUGCHECK_FIRST   3

◆ DBG_STATUS_BUGCHECK_SECOND

#define DBG_STATUS_BUGCHECK_SECOND   4

◆ DBG_STATUS_CONTROL_C

#define DBG_STATUS_CONTROL_C   1

◆ DBG_STATUS_DEBUG_CONTROL

#define DBG_STATUS_DEBUG_CONTROL   6

◆ DBG_STATUS_FATAL

#define DBG_STATUS_FATAL   5

◆ DBG_STATUS_SYSRQ

#define DBG_STATUS_SYSRQ   2

◆ DBG_STATUS_WORKER

#define DBG_STATUS_WORKER   7

◆ DPC_NORMAL

#define DPC_NORMAL   0

◆ DPC_THREADED

#define DPC_THREADED   1

◆ EVENT_ALL_ACCESS

#define EVENT_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)

Definition at line 21 of file ketypes.h.

◆ EVENT_MODIFY_STATE

#define EVENT_MODIFY_STATE   (0x0002)

Definition at line 20 of file ketypes.h.

◆ EVENT_QUERY_STATE

#define EVENT_QUERY_STATE   (0x0001)

Definition at line 19 of file ketypes.h.

◆ EXCEPTION_ALIGNMENT_CHECK

#define EXCEPTION_ALIGNMENT_CHECK   0x011

◆ EXCEPTION_BOUND_CHECK

#define EXCEPTION_BOUND_CHECK   5

◆ EXCEPTION_DEBUG

#define EXCEPTION_DEBUG   1

◆ EXCEPTION_DIVIDED_BY_ZERO

#define EXCEPTION_DIVIDED_BY_ZERO   0

◆ EXCEPTION_DOUBLE_FAULT

#define EXCEPTION_DOUBLE_FAULT   8

◆ EXCEPTION_GP_FAULT

#define EXCEPTION_GP_FAULT   0x0D

◆ EXCEPTION_INT3

#define EXCEPTION_INT3   3

◆ EXCEPTION_INVALID_OPCODE

#define EXCEPTION_INVALID_OPCODE   6

◆ EXCEPTION_INVALID_TSS

#define EXCEPTION_INVALID_TSS   0x0A

◆ EXCEPTION_NMI

#define EXCEPTION_NMI   2

◆ EXCEPTION_NPX_ERROR

#define EXCEPTION_NPX_ERROR   0x010

◆ EXCEPTION_NPX_NOT_AVAILABLE

#define EXCEPTION_NPX_NOT_AVAILABLE   7

◆ EXCEPTION_NPX_OVERRUN

#define EXCEPTION_NPX_OVERRUN   9

◆ EXCEPTION_RESERVED_TRAP

#define EXCEPTION_RESERVED_TRAP   0x0F

◆ EXCEPTION_SEGMENT_NOT_PRESENT

#define EXCEPTION_SEGMENT_NOT_PRESENT   0x0B

◆ EXCEPTION_STACK_FAULT

#define EXCEPTION_STACK_FAULT   0x0C

◆ GM_LOCK_BIT

#define GM_LOCK_BIT   0x1

◆ GM_LOCK_BIT_V

#define GM_LOCK_BIT_V   0x0

◆ GM_LOCK_WAITER_INC

#define GM_LOCK_WAITER_INC   0x4

◆ GM_LOCK_WAITER_WOKEN

#define GM_LOCK_WAITER_WOKEN   0x2

◆ INVALID_PROCESSOR_INDEX

#define INVALID_PROCESSOR_INDEX   0xffffffff

Definition at line 378 of file ketypes.h.

◆ IsNEC_98

#define IsNEC_98   (FALSE)

Definition at line 911 of file ketypes.h.

◆ IsNotNEC_98

#define IsNotNEC_98   (TRUE)

Definition at line 915 of file ketypes.h.

◆ KAPC_ACTUAL_LENGTH

#define KAPC_ACTUAL_LENGTH   (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))

Definition at line 576 of file ketypes.h.

◆ KAPC_OFFSET_TO_APCSTATEINDEX

#define KAPC_OFFSET_TO_APCSTATEINDEX   FIELD_OFFSET(KAPC, ApcStateIndex)

Definition at line 575 of file ketypes.h.

◆ KAPC_OFFSET_TO_SPARE_BYTE0

#define KAPC_OFFSET_TO_SPARE_BYTE0   FIELD_OFFSET(KAPC, SpareByte0)

Definition at line 570 of file ketypes.h.

◆ KAPC_OFFSET_TO_SPARE_BYTE1

#define KAPC_OFFSET_TO_SPARE_BYTE1   FIELD_OFFSET(KAPC, SpareByte1)

Definition at line 571 of file ketypes.h.

◆ KAPC_OFFSET_TO_SPARE_LONG

#define KAPC_OFFSET_TO_SPARE_LONG   FIELD_OFFSET(KAPC, SpareLong0)

Definition at line 572 of file ketypes.h.

◆ KAPC_OFFSET_TO_SYSTEMARGUMENT1

#define KAPC_OFFSET_TO_SYSTEMARGUMENT1   FIELD_OFFSET(KAPC, SystemArgument1)

Definition at line 573 of file ketypes.h.

◆ KAPC_OFFSET_TO_SYSTEMARGUMENT2

#define KAPC_OFFSET_TO_SYSTEMARGUMENT2   FIELD_OFFSET(KAPC, SystemArgument2)

Definition at line 574 of file ketypes.h.

◆ KAPC_STATE_ACTUAL_LENGTH

#define KAPC_STATE_ACTUAL_LENGTH   (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))

Definition at line 1411 of file ketypes.h.

◆ KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST

#define KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST   0x80000000UL

Definition at line 307 of file ketypes.h.

◆ KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS

#define KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS   0x00000002UL

Definition at line 306 of file ketypes.h.

◆ KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

#define KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS   0x00000001UL

Definition at line 305 of file ketypes.h.

◆ KE_PROCESSOR_CHANGE_ADD_EXISTING

#define KE_PROCESSOR_CHANGE_ADD_EXISTING   1

Definition at line 376 of file ketypes.h.

◆ KSEMAPHORE_ACTUAL_LENGTH

#define KSEMAPHORE_ACTUAL_LENGTH   (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))

Definition at line 820 of file ketypes.h.

◆ KTIMER_ACTUAL_LENGTH

#define KTIMER_ACTUAL_LENGTH   (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))

Definition at line 868 of file ketypes.h.

◆ LOCK_QUEUE_OWNER

#define LOCK_QUEUE_OWNER   2

◆ LOCK_QUEUE_OWNER_BIT

#define LOCK_QUEUE_OWNER_BIT   1

◆ LOCK_QUEUE_TIMER_LOCK_SHIFT

#define LOCK_QUEUE_TIMER_LOCK_SHIFT   4

◆ LOCK_QUEUE_TIMER_TABLE_LOCKS

#define LOCK_QUEUE_TIMER_TABLE_LOCKS   (1 << (8 - LOCK_QUEUE_TIMER_LOCK_SHIFT))

◆ LOCK_QUEUE_WAIT

#define LOCK_QUEUE_WAIT   1

◆ LOCK_QUEUE_WAIT_BIT

#define LOCK_QUEUE_WAIT_BIT   0

◆ LTP_PC_SMT

#define LTP_PC_SMT   0x1

Definition at line 23 of file ketypes.h.

◆ MAX_WOW64_SHARED_ENTRIES

#define MAX_WOW64_SHARED_ENTRIES   16

Definition at line 1254 of file ketypes.h.

◆ MAXIMUM_PROC_PER_GROUP

#define MAXIMUM_PROC_PER_GROUP   32

◆ MAXIMUM_PROCESSORS

#define MAXIMUM_PROCESSORS   MAXIMUM_PROC_PER_GROUP

◆ MAXIMUM_SUSPEND_COUNT

#define MAXIMUM_SUSPEND_COUNT   MAXCHAR

Definition at line 17 of file ketypes.h.

◆ MAXIMUM_WAIT_OBJECTS

#define MAXIMUM_WAIT_OBJECTS   64

◆ MAXIMUM_XSTATE_FEATURES [1/2]

#define MAXIMUM_XSTATE_FEATURES   64

Definition at line 1214 of file ketypes.h.

◆ MAXIMUM_XSTATE_FEATURES [2/2]

#define MAXIMUM_XSTATE_FEATURES   64

Definition at line 1214 of file ketypes.h.

◆ MINIMAL_XSTATE_AREA_LENGTH

#define MINIMAL_XSTATE_AREA_LENGTH   sizeof(XSAVE_AREA)

Definition at line 1024 of file ketypes.h.

◆ NX_SUPPORT_POLICY_ALWAYSOFF

#define NX_SUPPORT_POLICY_ALWAYSOFF   0

Definition at line 1260 of file ketypes.h.

◆ NX_SUPPORT_POLICY_ALWAYSON

#define NX_SUPPORT_POLICY_ALWAYSON   1

Definition at line 1261 of file ketypes.h.

◆ NX_SUPPORT_POLICY_OPTIN

#define NX_SUPPORT_POLICY_OPTIN   2

Definition at line 1262 of file ketypes.h.

◆ NX_SUPPORT_POLICY_OPTOUT

#define NX_SUPPORT_POLICY_OPTOUT   3

Definition at line 1263 of file ketypes.h.

◆ PF_3DNOW_INSTRUCTIONS_AVAILABLE

#define PF_3DNOW_INSTRUCTIONS_AVAILABLE   7

Definition at line 131 of file ketypes.h.

◆ PF_ALPHA_BYTE_INSTRUCTIONS

#define PF_ALPHA_BYTE_INSTRUCTIONS   5

Definition at line 129 of file ketypes.h.

◆ PF_ARM_64BIT_LOADSTORE_ATOMIC

#define PF_ARM_64BIT_LOADSTORE_ATOMIC   25

Definition at line 149 of file ketypes.h.

◆ PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE

#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE   24

Definition at line 148 of file ketypes.h.

◆ PF_ARM_EXTERNAL_CACHE_AVAILABLE

#define PF_ARM_EXTERNAL_CACHE_AVAILABLE   26

Definition at line 150 of file ketypes.h.

◆ PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE

#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE   27

Definition at line 151 of file ketypes.h.

◆ PF_ARM_NEON_INSTRUCTIONS_AVAILABLE

#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE   19

Definition at line 143 of file ketypes.h.

◆ PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE   34

Definition at line 158 of file ketypes.h.

◆ PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE   43

Definition at line 165 of file ketypes.h.

◆ PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE   44

Definition at line 166 of file ketypes.h.

◆ PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE   45

Definition at line 167 of file ketypes.h.

◆ PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE   31

Definition at line 155 of file ketypes.h.

◆ PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE   30

Definition at line 154 of file ketypes.h.

◆ PF_ARM_V8_INSTRUCTIONS_AVAILABLE

#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE   29

Definition at line 153 of file ketypes.h.

◆ PF_ARM_VFP_32_REGISTERS_AVAILABLE

#define PF_ARM_VFP_32_REGISTERS_AVAILABLE   18

Definition at line 142 of file ketypes.h.

◆ PF_AVX2_INSTRUCTIONS_AVAILABLE

#define PF_AVX2_INSTRUCTIONS_AVAILABLE   40

Definition at line 163 of file ketypes.h.

◆ PF_AVX512F_INSTRUCTIONS_AVAILABLE

#define PF_AVX512F_INSTRUCTIONS_AVAILABLE   41

Definition at line 164 of file ketypes.h.

◆ PF_AVX_INSTRUCTIONS_AVAILABLE

#define PF_AVX_INSTRUCTIONS_AVAILABLE   39

Definition at line 162 of file ketypes.h.

◆ PF_CHANNELS_ENABLED

#define PF_CHANNELS_ENABLED   16

Definition at line 140 of file ketypes.h.

◆ PF_COMPARE64_EXCHANGE128

#define PF_COMPARE64_EXCHANGE128   15

Definition at line 139 of file ketypes.h.

◆ PF_COMPARE_EXCHANGE128

#define PF_COMPARE_EXCHANGE128   14

Definition at line 138 of file ketypes.h.

◆ PF_COMPARE_EXCHANGE_DOUBLE

#define PF_COMPARE_EXCHANGE_DOUBLE   2

Definition at line 126 of file ketypes.h.

◆ PF_FASTFAIL_AVAILABLE

#define PF_FASTFAIL_AVAILABLE   23

Definition at line 147 of file ketypes.h.

◆ PF_FLOATING_POINT_EMULATED

#define PF_FLOATING_POINT_EMULATED   1

Definition at line 125 of file ketypes.h.

◆ PF_FLOATING_POINT_PRECISION_ERRATA

#define PF_FLOATING_POINT_PRECISION_ERRATA   0

Definition at line 124 of file ketypes.h.

◆ PF_MMX_INSTRUCTIONS_AVAILABLE

#define PF_MMX_INSTRUCTIONS_AVAILABLE   3

Definition at line 127 of file ketypes.h.

◆ PF_NX_ENABLED

#define PF_NX_ENABLED   12

Definition at line 136 of file ketypes.h.

◆ PF_PAE_ENABLED

#define PF_PAE_ENABLED   9

Definition at line 133 of file ketypes.h.

◆ PF_PPC_MOVEMEM_64BIT_OK

#define PF_PPC_MOVEMEM_64BIT_OK   4

Definition at line 128 of file ketypes.h.

◆ PF_RDPID_INSTRUCTION_AVAILABLE

#define PF_RDPID_INSTRUCTION_AVAILABLE   33

Definition at line 157 of file ketypes.h.

◆ PF_RDRAND_INSTRUCTION_AVAILABLE

#define PF_RDRAND_INSTRUCTION_AVAILABLE   28

Definition at line 152 of file ketypes.h.

◆ PF_RDTSC_INSTRUCTION_AVAILABLE

#define PF_RDTSC_INSTRUCTION_AVAILABLE   8

Definition at line 132 of file ketypes.h.

◆ PF_RDTSCP_INSTRUCTION_AVAILABLE

#define PF_RDTSCP_INSTRUCTION_AVAILABLE   32

Definition at line 156 of file ketypes.h.

◆ PF_RDWRFSGSBASE_AVAILABLE

#define PF_RDWRFSGSBASE_AVAILABLE   22

Definition at line 146 of file ketypes.h.

◆ PF_SECOND_LEVEL_ADDRESS_TRANSLATION

#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION   20

Definition at line 144 of file ketypes.h.

◆ PF_SSE3_INSTRUCTIONS_AVAILABLE

#define PF_SSE3_INSTRUCTIONS_AVAILABLE   13

Definition at line 137 of file ketypes.h.

◆ PF_SSE4_1_INSTRUCTIONS_AVAILABLE

#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE   37

Definition at line 160 of file ketypes.h.

◆ PF_SSE4_2_INSTRUCTIONS_AVAILABLE

#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE   38

Definition at line 161 of file ketypes.h.

◆ PF_SSE_DAZ_MODE_AVAILABLE

#define PF_SSE_DAZ_MODE_AVAILABLE   11

Definition at line 135 of file ketypes.h.

◆ PF_SSSE3_INSTRUCTIONS_AVAILABLE

#define PF_SSSE3_INSTRUCTIONS_AVAILABLE   36

Definition at line 159 of file ketypes.h.

◆ PF_VIRT_FIRMWARE_ENABLED

#define PF_VIRT_FIRMWARE_ENABLED   21

Definition at line 145 of file ketypes.h.

◆ PF_XMMI64_INSTRUCTIONS_AVAILABLE

#define PF_XMMI64_INSTRUCTIONS_AVAILABLE   10

Definition at line 134 of file ketypes.h.

◆ PF_XMMI_INSTRUCTIONS_AVAILABLE

#define PF_XMMI_INSTRUCTIONS_AVAILABLE   6

Definition at line 130 of file ketypes.h.

◆ PF_XSAVE_ENABLED

#define PF_XSAVE_ENABLED   17

Definition at line 141 of file ketypes.h.

◆ PROCESSOR_FEATURE_MAX

#define PROCESSOR_FEATURE_MAX   64

◆ SEMAPHORE_ALL_ACCESS

#define SEMAPHORE_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)

Definition at line 31 of file ketypes.h.

◆ SEMAPHORE_MODIFY_STATE

#define SEMAPHORE_MODIFY_STATE   (0x0002)

Definition at line 30 of file ketypes.h.

◆ SEMAPHORE_QUERY_STATE

#define SEMAPHORE_QUERY_STATE   (0x0001)

Definition at line 29 of file ketypes.h.

◆ SetNEC_98

#define SetNEC_98

Definition at line 919 of file ketypes.h.

◆ SetNotNEC_98

#define SetNotNEC_98

Definition at line 923 of file ketypes.h.

◆ SINGLE_GROUP_LEGACY_API

#define SINGLE_GROUP_LEGACY_API   1

Definition at line 26 of file ketypes.h.

◆ THREAD_WAIT_OBJECTS

#define THREAD_WAIT_OBJECTS   3

Definition at line 492 of file ketypes.h.

◆ TIMER_EXPIRED_INDEX_BITS

#define TIMER_EXPIRED_INDEX_BITS   6

Definition at line 737 of file ketypes.h.

◆ TIMER_PROCESSOR_INDEX_BITS

#define TIMER_PROCESSOR_INDEX_BITS   5

Definition at line 738 of file ketypes.h.

◆ TIMER_TABLE_SHIFT

#define TIMER_TABLE_SHIFT   9

Definition at line 849 of file ketypes.h.

◆ TIMER_TABLE_SIZE

#define TIMER_TABLE_SIZE   512

Definition at line 848 of file ketypes.h.

◆ XSAVE_ALIGN

#define XSAVE_ALIGN   64

Definition at line 1023 of file ketypes.h.

◆ XSTATE_ALIGN_BIT

#define XSTATE_ALIGN_BIT   1

Definition at line 1200 of file ketypes.h.

◆ XSTATE_ALIGN_MASK

#define XSTATE_ALIGN_MASK   (1LL << (XSTATE_ALIGN_BIT))

Definition at line 1201 of file ketypes.h.

◆ XSTATE_AMX_TILE_CONFIG

#define XSTATE_AMX_TILE_CONFIG   17

Definition at line 1145 of file ketypes.h.

◆ XSTATE_AMX_TILE_DATA

#define XSTATE_AMX_TILE_DATA   18

Definition at line 1146 of file ketypes.h.

◆ XSTATE_AVX

#define XSTATE_AVX   XSTATE_GSSE

Definition at line 1135 of file ketypes.h.

◆ XSTATE_AVX512_KMASK

#define XSTATE_AVX512_KMASK   5

Definition at line 1138 of file ketypes.h.

◆ XSTATE_AVX512_ZMM

#define XSTATE_AVX512_ZMM   7

Definition at line 1140 of file ketypes.h.

◆ XSTATE_AVX512_ZMM_H

#define XSTATE_AVX512_ZMM_H   6

Definition at line 1139 of file ketypes.h.

◆ XSTATE_CET_S

#define XSTATE_CET_S   12

Definition at line 1144 of file ketypes.h.

◆ XSTATE_CET_U

#define XSTATE_CET_U   11

Definition at line 1143 of file ketypes.h.

◆ XSTATE_COMPACTION_ENABLE

#define XSTATE_COMPACTION_ENABLE   63

Definition at line 1198 of file ketypes.h.

◆ XSTATE_COMPACTION_ENABLE_MASK

#define XSTATE_COMPACTION_ENABLE_MASK   (1LL << (XSTATE_COMPACTION_ENABLE))

Definition at line 1199 of file ketypes.h.

◆ XSTATE_CONTROLFLAG_VALID_MASK

#define XSTATE_CONTROLFLAG_VALID_MASK
Value:
#define XSTATE_CONTROLFLAG_XFD_MASK
Definition: ketypes.h:1208
#define XSTATE_CONTROLFLAG_XSAVEC_MASK
Definition: ketypes.h:1207
#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK
Definition: ketypes.h:1206

Definition at line 1209 of file ketypes.h.

◆ XSTATE_CONTROLFLAG_XFD_MASK

#define XSTATE_CONTROLFLAG_XFD_MASK   4

Definition at line 1208 of file ketypes.h.

◆ XSTATE_CONTROLFLAG_XSAVEC_MASK

#define XSTATE_CONTROLFLAG_XSAVEC_MASK   2

Definition at line 1207 of file ketypes.h.

◆ XSTATE_CONTROLFLAG_XSAVEOPT_MASK

#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK   1

Definition at line 1206 of file ketypes.h.

◆ XSTATE_GSSE

#define XSTATE_GSSE   2

Definition at line 1134 of file ketypes.h.

◆ XSTATE_IPT

#define XSTATE_IPT   8

Definition at line 1141 of file ketypes.h.

◆ XSTATE_LEGACY_FLOATING_POINT

#define XSTATE_LEGACY_FLOATING_POINT   0

Definition at line 1132 of file ketypes.h.

◆ XSTATE_LEGACY_SSE

#define XSTATE_LEGACY_SSE   1

Definition at line 1133 of file ketypes.h.

◆ XSTATE_LWP

#define XSTATE_LWP   62

Definition at line 1147 of file ketypes.h.

◆ XSTATE_MASK_AMX_TILE_CONFIG

#define XSTATE_MASK_AMX_TILE_CONFIG   (1LL << (XSTATE_AMX_TILE_CONFIG))

Definition at line 1161 of file ketypes.h.

◆ XSTATE_MASK_AMX_TILE_DATA

#define XSTATE_MASK_AMX_TILE_DATA   (1LL << (XSTATE_AMX_TILE_DATA))

Definition at line 1162 of file ketypes.h.

◆ XSTATE_MASK_AVX

#define XSTATE_MASK_AVX   XSTATE_MASK_GSSE

Definition at line 1154 of file ketypes.h.

◆ XSTATE_MASK_AVX512

#define XSTATE_MASK_AVX512   ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))

Definition at line 1156 of file ketypes.h.

◆ XSTATE_MASK_CET_S

#define XSTATE_MASK_CET_S   (1LL << (XSTATE_CET_S))

Definition at line 1160 of file ketypes.h.

◆ XSTATE_MASK_CET_U

#define XSTATE_MASK_CET_U   (1LL << (XSTATE_CET_U))

Definition at line 1159 of file ketypes.h.

◆ XSTATE_MASK_GSSE

#define XSTATE_MASK_GSSE   (1LL << (XSTATE_GSSE))

Definition at line 1153 of file ketypes.h.

◆ XSTATE_MASK_IPT

#define XSTATE_MASK_IPT   (1LL << (XSTATE_IPT))

Definition at line 1157 of file ketypes.h.

◆ XSTATE_MASK_LARGE_FEATURES

#define XSTATE_MASK_LARGE_FEATURES   (XSTATE_MASK_AMX_TILE_DATA)

Definition at line 1190 of file ketypes.h.

◆ XSTATE_MASK_LEGACY

Definition at line 1152 of file ketypes.h.

◆ XSTATE_MASK_LEGACY_FLOATING_POINT

#define XSTATE_MASK_LEGACY_FLOATING_POINT   (1LL << (XSTATE_LEGACY_FLOATING_POINT))

Definition at line 1150 of file ketypes.h.

◆ XSTATE_MASK_LEGACY_SSE

#define XSTATE_MASK_LEGACY_SSE   (1LL << (XSTATE_LEGACY_SSE))

Definition at line 1151 of file ketypes.h.

◆ XSTATE_MASK_LWP

#define XSTATE_MASK_LWP   (1LL << (XSTATE_LWP))

Definition at line 1163 of file ketypes.h.

◆ XSTATE_MASK_MPX

#define XSTATE_MASK_MPX   ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))

Definition at line 1155 of file ketypes.h.

◆ XSTATE_MASK_PASID

#define XSTATE_MASK_PASID   (1LL << (XSTATE_PASID))

Definition at line 1158 of file ketypes.h.

◆ XSTATE_MASK_PERSISTENT

#define XSTATE_MASK_PERSISTENT   ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)

Definition at line 1188 of file ketypes.h.

◆ XSTATE_MASK_USER_VISIBLE_SUPERVISOR

#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR   (XSTATE_MASK_CET_U)

Definition at line 1189 of file ketypes.h.

◆ XSTATE_MPX_BNDCSR

#define XSTATE_MPX_BNDCSR   4

Definition at line 1137 of file ketypes.h.

◆ XSTATE_MPX_BNDREGS

#define XSTATE_MPX_BNDREGS   3

Definition at line 1136 of file ketypes.h.

◆ XSTATE_PASID

#define XSTATE_PASID   10

Definition at line 1142 of file ketypes.h.

◆ XSTATE_XFD_BIT

#define XSTATE_XFD_BIT   2

Definition at line 1203 of file ketypes.h.

◆ XSTATE_XFD_MASK

#define XSTATE_XFD_MASK   (1LL << (XSTATE_XFD_BIT))

Definition at line 1204 of file ketypes.h.

Typedef Documentation

◆ ALTERNATIVE_ARCHITECTURE_TYPE

◆ CACHE_DESCRIPTOR

◆ CACHE_RELATIONSHIP

◆ CONTEXT_CHUNK

◆ CONTEXT_EX

◆ DISPATCHER_HEADER

◆ GROUP_RELATIONSHIP

◆ KAPC

typedef struct _KAPC KAPC

◆ KBUGCHECK_ADD_PAGES

◆ KBUGCHECK_BUFFER_DUMP_STATE

◆ KBUGCHECK_CALLBACK_RECORD

◆ KBUGCHECK_DUMP_IO

◆ KBUGCHECK_DUMP_IO_TYPE

◆ KBUGCHECK_REASON_CALLBACK_RECORD

◆ KBUGCHECK_SECONDARY_DUMP_DATA

◆ KD_OPTION

◆ KDEVICE_QUEUE

◆ KDEVICE_QUEUE_ENTRY

◆ KDPC

typedef struct _KDPC KDPC

◆ KDPC_IMPORTANCE

◆ KDPC_WATCHDOG_INFORMATION

◆ KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT

◆ KE_PROCESSOR_CHANGE_NOTIFY_STATE

◆ KEVENT

◆ KGATE

typedef struct _KGATE KGATE

◆ KGUARDED_MUTEX

◆ KINTERRUPT_MODE

◆ KINTERRUPT_POLARITY

◆ KIPI_COUNTS

◆ KLOCK_QUEUE_HANDLE

◆ KMUTANT

◆ KMUTEX

◆ KPRIORITY

typedef LONG KPRIORITY

Definition at line 8 of file ketypes.h.

◆ KPROCESSOR_MODE

Definition at line 7 of file ketypes.h.

◆ KPROFILE_SOURCE

◆ KQUEUE

◆ KSEMAPHORE

◆ KSPIN_LOCK

Definition at line 619 of file ketypes.h.

◆ KSPIN_LOCK_QUEUE

◆ KSPIN_LOCK_QUEUE_NUMBER

◆ KSYSTEM_TIME

◆ KTIMER

◆ KUSER_SHARED_DATA

◆ KWAIT_BLOCK

◆ KWAIT_REASON

◆ LOCK_OPERATION

◆ LOGICAL_PROCESSOR_RELATIONSHIP

◆ MODE

typedef enum _MODE MODE

◆ NT_TIB

◆ NT_TIB32

◆ NT_TIB64

◆ NUMA_NODE_RELATIONSHIP

◆ PCACHE_DESCRIPTOR

◆ PCACHE_RELATIONSHIP

◆ PCONTEXT_CHUNK

◆ PCONTEXT_EX

◆ PDISPATCHER_HEADER

◆ PEXPAND_STACK_CALLOUT

typedef EXPAND_STACK_CALLOUT* PEXPAND_STACK_CALLOUT

Definition at line 1107 of file ketypes.h.

◆ PGROUP_RELATIONSHIP

◆ PKAPC

typedef struct _KAPC * PKAPC

◆ PKBUGCHECK_ADD_PAGES

◆ PKBUGCHECK_CALLBACK_RECORD

◆ PKBUGCHECK_CALLBACK_ROUTINE

typedef KBUGCHECK_CALLBACK_ROUTINE* PKBUGCHECK_CALLBACK_ROUTINE

Definition at line 332 of file ketypes.h.

◆ PKBUGCHECK_DUMP_IO

◆ PKBUGCHECK_REASON_CALLBACK_RECORD

◆ PKBUGCHECK_REASON_CALLBACK_ROUTINE

typedef KBUGCHECK_REASON_CALLBACK_ROUTINE* PKBUGCHECK_REASON_CALLBACK_ROUTINE

Definition at line 271 of file ketypes.h.

◆ PKBUGCHECK_SECONDARY_DUMP_DATA

◆ PKDEFERRED_ROUTINE

typedef KDEFERRED_ROUTINE* PKDEFERRED_ROUTINE

Definition at line 690 of file ketypes.h.

◆ PKDEVICE_QUEUE

◆ PKDEVICE_QUEUE_ENTRY

◆ PKDPC

typedef struct _KDPC * PKDPC

◆ PKDPC_WATCHDOG_INFORMATION

◆ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT

◆ PKEVENT

typedef struct _KEVENT * PKEVENT

◆ PKGATE

typedef struct _KGATE * PKGATE

◆ PKGUARDED_MUTEX

◆ PKINTERRUPT_POLARITY

◆ PKINTERRUPT_ROUTINE

typedef VOID(NTAPI * PKINTERRUPT_ROUTINE) (VOID)

Definition at line 501 of file ketypes.h.

◆ PKIPI_BROADCAST_WORKER

typedef KIPI_BROADCAST_WORKER* PKIPI_BROADCAST_WORKER

Definition at line 617 of file ketypes.h.

◆ PKIPI_CONTEXT

Definition at line 585 of file ketypes.h.

◆ PKIPI_COUNTS

◆ PKIPI_WORKER

typedef VOID(NTAPI * PKIPI_WORKER) (IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)

Definition at line 587 of file ketypes.h.

◆ PKLOCK_QUEUE_HANDLE

◆ PKMESSAGE_SERVICE_ROUTINE

typedef KMESSAGE_SERVICE_ROUTINE* PKMESSAGE_SERVICE_ROUTINE

Definition at line 521 of file ketypes.h.

◆ PKMUTANT

◆ PKMUTEX

typedef struct _KMUTANT * PKMUTEX

◆ PKQUEUE

typedef struct _KQUEUE * PKQUEUE

◆ PKSEMAPHORE

◆ PKSERVICE_ROUTINE

typedef KSERVICE_ROUTINE* PKSERVICE_ROUTINE

Definition at line 512 of file ketypes.h.

◆ PKSPIN_LOCK

Definition at line 619 of file ketypes.h.

◆ PKSPIN_LOCK_QUEUE

◆ PKSPIN_LOCK_QUEUE_NUMBER

◆ PKSTART_ROUTINE

typedef KSTART_ROUTINE* PKSTART_ROUTINE

Definition at line 499 of file ketypes.h.

◆ PKSYNCHRONIZE_ROUTINE

typedef KSYNCHRONIZE_ROUTINE* PKSYNCHRONIZE_ROUTINE

Definition at line 875 of file ketypes.h.

◆ PKSYSTEM_TIME

◆ PKTIMER

typedef struct _KTIMER * PKTIMER

◆ PKUSER_SHARED_DATA

◆ PKWAIT_BLOCK

◆ PNMI_CALLBACK

typedef NMI_CALLBACK* PNMI_CALLBACK

Definition at line 350 of file ketypes.h.

◆ PNT_TIB

typedef struct _NT_TIB * PNT_TIB

◆ PNT_TIB32

◆ PNT_TIB64

◆ PNUMA_NODE_RELATIONSHIP

◆ POOL_TYPE

◆ PPROCESSOR_CALLBACK_FUNCTION

typedef PROCESSOR_CALLBACK_FUNCTION* PPROCESSOR_CALLBACK_FUNCTION

Definition at line 374 of file ketypes.h.

◆ PPROCESSOR_RELATIONSHIP

◆ PRKAPC

typedef struct _KAPC PRKAPC

◆ PRKDEVICE_QUEUE

◆ PRKDEVICE_QUEUE_ENTRY

◆ PRKDPC

typedef struct _KDPC PRKDPC

◆ PRKEVENT

◆ PRKGATE

◆ PRKMUTANT

◆ PRKMUTEX

◆ PRKQUEUE

◆ PRKSEMAPHORE

◆ PRKTIMER

◆ PRKWAIT_BLOCK

◆ PROCESSOR_CACHE_TYPE

◆ PROCESSOR_RELATIONSHIP

◆ PSYSTEM_LOGICAL_PROCESSOR_INFORMATION

◆ PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

◆ PTIMER_APC_ROUTINE

typedef VOID(NTAPI * PTIMER_APC_ROUTINE) (_In_ PVOID TimerContext, _In_ ULONG TimerLowValue, _In_ LONG TimerHighValue)

Definition at line 1109 of file ketypes.h.

◆ PTIMER_SET_COALESCABLE_TIMER_INFO

◆ PXSTATE_CONFIGURATION

◆ PXSTATE_CONTEXT

◆ PXSTATE_FEATURE

◆ PXSTATE_SAVE

◆ SYSTEM_LOGICAL_PROCESSOR_INFORMATION

◆ SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

◆ TIMER_SET_COALESCABLE_TIMER_INFO

◆ TIMER_SET_INFORMATION_CLASS

◆ XSTATE_CONFIGURATION

◆ XSTATE_CONTEXT

◆ XSTATE_FEATURE

◆ XSTATE_SAVE

Enumeration Type Documentation

◆ _ALTERNATIVE_ARCHITECTURE_TYPE

Enumerator
StandardDesign 
NEC98x86 
EndAlternatives 

Definition at line 901 of file ketypes.h.

901 {
903 NEC98x86,
@ EndAlternatives
Definition: ketypes.h:904
@ StandardDesign
Definition: ketypes.h:902
@ NEC98x86
Definition: ketypes.h:903
enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE

◆ _KBUGCHECK_BUFFER_DUMP_STATE

Enumerator
BufferEmpty 
BufferInserted 
BufferStarted 
BufferFinished 
BufferIncomplete 

Definition at line 318 of file ketypes.h.

318 {
@ BufferIncomplete
Definition: ketypes.h:323
@ BufferEmpty
Definition: ketypes.h:319
@ BufferInserted
Definition: ketypes.h:320
@ BufferFinished
Definition: ketypes.h:322
@ BufferStarted
Definition: ketypes.h:321
enum _KBUGCHECK_BUFFER_DUMP_STATE KBUGCHECK_BUFFER_DUMP_STATE

◆ _KBUGCHECK_DUMP_IO_TYPE

Enumerator
KbDumpIoInvalid 
KbDumpIoHeader 
KbDumpIoBody 
KbDumpIoSecondaryData 
KbDumpIoComplete 

Definition at line 290 of file ketypes.h.

290 {
enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
@ KbDumpIoBody
Definition: ketypes.h:293
@ KbDumpIoHeader
Definition: ketypes.h:292
@ KbDumpIoSecondaryData
Definition: ketypes.h:294
@ KbDumpIoComplete
Definition: ketypes.h:295
@ KbDumpIoInvalid
Definition: ketypes.h:291

◆ _KD_OPTION

Enumerator
KD_OPTION_SET_BLOCK_ENABLE 

Definition at line 523 of file ketypes.h.

523 {
525} KD_OPTION;
enum _KD_OPTION KD_OPTION
@ KD_OPTION_SET_BLOCK_ENABLE
Definition: ketypes.h:524

◆ _KDPC_IMPORTANCE

Enumerator
LowImportance 
MediumImportance 
HighImportance 
MediumHighImportance 

Definition at line 692 of file ketypes.h.

692 {
@ HighImportance
Definition: ketypes.h:695
@ MediumHighImportance
Definition: ketypes.h:696
@ LowImportance
Definition: ketypes.h:693
@ MediumImportance
Definition: ketypes.h:694
enum _KDPC_IMPORTANCE KDPC_IMPORTANCE

◆ _KE_PROCESSOR_CHANGE_NOTIFY_STATE

Enumerator
KeProcessorAddStartNotify 
KeProcessorAddCompleteNotify 
KeProcessorAddFailureNotify 

Definition at line 352 of file ketypes.h.

352 {
enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE KE_PROCESSOR_CHANGE_NOTIFY_STATE
@ KeProcessorAddCompleteNotify
Definition: ketypes.h:354
@ KeProcessorAddFailureNotify
Definition: ketypes.h:355
@ KeProcessorAddStartNotify
Definition: ketypes.h:353

◆ _KINTERRUPT_MODE

Enumerator
LevelSensitive 
Latched 
LevelSensitive 
Latched 

Definition at line 487 of file ketypes.h.

487 {
489 Latched
@ Latched
Definition: ketypes.h:489
@ LevelSensitive
Definition: ketypes.h:488
enum _KINTERRUPT_MODE KINTERRUPT_MODE

◆ _KINTERRUPT_POLARITY

Enumerator
InterruptPolarityUnknown 
InterruptActiveHigh 
InterruptActiveLow 

Definition at line 380 of file ketypes.h.

380 {
@ InterruptActiveLow
Definition: ketypes.h:383
@ InterruptPolarityUnknown
Definition: ketypes.h:381
@ InterruptActiveHigh
Definition: ketypes.h:382
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY

◆ _KPROFILE_SOURCE

Enumerator
ProfileTime 
ProfileAlignmentFixup 
ProfileTotalIssues 
ProfilePipelineDry 
ProfileLoadInstructions 
ProfilePipelineFrozen 
ProfileBranchInstructions 
ProfileTotalNonissues 
ProfileDcacheMisses 
ProfileIcacheMisses 
ProfileCacheMisses 
ProfileBranchMispredictions 
ProfileStoreInstructions 
ProfileFpInstructions 
ProfileIntegerInstructions 
Profile2Issue 
Profile3Issue 
Profile4Issue 
ProfileSpecialInstructions 
ProfileTotalCycles 
ProfileIcacheIssues 
ProfileDcacheAccesses 
ProfileMemoryBarrierCycles 
ProfileLoadLinkedIssues 
ProfileMaximum 
ProfileTime 
ProfileAlignmentFixup 
ProfileTotalIssues 
ProfilePipelineDry 
ProfileLoadInstructions 
ProfilePipelineFrozen 
ProfileBranchInstructions 
ProfileTotalNonissues 
ProfileDcacheMisses 
ProfileIcacheMisses 
ProfileCacheMisses 
ProfileBranchMispredictions 
ProfileStoreInstructions 
ProfileFpInstructions 
ProfileIntegerInstructions 
Profile2Issue 
Profile3Issue 
Profile4Issue 
ProfileSpecialInstructions 
ProfileTotalCycles 
ProfileIcacheIssues 
ProfileDcacheAccesses 
ProfileMemoryBarrierCycles 
ProfileLoadLinkedIssues 
ProfileMaximum 

Definition at line 386 of file ketypes.h.

386 {
enum _KPROFILE_SOURCE KPROFILE_SOURCE
@ ProfileFpInstructions
Definition: ketypes.h:400
@ ProfileIntegerInstructions
Definition: ketypes.h:401
@ ProfileBranchMispredictions
Definition: ketypes.h:398
@ ProfileMaximum
Definition: ketypes.h:411
@ ProfileStoreInstructions
Definition: ketypes.h:399
@ ProfileAlignmentFixup
Definition: ketypes.h:388
@ ProfilePipelineDry
Definition: ketypes.h:390
@ ProfileMemoryBarrierCycles
Definition: ketypes.h:409
@ Profile3Issue
Definition: ketypes.h:403
@ ProfileLoadLinkedIssues
Definition: ketypes.h:410
@ ProfileDcacheMisses
Definition: ketypes.h:395
@ ProfileIcacheIssues
Definition: ketypes.h:407
@ ProfileIcacheMisses
Definition: ketypes.h:396
@ ProfileTotalNonissues
Definition: ketypes.h:394
@ ProfileTime
Definition: ketypes.h:387
@ ProfileSpecialInstructions
Definition: ketypes.h:405
@ Profile2Issue
Definition: ketypes.h:402
@ ProfileTotalCycles
Definition: ketypes.h:406
@ ProfileBranchInstructions
Definition: ketypes.h:393
@ ProfilePipelineFrozen
Definition: ketypes.h:392
@ ProfileDcacheAccesses
Definition: ketypes.h:408
@ ProfileLoadInstructions
Definition: ketypes.h:391
@ ProfileTotalIssues
Definition: ketypes.h:389
@ Profile4Issue
Definition: ketypes.h:404
@ ProfileCacheMisses
Definition: ketypes.h:397

◆ _KSPIN_LOCK_QUEUE_NUMBER

Enumerator
LockQueueDispatcherLock 
LockQueueExpansionLock 
LockQueuePfnLock 
LockQueueSystemSpaceLock 
LockQueueVacbLock 
LockQueueMasterLock 
LockQueueNonPagedPoolLock 
LockQueueIoCancelLock 
LockQueueWorkQueueLock 
LockQueueIoVpbLock 
LockQueueIoDatabaseLock 
LockQueueIoCompletionLock 
LockQueueNtfsStructLock 
LockQueueAfdWorkQueueLock 
LockQueueBcbLock 
LockQueueMmNonPagedPoolLock 
LockQueueUnusedSpare16 
LockQueueTimerTableLock 
LockQueueMaximumLock 

Definition at line 657 of file ketypes.h.

657 {
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
enum _KSPIN_LOCK_QUEUE_NUMBER * PKSPIN_LOCK_QUEUE_NUMBER
#define LOCK_QUEUE_TIMER_TABLE_LOCKS
@ LockQueueNtfsStructLock
Definition: ketypes.h:670
@ LockQueueExpansionLock
Definition: ketypes.h:659
@ LockQueueTimerTableLock
Definition: ketypes.h:675
@ LockQueueWorkQueueLock
Definition: ketypes.h:666
@ LockQueueUnusedSpare16
Definition: ketypes.h:674
@ LockQueueNonPagedPoolLock
Definition: ketypes.h:664
@ LockQueueSystemSpaceLock
Definition: ketypes.h:661
@ LockQueueMasterLock
Definition: ketypes.h:663
@ LockQueueDispatcherLock
Definition: ketypes.h:658
@ LockQueueIoCancelLock
Definition: ketypes.h:665
@ LockQueuePfnLock
Definition: ketypes.h:660
@ LockQueueIoDatabaseLock
Definition: ketypes.h:668
@ LockQueueMmNonPagedPoolLock
Definition: ketypes.h:673
@ LockQueueBcbLock
Definition: ketypes.h:672
@ LockQueueIoVpbLock
Definition: ketypes.h:667
@ LockQueueMaximumLock
Definition: ketypes.h:676
@ LockQueueIoCompletionLock
Definition: ketypes.h:669
@ LockQueueAfdWorkQueueLock
Definition: ketypes.h:671
@ LockQueueVacbLock
Definition: ketypes.h:662

◆ _KWAIT_REASON

Enumerator
Executive 
FreePage 
PageIn 
PoolAllocation 
DelayExecution 
Suspended 
UserRequest 
WrExecutive 
WrFreePage 
WrPageIn 
WrPoolAllocation 
WrDelayExecution 
WrSuspended 
WrUserRequest 
WrEventPair 
WrQueue 
WrLpcReceive 
WrLpcReply 
WrVirtualMemory 
WrPageOut 
WrRendezvous 
WrKeyedEvent 
WrTerminated 
WrProcessInSwap 
WrCpuRateControl 
WrCalloutStack 
WrKernel 
WrResource 
WrPushLock 
WrMutex 
WrQuantumEnd 
WrDispatchInt 
WrPreempted 
WrYieldExecution 
WrFastMutex 
WrGuardedMutex 
WrRundown 
MaximumWaitReason 

Definition at line 414 of file ketypes.h.

414 {
415 Executive,
416 FreePage,
417 PageIn,
420 Suspended,
424 WrPageIn,
430 WrQueue,
434 WrPageOut,
441 WrKernel,
444 WrMutex,
451 WrRundown,
@ WrLpcReply
Definition: ketypes.h:432
@ WrGuardedMutex
Definition: ketypes.h:450
@ WrPageIn
Definition: ketypes.h:424
@ WrPoolAllocation
Definition: ketypes.h:425
@ Suspended
Definition: ketypes.h:420
@ WrPageOut
Definition: ketypes.h:434
@ PageIn
Definition: ketypes.h:417
@ WrKernel
Definition: ketypes.h:441
@ WrRundown
Definition: ketypes.h:451
@ PoolAllocation
Definition: ketypes.h:418
@ WrYieldExecution
Definition: ketypes.h:448
@ WrUserRequest
Definition: ketypes.h:428
@ WrProcessInSwap
Definition: ketypes.h:438
@ UserRequest
Definition: ketypes.h:421
@ WrLpcReceive
Definition: ketypes.h:431
@ WrFreePage
Definition: ketypes.h:423
@ DelayExecution
Definition: ketypes.h:419
@ WrKeyedEvent
Definition: ketypes.h:436
@ WrDispatchInt
Definition: ketypes.h:446
@ WrMutex
Definition: ketypes.h:444
@ WrCpuRateControl
Definition: ketypes.h:439
@ WrExecutive
Definition: ketypes.h:422
@ WrQuantumEnd
Definition: ketypes.h:445
@ WrResource
Definition: ketypes.h:442
@ WrEventPair
Definition: ketypes.h:429
@ WrCalloutStack
Definition: ketypes.h:440
@ WrPushLock
Definition: ketypes.h:443
@ WrPreempted
Definition: ketypes.h:447
@ WrQueue
Definition: ketypes.h:430
@ WrFastMutex
Definition: ketypes.h:449
@ MaximumWaitReason
Definition: ketypes.h:452
@ WrRendezvous
Definition: ketypes.h:435
@ FreePage
Definition: ketypes.h:416
@ WrVirtualMemory
Definition: ketypes.h:433
@ WrDelayExecution
Definition: ketypes.h:426
@ WrTerminated
Definition: ketypes.h:437
@ WrSuspended
Definition: ketypes.h:427
@ Executive
Definition: ketypes.h:415
enum _KWAIT_REASON KWAIT_REASON

◆ _LOCK_OPERATION

Enumerator
IoReadAccess 
IoWriteAccess 
IoModifyAccess 

Definition at line 862 of file ketypes.h.

862 {
enum _LOCK_OPERATION LOCK_OPERATION
@ IoReadAccess
Definition: ketypes.h:863
@ IoWriteAccess
Definition: ketypes.h:864
@ IoModifyAccess
Definition: ketypes.h:865

◆ _LOGICAL_PROCESSOR_RELATIONSHIP

Enumerator
RelationProcessorCore 
RelationNumaNode 
RelationCache 
RelationProcessorPackage 
RelationGroup 
RelationAll 

Definition at line 81 of file ketypes.h.

81 {
87 RelationAll = 0xffff
@ RelationNumaNode
Definition: ketypes.h:83
@ RelationCache
Definition: ketypes.h:84
@ RelationProcessorCore
Definition: ketypes.h:82
@ RelationGroup
Definition: ketypes.h:86
@ RelationProcessorPackage
Definition: ketypes.h:85
@ RelationAll
Definition: ketypes.h:87
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP

◆ _MODE

Enumerator
KernelMode 
UserMode 
MaximumMode 

Definition at line 10 of file ketypes.h.

10 {
14} MODE;
enum _MODE MODE
@ MaximumMode
Definition: ketypes.h:13
@ KernelMode
Definition: ketypes.h:11
@ UserMode
Definition: ketypes.h:12

◆ _POOL_TYPE

Enumerator
NonPagedPool 
PagedPool 
NonPagedPoolMustSucceed 
DontUseThisType 
NonPagedPoolCacheAligned 
PagedPoolCacheAligned 
NonPagedPoolCacheAlignedMustS 
MaxPoolType 
NonPagedPoolBase 
NonPagedPoolBaseMustSucceed 
NonPagedPoolBaseCacheAligned 
NonPagedPoolBaseCacheAlignedMustS 
NonPagedPoolSession 
PagedPoolSession 
NonPagedPoolMustSucceedSession 
DontUseThisTypeSession 
NonPagedPoolCacheAlignedSession 
PagedPoolCacheAlignedSession 
NonPagedPoolCacheAlignedMustSSession 

Definition at line 877 of file ketypes.h.

877 {
879 PagedPool,
886
891
899} POOL_TYPE;
@ NonPagedPoolBaseCacheAlignedMustS
Definition: ketypes.h:890
@ NonPagedPoolSession
Definition: ketypes.h:892
@ NonPagedPoolCacheAlignedSession
Definition: ketypes.h:896
@ NonPagedPoolBaseMustSucceed
Definition: ketypes.h:888
@ PagedPoolCacheAligned
Definition: ketypes.h:883
@ NonPagedPoolCacheAligned
Definition: ketypes.h:882
@ PagedPoolSession
Definition: ketypes.h:893
@ DontUseThisTypeSession
Definition: ketypes.h:895
@ NonPagedPoolBase
Definition: ketypes.h:887
@ NonPagedPoolCacheAlignedMustS
Definition: ketypes.h:884
@ MaxPoolType
Definition: ketypes.h:885
@ NonPagedPool
Definition: ketypes.h:878
@ NonPagedPoolBaseCacheAligned
Definition: ketypes.h:889
@ PagedPoolCacheAlignedSession
Definition: ketypes.h:897
@ NonPagedPoolCacheAlignedMustSSession
Definition: ketypes.h:898
@ DontUseThisType
Definition: ketypes.h:881
@ NonPagedPoolMustSucceed
Definition: ketypes.h:880
@ PagedPool
Definition: ketypes.h:879
@ NonPagedPoolMustSucceedSession
Definition: ketypes.h:894
enum _POOL_TYPE POOL_TYPE

◆ _PROCESSOR_CACHE_TYPE

Enumerator
CacheUnified 
CacheInstruction 
CacheData 
CacheTrace 

Definition at line 43 of file ketypes.h.

43 {
@ CacheInstruction
Definition: ketypes.h:45
@ CacheUnified
Definition: ketypes.h:44
@ CacheTrace
Definition: ketypes.h:47
@ CacheData
Definition: ketypes.h:46
enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE

◆ _TIMER_SET_INFORMATION_CLASS

Enumerator
TimerSetCoalescableTimer 
MaxTimerInfoClass 

Definition at line 1115 of file ketypes.h.

1115 {
@ MaxTimerInfoClass
Definition: ketypes.h:1117
@ TimerSetCoalescableTimer
Definition: ketypes.h:1116
enum _TIMER_SET_INFORMATION_CLASS TIMER_SET_INFORMATION_CLASS

Function Documentation

◆ $endif() [1/3]

$endif ( _NTDDK_  )

Definition at line 1401 of file ketypes.h.

1403 {
1404 LIST_ENTRY ApcListHead[MaximumMode];
1406 BOOLEAN KernelApcInProgress;
1407 BOOLEAN KernelApcPending;
1408 BOOLEAN UserApcPending;
unsigned char BOOLEAN
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
#define RESTRICTED_POINTER
Definition: ntbasedef.h:97
Definition: typedefs.h:120
*RESTRICTED_POINTER PRKAPC_STATE
Definition: ketypes.h:1409
* PKAPC_STATE
Definition: ketypes.h:1409
KAPC_STATE
Definition: ketypes.h:1409

◆ $endif() [2/3]

$endif ( _WDMDDK_  )

Definition at line 33 of file ketypes.h.

36 {
37 UCHAR MaximumProcessorCount;
38 UCHAR ActiveProcessorCount;
39 UCHAR Reserved[38];
40 KAFFINITY ActiveProcessorMask;
ULONG_PTR KAFFINITY
Definition: compat.h:85
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
PROCESSOR_GROUP_INFO
Definition: ketypes.h:41
* PPROCESSOR_GROUP_INFO
Definition: ketypes.h:41
unsigned char UCHAR
Definition: xmlstorage.h:181

◆ $endif() [3/3]

$endif ( _WDMDDK_||  _WINNT_)

Definition at line 169 of file ketypes.h.

253 {
254 KbCallbackInvalid,
255 KbCallbackReserved1,
256 KbCallbackSecondaryDumpData,
257 KbCallbackDumpIo,
258 KbCallbackAddPages
KBUGCHECK_CALLBACK_REASON
Definition: ketypes.h:259

◆ $if()

$if ( _WDMDDK_  )

Kernel definitions for ARM64

Kernel definitions for AMD64

Kernel definitions for ARM

Definition at line 1 of file ke.h.

31{
32 ULONG Dummy;
KFLOATING_SAVE
Definition: ke.h:33
* PKFLOATING_SAVE
Definition: ke.h:33
uint32_t ULONG
Definition: typedefs.h:59

◆ _Function_class_() [1/11]

_IRQL_requires_same_ _Function_class_ ( EXPAND_STACK_CALLOUT  )

◆ _Function_class_() [2/11]

_Function_class_ ( KBUGCHECK_CALLBACK_ROUTINE  )

◆ _Function_class_() [3/11]

_Function_class_ ( KBUGCHECK_REASON_CALLBACK_ROUTINE  )

◆ _Function_class_() [4/11]

_Function_class_ ( KDEFERRED_ROUTINE  )

◆ _Function_class_() [5/11]

_IRQL_requires_same_ _Function_class_ ( KIPI_BROADCAST_WORKER  )

◆ _Function_class_() [6/11]

_Function_class_ ( KMESSAGE_SERVICE_ROUTINE  )

◆ _Function_class_() [7/11]

_Function_class_ ( KSERVICE_ROUTINE  )

◆ _Function_class_() [8/11]

_IRQL_requires_same_ _Function_class_ ( KSTART_ROUTINE  )

Definition at line 3047 of file balance.c.

3048 {
3050 LIST_ENTRY chunks;
3051 LIST_ENTRY* le;
3052 uint64_t num_chunks[3], okay_metadata_chunks = 0, okay_data_chunks = 0, okay_system_chunks = 0;
3053 uint64_t old_data_flags = 0, old_metadata_flags = 0, old_system_flags = 0;
3055
3056 Vcb->balance.balance_num++;
3057
3058 Vcb->balance.stopping = false;
3059 KeInitializeEvent(&Vcb->balance.finished, NotificationEvent, false);
3060
3061 if (Vcb->balance.opts[BALANCE_OPTS_DATA].flags & BTRFS_BALANCE_OPTS_ENABLED && Vcb->balance.opts[BALANCE_OPTS_DATA].flags & BTRFS_BALANCE_OPTS_CONVERT) {
3062 old_data_flags = Vcb->data_flags;
3063 Vcb->data_flags = BLOCK_FLAG_DATA | (Vcb->balance.opts[BALANCE_OPTS_DATA].convert == BLOCK_FLAG_SINGLE ? 0 : Vcb->balance.opts[BALANCE_OPTS_DATA].convert);
3064
3066 }
3067
3068 if (Vcb->balance.opts[BALANCE_OPTS_METADATA].flags & BTRFS_BALANCE_OPTS_ENABLED && Vcb->balance.opts[BALANCE_OPTS_METADATA].flags & BTRFS_BALANCE_OPTS_CONVERT) {
3069 old_metadata_flags = Vcb->metadata_flags;
3070 Vcb->metadata_flags = BLOCK_FLAG_METADATA | (Vcb->balance.opts[BALANCE_OPTS_METADATA].convert == BLOCK_FLAG_SINGLE ? 0 : Vcb->balance.opts[BALANCE_OPTS_METADATA].convert);
3071 }
3072
3073 if (Vcb->balance.opts[BALANCE_OPTS_SYSTEM].flags & BTRFS_BALANCE_OPTS_ENABLED && Vcb->balance.opts[BALANCE_OPTS_SYSTEM].flags & BTRFS_BALANCE_OPTS_CONVERT) {
3074 old_system_flags = Vcb->system_flags;
3075 Vcb->system_flags = BLOCK_FLAG_SYSTEM | (Vcb->balance.opts[BALANCE_OPTS_SYSTEM].convert == BLOCK_FLAG_SINGLE ? 0 : Vcb->balance.opts[BALANCE_OPTS_SYSTEM].convert);
3076 }
3077
3078 if (Vcb->superblock.incompat_flags & BTRFS_INCOMPAT_FLAGS_MIXED_GROUPS) {
3079 if (Vcb->balance.opts[BALANCE_OPTS_DATA].flags & BTRFS_BALANCE_OPTS_ENABLED)
3080 RtlCopyMemory(&Vcb->balance.opts[BALANCE_OPTS_METADATA], &Vcb->balance.opts[BALANCE_OPTS_DATA], sizeof(btrfs_balance_opts));
3081 else if (Vcb->balance.opts[BALANCE_OPTS_METADATA].flags & BTRFS_BALANCE_OPTS_ENABLED)
3082 RtlCopyMemory(&Vcb->balance.opts[BALANCE_OPTS_DATA], &Vcb->balance.opts[BALANCE_OPTS_METADATA], sizeof(btrfs_balance_opts));
3083 }
3084
3085 num_chunks[0] = num_chunks[1] = num_chunks[2] = 0;
3086 Vcb->balance.total_chunks = Vcb->balance.chunks_left = 0;
3087
3088 InitializeListHead(&chunks);
3089
3090 // FIXME - what are we supposed to do with limit_start?
3091
3092 if (!Vcb->readonly) {
3093 if (!Vcb->balance.removing && !Vcb->balance.shrinking) {
3095 if (!NT_SUCCESS(Status)) {
3096 ERR("add_balance_item returned %08lx\n", Status);
3097 Vcb->balance.status = Status;
3098 goto end;
3099 }
3100 } else {
3101 if (Vcb->need_write) {
3102 Status = do_write(Vcb, NULL);
3103
3104 free_trees(Vcb);
3105
3106 if (!NT_SUCCESS(Status)) {
3107 ERR("do_write returned %08lx\n", Status);
3108 Vcb->balance.status = Status;
3109 goto end;
3110 }
3111 }
3112 }
3113 }
3114
3115 KeWaitForSingleObject(&Vcb->balance.event, Executive, KernelMode, false, NULL);
3116
3117 if (Vcb->balance.stopping)
3118 goto end;
3119
3120 ExAcquireResourceSharedLite(&Vcb->chunk_lock, true);
3121
3122 le = Vcb->chunks.Flink;
3123 while (le != &Vcb->chunks) {
3125 uint8_t sort;
3126
3128
3129 if (c->chunk_item->type & BLOCK_FLAG_DATA)
3131 else if (c->chunk_item->type & BLOCK_FLAG_METADATA)
3133 else if (c->chunk_item->type & BLOCK_FLAG_SYSTEM)
3135 else {
3136 ERR("unexpected chunk type %I64x\n", c->chunk_item->type);
3138 break;
3139 }
3140
3141 if ((!(Vcb->balance.opts[sort].flags & BTRFS_BALANCE_OPTS_LIMIT) || num_chunks[sort] < Vcb->balance.opts[sort].limit_end) &&
3143 InsertTailList(&chunks, &c->list_entry_balance);
3144
3145 num_chunks[sort]++;
3146 Vcb->balance.total_chunks++;
3147 Vcb->balance.chunks_left++;
3148 } else if (sort == BALANCE_OPTS_METADATA)
3149 okay_metadata_chunks++;
3150 else if (sort == BALANCE_OPTS_DATA)
3151 okay_data_chunks++;
3152 else if (sort == BALANCE_OPTS_SYSTEM)
3153 okay_system_chunks++;
3154
3155 if (!c->cache_loaded) {
3157
3158 if (!NT_SUCCESS(Status)) {
3159 ERR("load_cache_chunk returned %08lx\n", Status);
3160 Vcb->balance.status = Status;
3162 ExReleaseResourceLite(&Vcb->chunk_lock);
3163 goto end;
3164 }
3165 }
3166
3168
3169 le = le->Flink;
3170 }
3171
3172 ExReleaseResourceLite(&Vcb->chunk_lock);
3173
3174 // If we're doing a full balance, try and allocate a new chunk now, before we mess things up
3175 if (okay_metadata_chunks == 0 || okay_data_chunks == 0 || okay_system_chunks == 0) {
3176 bool consolidated = false;
3177 chunk* c;
3178
3179 if (okay_metadata_chunks == 0) {
3180 ExAcquireResourceExclusiveLite(&Vcb->chunk_lock, true);
3181
3182 Status = alloc_chunk(Vcb, Vcb->metadata_flags, &c, true);
3183 if (NT_SUCCESS(Status))
3184 c->balance_num = Vcb->balance.balance_num;
3185 else if (Status != STATUS_DISK_FULL || consolidated) {
3186 ERR("alloc_chunk returned %08lx\n", Status);
3187 ExReleaseResourceLite(&Vcb->chunk_lock);
3188 Vcb->balance.status = Status;
3189 goto end;
3190 }
3191
3192 ExReleaseResourceLite(&Vcb->chunk_lock);
3193
3194 if (Status == STATUS_DISK_FULL) {
3195 Status = try_consolidation(Vcb, Vcb->metadata_flags, &c);
3196 if (!NT_SUCCESS(Status)) {
3197 ERR("try_consolidation returned %08lx\n", Status);
3198 Vcb->balance.status = Status;
3199 goto end;
3200 } else
3201 c->balance_num = Vcb->balance.balance_num;
3202
3203 consolidated = true;
3204
3205 if (Vcb->balance.stopping)
3206 goto end;
3207 }
3208 }
3209
3210 if (okay_data_chunks == 0) {
3211 ExAcquireResourceExclusiveLite(&Vcb->chunk_lock, true);
3212
3213 Status = alloc_chunk(Vcb, Vcb->data_flags, &c, true);
3214 if (NT_SUCCESS(Status))
3215 c->balance_num = Vcb->balance.balance_num;
3216 else if (Status != STATUS_DISK_FULL || consolidated) {
3217 ERR("alloc_chunk returned %08lx\n", Status);
3218 ExReleaseResourceLite(&Vcb->chunk_lock);
3219 Vcb->balance.status = Status;
3220 goto end;
3221 }
3222
3223 ExReleaseResourceLite(&Vcb->chunk_lock);
3224
3225 if (Status == STATUS_DISK_FULL) {
3226 Status = try_consolidation(Vcb, Vcb->data_flags, &c);
3227 if (!NT_SUCCESS(Status)) {
3228 ERR("try_consolidation returned %08lx\n", Status);
3229 Vcb->balance.status = Status;
3230 goto end;
3231 } else
3232 c->balance_num = Vcb->balance.balance_num;
3233
3234 consolidated = true;
3235
3236 if (Vcb->balance.stopping)
3237 goto end;
3238 }
3239 }
3240
3241 if (okay_system_chunks == 0) {
3242 ExAcquireResourceExclusiveLite(&Vcb->chunk_lock, true);
3243
3244 Status = alloc_chunk(Vcb, Vcb->system_flags, &c, true);
3245 if (NT_SUCCESS(Status))
3246 c->balance_num = Vcb->balance.balance_num;
3247 else if (Status != STATUS_DISK_FULL || consolidated) {
3248 ERR("alloc_chunk returned %08lx\n", Status);
3249 ExReleaseResourceLite(&Vcb->chunk_lock);
3250 Vcb->balance.status = Status;
3251 goto end;
3252 }
3253
3254 ExReleaseResourceLite(&Vcb->chunk_lock);
3255
3256 if (Status == STATUS_DISK_FULL) {
3257 Status = try_consolidation(Vcb, Vcb->system_flags, &c);
3258 if (!NT_SUCCESS(Status)) {
3259 ERR("try_consolidation returned %08lx\n", Status);
3260 Vcb->balance.status = Status;
3261 goto end;
3262 } else
3263 c->balance_num = Vcb->balance.balance_num;
3264
3265 consolidated = true;
3266
3267 if (Vcb->balance.stopping)
3268 goto end;
3269 }
3270 }
3271 }
3272
3273 ExAcquireResourceSharedLite(&Vcb->chunk_lock, true);
3274
3275 le = chunks.Flink;
3276 while (le != &chunks) {
3277 chunk* c = CONTAINING_RECORD(le, chunk, list_entry_balance);
3278
3279 c->reloc = true;
3280
3281 le = le->Flink;
3282 }
3283
3284 ExReleaseResourceLite(&Vcb->chunk_lock);
3285
3286 // do data chunks before metadata
3287 le = chunks.Flink;
3288 while (le != &chunks) {
3289 chunk* c = CONTAINING_RECORD(le, chunk, list_entry_balance);
3290 LIST_ENTRY* le2 = le->Flink;
3291
3292 if (c->chunk_item->type & BLOCK_FLAG_DATA) {
3293 bool changed;
3294
3295 do {
3296 changed = false;
3297
3298 Status = balance_data_chunk(Vcb, c, &changed);
3299 if (!NT_SUCCESS(Status)) {
3300 ERR("balance_data_chunk returned %08lx\n", Status);
3301 Vcb->balance.status = Status;
3302 goto end;
3303 }
3304
3305 KeWaitForSingleObject(&Vcb->balance.event, Executive, KernelMode, false, NULL);
3306
3307 if (Vcb->readonly)
3308 Vcb->balance.stopping = true;
3309
3310 if (Vcb->balance.stopping)
3311 break;
3312 } while (changed);
3313
3314 c->changed = true;
3315 c->space_changed = true;
3316 }
3317
3318 if (Vcb->balance.stopping)
3319 goto end;
3320
3321 if (c->chunk_item->type & BLOCK_FLAG_DATA &&
3322 (!(Vcb->balance.opts[BALANCE_OPTS_METADATA].flags & BTRFS_BALANCE_OPTS_ENABLED) || !(c->chunk_item->type & BLOCK_FLAG_METADATA))) {
3323 RemoveEntryList(&c->list_entry_balance);
3324 c->list_entry_balance.Flink = NULL;
3325
3326 Vcb->balance.chunks_left--;
3327 }
3328
3329 le = le2;
3330 }
3331
3332 // do metadata chunks
3333 while (!IsListEmpty(&chunks)) {
3334 chunk* c;
3335 bool changed;
3336
3337 le = RemoveHeadList(&chunks);
3338 c = CONTAINING_RECORD(le, chunk, list_entry_balance);
3339
3340 if (c->chunk_item->type & BLOCK_FLAG_METADATA || c->chunk_item->type & BLOCK_FLAG_SYSTEM) {
3341 do {
3342 Status = balance_metadata_chunk(Vcb, c, &changed);
3343 if (!NT_SUCCESS(Status)) {
3344 ERR("balance_metadata_chunk returned %08lx\n", Status);
3345 Vcb->balance.status = Status;
3346 goto end;
3347 }
3348
3349 KeWaitForSingleObject(&Vcb->balance.event, Executive, KernelMode, false, NULL);
3350
3351 if (Vcb->readonly)
3352 Vcb->balance.stopping = true;
3353
3354 if (Vcb->balance.stopping)
3355 break;
3356 } while (changed);
3357
3358 c->changed = true;
3359 c->space_changed = true;
3360 }
3361
3362 if (Vcb->balance.stopping)
3363 break;
3364
3365 c->list_entry_balance.Flink = NULL;
3366
3367 Vcb->balance.chunks_left--;
3368 }
3369
3370end:
3371 if (!Vcb->readonly) {
3372 if (Vcb->balance.stopping || !NT_SUCCESS(Vcb->balance.status)) {
3373 le = chunks.Flink;
3374 while (le != &chunks) {
3375 chunk* c = CONTAINING_RECORD(le, chunk, list_entry_balance);
3376 c->reloc = false;
3377
3378 le = le->Flink;
3379 c->list_entry_balance.Flink = NULL;
3380 }
3381
3382 if (old_data_flags != 0)
3383 Vcb->data_flags = old_data_flags;
3384
3385 if (old_metadata_flags != 0)
3386 Vcb->metadata_flags = old_metadata_flags;
3387
3388 if (old_system_flags != 0)
3389 Vcb->system_flags = old_system_flags;
3390 }
3391
3392 if (Vcb->balance.removing) {
3393 device* dev = NULL;
3394
3395 ExAcquireResourceExclusiveLite(&Vcb->tree_lock, true);
3396
3397 le = Vcb->devices.Flink;
3398 while (le != &Vcb->devices) {
3400
3401 if (dev2->devitem.dev_id == Vcb->balance.opts[0].devid) {
3402 dev = dev2;
3403 break;
3404 }
3405
3406 le = le->Flink;
3407 }
3408
3409 if (dev) {
3410 if (Vcb->balance.chunks_left == 0) {
3412
3413 if (!NT_SUCCESS(Status)) {
3414 ERR("finish_removing_device returned %08lx\n", Status);
3415 dev->reloc = false;
3416 }
3417 } else
3418 dev->reloc = false;
3419 }
3420
3421 ExReleaseResourceLite(&Vcb->tree_lock);
3422 } else if (Vcb->balance.shrinking) {
3423 device* dev = NULL;
3424
3425 ExAcquireResourceExclusiveLite(&Vcb->tree_lock, true);
3426
3427 le = Vcb->devices.Flink;
3428 while (le != &Vcb->devices) {
3430
3431 if (dev2->devitem.dev_id == Vcb->balance.opts[0].devid) {
3432 dev = dev2;
3433 break;
3434 }
3435
3436 le = le->Flink;
3437 }
3438
3439 if (!dev) {
3440 ERR("could not find device %I64x\n", Vcb->balance.opts[0].devid);
3441 Vcb->balance.status = STATUS_INTERNAL_ERROR;
3442 }
3443
3444 if (Vcb->balance.stopping || !NT_SUCCESS(Vcb->balance.status)) {
3445 if (dev) {
3447 if (!NT_SUCCESS(Status))
3448 WARN("regenerate_space_list returned %08lx\n", Status);
3449 }
3450 } else {
3451 uint64_t old_size;
3452
3453 old_size = dev->devitem.num_bytes;
3454 dev->devitem.num_bytes = Vcb->balance.opts[0].drange_start;
3455
3457 if (!NT_SUCCESS(Status)) {
3458 ERR("update_dev_item returned %08lx\n", Status);
3459 dev->devitem.num_bytes = old_size;
3460 Vcb->balance.status = Status;
3461
3463 if (!NT_SUCCESS(Status))
3464 WARN("regenerate_space_list returned %08lx\n", Status);
3465 } else {
3466 Vcb->superblock.total_bytes -= old_size - dev->devitem.num_bytes;
3467
3468 Status = do_write(Vcb, NULL);
3469 if (!NT_SUCCESS(Status))
3470 ERR("do_write returned %08lx\n", Status);
3471
3472 free_trees(Vcb);
3473 }
3474 }
3475
3476 ExReleaseResourceLite(&Vcb->tree_lock);
3477
3478 if (!Vcb->balance.stopping && NT_SUCCESS(Vcb->balance.status))
3480 } else {
3482 if (!NT_SUCCESS(Status)) {
3483 ERR("remove_balance_item returned %08lx\n", Status);
3484 goto end;
3485 }
3486 }
3487
3488 if (Vcb->trim && !Vcb->options.no_trim) {
3489 ExAcquireResourceExclusiveLite(&Vcb->tree_lock, true);
3490
3491 le = Vcb->devices.Flink;
3492 while (le != &Vcb->devices) {
3494
3495 if (dev2->devobj && !dev2->readonly && dev2->trim)
3496 trim_unalloc_space(Vcb, dev2);
3497
3498 le = le->Flink;
3499 }
3500
3501 ExReleaseResourceLite(&Vcb->tree_lock);
3502 }
3503 }
3504
3505 ZwClose(Vcb->balance.thread);
3506 Vcb->balance.thread = NULL;
3507
3508 KeSetEvent(&Vcb->balance.finished, 0, false);
3509}
_STLP_MOVE_TO_STD_NAMESPACE void sort(_RandomAccessIter __first, _RandomAccessIter __last)
Definition: _algo.c:993
LONG NTSTATUS
Definition: precomp.h:26
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
#define acquire_chunk_lock(c, Vcb)
Definition: btrfs_drv.h:1139
NTSTATUS load_cache_chunk(device_extension *Vcb, chunk *c, PIRP Irp)
Definition: free-space.c:980
NTSTATUS alloc_chunk(device_extension *Vcb, uint64_t flags, chunk **pc, bool full_size) __attribute__((nonnull(1
NTSTATUS update_dev_item(device_extension *Vcb, device *device, PIRP Irp)
Definition: flushthread.c:4093
#define BALANCE_OPTS_METADATA
Definition: btrfs_drv.h:694
NTSTATUS do_write(device_extension *Vcb, PIRP Irp)
Definition: flushthread.c:7877
#define BALANCE_OPTS_DATA
Definition: btrfs_drv.h:693
NTSTATUS NTSTATUS bool bool void free_trees(device_extension *Vcb) __attribute__((nonnull(1)))
#define BALANCE_OPTS_SYSTEM
Definition: btrfs_drv.h:695
#define release_chunk_lock(c, Vcb)
Definition: btrfs_drv.h:1140
#define BTRFS_BALANCE_OPTS_ENABLED
Definition: btrfsioctl.h:130
#define BTRFS_BALANCE_OPTS_CONVERT
Definition: btrfsioctl.h:138
#define BLOCK_FLAG_SINGLE
Definition: btrfsioctl.h:141
#define BTRFS_BALANCE_OPTS_LIMIT
Definition: btrfsioctl.h:135
#define NULL
Definition: types.h:112
UINT64 uint64_t
Definition: types.h:77
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
static NTSTATUS remove_balance_item(device_extension *Vcb)
Definition: balance.c:2451
static NTSTATUS finish_removing_device(_Requires_exclusive_lock_held_(_Curr_->tree_lock) device_extension *Vcb, device *dev)
Definition: balance.c:2586
static void trim_unalloc_space(_Requires_lock_held_(_Curr_->tree_lock) device_extension *Vcb, device *dev)
Definition: balance.c:2802
static bool should_balance_chunk(device_extension *Vcb, uint8_t sort, chunk *c)
Definition: balance.c:2225
static NTSTATUS try_consolidation(device_extension *Vcb, uint64_t flags, chunk **newchunk)
Definition: balance.c:2902
static NTSTATUS balance_data_chunk(device_extension *Vcb, chunk *c, bool *changed)
Definition: balance.c:1671
static NTSTATUS balance_metadata_chunk(device_extension *Vcb, chunk *c, bool *changed)
Definition: balance.c:1100
static NTSTATUS add_balance_item(device_extension *Vcb)
Definition: balance.c:2378
static NTSTATUS regenerate_space_list(device_extension *Vcb, device *dev)
Definition: balance.c:2997
#define BTRFS_INCOMPAT_FLAGS_MIXED_GROUPS
Definition: btrfs.h:117
#define RemoveEntryList(Entry)
Definition: env_spec_w32.h:986
#define InsertTailList(ListHead, Entry)
#define IsListEmpty(ListHead)
Definition: env_spec_w32.h:954
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
Definition: env_spec_w32.h:478
#define KeInitializeEvent(pEvt, foo, foo2)
Definition: env_spec_w32.h:477
#define KeSetEvent(pEvt, foo, foo2)
Definition: env_spec_w32.h:476
#define ExAcquireResourceExclusiveLite(res, wait)
Definition: env_spec_w32.h:615
#define RemoveHeadList(ListHead)
Definition: env_spec_w32.h:964
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define ExAcquireResourceSharedLite(res, wait)
Definition: env_spec_w32.h:621
#define FSRTL_VOLUME_CHANGE_SIZE
Definition: fsrtltypes.h:101
Status
Definition: gdiplustypes.h:25
GLuint GLuint end
Definition: gl.h:1545
const GLubyte * c
Definition: glext.h:8905
#define c
Definition: ke_i.h:80
BYTE uint8_t
Definition: msvideo1.c:66
#define KernelMode
Definition: asm.h:34
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1822
NTSTATUS NTAPI FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject, IN ULONG EventCode)
Definition: pnp.c:38
#define STATUS_INTERNAL_ERROR
Definition: ntstatus.h:465
#define Vcb
Definition: cdprocs.h:1415
#define BLOCK_FLAG_DATA
Definition: shellext.h:75
#define BLOCK_FLAG_SYSTEM
Definition: shellext.h:76
#define BLOCK_FLAG_METADATA
Definition: shellext.h:77
uint64_t dev_id
Definition: btrfs.h:178
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: http.c:7252
Definition: devices.h:37
DEV_ITEM devitem
Definition: btrfs_drv.h:527
bool readonly
Definition: btrfs_drv.h:530
bool trim
Definition: btrfs_drv.h:532
PDEVICE_OBJECT devobj
Definition: btrfs_drv.h:525
Definition: list.h:27
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
#define STATUS_DISK_FULL
Definition: udferr_usr.h:155

◆ _Function_class_() [9/11]

_Function_class_ ( KSYNCHRONIZE_ROUTINE  )

◆ _Function_class_() [10/11]

_Function_class_ ( NMI_CALLBACK  )

◆ _Function_class_() [11/11]

_IRQL_requires_same_ _Function_class_ ( PROCESSOR_CALLBACK_FUNCTION  )

◆ C_ASSERT() [1/3]

C_ASSERT ( (FIELD_OFFSET(XSAVE_AREA, Header) &(XSAVE_ALIGN - 1))  = =0)

◆ C_ASSERT() [2/3]

C_ASSERT ( (sizeof(XSAVE_FORMAT) &(XSAVE_ALIGN - 1))  = =0)

◆ C_ASSERT() [3/3]

C_ASSERT ( MINIMAL_XSTATE_AREA_LENGTH  = =512+64)

◆ DECLSPEC_ALIGN() [1/2]

struct DECLSPEC_ALIGN ( 16  )

Definition at line 875 of file ketypes.h.

934 {
937} M128A, *PM128A;
@ High
Definition: strmini.h:378
@ Low
Definition: strmini.h:380
int64_t LONGLONG
Definition: typedefs.h:68
uint64_t ULONGLONG
Definition: typedefs.h:67
M128A
Definition: ketypes.h:937
* PM128A
Definition: ketypes.h:937

◆ DECLSPEC_ALIGN() [2/2]

struct DECLSPEC_ALIGN ( )

Definition at line 963 of file ketypes.h.

965 {
967 ULONG64 Reserved[7];
unsigned int Mask
Definition: fpcontrol.c:82
unsigned __int64 ULONG64
Definition: imports.h:198
XSAVE_AREA_HEADER
Definition: ketypes.h:968
* PXSAVE_AREA_HEADER
Definition: ketypes.h:968

Variable Documentation

◆ ChangeContext

Definition at line 372 of file ketypes.h.

◆ DeferredContext

◆ EXCEPTION_REGISTRATION_RECORD

Definition at line 1061 of file ketypes.h.

◆ Handled

◆ KAPC_STATE

◆ KBUGCHECK_CALLBACK_REASON

KBUGCHECK_CALLBACK_REASON

Definition at line 259 of file ketypes.h.

◆ KeNumberProcessors

◆ Length

Definition at line 331 of file ketypes.h.

◆ M128A

M128A

Definition at line 937 of file ketypes.h.

Referenced by $if(), GetXmmReg(), RtlVirtualUnwind(), and SetXmmReg().

◆ MessageID

Definition at line 520 of file ketypes.h.

◆ OperationStatus

◆ PEXCEPTION_REGISTRATION_RECORD

Definition at line 1061 of file ketypes.h.

◆ PKAPC_STATE

* PKAPC_STATE

Definition at line 1409 of file ketypes.h.

Referenced by KeRemoveQueueApc(), and KiInsertQueueApc().

◆ PKIRQL

* PKIRQL

Definition at line 6 of file ketypes.h.

◆ PM128A

* PM128A

Definition at line 937 of file ketypes.h.

Referenced by ValidateSyscall_().

◆ PPROCESSOR_GROUP_INFO

* PPROCESSOR_GROUP_INFO

Definition at line 41 of file ketypes.h.

◆ PRKAPC_STATE

* RESTRICTED_POINTER PRKAPC_STATE

Definition at line 1409 of file ketypes.h.

◆ PROCESSOR_GROUP_INFO

PROCESSOR_GROUP_INFO

Definition at line 41 of file ketypes.h.

◆ PXSAVE_AREA

* PXSAVE_AREA

Definition at line 973 of file ketypes.h.

◆ PXSAVE_AREA_HEADER

* PXSAVE_AREA_HEADER

Definition at line 968 of file ketypes.h.

◆ PXSAVE_FORMAT

* PXSAVE_FORMAT

Definition at line 963 of file ketypes.h.

◆ ReasonSpecificData

◆ ReasonSpecificDataLength

Definition at line 270 of file ketypes.h.

Referenced by ParaNdis_OnBugCheck().

◆ Record

◆ ServiceContext

_In_ PVOID ServiceContext

Definition at line 511 of file ketypes.h.

◆ SystemArgument1

◆ SystemArgument2

◆ XSAVE_AREA

XSAVE_AREA

Definition at line 973 of file ketypes.h.

◆ XSAVE_AREA_HEADER

XSAVE_AREA_HEADER

Definition at line 968 of file ketypes.h.

◆ XSAVE_FORMAT

XSAVE_FORMAT

Definition at line 963 of file ketypes.h.