xref: /freebsd/usr.bin/top/top.h (revision b26cf3d06cf3eb014c93aef569748e60feae1911)
1 /*-
2  * Top - a top users display for Berkeley Unix
3  *
4  * General (global) definitions
5  * $FreeBSD$
6  */
7 
8 #ifndef TOP_H
9 #define TOP_H
10 
11 #include <unistd.h>
12 
13 /* Number of lines of header information on the standard screen */
14 extern int Header_lines;	/* 7 */
15 
16 /* Maximum number of columns allowed for display */
17 #define MAX_COLS	512
18 
19 /* Special atoi routine returns either a non-negative number or one of: */
20 #define Infinity	-1
21 #define Invalid		-2
22 
23 /* maximum number we can have */
24 #define Largest		0x7fffffff
25 
26 /* Exit code for system errors */
27 #define TOP_EX_SYS_ERROR	23
28 
29 enum displaymodes { DISP_CPU = 0, DISP_IO, DISP_MAX };
30 
31 /*
32  * Format modifiers
33  */
34 #define FMT_SHOWARGS 0x00000001
35 
36 extern enum displaymodes displaymode;
37 
38 extern int pcpu_stats;
39 extern int overstrike;
40 extern pid_t mypid;
41 
42 extern const char * myname;
43 
44 extern int (*compares[])(const void*, const void*);
45 
46 const char* kill_procs(char *);
47 const char* renice_procs(char *);
48 
49 extern char copyright[];
50 
51 void quit(int);
52 
53 /*
54  *  The space command forces an immediate update.  Sometimes, on loaded
55  *  systems, this update will take a significant period of time (because all
56  *  the output is buffered).  So, if the short-term load average is above
57  *  "LoadMax", then top will put the cursor home immediately after the space
58  *  is pressed before the next update is attempted.  This serves as a visual
59  *  acknowledgement of the command.
60  */
61 #define LoadMax  5.0
62 
63 /*
64  *  "Nominal_TOPN" is used as the default TOPN when
65  *  the output is a dumb terminal.  If we didn't do this, then
66  *  we will get every
67  *  process in the system when running top on a dumb terminal (or redirected
68  *  to a file).  Note that Nominal_TOPN is a default:  it can still be
69  *  overridden on the command line, even with the value "infinity".
70  */
71 #define Nominal_TOPN	18
72 
73 #endif /* TOP_H */
74