Annotation of src/usr.bin/systat/systat.h, Revision 1.26
1.26 ! jsg 1: /* $OpenBSD: systat.h,v 1.25 2022/12/04 18:01:57 cheloha Exp $ */
1.1 deraadt 2: /* $NetBSD: systat.h,v 1.2 1995/01/20 08:52:14 jtc Exp $ */
3:
4: /*-
5: * Copyright (c) 1980, 1989, 1992, 1993
6: * The Regents of the University of California. All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
1.8 millert 16: * 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 17: * may be used to endorse or promote products derived from this software
18: * without specific prior written permission.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30: * SUCH DAMAGE.
31: *
32: * @(#)systat.h 8.1 (Berkeley) 6/6/93
33: */
34:
1.9 canacar 35: #ifndef _SYSTAT_H_
36: #define _SYSTAT_H_
37:
1.15 giovanni 38: #include <netinet/in.h>
1.9 canacar 39: #include <fcntl.h>
40: #include <kvm.h>
41: #include "engine.h"
1.1 deraadt 42:
43:
44: #define CF_INIT 0x1 /* been initialized */
45: #define CF_LOADAV 0x2 /* display w/ load average */
46:
1.16 jasper 47: #define FIELD_ADDR(struct, x) (&struct[x])
1.1 deraadt 48: #define NVAL(indx) namelist[(indx)].n_value
49: #define NPTR(indx) (void *)NVAL((indx))
1.9 canacar 50:
51: extern char **dr_name;
52: extern char hostname[];
53: extern double avenrun[3];
54: extern kvm_t *kd;
55: extern long ntext;
56: extern int *dk_select;
57: extern int dk_ndrive;
1.25 cheloha 58: extern int hz;
1.9 canacar 59: extern double naptime;
60: extern size_t nhosts;
61: extern size_t nports;
62: extern int protos;
63: extern int verbose;
64: extern int nflag;
1.17 lum 65: extern char uloadbuf[];
66: extern char timebuf[];
1.9 canacar 67:
68: struct inpcb;
69:
70: void die(void);
71: int print_header(void);
72: int keyboard_callback(int);
73: int initnetstat(void);
74: int initifstat(void);
75: int initiostat(void);
76: int initsensors(void);
77: int initmembufs(void);
78: int initpigs(void);
79: int initswap(void);
80: int initvmstat(void);
1.11 canacar 81: int initpftop(void);
1.9 canacar 82: int initpf(void);
1.10 canacar 83: int initpool(void);
1.12 canacar 84: int initmalloc(void);
1.13 jasper 85: int initnfs(void);
1.19 reyk 86: int initcpu(void);
1.22 krw 87: int inituvm(void);
1.20 deraadt 88:
89: void fetchkre(void);
90: void fetchifstat(void);
1.9 canacar 91:
92: void error(const char *fmt, ...);
93: void nlisterr(struct nlist []);
1.15 giovanni 94:
95: const char *inetname(struct in_addr);
96: const char *inet6name(struct in6_addr *);
1.9 canacar 97:
98: #endif
1.14 deraadt 99:
100: struct ifcount {
101: u_int64_t ifc_ib; /* input bytes */
102: u_int64_t ifc_ip; /* input packets */
103: u_int64_t ifc_ie; /* input errors */
1.23 dlg 104: u_int64_t ifc_iq; /* input qdrops */
1.14 deraadt 105: u_int64_t ifc_ob; /* output bytes */
106: u_int64_t ifc_op; /* output packets */
107: u_int64_t ifc_oe; /* output errors */
1.23 dlg 108: u_int64_t ifc_oq; /* output qdrops */
1.14 deraadt 109: u_int64_t ifc_co; /* collisions */
110: int ifc_flags; /* up / down */
111: int ifc_state; /* link state */
1.24 mortimer 112: };
113: extern struct ifcount sum;