ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

perfdata.h
Go to the documentation of this file.
00001 /*
00002  *  ReactOS Task Manager
00003  *
00004  *  perfdata.h
00005  *
00006  *  Copyright (C) 1999 - 2001  Brian Palmer  <brianp@reactos.org>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public
00010  * License as published by the Free Software Foundation; either
00011  * version 2.1 of the License, or (at your option) any later version.
00012  *
00013  * This library is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  * Lesser General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with this library; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  */
00022 
00023 #pragma once
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 #define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart))
00030 
00031 typedef struct _PERFDATA
00032 {
00033     WCHAR               ImageName[MAX_PATH];
00034     HANDLE              ProcessId;
00035     WCHAR               UserName[MAX_PATH];
00036     ULONG               SessionId;
00037     ULONG               CPUUsage;
00038     LARGE_INTEGER       CPUTime;
00039     ULONG               WorkingSetSizeBytes;
00040     ULONG               PeakWorkingSetSizeBytes;
00041     ULONG               WorkingSetSizeDelta;
00042     ULONG               PageFaultCount;
00043     ULONG               PageFaultCountDelta;
00044     ULONG               VirtualMemorySizeBytes;
00045     ULONG               PagedPoolUsagePages;
00046     ULONG               NonPagedPoolUsagePages;
00047     ULONG               BasePriority;
00048     ULONG               HandleCount;
00049     ULONG               ThreadCount;
00050     ULONG               USERObjectCount;
00051     ULONG               GDIObjectCount;
00052     IO_COUNTERS         IOCounters;
00053 
00054     LARGE_INTEGER       UserTime;
00055     LARGE_INTEGER       KernelTime;
00056 } PERFDATA, *PPERFDATA;
00057 
00058 BOOL    PerfDataInitialize(void);
00059 void    PerfDataUninitialize(void);
00060 void    PerfDataRefresh(void);
00061 
00062 BOOL    PerfDataGet(ULONG Index, PPERFDATA *lppData);
00063 ULONG   PerfDataGetProcessIndex(ULONG pid);
00064 ULONG   PerfDataGetProcessCount(void);
00065 ULONG   PerfDataGetProcessorUsage(void);
00066 ULONG   PerfDataGetProcessorSystemUsage(void);
00067 
00068 BOOL    PerfDataGetImageName(ULONG Index, LPTSTR lpImageName, int nMaxCount);
00069 ULONG   PerfDataGetProcessId(ULONG Index);
00070 BOOL    PerfDataGetUserName(ULONG Index, LPTSTR lpUserName, int nMaxCount);
00071 ULONG   PerfDataGetSessionId(ULONG Index);
00072 ULONG   PerfDataGetCPUUsage(ULONG Index);
00073 LARGE_INTEGER   PerfDataGetCPUTime(ULONG Index);
00074 ULONG   PerfDataGetWorkingSetSizeBytes(ULONG Index);
00075 ULONG   PerfDataGetPeakWorkingSetSizeBytes(ULONG Index);
00076 ULONG   PerfDataGetWorkingSetSizeDelta(ULONG Index);
00077 ULONG   PerfDataGetPageFaultCount(ULONG Index);
00078 ULONG   PerfDataGetPageFaultCountDelta(ULONG Index);
00079 ULONG   PerfDataGetVirtualMemorySizeBytes(ULONG Index);
00080 ULONG   PerfDataGetPagedPoolUsagePages(ULONG Index);
00081 ULONG   PerfDataGetNonPagedPoolUsagePages(ULONG Index);
00082 ULONG   PerfDataGetBasePriority(ULONG Index);
00083 ULONG   PerfDataGetHandleCount(ULONG Index);
00084 ULONG   PerfDataGetThreadCount(ULONG Index);
00085 ULONG   PerfDataGetUSERObjectCount(ULONG Index);
00086 ULONG   PerfDataGetGDIObjectCount(ULONG Index);
00087 BOOL    PerfDataGetIOCounters(ULONG Index, PIO_COUNTERS pIoCounters);
00088 
00089 ULONG   PerfDataGetCommitChargeTotalK(void);
00090 ULONG   PerfDataGetCommitChargeLimitK(void);
00091 ULONG   PerfDataGetCommitChargePeakK(void);
00092 
00093 ULONG   PerfDataGetKernelMemoryTotalK(void);
00094 ULONG   PerfDataGetKernelMemoryPagedK(void);
00095 ULONG   PerfDataGetKernelMemoryNonPagedK(void);
00096 
00097 ULONG   PerfDataGetPhysicalMemoryTotalK(void);
00098 ULONG   PerfDataGetPhysicalMemoryAvailableK(void);
00099 ULONG   PerfDataGetPhysicalMemorySystemCacheK(void);
00100 
00101 ULONG   PerfDataGetSystemHandleCount(void);
00102 
00103 ULONG   PerfDataGetTotalThreadCount(void);
00104 
00105 
00106 #ifdef __cplusplus
00107 };
00108 #endif

Generated on Thu May 24 2012 04:17:46 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.