Annotation of src/usr.bin/systat/systat.h, Revision 1.17
1.17 ! lum 1: /* $OpenBSD: systat.h,v 1.16 2011/03/02 06:48:17 jasper 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 <sys/cdefs.h>
40: #include <fcntl.h>
41: #include <kvm.h>
42: #include "engine.h"
1.1 deraadt 43:
44:
45: #define CF_INIT 0x1 /* been initialized */
46: #define CF_LOADAV 0x2 /* display w/ load average */
47:
48: #define TCP 0x1
49: #define UDP 0x2
50:
1.16 jasper 51: #define FIELD_ADDR(struct, x) (&struct[x])
1.1 deraadt 52: #define KREAD(addr, buf, len) kvm_ckread((addr), (buf), (len))
53: #define NVAL(indx) namelist[(indx)].n_value
54: #define NPTR(indx) (void *)NVAL((indx))
55: #define NREAD(indx, buf, len) kvm_ckread(NPTR((indx)), (buf), (len))
1.9 canacar 56: int kvm_ckread(void *, void *, size_t);
57:
58: extern char **dr_name;
59: extern char hostname[];
60: extern double avenrun[3];
61: extern kvm_t *kd;
62: extern long ntext;
63: extern int *dk_select;
64: extern int dk_ndrive;
65: extern int hz, stathz;
66: extern double naptime;
67: extern size_t nhosts;
68: extern size_t nports;
69: extern int protos;
70: extern int verbose;
71: extern int nflag;
1.17 ! lum 72: extern char uloadbuf[];
! 73: extern char timebuf[];
1.9 canacar 74:
75: struct inpcb;
76:
77: void die(void);
78: int print_header(void);
79: int keyboard_callback(int);
80: int initnetstat(void);
81: int initifstat(void);
82: int initiostat(void);
83: int initsensors(void);
84: int initmembufs(void);
85: int initpigs(void);
86: int initswap(void);
87: int initvmstat(void);
1.11 canacar 88: int initpftop(void);
1.9 canacar 89: int initpf(void);
1.10 canacar 90: int initpool(void);
1.12 canacar 91: int initmalloc(void);
1.13 jasper 92: int initnfs(void);
1.9 canacar 93:
94: void error(const char *fmt, ...);
95: void nlisterr(struct nlist []);
1.15 giovanni 96:
97: const char *inetname(struct in_addr);
98: const char *inet6name(struct in6_addr *);
1.9 canacar 99:
100: #endif
1.14 deraadt 101:
102: struct ifcount {
103: u_int64_t ifc_ib; /* input bytes */
104: u_int64_t ifc_ip; /* input packets */
105: u_int64_t ifc_ie; /* input errors */
106: u_int64_t ifc_ob; /* output bytes */
107: u_int64_t ifc_op; /* output packets */
108: u_int64_t ifc_oe; /* output errors */
109: u_int64_t ifc_co; /* collisions */
110: int ifc_flags; /* up / down */
111: int ifc_state; /* link state */
112: } sum;