xref: /freebsd/bin/ps/extern.h (revision b670c9bafc0e31c7609969bf374b2e80bdc00211)
1 /*-
2  * SPDX-License-Identifier: BSD-3-Clause
3  *
4  * Copyright (c) 1991, 1993, 1994
5  *	The Regents of the University of California.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. Neither the name of the University nor the names of its contributors
16  *    may be used to endorse or promote products derived from this software
17  *    without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29  * SUCH DAMAGE.
30  */
31 
32 struct kinfo;
33 struct nlist;
34 struct var;
35 struct varent;
36 
37 extern fixpt_t ccpu;
38 extern int cflag, eval, fscale, nlistread, rawcpu;
39 extern unsigned long mempages;
40 extern time_t now;
41 extern int showthreads, sumrusage, termwidth;
42 extern struct velisthead varlist;
43 extern const size_t known_keywords_nb;
44 
45 __BEGIN_DECLS
46 char	 *arguments(KINFO *, VARENT *);
47 void	 check_keywords(void);
48 char	 *command(KINFO *, VARENT *);
49 char	 *cputime(KINFO *, VARENT *);
50 char	 *cpunum(KINFO *, VARENT *);
51 int	 donlist(void);
52 char	 *elapsed(KINFO *, VARENT *);
53 char	 *elapseds(KINFO *, VARENT *);
54 char	 *emulname(KINFO *, VARENT *);
55 VARENT	*find_varentry(const char *);
56 const	 char *fmt_argv(char **, char *, char *, size_t);
57 double	 getpcpu(const KINFO *);
58 char	 *jailname(KINFO *, VARENT *);
59 size_t	 aliased_keyword_index(const VAR *);
60 char	 *kvar(KINFO *, VARENT *);
61 char	 *label(KINFO *, VARENT *);
62 char	 *loginclass(KINFO *, VARENT *);
63 char	 *logname(KINFO *, VARENT *);
64 char	 *longtname(KINFO *, VARENT *);
65 char	 *lstarted(KINFO *, VARENT *);
66 char	 *maxrss(KINFO *, VARENT *);
67 char	 *lockname(KINFO *, VARENT *);
68 char	 *mwchan(KINFO *, VARENT *);
69 char	 *nwchan(KINFO *, VARENT *);
70 char	 *pagein(KINFO *, VARENT *);
71 void	 parsefmt(const char *, struct velisthead *, int);
72 char	 *pcpu(KINFO *, VARENT *);
73 char	 *pmem(KINFO *, VARENT *);
74 char	 *pri(KINFO *, VARENT *);
75 void	 printheader(void);
76 char	 *priorityr(KINFO *, VARENT *);
77 char	 *egroupname(KINFO *, VARENT *);
78 char	 *rgroupname(KINFO *, VARENT *);
79 void	 resolve_aliases(void);
80 char	 *runame(KINFO *, VARENT *);
81 char	 *rvar(KINFO *, VARENT *);
82 void	 showkey(void);
83 char	 *started(KINFO *, VARENT *);
84 char	 *state(KINFO *, VARENT *);
85 char	 *systime(KINFO *, VARENT *);
86 char	 *tdev(KINFO *, VARENT *);
87 char	 *tdnam(KINFO *, VARENT *);
88 char	 *tname(KINFO *, VARENT *);
89 char	 *ucomm(KINFO *, VARENT *);
90 char	 *username(KINFO *, VARENT *);
91 char	 *upr(KINFO *, VARENT *);
92 char	 *usertime(KINFO *, VARENT *);
93 char	 *vsize(KINFO *, VARENT *);
94 char	 *wchan(KINFO *, VARENT *);
95 __END_DECLS
96