| /* | |
| * ReactOS Task Manager | |
| * | |
| * perfdata.h | |
| * | |
| * Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org> | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #ifndef __PERFDATA_H | |
| #define __PERFDATA_H | |
| #include "winternl.h" | |
| typedef ULARGE_INTEGER TIME; | |
| typedef struct _PERFDATA | |
| { | |
| WCHAR ImageName[MAX_PATH]; | |
| ULONG ProcessId; | |
| WCHAR UserName[MAX_PATH]; | |
| ULONG SessionId; | |
| ULONG CPUUsage; | |
| TIME CPUTime; | |
| ULONG BasePriority; | |
| ULONG HandleCount; | |
| ULONG ThreadCount; | |
| ULONG USERObjectCount; | |
| ULONG GDIObjectCount; | |
| SIZE_T WorkingSetSizeDelta; | |
| ULONG PageFaultCountDelta; | |
| VM_COUNTERS vmCounters; | |
| IO_COUNTERS IOCounters; | |
| TIME UserTime; | |
| TIME KernelTime; | |
| BOOL Wow64Process; | |
| } PERFDATA, *PPERFDATA; | |
| /* SystemPageFileInformation (18) */ | |
| typedef | |
| struct _SYSTEM_PAGEFILE_INFORMATION | |
| { | |
| ULONG RelativeOffset; | |
| ULONG CurrentSizePages; | |
| ULONG TotalUsedPages; | |
| ULONG PeakUsedPages; | |
| UNICODE_STRING PagefileFileName; | |
| } SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION; | |
| #define Li2Double(x) ((double)((x).QuadPart)) | |
| #define GR_GDIOBJECTS 0 /* Count of GDI objects */ | |
| #define GR_USEROBJECTS 1 /* Count of USER objects */ | |
| typedef LONG (WINAPI *PROCNTQSI)(UINT,PVOID,ULONG,PULONG); | |
| typedef DWORD (WINAPI *PROCGGR)(HANDLE,DWORD); | |
| typedef BOOL (WINAPI *PROCGPIC)(HANDLE,PIO_COUNTERS); | |
| typedef BOOL (WINAPI *PROCISW64)(HANDLE,PBOOL); | |
| BOOL PerfDataInitialize(void); | |
| void PerfDataRefresh(void); | |
| ULONG PerfDataGetProcessCount(void); | |
| ULONG PerfDataGetProcessorUsage(void); | |
| ULONG PerfDataGetProcessorSystemUsage(void); | |
| BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, int nMaxCount); | |
| ULONG PerfDataGetProcessId(ULONG Index); | |
| BOOL PerfDataGetUserName(ULONG Index, LPWSTR lpUserName, int nMaxCount); | |
| ULONG PerfDataGetSessionId(ULONG Index); | |
| ULONG PerfDataGetCPUUsage(ULONG Index); | |
| TIME PerfDataGetCPUTime(ULONG Index); | |
| ULONG PerfDataGetWorkingSetSizeBytes(ULONG Index); | |
| ULONG PerfDataGetPeakWorkingSetSizeBytes(ULONG Index); | |
| ULONG PerfDataGetWorkingSetSizeDelta(ULONG Index); | |
| ULONG PerfDataGetPageFaultCount(ULONG Index); | |
| ULONG PerfDataGetPageFaultCountDelta(ULONG Index); | |
| ULONG PerfDataGetVirtualMemorySizeBytes(ULONG Index); | |
| ULONG PerfDataGetPagedPoolUsagePages(ULONG Index); | |
| ULONG PerfDataGetNonPagedPoolUsagePages(ULONG Index); | |
| ULONG PerfDataGetBasePriority(ULONG Index); | |
| ULONG PerfDataGetHandleCount(ULONG Index); | |
| ULONG PerfDataGetThreadCount(ULONG Index); | |
| ULONG PerfDataGetUSERObjectCount(ULONG Index); | |
| ULONG PerfDataGetGDIObjectCount(ULONG Index); | |
| BOOL PerfDataGetIOCounters(ULONG Index, PIO_COUNTERS pIoCounters); | |
| ULONG PerfDataGetCommitChargeTotalK(void); | |
| ULONG PerfDataGetCommitChargeLimitK(void); | |
| ULONG PerfDataGetCommitChargePeakK(void); | |
| ULONG PerfDataGetKernelMemoryTotalK(void); | |
| ULONG PerfDataGetKernelMemoryPagedK(void); | |
| ULONG PerfDataGetKernelMemoryNonPagedK(void); | |
| ULONG PerfDataGetPhysicalMemoryTotalK(void); | |
| ULONG PerfDataGetPhysicalMemoryAvailableK(void); | |
| ULONG PerfDataGetPhysicalMemorySystemCacheK(void); | |
| ULONG PerfDataGetSystemHandleCount(void); | |
| ULONG PerfDataGetTotalThreadCount(void); | |
| #endif /* __PERFDATA_H */ |