2 * Copyright (c) 1992, 1993
3 * Regents of the University of California. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of the University nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * @(#)netstat.h 8.2 (Berkeley) 1/4/94
30 * $FreeBSD: src/usr.bin/netstat/netstat.h,v 1.16.2.7 2001/09/17 15:17:46 ru Exp $
33 #include <sys/cdefs.h>
35 extern int Aflag
; /* show addresses of protocol control block */
36 extern int aflag
; /* show all sockets (including servers) */
37 extern int bflag
; /* show i/f total bytes in/out */
39 extern int dflag
; /* show i/f dropped packets */
40 extern int gflag
; /* show group (multicast) routing or stats */
41 extern int hflag
; /* show counters in human readable format */
42 extern int iflag
; /* show interfaces */
43 extern int Lflag
; /* show size of listen queues */
44 extern int mflag
; /* show memory stats */
45 extern int Pflag
; /* show more protocol info */
46 extern int numeric_addr
; /* show addresses numerically */
47 extern int numeric_port
; /* show ports numerically */
48 extern int rflag
; /* show routing tables (or routing stats) */
49 extern int sflag
; /* show protocol statistics */
50 extern int tflag
; /* show i/f watchdog timers */
51 extern int Bflag
; /* show buffer limit instead of buffer use */
52 extern int Wflag
; /* wide display */
53 extern int zflag
; /* zero stats */
54 extern int interval
; /* repeat interval for i/f stats */
56 extern char *interface
; /* desired i/f for stats, or NULL for all i/fs */
57 extern int unit
; /* unit number for above */
59 extern int af
; /* address family */
61 int kread (u_long addr
, char *buf
, int size
);
62 const char *plural (int);
63 const char *plurales (int);
65 void protopr (u_long
, const char *, int);
66 void tcp_stats (u_long
, const char *, int);
67 void udp_stats (u_long
, const char *, int);
68 void ip_stats (u_long
, const char *, int);
69 void icmp_stats (u_long
, const char *, int);
70 void igmp_stats (u_long
, const char *, int);
71 void pim_stats (u_long
, const char *, int);
72 void carp_stats (u_long
, const char *, int);
75 void ip6_stats (u_long
, const char *, int);
76 void ip6_ifstats (char *);
77 void icmp6_stats (u_long
, const char *, int);
78 void icmp6_ifstats (char *);
79 void pim6_stats (u_long
, const char *, int);
80 void rip6_stats (u_long
, const char *, int);
81 void mroute6pr (u_long
, u_long
);
82 void mrt6_stats (u_long
);
86 char *routename6 (struct sockaddr_in6
*);
87 const char *netname6 (struct sockaddr_in6
*, struct in6_addr
*);
90 void mbpr (u_long
, u_long
, u_long
, u_long
, u_long
, u_long
);
92 void hostpr (u_long
, u_long
);
93 void impstats (u_long
, u_long
);
95 void intpr (int, u_long
, void (*)(char *), u_long
);
100 char *ns_phost (struct sockaddr
*);
102 char *routename (u_long
);
103 char *netname (u_long
, u_long
);
104 char *ns_print (struct sockaddr
*);
105 void routepr (u_long
);
107 void nsprotopr (u_long
, char *, int);
108 void spp_stats (u_long
, char *, int);
109 void idp_stats (u_long
, char *, int);
110 void nserr_stats (u_long
, char *, int);
112 void netgraphprotopr (u_long
, const char *, int);
116 void esis_stats (u_long
, char *, int);
117 void clnp_stats (u_long
, char *, int);
118 void cltp_stats (u_long
, char *, int);
119 void iso_protopr (u_long
, char *, int);
120 void iso_protopr1 (u_long
, int);
121 void tp_protopr (u_long
, char *, int);
122 void tp_inproto (u_long
);
123 void tp_stats (caddr_t
, caddr_t
);
125 void mroutepr (u_long
, u_long
);
126 void mrt_stats (u_long
);