diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index 11eaf4c..fdfa6c8 100644 --- a/sdk/xtdk/ketypes.h +++ b/sdk/xtdk/ketypes.h @@ -212,6 +212,55 @@ typedef enum _KTIMER_TYPE SynchronizationTimer } KTIMER_TYPE, *PKTIMER_TYPE; +/* Wait reason */ +typedef 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, + WrAlertByThreadId, + WrDeferredPreempt, + WrPhysicalFault, + WrIoRing, + WrMdlCache, + WrRcu, + MaximumWaitReason +} KWAIT_REASON, *PKWAIT_REASON; + /* APC Types */ typedef enum _MODE { @@ -507,7 +556,7 @@ typedef struct _KTHREAD PKWAIT_BLOCK WaitBlockList; BOOLEAN Alertable; BOOLEAN WaitNext; - UCHAR WaitReason; + KWAIT_REASON WaitReason; SCHAR Priority; UCHAR StackSwap; VOLATILE UCHAR SwapBusy; diff --git a/sdk/xtdk/xtstruct.h b/sdk/xtdk/xtstruct.h index 712c240..9c7547b 100644 --- a/sdk/xtdk/xtstruct.h +++ b/sdk/xtdk/xtstruct.h @@ -51,6 +51,7 @@ typedef enum _KPROFILE_SOURCE KPROFILE_SOURCE, *PKPROFILE_SOURCE; typedef enum _KTHREAD_STATE KTHREAD_STATE, *PKTHREAD_STATE; typedef enum _KTIMER_TYPE KTIMER_TYPE, *PKTIMER_TYPE; typedef enum _KUBSAN_DATA_TYPE KUBSAN_DATA_TYPE, *PKUBSAN_DATA_TYPE; +typedef enum _KWAIT_REASON KWAIT_REASON, *PKWAIT_REASON; typedef enum _LOADER_MEMORY_TYPE LOADER_MEMORY_TYPE, *PLOADER_MEMORY_TYPE; typedef enum _MMPAGELISTS MMPAGELISTS, *PMMPAGELISTS; typedef enum _MMPFN_CACHE_ATTRIBUTE MMPFN_CACHE_ATTRIBUTE, *PMMPFN_CACHE_ATTRIBUTE;