1 /* Console Task Manager
2 
3    ctm.h - header file for main program
4 
5    Written by: Aleksey Bragin (aleksey@reactos.org)
6 
7    Most of this file content is taken from
8    ReactOS Task Manager written by Brian Palmer (brianp@reactos.org)
9 
10    This program is free software; you can redistribute it and/or modify
11    it under the terms of the GNU General Public License as published by
12    the Free Software Foundation; either version 2 of the License, or
13    (at your option) any later version.
14 
15    This program is distributed in the hope that it will be useful,
16    but WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18    GNU General Public License for more details.
19 
20    You should have received a copy of the GNU General Public License
21    along with this program; if not, write to the Free Software
22    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
23 
24 #ifndef TMTM_H
25 #define TMTM_H
26 
27 #define Li2Double(x) ((double)((x).u.HighPart) * 4.294967296E9 + (double)((x).u.LowPart))
28 
29 typedef struct _PERFDATA
30 {
31 	WCHAR				ImageName[MAX_PATH];
32 	ULONG				ProcessId;
33 	WCHAR				UserName[MAX_PATH];
34 	ULONG				SessionId;
35 	ULONG				CPUUsage;
36 	LARGE_INTEGER		CPUTime;
37 	ULONG				WorkingSetSizeBytes;
38 	ULONG				PeakWorkingSetSizeBytes;
39 	ULONG				WorkingSetSizeDelta;
40 	ULONG				PageFaultCount;
41 	ULONG				PageFaultCountDelta;
42 	ULONG				VirtualMemorySizeBytes;
43 	ULONG				PagedPoolUsagePages;
44 	ULONG				NonPagedPoolUsagePages;
45 	ULONG				BasePriority;
46 	ULONG				HandleCount;
47 	ULONG				ThreadCount;
48 	ULONG				USERObjectCount;
49 	ULONG				GDIObjectCount;
50 	//IO_COUNTERS			IOCounters;
51 
52 	LARGE_INTEGER		UserTime;
53 	LARGE_INTEGER		KernelTime;
54 	LARGE_INTEGER		CreateTime;
55 } PERFDATA, *PPERFDATA;
56 
57 #define SystemTimeInformation			3
58 
59 
60 #endif
61