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; |
+ |
+ |