forked from Atoptool/atop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshowgeneric.h
150 lines (131 loc) · 3.53 KB
/
showgeneric.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/*
** ATOP - System & Process Monitor
**
** The program 'atop' offers the possibility to view the activity of
** the system on system-level as well as process-level.
**
** Include-file describing prototypes and structures for visualization
** of counters.
** ================================================================
** Author: Gerlof Langeveld
** E-mail: [email protected]
** Date: July 2002
**
** This program is free software; you can redistribute it and/or modify it
** under the terms of the GNU General Public License as published by the
** Free Software Foundation; either version 2, or (at your option) any
** later version.
**
** This program 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 General Public License for more details.
*/
#define USERSTUB 9999999
#define MAXUSERSEL 64
#define MAXPID 32
struct syscap {
int nrcpu;
count_t availcpu;
count_t availmem;
count_t availdsk;
count_t availnet;
};
struct pselection {
char username[256];
uid_t userid[MAXUSERSEL];
pid_t pid[MAXPID];
char progname[64];
int prognamesz;
regex_t progregex;
char argname[64];
int argnamesz;
regex_t argregex;
char container[16];
};
struct sselection {
char lvmname[64]; // logical volume selection
int lvmnamesz;
regex_t lvmregex;
char dskname[64]; // disk selection
int dsknamesz;
regex_t dskregex;
char itfname[64]; // network interface selection
int itfnamesz;
regex_t itfregex;
};
/*
** color names
*/
#define COLORINFO 2
#define COLORALMOST 3
#define COLORCRIT 4
#define COLORTHR 5
/*
** list with keystrokes/flags
*/
#define MPROCGEN 'g'
#define MPROCMEM 'm'
#define MPROCDSK 'd'
#define MPROCNET 'n'
#define MPROCSCH 's'
#define MPROCVAR 'v'
#define MPROCARG 'c'
#define MPROCOWN 'o'
#define MCUMUSER 'u'
#define MCUMPROC 'p'
#define MCUMCONT 'j'
#define MSORTCPU 'C'
#define MSORTDSK 'D'
#define MSORTMEM 'M'
#define MSORTNET 'N'
#define MSORTAUTO 'A'
#define MTHREAD 'y'
#define MCALCPSS 'R'
#define MSUPEXITS 'G'
#define MCOLORS 'x'
#define MSYSFIXED 'f'
#define MSYSNOSORT 'F'
#define MSYSLIMIT 'l'
#define MSELUSER 'U'
#define MSELPROC 'P'
#define MSELCONT 'J'
#define MSELPID 'I'
#define MSELARG '/'
#define MSELSYS 'S'
#define MALLPROC 'a'
#define MKILLPROC 'k'
#define MLISTFW 0x06
#define MLISTBW 0x02
#define MREDRAW 0x0c
#define MINTERVAL 'i'
#define MPAUSE 'z'
#define MQUIT 'q'
#define MRESET 'r'
#define MSAMPNEXT 't'
#define MSAMPPREV 'T'
#define MSAMPBRANCH 'b'
#define MVERSION 'V'
#define MAVGVAL '1'
#define MHELP1 '?'
#define MHELP2 'h'
/*
** general function prototypes
*/
void totalcap (struct syscap *, struct sstat *, struct tstat **, int);
void pricumproc (struct sstat *, struct devtstat *,
int, unsigned int, int, int);
void showgenproc(struct tstat *, double, int, int);
void showmemproc(struct tstat *, double, int, int);
void showdskproc(struct tstat *, double, int, int);
void shownetproc(struct tstat *, double, int, int);
void showvarproc(struct tstat *, double, int, int);
void showschproc(struct tstat *, double, int, int);
void showtotproc(struct tstat *, double, int, int);
void showcmdproc(struct tstat *, double, int, int);
void printg (const char *, ...);
int prisyst(struct sstat *, int, int, int, int, struct sselection *,
char *, int, int, int, int, int, int, int);
int priproc(struct tstat **, int, int, int, int, int, char, char,
struct syscap *, int, int);
void priphead(int, int, char *, char *, char);