forked from Atoptool/atop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
atop.h
186 lines (165 loc) · 4.93 KB
/
atop.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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
/*
** 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 miscellaneous constants and function-prototypes.
** ================================================================
** Author: Gerlof Langeveld
** E-mail: [email protected]
** Date: November 1996
** LINUX-port: June 2000
**
** 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 EQ 0
#define SECSDAY 86400
#define RAWNAMESZ 256
/*
** memory-size formatting possibilities
*/
#define ANYFORMAT 0
#define KBFORMAT 1
#define MBFORMAT 2
#define GBFORMAT 3
#define TBFORMAT 4
#define PBFORMAT 5
#define OVFORMAT 9
typedef long long count_t;
struct tstat;
struct devtstat;
struct sstat;
struct netpertask;
/*
** miscellaneous flags
*/
#define RRBOOT 0x0001
#define RRLAST 0x0002
#define RRNETATOP 0x0004
#define RRNETATOPD 0x0008
#define RRACCTACTIVE 0x0010
#define RRIOSTAT 0x0020
#define RRDOCKSTAT 0x0040
struct visualize {
char (*show_samp) (time_t, int,
struct devtstat *, struct sstat *,
int, unsigned int, char);
void (*show_error) (const char *, ...);
void (*show_end) (void);
void (*show_usage) (void);
};
/*
** external values
*/
extern struct utsname utsname;
extern int utsnodenamelen;
extern time_t pretime;
extern time_t curtime;
extern unsigned long interval;
extern unsigned long sampcnt;
extern char screen;
extern int linelen;
extern char acctreason;
extern char deviatonly;
extern char usecolors;
extern char threadview;
extern char calcpss;
extern char rawname[];
extern char rawreadflag;
extern unsigned int begintime, endtime;
extern char flaglist[];
extern struct visualize vis;
extern int osrel;
extern int osvers;
extern int ossub;
extern unsigned short hertz;
extern unsigned int pagesize;
extern int supportflags;
extern int cpubadness;
extern int membadness;
extern int swpbadness;
extern int dskbadness;
extern int netbadness;
extern int pagbadness;
extern int almostcrit;
/*
** bit-values for supportflags
*/
#define ACCTACTIVE 0x00000001
#define IOSTAT 0x00000004
#define NETATOP 0x00000010
#define NETATOPD 0x00000020
#define DOCKSTAT 0x00000040
/*
** in rawlog file, the four least significant bits
** are moved to the per-sample flags and therefor dummy
** in the support flags of the general header
*/
#define RAWLOGNG (ACCTACTIVE|IOSTAT|NETATOP|NETATOPD)
/*
** structure containing the start-addresses of functions for visualization
*/
char generic_samp (time_t, int,
struct devtstat *, struct sstat *,
int, unsigned int, char);
void generic_error(const char *, ...);
void generic_end (void);
void generic_usage(void);
/*
** miscellaneous prototypes
*/
int atopsar(int, char *[]);
char *convtime(time_t, char *);
char *convdate(time_t, char *);
int hhmm2secs(char *, unsigned int *);
int daysecs(time_t);
char *val2valstr(count_t, char *, int, int, int);
char *val2memstr(count_t, char *, int, int, int);
char *val2cpustr(count_t, char *);
char *val2Hzstr(count_t, char *);
int val2elapstr(int, char *);
int compcpu(const void *, const void *);
int compdsk(const void *, const void *);
int compmem(const void *, const void *);
int compnet(const void *, const void *);
int compusr(const void *, const void *);
int compnam(const void *, const void *);
int compcon(const void *, const void *);
int cpucompar (const void *, const void *);
int diskcompar(const void *, const void *);
int intfcompar(const void *, const void *);
int nfsmcompar(const void *, const void *);
int contcompar(const void *, const void *);
count_t subcount(count_t, count_t);
void rawread(void);
char rawwrite (time_t, int,
struct devtstat *, struct sstat *,
int, unsigned int, char);
int numeric(char *);
void getalarm(int);
unsigned long long getboot(void);
char *getstrvers(void);
unsigned short getnumvers(void);
void ptrverify(const void *, const char *, ...);
void cleanstop(int);
void prusage(char *);
int droprootprivs(void);
void regainrootprivs(void);
FILE *fopen_tryroot(const char *, const char *);
void netatop_ipopen(void);
void netatop_probe(void);
void netatop_signoff(void);
void netatop_gettask(pid_t, char, struct tstat *);
unsigned int netatop_exitstore(void);
void netatop_exiterase(void);
void netatop_exithash(char);
void netatop_exitfind(unsigned long, struct tstat *, struct tstat *);