| Index: third_party/psutil/psutil/arch/mswindows/ntextapi.h
|
| diff --git a/third_party/psutil/psutil/arch/mswindows/ntextapi.h b/third_party/psutil/psutil/arch/mswindows/ntextapi.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bb899237c83fa09bd5bbac0a3b21605822af6a2e
|
| --- /dev/null
|
| +++ b/third_party/psutil/psutil/arch/mswindows/ntextapi.h
|
| @@ -0,0 +1,183 @@
|
| +/*
|
| + * $Id: ntextapi.h 1142 2011-10-05 18:45:49Z g.rodola $
|
| + *
|
| + * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved.
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + *
|
| + */
|
| +
|
| +typedef enum _KTHREAD_STATE
|
| +{
|
| + Initialized,
|
| + Ready,
|
| + Running,
|
| + Standby,
|
| + Terminated,
|
| + Waiting,
|
| + Transition,
|
| + DeferredReady,
|
| + GateWait,
|
| + MaximumThreadState
|
| +} KTHREAD_STATE, *PKTHREAD_STATE;
|
| +
|
| +typedef enum _KWAIT_REASON
|
| +{
|
| + Executive = 0,
|
| + FreePage = 1,
|
| + PageIn = 2,
|
| + PoolAllocation = 3,
|
| + DelayExecution = 4,
|
| + Suspended = 5,
|
| + UserRequest = 6,
|
| + WrExecutive = 7,
|
| + WrFreePage = 8,
|
| + WrPageIn = 9,
|
| + WrPoolAllocation = 10,
|
| + WrDelayExecution = 11,
|
| + WrSuspended = 12,
|
| + WrUserRequest = 13,
|
| + WrEventPair = 14,
|
| + WrQueue = 15,
|
| + WrLpcReceive = 16,
|
| + WrLpcReply = 17,
|
| + WrVirtualMemory = 18,
|
| + WrPageOut = 19,
|
| + WrRendezvous = 20,
|
| + Spare2 = 21,
|
| + Spare3 = 22,
|
| + Spare4 = 23,
|
| + Spare5 = 24,
|
| + WrCalloutStack = 25,
|
| + WrKernel = 26,
|
| + WrResource = 27,
|
| + WrPushLock = 28,
|
| + WrMutex = 29,
|
| + WrQuantumEnd = 30,
|
| + WrDispatchInt = 31,
|
| + WrPreempted = 32,
|
| + WrYieldExecution = 33,
|
| + WrFastMutex = 34,
|
| + WrGuardedMutex = 35,
|
| + WrRundown = 36,
|
| + MaximumWaitReason = 37
|
| +} KWAIT_REASON, *PKWAIT_REASON;
|
| +
|
| +
|
| +typedef struct _CLIENT_ID
|
| +{
|
| + HANDLE UniqueProcess;
|
| + HANDLE UniqueThread;
|
| +} CLIENT_ID, *PCLIENT_ID;
|
| +
|
| +
|
| +typedef struct _UNICODE_STRING {
|
| + USHORT Length;
|
| + USHORT MaximumLength;
|
| + PWSTR Buffer;
|
| +} UNICODE_STRING, *PUNICODE_STRING;
|
| +
|
| +
|
| +typedef struct _SYSTEM_TIMEOFDAY_INFORMATION
|
| +{
|
| + LARGE_INTEGER BootTime;
|
| + LARGE_INTEGER CurrentTime;
|
| + LARGE_INTEGER TimeZoneBias;
|
| + ULONG TimeZoneId;
|
| + ULONG Reserved;
|
| + ULONGLONG BootTimeBias;
|
| + ULONGLONG SleepTimeBias;
|
| +} SYSTEM_TIMEOFDAY_INFORMATION, *PSYSTEM_TIMEOFDAY_INFORMATION;
|
| +
|
| +typedef struct _SYSTEM_THREAD_INFORMATION
|
| +{
|
| + LARGE_INTEGER KernelTime;
|
| + LARGE_INTEGER UserTime;
|
| + LARGE_INTEGER CreateTime;
|
| + ULONG WaitTime;
|
| + PVOID StartAddress;
|
| + CLIENT_ID ClientId;
|
| + LONG Priority;
|
| + LONG BasePriority;
|
| + ULONG ContextSwitches;
|
| + ULONG ThreadState;
|
| + KWAIT_REASON WaitReason;
|
| +} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
|
| +
|
| +typedef struct _TEB *PTEB;
|
| +
|
| +// private
|
| +typedef struct _SYSTEM_EXTENDED_THREAD_INFORMATION
|
| +{
|
| + SYSTEM_THREAD_INFORMATION ThreadInfo;
|
| + PVOID StackBase;
|
| + PVOID StackLimit;
|
| + PVOID Win32StartAddress;
|
| + PTEB TebBase;
|
| + ULONG_PTR Reserved2;
|
| + ULONG_PTR Reserved3;
|
| + ULONG_PTR Reserved4;
|
| +} SYSTEM_EXTENDED_THREAD_INFORMATION, *PSYSTEM_EXTENDED_THREAD_INFORMATION;
|
| +
|
| +typedef struct _SYSTEM_PROCESS_INFORMATION
|
| +{
|
| + ULONG NextEntryOffset;
|
| + ULONG NumberOfThreads;
|
| + LARGE_INTEGER SpareLi1;
|
| + LARGE_INTEGER SpareLi2;
|
| + LARGE_INTEGER SpareLi3;
|
| + LARGE_INTEGER CreateTime;
|
| + LARGE_INTEGER UserTime;
|
| + LARGE_INTEGER KernelTime;
|
| + UNICODE_STRING ImageName;
|
| + LONG BasePriority;
|
| + HANDLE UniqueProcessId;
|
| + HANDLE InheritedFromUniqueProcessId;
|
| + ULONG HandleCount;
|
| + ULONG SessionId;
|
| + ULONG_PTR PageDirectoryBase;
|
| + SIZE_T PeakVirtualSize;
|
| + SIZE_T VirtualSize;
|
| + ULONG PageFaultCount;
|
| + SIZE_T PeakWorkingSetSize;
|
| + SIZE_T WorkingSetSize;
|
| + SIZE_T QuotaPeakPagedPoolUsage;
|
| + SIZE_T QuotaPagedPoolUsage;
|
| + SIZE_T QuotaPeakNonPagedPoolUsage;
|
| + SIZE_T QuotaNonPagedPoolUsage;
|
| + SIZE_T PagefileUsage;
|
| + SIZE_T PeakPagefileUsage;
|
| + SIZE_T PrivatePageCount;
|
| + LARGE_INTEGER ReadOperationCount;
|
| + LARGE_INTEGER WriteOperationCount;
|
| + LARGE_INTEGER OtherOperationCount;
|
| + LARGE_INTEGER ReadTransferCount;
|
| + LARGE_INTEGER WriteTransferCount;
|
| + LARGE_INTEGER OtherTransferCount;
|
| + SYSTEM_THREAD_INFORMATION Threads[1];
|
| +} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;
|
| +
|
| +
|
| +// structures and enums from winternl.h (not available under mingw)
|
| +typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {
|
| + LARGE_INTEGER IdleTime;
|
| + LARGE_INTEGER KernelTime;
|
| + LARGE_INTEGER UserTime;
|
| + LARGE_INTEGER Reserved1[2];
|
| + ULONG Reserved2;
|
| +} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION, *PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
|
| +
|
| +
|
| +typedef enum _SYSTEM_INFORMATION_CLASS {
|
| + SystemBasicInformation = 0,
|
| + SystemPerformanceInformation = 2,
|
| + SystemTimeOfDayInformation = 3,
|
| + SystemProcessInformation = 5,
|
| + SystemProcessorPerformanceInformation = 8,
|
| + SystemInterruptInformation = 23,
|
| + SystemExceptionInformation = 33,
|
| + SystemRegistryQuotaInformation = 37,
|
| + SystemLookasideInformation = 45
|
| +} SYSTEM_INFORMATION_CLASS;
|
| +
|
| +
|
|
|