1 /*- 2 * SPDX-License-Identifier: BSD-3-Clause 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 * $FreeBSD$ 33 */ 34 35 #include <sys/cdefs.h> 36 #include <fcntl.h> 37 #include <kvm.h> 38 39 extern struct cmdtab *curcmd; 40 extern struct cmdtab cmdtab[]; 41 extern struct text *xtext; 42 extern WINDOW *wnd; 43 extern char **dr_name; 44 extern char c, *namp, hostname[]; 45 extern double avenrun[3]; 46 extern float *dk_mspw; 47 extern kvm_t *kd; 48 extern long ntext, textp; 49 extern int *dk_select; 50 extern int CMDLINE; 51 extern int dk_ndrive; 52 extern int hz, stathz; 53 extern double hertz; /* sampling frequency for cp_time and dk_time */ 54 extern int col; 55 extern int nhosts; 56 extern int nports; 57 extern int protos; 58 extern int verbose; 59 extern unsigned int delay; 60 61 extern int curscale; 62 extern char *matchline; 63 extern int showpps; 64 extern int needsort; 65 66 struct in_conninfo; 67 68 extern struct device_selection *dev_select; 69 extern long generation; 70 extern int num_devices; 71 extern int num_selected; 72 extern int num_selections; 73 extern long select_generation; 74 75 extern struct nlist namelist[]; 76 77 int checkhost(struct in_conninfo *); 78 int checkport(struct in_conninfo *); 79 void closeicmp(WINDOW *); 80 void closeicmp6(WINDOW *); 81 void closeifstat(WINDOW *); 82 void closeiostat(WINDOW *); 83 void closeip(WINDOW *); 84 void closeip6(WINDOW *); 85 void closekre(WINDOW *); 86 void closenetstat(WINDOW *); 87 void closepigs(WINDOW *); 88 void closeswap(WINDOW *); 89 void closetcp(WINDOW *); 90 int cmdifstat(const char *, const char *); 91 int cmdiolat(const char *, const char *); 92 int cmdiostat(const char *, const char *); 93 int cmdkre(const char *, const char *); 94 int cmdnetstat(const char *, const char *); 95 struct cmdtab *lookup(const char *); 96 void command(const char *); 97 void die(int); 98 void display(void); 99 int dkinit(void); 100 int dkcmd(char *, char *); 101 void error(const char *fmt, ...) __printflike(1, 2); 102 void fetchicmp(void); 103 void fetchicmp6(void); 104 void fetchifstat(void); 105 void fetchip(void); 106 void fetchip6(void); 107 void fetchiostat(void); 108 void fetchkre(void); 109 void fetchnetstat(void); 110 void fetchpigs(void); 111 void fetchswap(void); 112 void fetchtcp(void); 113 void getsysctl(const char *, void *, size_t); 114 int ifcmd(const char *cmd, const char *args); 115 int initicmp(void); 116 int initicmp6(void); 117 int initifstat(void); 118 int initip(void); 119 int initip6(void); 120 int initiostat(void); 121 int initkre(void); 122 int initnetstat(void); 123 int initpigs(void); 124 int initswap(void); 125 int inittcp(void); 126 int keyboard(void); 127 int kvm_ckread(void *, void *, int); 128 void labelicmp(void); 129 void labelicmp6(void); 130 void labelifstat(void); 131 void labelip(void); 132 void labelip6(void); 133 void labeliostat(void); 134 void labelkre(void); 135 void labelnetstat(void); 136 void labelpigs(void); 137 void labels(void); 138 void labelswap(void); 139 void labeltcp(void); 140 void load(void); 141 int netcmd(const char *, const char *); 142 void nlisterr(struct nlist []); 143 WINDOW *openicmp(void); 144 WINDOW *openicmp6(void); 145 WINDOW *openifstat(void); 146 WINDOW *openip(void); 147 WINDOW *openip6(void); 148 WINDOW *openiostat(void); 149 WINDOW *openkre(void); 150 WINDOW *opennetstat(void); 151 WINDOW *openpigs(void); 152 WINDOW *openswap(void); 153 WINDOW *opentcp(void); 154 int prefix(const char *, const char *); 155 void reseticmp(void); 156 void reseticmp6(void); 157 void resetip(void); 158 void resetip6(void); 159 void resettcp(void); 160 void showicmp(void); 161 void showicmp6(void); 162 void showifstat(void); 163 void showip(void); 164 void showip6(void); 165 void showiostat(void); 166 void showkre(void); 167 void shownetstat(void); 168 void showpigs(void); 169 void showswap(void); 170 void showtcp(void); 171 void status(void); 172 void suspend(int); 173 char *sysctl_dynread(const char *, size_t *); 174 void sysputpage(WINDOW* , int, int, int, uint64_t, int); 175 void sysputspaces(WINDOW* , int, int, int); 176 void sysputstrs(WINDOW* , int, int, int); 177 void sysputXs(WINDOW* , int, int, int); 178 void sysputuint64(WINDOW* , int, int, int, uint64_t, int); 179 void sysputwuint64(WINDOW* , int, int, int, uint64_t, int); 180 181 #define SYSTAT_CMD(name) \ 182 void close ## name(WINDOW *); \ 183 void fetch ## name(void); \ 184 int init ## name(void); \ 185 void label ## name(void); \ 186 WINDOW *open ## name(void); \ 187 void reset ## name(void); \ 188 void show ## name(void) 189 190 SYSTAT_CMD( zarc ); 191 SYSTAT_CMD( sctp ); 192 SYSTAT_CMD( iolat ); 193