[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.76

1.76    ! deraadt     1: /*     $OpenBSD: netstat.h,v 1.75 2020/06/12 06:22:32 remi 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     tflag;          /* show i/f watchdog timers */
        !            63: extern int     vflag;          /* be verbose */
        !            64: extern int     Wflag;          /* show net80211 protocol statistics */
1.1       deraadt    65:
1.76    ! deraadt    66: extern int     interval;       /* repeat interval for i/f stats */
1.1       deraadt    67:
1.76    ! deraadt    68: extern char    *interface;     /* desired i/f for stats, or NULL for all i/fs */
1.1       deraadt    69:
1.76    ! deraadt    70: extern int     af;             /* address family */
1.1       deraadt    71:
1.2       deraadt    72: extern char *__progname; /* program name, from crt0.o */
1.1       deraadt    73:
1.32      jaredy     74: int    kread(u_long addr, void *buf, int size);
1.49      claudio    75: char   *plural(u_int64_t);
                     76: char   *plurales(u_int64_t);
1.70      bluhm      77: char   *pluralys(u_int64_t);
1.1       deraadt    78:
1.68      claudio    79: void   protopr(kvm_t *, u_long, u_int, int);
                     80:
                     81: struct kinfo_file;
                     82: void   netdomainpr(struct kinfo_file *, int);
                     83: void   unixdomainpr(struct kinfo_file *);
                     84:
                     85: void   socket_dump(u_long);
                     86: void   unpcb_dump(u_long);
                     87:
1.45      deraadt    88: void   tcp_stats(char *);
                     89: void   udp_stats(char *);
                     90: void   ip_stats(char *);
1.51      michele    91: void   div_stats(char *);
1.45      deraadt    92: void   icmp_stats(char *);
                     93: void   igmp_stats(char *);
                     94: void   pim_stats(char *);
                     95: void   ah_stats(char *);
1.72      mpi        96: void   ipsec_stats(char *);
1.45      deraadt    97: void   esp_stats(char *);
                     98: void   ipip_stats(char *);
                     99: void   carp_stats (char *);
                    100: void   pfsync_stats (char *);
1.48      gollo     101: void   pflow_stats (char *);
1.45      deraadt   102: void   etherip_stats(char *);
                    103: void   ipcomp_stats(char *);
                    104:
1.42      ray       105: void   net80211_ifstats(char *);
1.35      markus    106:
1.44      deraadt   107: void   mbpr(void);
1.1       deraadt   108:
1.20      millert   109: void   hostpr(u_long, u_long);
                    110: void   impstats(u_long, u_long);
1.1       deraadt   111:
1.46      claudio   112: void   rt_stats(void);
1.36      claudio   113: void   pr_rthdr(int, int);
1.24      deraadt   114: void   pr_encaphdr(void);
1.20      millert   115: void   pr_family(int);
1.75      remi      116:
                    117: void   rdomainpr(void);
1.13      itojun    118:
1.45      deraadt   119: void   ip6_stats(char *);
                    120: void   icmp6_stats(char *);
                    121: void   pim6_stats(char *);
1.52      michele   122: void   div6_stats(char *);
1.45      deraadt   123: void   rip6_stats(char *);
1.67      claudio   124: void   mroute6pr(void);
1.45      deraadt   125: void   mrt6_stats(void);
1.68      claudio   126:
                    127: struct in6_addr;
                    128: struct sockaddr_in6;
                    129: void   inet6print(struct in6_addr *, int, const char *);
1.20      millert   130: char   *routename6(struct sockaddr_in6 *);
1.36      claudio   131: char   *netname6(struct sockaddr_in6 *, struct sockaddr_in6 *);
1.1       deraadt   132:
1.67      claudio   133: size_t get_sysctl(const int *, u_int, char **);
1.62      mikeb     134: void   p_rttables(int, u_int);
1.36      claudio   135: void   p_flags(int, char *);
                    136: void   p_addr(struct sockaddr *, struct sockaddr *, int);
                    137: void   p_gwaddr(struct sockaddr *, int);
                    138: void   p_sockaddr(struct sockaddr *, struct sockaddr *, int, int);
                    139: char   *routename(struct sockaddr *);
                    140: char   *routename4(in_addr_t);
                    141: char   *netname(struct sockaddr *, struct sockaddr *);
                    142: char   *netname4(in_addr_t, in_addr_t);
1.54      claudio   143: char   *mpls_op(u_int32_t);
1.74      mpi       144: void   routepr(u_long, u_long, u_long, u_int);
1.20      millert   145:
                    146: void   nsprotopr(u_long, char *);
1.73      dlg       147:
                    148: #define        IF_SHOW_FAIL    0
                    149: #define        IF_SHOW_ERRS    1
                    150: #define        IF_SHOW_DROP    2
1.20      millert   151:
1.53      tedu      152: void   intpr(int, int);
1.20      millert   153:
1.67      claudio   154: void   mroutepr(void);
1.45      deraadt   155: void   mrt_stats(void);