Annotation of src/usr.bin/systat/systat.h, Revision 1.21
1.21 ! claudio 1: /* $OpenBSD: systat.h,v 1.20 2014/07/10 14:39:18 deraadt 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 KREAD(addr, buf, len) kvm_ckread((addr), (buf), (len))
49: #define NVAL(indx) namelist[(indx)].n_value
50: #define NPTR(indx) (void *)NVAL((indx))
51: #define NREAD(indx, buf, len) kvm_ckread(NPTR((indx)), (buf), (len))
1.9 canacar 52: int kvm_ckread(void *, void *, size_t);
53:
54: extern char **dr_name;
55: extern char hostname[];
56: extern double avenrun[3];
57: extern kvm_t *kd;
58: extern long ntext;
59: extern int *dk_select;
60: extern int dk_ndrive;
61: extern int hz, stathz;
62: extern double naptime;
63: extern size_t nhosts;
64: extern size_t nports;
65: extern int protos;
66: extern int verbose;
67: extern int nflag;
1.17 lum 68: extern char uloadbuf[];
69: extern char timebuf[];
1.9 canacar 70:
71: struct inpcb;
72:
73: void die(void);
74: int print_header(void);
75: int keyboard_callback(int);
76: int initnetstat(void);
77: int initifstat(void);
78: int initiostat(void);
79: int initsensors(void);
80: int initmembufs(void);
81: int initpigs(void);
82: int initswap(void);
83: int initvmstat(void);
1.11 canacar 84: int initpftop(void);
1.9 canacar 85: int initpf(void);
1.10 canacar 86: int initpool(void);
1.12 canacar 87: int initmalloc(void);
1.13 jasper 88: int initnfs(void);
1.19 reyk 89: int initcpu(void);
1.20 deraadt 90:
91: void fetchkre(void);
92: void fetchifstat(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;