11590Srgrimes/*-
21590Srgrimes * Copyright (c) 1991, 1993
31590Srgrimes *	The Regents of the University of California.  All rights reserved.
41590Srgrimes *
51590Srgrimes * Redistribution and use in source and binary forms, with or without
61590Srgrimes * modification, are permitted provided that the following conditions
71590Srgrimes * are met:
81590Srgrimes * 1. Redistributions of source code must retain the above copyright
91590Srgrimes *    notice, this list of conditions and the following disclaimer.
101590Srgrimes * 2. Redistributions in binary form must reproduce the above copyright
111590Srgrimes *    notice, this list of conditions and the following disclaimer in the
121590Srgrimes *    documentation and/or other materials provided with the distribution.
131590Srgrimes * 4. Neither the name of the University nor the names of its contributors
141590Srgrimes *    may be used to endorse or promote products derived from this software
151590Srgrimes *    without specific prior written permission.
161590Srgrimes *
171590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
181590Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
191590Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
201590Srgrimes * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
211590Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
221590Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
231590Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
241590Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
251590Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
261590Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
271590Srgrimes * SUCH DAMAGE.
281590Srgrimes *
291590Srgrimes *      @(#)extern.h	8.1 (Berkeley) 6/6/93
3074671Stmm * $FreeBSD$
311590Srgrimes */
321590Srgrimes
331590Srgrimes#include <sys/cdefs.h>
341590Srgrimes#include <fcntl.h>
351590Srgrimes#include <kvm.h>
361590Srgrimes
371590Srgrimesextern struct	cmdtab *curcmd;
381590Srgrimesextern struct	cmdtab cmdtab[];
391590Srgrimesextern struct	text *xtext;
401590Srgrimesextern WINDOW	*wnd;
411590Srgrimesextern char	**dr_name;
421590Srgrimesextern char	c, *namp, hostname[];
431590Srgrimesextern double	avenrun[3];
441590Srgrimesextern float	*dk_mspw;
451590Srgrimesextern kvm_t	*kd;
461590Srgrimesextern long	ntext, textp;
471590Srgrimesextern int	*dk_select;
481590Srgrimesextern int	CMDLINE;
491590Srgrimesextern int	dk_ndrive;
501590Srgrimesextern int	hz, stathz;
514930Sbdeextern double	hertz;		/* sampling frequency for cp_time and dk_time */
52240605Smelifaroextern int	col;
531590Srgrimesextern int	nhosts;
541590Srgrimesextern int	nports;
551590Srgrimesextern int	protos;
561590Srgrimesextern int	verbose;
57240605Smelifaroextern unsigned int	delay;
581590Srgrimes
591590Srgrimesstruct inpcb;
601590Srgrimes
6139230Sgibbsextern struct device_selection *dev_select;
6239498Skenextern long			generation;
6339230Sgibbsextern int			num_devices;
6439230Sgibbsextern int			num_selected;
6539230Sgibbsextern int			num_selections;
6639498Skenextern long			select_generation;
6739230Sgibbs
6874671Stmmextern struct nlist		namelist[];
6974671Stmm
7092922Simpint	 checkhost(struct inpcb *);
7192922Simpint	 checkport(struct inpcb *);
72108684Sphkvoid	 closeicmp(WINDOW *);
73118318Sdwmalonevoid	 closeicmp6(WINDOW *);
74108684Sphkvoid	 closeifstat(WINDOW *);
7592922Simpvoid	 closeiostat(WINDOW *);
7692922Simpvoid	 closeip(WINDOW *);
77118318Sdwmalonevoid	 closeip6(WINDOW *);
7892922Simpvoid	 closekre(WINDOW *);
7992922Simpvoid	 closenetstat(WINDOW *);
8092922Simpvoid	 closepigs(WINDOW *);
8192922Simpvoid	 closeswap(WINDOW *);
8292922Simpvoid	 closetcp(WINDOW *);
83108684Sphkint	 cmdifstat(const char *, const char *);
8492922Simpint	 cmdiostat(const char *, const char *);
8592922Simpint	 cmdkre(const char *, const char *);
8692922Simpint	 cmdnetstat(const char *, const char *);
8792922Simpstruct	 cmdtab *lookup(const char *);
8892922Simpvoid	 command(const char *);
8992922Simpvoid	 die(int);
90240605Smelifarovoid	 display(void);
9192922Simpint	 dkinit(void);
9292922Simpint	 dkcmd(char *, char *);
9392922Simpvoid	 error(const char *fmt, ...) __printflike(1, 2);
9492922Simpvoid	 fetchicmp(void);
95118318Sdwmalonevoid	 fetchicmp6(void);
96108684Sphkvoid	 fetchifstat(void);
9792922Simpvoid	 fetchip(void);
98118318Sdwmalonevoid	 fetchip6(void);
9992922Simpvoid	 fetchiostat(void);
10092922Simpvoid	 fetchkre(void);
10192922Simpvoid	 fetchnetstat(void);
10292922Simpvoid	 fetchpigs(void);
10392922Simpvoid	 fetchswap(void);
10492922Simpvoid	 fetchtcp(void);
10592922Simpvoid	 getsysctl(const char *, void *, size_t);
106126775Sdwmaloneint	 ifcmd(const char *cmd, const char *args);
10792922Simpint	 initicmp(void);
108118318Sdwmaloneint	 initicmp6(void);
109108684Sphkint	 initifstat(void);
11092922Simpint	 initip(void);
111118318Sdwmaloneint	 initip6(void);
11292922Simpint	 initiostat(void);
11392922Simpint	 initkre(void);
11492922Simpint	 initnetstat(void);
11592922Simpint	 initpigs(void);
11692922Simpint	 initswap(void);
11792922Simpint	 inittcp(void);
11892922Simpint	 keyboard(void);
11992922Simpint	 kvm_ckread(void *, void *, int);
12092922Simpvoid	 labelicmp(void);
121118318Sdwmalonevoid	 labelicmp6(void);
122108684Sphkvoid	 labelifstat(void);
12392922Simpvoid	 labelip(void);
124118318Sdwmalonevoid	 labelip6(void);
12592922Simpvoid	 labeliostat(void);
12692922Simpvoid	 labelkre(void);
12792922Simpvoid	 labelnetstat(void);
12892922Simpvoid	 labelpigs(void);
12992922Simpvoid	 labels(void);
13092922Simpvoid	 labelswap(void);
13192922Simpvoid	 labeltcp(void);
13292922Simpvoid	 load(void);
13392922Simpint	 netcmd(const char *, const char *);
13492922Simpvoid	 nlisterr(struct nlist []);
13592922SimpWINDOW	*openicmp(void);
136118318SdwmaloneWINDOW	*openicmp6(void);
137108684SphkWINDOW	*openifstat(void);
13892922SimpWINDOW	*openip(void);
139118318SdwmaloneWINDOW	*openip6(void);
14092922SimpWINDOW	*openiostat(void);
14192922SimpWINDOW	*openkre(void);
14292922SimpWINDOW	*opennetstat(void);
14392922SimpWINDOW	*openpigs(void);
14492922SimpWINDOW	*openswap(void);
14592922SimpWINDOW	*opentcp(void);
14692922Simpint	 prefix(const char *, const char *);
14792922Simpvoid	 reseticmp(void);
148118318Sdwmalonevoid	 reseticmp6(void);
14992922Simpvoid	 resetip(void);
150118318Sdwmalonevoid	 resetip6(void);
15192922Simpvoid	 resettcp(void);
15292922Simpvoid	 showicmp(void);
153118318Sdwmalonevoid	 showicmp6(void);
154108684Sphkvoid	 showifstat(void);
15592922Simpvoid	 showip(void);
156118318Sdwmalonevoid	 showip6(void);
15792922Simpvoid	 showiostat(void);
15892922Simpvoid	 showkre(void);
15992922Simpvoid	 shownetstat(void);
16092922Simpvoid	 showpigs(void);
16192922Simpvoid	 showswap(void);
16292922Simpvoid	 showtcp(void);
16392922Simpvoid	 status(void);
16492922Simpvoid	 suspend(int);
16592922Simpchar	*sysctl_dynread(const char *, size_t *);
166