1/* $NetBSD: extern.h,v 1.49 2022/10/28 05:24:08 ozaki-r Exp $ */ 2 3/*- 4 * Copyright (c) 1991, 1993 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 * @(#)extern.h 8.1 (Berkeley) 6/6/93 32 */ 33 34#include <sys/cdefs.h> 35#include <fcntl.h> 36#include <stdbool.h> 37#include <kvm.h> 38 39#define ADJINETCTR(c, o, n, e) (c.e = n.e - o.e) 40#define xADJINETCTR(c, o, n, e) (c[e] = n[e] - o[e]) 41#define MAXFAIL 5 42 43extern struct command global_commands[]; 44extern struct mode *curmode; 45extern struct mode modes[]; 46extern struct text *xtext; 47extern WINDOW *wnd; 48extern char *namp, hostname[]; 49extern double avenrun[3]; 50extern float *dk_mspw; 51extern kvm_t *kd; 52extern long ntext, textp; 53extern int CMDLINE; 54extern int hz, stathz, maxslp; 55extern double naptime; 56extern int nhosts; 57extern int nports; 58extern int protos; 59extern int verbose; 60extern int nflag; 61extern char *memf; 62extern int allflag; 63extern int turns; 64extern gid_t egid; 65extern float hertz; 66extern double etime; 67extern bool showzero; 68 69struct inpcb; 70 71int checkhost(struct inpcb *); 72int checkport(struct inpcb *); 73#ifdef INET6 74int checkhost6(struct inpcb *); 75#endif 76void closebufcache(WINDOW *); 77void closedf(WINDOW *); 78void closeicmp(WINDOW *); 79void closeifstat(WINDOW *); 80void closeiostat(WINDOW *); 81void closeip(WINDOW *); 82void closevmstat(WINDOW *); 83void closesyscall(WINDOW *); 84void closembufs(WINDOW *); 85void closenetstat(WINDOW *); 86void closepigs(WINDOW *); 87void closeswap(WINDOW *); 88void closetcp(WINDOW *); 89int cmdifstat(const char *, const char *); 90void command(char *); 91void df_all(char *); 92void df_some(char *); 93void die(int) __dead; 94void disks_add(char *); 95void disks_remove(char *); 96void disks_drives(char *); 97void display(int); 98void error(const char *, ...) __printflike(1, 2); 99void clearerror(void); 100void fetchbufcache(void); 101void fetchdf(void); 102void fetchicmp(void); 103void fetchifstat(void); 104void fetchiostat(void); 105void fetchip(void); 106void fetchvmstat(void); 107void fetchsyscall(void); 108void fetchmbufs(void); 109void fetchnetstat(void); 110void fetchpigs(void); 111void fetchswap(void); 112void fetchtcp(void); 113int fetch_cptime(u_int64_t *); 114void global_help(char *); 115void global_interval(char *); 116void global_load(char *); 117void global_quit(char *) __dead; 118void global_stop(char *); 119void icmp_boot(char *); 120void icmp_run(char *); 121void icmp_time(char *); 122void icmp_zero(char *); 123int ifcmd(const char *cmd, const char *args); 124void ifstat_match(char*); 125void ifstat_pps(char*); 126void ifstat_scale(char*); 127int initbufcache(void); 128int initdf(void); 129int initicmp(void); 130int initifstat(void); 131int initiostat(void); 132int initip(void); 133int initvmstat(void); 134int initsyscall(void); 135int initmbufs(void); 136int initnetstat(void); 137int initpigs(void); 138int initswap(void); 139int inittcp(void); 140void iostat_bars(char *); 141void iostat_numbers(char *); 142void iostat_secs(char *); 143void iostat_rw(char *); 144void iostat_all(char *); 145void ip_boot(char *); 146void ip_run(char *); 147void ip_time(char *); 148void ip_zero(char *); 149void keyboard(void) __dead; 150ssize_t kvm_ckread(const void *, void *, size_t, const char *); 151void labelbufcache(void); 152void labeldf(void); 153void labelicmp(void); 154void labelifstat(void); 155void labeliostat(void); 156void labelip(void); 157void labelvmstat(void); 158void labelsyscall(void); 159void labelmbufs(void); 160void labelnetstat(void); 161void labelpigs(void); 162void labelps(void); 163void labels(void); 164void labelswap(void); 165void labeltcp(void); 166void labeltcpsyn(void); 167void netstat_all(char *); 168void netstat_display(char *); 169void netstat_ignore(char *); 170void netstat_names(char *); 171void netstat_numbers(char *); 172void netstat_reset(char *); 173void netstat_show(char *); 174void netstat_tcp(char *); 175void netstat_udp(char *); 176void nlisterr(struct nlist []) __dead; 177WINDOW *openbufcache(void); 178WINDOW *opendf(void); 179WINDOW *openicmp(void); 180WINDOW *openifstat(void); 181WINDOW *openiostat(void); 182WINDOW *openip(void); 183WINDOW *openvmstat(void); 184WINDOW *opensyscall(void); 185WINDOW *openmbufs(void); 186WINDOW *opennetstat(void); 187WINDOW *openpigs(void); 188WINDOW *openswap(void); 189WINDOW *opentcp(void); 190int prefix(const char *, const char *); 191void ps_user(char *); 192void redraw(void); 193void showbufcache(void); 194void showdf(void); 195void showicmp(void); 196void showifstat(void); 197void showiostat(void); 198void showip(void); 199void showvmstat(void); 200void showsyscall(void); 201void showmbufs(void); 202void shownetstat(void); 203void showpigs(void); 204void showps(void); 205void showswap(void); 206void showtcp(void); 207void showtcpsyn(void); 208void status(void); 209void switch_mode(struct mode *); 210void tcp_boot(char *); 211void tcp_run(char *); 212void tcp_time(char *); 213void tcp_zero(char *); 214bool toofast(int *); 215void vmstat_boot(char *); 216void vmstat_run(char *); 217void vmstat_time(char *); 218void vmstat_zero(char *); 219void syscall_boot(char *); 220void syscall_run(char *); 221void syscall_time(char *); 222void syscall_zero(char *); 223void syscall_order(char *); 224void syscall_show(char *); 225 226#ifdef INET6 227void closeip6(WINDOW *); 228void fetchip6(void); 229int initip6(void); 230void labelip6(void); 231WINDOW *openip6(void); 232void showip6(void); 233void ip6_boot(char *); 234void ip6_run(char *); 235void ip6_time(char *); 236void ip6_zero(char *); 237#endif 238