[BACK]Return to netstat.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / netstat

Annotation of src/usr.bin/netstat/netstat.h, Revision 1.77

1.77    ! kn          1: /*     $OpenBSD: netstat.h,v 1.76 2021/01/26 18:22:45 deraadt Exp $    */
1.2       deraadt     2: /*     $NetBSD: netstat.h,v 1.6 1996/05/07 02:55:05 thorpej Exp $      */
1.1       deraadt     3:
                      4: /*
                      5:  * Copyright (c) 1992, 1993
                      6:  *     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.23      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:  *     from: @(#)netstat.h     8.2 (Berkeley) 1/4/94
                     33:  */
1.8       millert    34:
1.66      guenther   35: #include <kvm.h>
                     36:
1.9       millert    37: /* What is the max length of a pointer printed with %p (including 0x)? */
                     38: #define PLEN   (LONG_BIT / 4 + 2)
1.1       deraadt    39:
1.68      claudio    40: /* a bit of magic to print addresses as they should */
                     41: #define        FAKE_PTR(p)     (PLEN - ((p) ? 0 : 2)), p, ((p) ? "" : "x0")
                     42:
1.76      deraadt    43: extern int     Aflag;          /* show addresses of protocol control block */
                     44: extern int     aflag;          /* show all sockets (including servers) */
                     45: extern int     Bflag;          /* show TCP send and receive buffer sizes */
                     46: extern int     bflag;          /* show bytes instead of packets */
                     47: extern int     dflag;          /* show i/f dropped packets */
                     48: extern int     Fflag;          /* show routes whose gateways are in specified AF */
                     49: extern int     gflag;          /* show group (multicast) routing or stats */
                     50: extern int     hflag;          /* print human numbers */
                     51: extern int     iflag;          /* show interfaces */
                     52: extern int     lflag;          /* show only listening sockets (only servers), */
1.71      benno      53:                        /* with -g, show routing table with use and ref */
1.76      deraadt    54: extern int     mflag;          /* show memory stats */
                     55: extern int     nflag;          /* show addresses numerically */
                     56: extern int     pflag;          /* show given protocol */
                     57: extern int     Pflag;          /* show given PCB */
                     58: extern int qflag;              /* only display non-zero values for output */
                     59: extern int     rflag;          /* show routing tables (or routing stats) */
                     60: extern int     Rflag;          /* show rdomain and rtable summary */
                     61: extern int     sflag;          /* show protocol statistics */
                     62: extern int     vflag;          /* be verbose */
                     63: extern int     Wflag;          /* show net80211 protocol statistics */
1.1       deraadt    64:
1.76      deraadt    65: extern int     interval;       /* repeat interval for i/f stats */
1.1       deraadt    66:
1.76      deraadt    67: extern char    *interface;     /* desired i/f for stats, or NULL for all i/fs */
1.1       deraadt    68:
1.76      deraadt    69: extern int     af;             /* address family */
1.1       deraadt    70:
1.2       deraadt    71: extern char *__progname; /* program name, from crt0.o */
1.1       deraadt    72:
1.32      jaredy     73: int    kread(u_long addr, void *buf, int size);
1.49      claudio    74: char   *plural(u_int64_t);
                     75: char   *plurales(u_int64_t);
1.70      bluhm      76: char   *pluralys(u_int64_t);
1.1       deraadt    77:
1.68      claudio    78: void   protopr(kvm_t *, u_long, u_int, int);
                     79:
                     80: struct kinfo_file;
                     81: void   netdomainpr(struct kinfo_file *, int);
                     82: void   unixdomainpr(struct kinfo_file *);
                     83:
                     84: void   socket_dump(u_long);
                     85: void   unpcb_dump(u_long);
                     86:
1.45      deraadt    87: void   tcp_stats(char *);
                     88: void   udp_stats(char *);
                     89: void   ip_stats(char *);
1.51      michele    90: void   div_stats(char *);
1.45      deraadt    91: void   icmp_stats(char *);
                     92: void   igmp_stats(char *);
                     93: void   pim_stats(char *);
                     94: void   ah_stats(char *);
1.72      mpi        95: void   ipsec_stats(char *);
1.45      deraadt    96: void   esp_stats(char *);
                     97: void   ipip_stats(char *);
                     98: void   carp_stats (char *);
                     99: void   pfsync_stats (char *);
1.48      gollo     100: void   pflow_stats (char *);
1.45      deraadt   101: void   etherip_stats(char *);
                    102: void   ipcomp_stats(char *);
                    103:
1.42      ray       104: void   net80211_ifstats(char *);
1.35      markus    105:
1.44      deraadt   106: void   mbpr(void);
1.1       deraadt   107:
1.20      millert   108: void   hostpr(u_long, u_long);
                    109: void   impstats(u_long, u_long);
1.1       deraadt   110:
1.46      claudio   111: void   rt_stats(void);
1.36      claudio   112: void   pr_rthdr(int, int);
1.24      deraadt   113: void   pr_encaphdr(void);
1.20      millert   114: void   pr_family(int);
1.75      remi      115:
                    116: void   rdomainpr(void);
1.13      itojun    117:
1.45      deraadt   118: void   ip6_stats(char *);
                    119: void   icmp6_stats(char *);
                    120: void   pim6_stats(char *);
1.52      michele   121: void   div6_stats(char *);
1.45      deraadt   122: void   rip6_stats(char *);
1.67      claudio   123: void   mroute6pr(void);
1.45      deraadt   124: void   mrt6_stats(void);
1.68      claudio   125:
                    126: struct in6_addr;
                    127: struct sockaddr_in6;
                    128: void   inet6print(struct in6_addr *, int, const char *);
1.20      millert   129: char   *routename6(struct sockaddr_in6 *);
1.36      claudio   130: char   *netname6(struct sockaddr_in6 *, struct sockaddr_in6 *);
1.1       deraadt   131:
1.67      claudio   132: size_t get_sysctl(const int *, u_int, char **);
1.62      mikeb     133: void   p_rttables(int, u_int);
1.36      claudio   134: void   p_flags(int, char *);
                    135: void   p_addr(struct sockaddr *, struct sockaddr *, int);
                    136: void   p_gwaddr(struct sockaddr *, int);
                    137: void   p_sockaddr(struct sockaddr *, struct sockaddr *, int, int);
                    138: char   *routename(struct sockaddr *);
                    139: char   *routename4(in_addr_t);
                    140: char   *netname(struct sockaddr *, struct sockaddr *);
                    141: char   *netname4(in_addr_t, in_addr_t);
1.54      claudio   142: char   *mpls_op(u_int32_t);
1.74      mpi       143: void   routepr(u_long, u_long, u_long, u_int);
1.20      millert   144:
                    145: void   nsprotopr(u_long, char *);
1.73      dlg       146:
                    147: #define        IF_SHOW_FAIL    0
                    148: #define        IF_SHOW_ERRS    1
                    149: #define        IF_SHOW_DROP    2
1.20      millert   150:
1.53      tedu      151: void   intpr(int, int);
1.20      millert   152:
1.67      claudio   153: void   mroutepr(void);
1.45      deraadt   154: void   mrt_stats(void);