[CTM]
[reactos.git] / rosapps / applications / sysutils / ctm / ctm.h
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