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

1.78    ! jsg         1: /*     $OpenBSD: netstat.h,v 1.77 2022/09/08 13:18:47 kn 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   ah_stats(char *);
1.72      mpi        94: void   ipsec_stats(char *);
1.45      deraadt    95: void   esp_stats(char *);
                     96: void   ipip_stats(char *);
                     97: void   carp_stats (char *);
                     98: void   pfsync_stats (char *);
1.48      gollo      99: void   pflow_stats (char *);
1.45      deraadt   100: void   etherip_stats(char *);
                    101: void   ipcomp_stats(char *);
                    102:
1.42      ray       103: void   net80211_ifstats(char *);
1.35      markus    104:
1.44      deraadt   105: void   mbpr(void);
1.1       deraadt   106:
1.46      claudio   107: void   rt_stats(void);
1.36      claudio   108: void   pr_rthdr(int, int);
1.20      millert   109: void   pr_family(int);
1.75      remi      110:
                    111: void   rdomainpr(void);
1.13      itojun    112:
1.45      deraadt   113: void   ip6_stats(char *);
                    114: void   icmp6_stats(char *);
1.52      michele   115: void   div6_stats(char *);
1.45      deraadt   116: void   rip6_stats(char *);
1.67      claudio   117: void   mroute6pr(void);
1.45      deraadt   118: void   mrt6_stats(void);
1.68      claudio   119:
                    120: struct in6_addr;
                    121: struct sockaddr_in6;
                    122: void   inet6print(struct in6_addr *, int, const char *);
1.20      millert   123: char   *routename6(struct sockaddr_in6 *);
1.36      claudio   124: char   *netname6(struct sockaddr_in6 *, struct sockaddr_in6 *);
1.1       deraadt   125:
1.67      claudio   126: size_t get_sysctl(const int *, u_int, char **);
1.62      mikeb     127: void   p_rttables(int, u_int);
1.36      claudio   128: void   p_flags(int, char *);
                    129: void   p_addr(struct sockaddr *, struct sockaddr *, int);
                    130: void   p_gwaddr(struct sockaddr *, int);
                    131: void   p_sockaddr(struct sockaddr *, struct sockaddr *, int, int);
                    132: char   *routename(struct sockaddr *);
                    133: char   *routename4(in_addr_t);
                    134: char   *netname(struct sockaddr *, struct sockaddr *);
                    135: char   *netname4(in_addr_t, in_addr_t);
1.54      claudio   136: char   *mpls_op(u_int32_t);
1.74      mpi       137: void   routepr(u_long, u_long, u_long, u_int);
1.73      dlg       138:
                    139: #define        IF_SHOW_FAIL    0
                    140: #define        IF_SHOW_ERRS    1
                    141: #define        IF_SHOW_DROP    2
1.20      millert   142:
1.53      tedu      143: void   intpr(int, int);
1.20      millert   144:
1.67      claudio   145: void   mroutepr(void);
1.45      deraadt   146: void   mrt_stats(void);