xref: /openbsd/usr.bin/top/top.h (revision 3d8817e4)
1 /*	$OpenBSD: top.h,v 1.13 2010/03/23 16:16:09 lum Exp $	*/
2 
3 /*
4  *  Top users/processes display for Unix
5  *  Version 3
6  *
7  * Copyright (c) 1984, 1989, William LeFebvre, Rice University
8  * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22  * IN NO EVENT SHALL THE AUTHOR OR HIS EMPLOYER BE LIABLE FOR ANY DIRECT, INDIRECT,
23  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 /*
32  *  Top - a top users display for Berkeley Unix
33  *
34  *  General (global) definitions
35  */
36 
37 #include <sys/cdefs.h>
38 
39 /* Current major version number */
40 #define VERSION		3
41 
42 /* Maximum number of columns allowed for display */
43 #define MAX_COLS	256
44 
45 /* Log base 2 of 1024 is 10 (2^10 == 1024) */
46 #define LOG1024		10
47 
48 /* Special atoi routine returns either a non-negative number or one of: */
49 #define Infinity	-1
50 #define Invalid		-2
51 
52 /* maximum number we can have */
53 #define Largest		0x7fffffff
54 
55 /* Interactive temp string buffer size */
56 #define TEMPBUFSIZE	50
57 
58 /*
59  * The entire display is based on these next numbers being defined as is.
60  */
61 
62 #define NUM_AVERAGES    3
63 
64 
65 struct errs {		/* structure for a system-call error */
66         int err;	/* value of errno (that is, the actual error) */
67         char *arg;	/* argument that caused the error */
68 };
69 
70 extern struct errs errs[];
71 extern int errcnt;
72 
73 /* commands.c */
74 extern int error_count(void);
75 extern void show_errors(void);
76 extern char *kill_procs(char *);
77 extern char *renice_procs(char *);
78 
79 /* top.c */
80 extern void quit(int);
81 
82 /* username.c */
83 extern char *username(uid_t);
84 extern uid_t userid(char *);
85