diff options
author | assar <assar@FreeBSD.org> | 2001-06-15 00:25:44 +0000 |
---|---|---|
committer | assar <assar@FreeBSD.org> | 2001-06-15 00:25:44 +0000 |
commit | ea6e16bc20e4706c99c89ec7b7f3ab3be1791a4c (patch) | |
tree | 4c8e50bedba0b4b6d215e040dc90818e756c7c91 | |
parent | 5f504c676b2624b656e970c104fbdb1b8bb95ce6 (diff) | |
download | FreeBSD-src-ea6e16bc20e4706c99c89ec7b7f3ab3be1791a4c.zip FreeBSD-src-ea6e16bc20e4706c99c89ec7b7f3ab3be1791a4c.tar.gz |
add the option -S for printing port numbers symbolically but addresses
numerically. clean up the CFLAGS in Makefile.
-rw-r--r-- | usr.bin/netstat/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/netstat/inet.c | 14 | ||||
-rw-r--r-- | usr.bin/netstat/inet6.c | 8 | ||||
-rw-r--r-- | usr.bin/netstat/iso.c | 9 | ||||
-rw-r--r-- | usr.bin/netstat/main.c | 12 | ||||
-rw-r--r-- | usr.bin/netstat/mroute.c | 8 | ||||
-rw-r--r-- | usr.bin/netstat/mroute6.c | 12 | ||||
-rw-r--r-- | usr.bin/netstat/netstat.1 | 16 | ||||
-rw-r--r-- | usr.bin/netstat/netstat.h | 3 | ||||
-rw-r--r-- | usr.bin/netstat/route.c | 16 |
10 files changed, 55 insertions, 45 deletions
diff --git a/usr.bin/netstat/Makefile b/usr.bin/netstat/Makefile index c0a19a7..0b47e40 100644 --- a/usr.bin/netstat/Makefile +++ b/usr.bin/netstat/Makefile @@ -6,6 +6,7 @@ SRCS= if.c inet.c inet6.c main.c mbuf.c mroute.c ipx.c route.c \ unix.c atalk.c netgraph.c mroute6.c ipsec.c # iso.c ns.c tp_astring.c CFLAGS+=-Wall CFLAGS+=-DIPSEC +CFLAGS+=-DINET6 #CFLAGS+=-g #.PATH: ${.CURDIR}/../../sys/netiso @@ -13,6 +14,5 @@ BINGRP= kmem BINMODE=2555 DPADD= ${LIBKVM} ${LIBIPX} ${LIBNETGRAPH} ${LIBUTIL} LDADD= -lkvm -lipx -lnetgraph -lutil -CFLAGS+=-DINET6 -DIPSEC .include <bsd.prog.mk> diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index aee1aed..ebbab35 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -259,7 +259,7 @@ protopr(proto, name, af) so->so_rcv.sb_cc, so->so_snd.sb_cc); } - if (nflag) { + if (numeric_port) { if (inp->inp_vflag & INP_IPV4) { inetprint(&inp->inp_laddr, (int)inp->inp_lport, name, 1); @@ -686,11 +686,11 @@ igmp_stats(off, name) * Pretty print an Internet address (net address + port). */ void -inetprint(in, port, proto,numeric) +inetprint(in, port, proto, numeric_port) register struct in_addr *in; int port; char *proto; - int numeric; + int numeric_port; { struct servent *sp = 0; char line[80], *cp; @@ -699,9 +699,9 @@ inetprint(in, port, proto,numeric) if (Wflag) sprintf(line, "%s.", inetname(in)); else - sprintf(line, "%.*s.", (Aflag && !numeric) ? 12 : 16, inetname(in)); + sprintf(line, "%.*s.", (Aflag && !numeric_port) ? 12 : 16, inetname(in)); cp = index(line, '\0'); - if (!numeric && port) + if (!numeric_port && port) sp = getservbyport((int)port, proto); if (sp || port == 0) sprintf(cp, "%.15s ", sp ? sp->s_name : "*"); @@ -716,7 +716,7 @@ inetprint(in, port, proto,numeric) /* * Construct an Internet address representation. - * If the nflag has been supplied, give + * If numeric_addr has been supplied, give * numeric value, otherwise try for symbolic name. */ char * @@ -729,7 +729,7 @@ inetname(inp) struct netent *np; cp = 0; - if (!nflag && inp->s_addr != INADDR_ANY) { + if (!numeric_addr && inp->s_addr != INADDR_ANY) { int net = inet_netof(*inp); int lna = inet_lnaof(*inp); diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c index c41ab90..e027d7f 100644 --- a/usr.bin/netstat/inet6.c +++ b/usr.bin/netstat/inet6.c @@ -1022,7 +1022,7 @@ rip6_stats(off, name) /* * Pretty print an Internet address (net address + port). - * If the nflag was specified, use numbers instead of names. + * Take numeric_addr and numeric_port into consideration. */ #define GETSERVBYPORT6(port, proto, ret)\ {\ @@ -1060,7 +1060,7 @@ inet6print(in6, port, proto, numeric) /* * Construct an Internet address representation. - * If the nflag has been supplied, give + * If the numeric_addr has been supplied, give * numeric value, otherwise try for symbolic name. */ @@ -1074,7 +1074,7 @@ inet6name(in6p) static char domain[MAXHOSTNAMELEN]; static int first = 1; - if (first && !nflag) { + if (first && !numeric_addr) { first = 0; if (gethostname(domain, MAXHOSTNAMELEN) == 0 && (cp = index(domain, '.'))) @@ -1083,7 +1083,7 @@ inet6name(in6p) domain[0] = 0; } cp = 0; - if (!nflag && !IN6_IS_ADDR_UNSPECIFIED(in6p)) { + if (!numeric_addr && !IN6_IS_ADDR_UNSPECIFIED(in6p)) { hp = gethostbyaddr((char *)in6p, sizeof(*in6p), AF_INET6); if (hp) { if ((cp = index(hp->h_name, '.')) && diff --git a/usr.bin/netstat/iso.c b/usr.bin/netstat/iso.c index 1cec3b2..735498a 100644 --- a/usr.bin/netstat/iso.c +++ b/usr.bin/netstat/iso.c @@ -366,7 +366,8 @@ tp_inproto(pcb) /* * Pretty print an iso address (net address + port). - * If the nflag was specified, use numbers instead of names. + * If the numeric_addr or numeric_port were specified, + * use numbers instead of names. */ #ifdef notdef @@ -387,7 +388,7 @@ isonetname(iso) sa.siso_addr = *iso; sa.siso_tsuffix = 0; - if (!nflag ) + if ( !numeric_addr ) ihe = iso_gethostentrybyaddr( &sa, 0, 0 ); if( ihe ) { Ihe = *ihe; @@ -426,7 +427,7 @@ isonetprint(iso, sufx, sufxlen, islocal) if(Aflag) islocal += 10 ; - if(!nflag) { + if(!numeric_addr) { if( (cp -line)>10 ) { cp = line+10; bzero(cp, sizeof(line)-10); @@ -435,7 +436,7 @@ isonetprint(iso, sufx, sufxlen, islocal) *cp++ = '.'; if(sufxlen) { - if( !Aflag && !nflag && (ihe=iso_getserventrybytsel(sufx, sufxlen))) { + if( !Aflag && !numeric_port && (ihe=iso_getserventrybytsel(sufx, sufxlen))) { Ihe = *ihe; ihe = &Ihe; } diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c index 293e899..db75f0a 100644 --- a/usr.bin/netstat/main.c +++ b/usr.bin/netstat/main.c @@ -311,7 +311,8 @@ int iflag; /* show interfaces */ int lflag; /* show routing table with use and ref */ int Lflag; /* show size of listen queues */ int mflag; /* show memory stats */ -int nflag; /* show addresses numerically */ +int numeric_addr; /* show addresses numerically */ +int numeric_port; /* show ports numerically */ int pflag; /* show given protocol */ int rflag; /* show routing tables (or routing stats) */ int sflag; /* show protocol statistics */ @@ -335,7 +336,7 @@ main(argc, argv) af = AF_UNSPEC; - while ((ch = getopt(argc, argv, "Aabdf:gI:iLlM:mN:np:rstuWw:")) != -1) + while ((ch = getopt(argc, argv, "Aabdf:gI:iLlM:mN:np:rsStuWw:")) != -1) switch(ch) { case 'A': Aflag = 1; @@ -413,7 +414,7 @@ main(argc, argv) nlistf = optarg; break; case 'n': - nflag = 1; + numeric_addr = numeric_port = 1; break; case 'p': if ((tp = name2protox(optarg)) == NULL) { @@ -429,6 +430,9 @@ main(argc, argv) case 's': ++sflag; break; + case 'S': + numeric_addr = 1; + break; case 't': tflag = 1; break; @@ -740,7 +744,7 @@ usage() { (void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n", "usage: netstat [-AaLlnW] [-f address_family] [-M core] [-N system]", -" netstat [-abdgilnrs] [-f address_family] [-M core] [-N system]", +" netstat [-abdgilnrsS] [-f address_family] [-M core] [-N system]", " netstat [-bdn] [-I interface] [-M core] [-N system] [-w wait]", " netstat -m [-M core] [-N system]", " netstat [-M core] [-N system] [-p protocol]"); diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c index 46e0dfe..15ddce5 100644 --- a/usr.bin/netstat/mroute.c +++ b/usr.bin/netstat/mroute.c @@ -77,7 +77,7 @@ mroutepr(mfcaddr, vifaddr) register vifi_t vifi; register int i; register int banner_printed; - register int saved_nflag; + register int saved_numeric_addr; vifi_t maxvif = 0; if (mfcaddr == 0 || vifaddr == 0) { @@ -85,8 +85,8 @@ mroutepr(mfcaddr, vifaddr) return; } - saved_nflag = nflag; - nflag = 1; + saved_numeric_addr = numeric_addr; + numeric_addr = 1; kread(vifaddr, (char *)&viftable, sizeof(viftable)); banner_printed = 0; @@ -145,7 +145,7 @@ mroutepr(mfcaddr, vifaddr) printf("\nMulticast Routing Table is empty\n"); printf("\n"); - nflag = saved_nflag; + numeric_addr = saved_numeric_addr; } diff --git a/usr.bin/netstat/mroute6.c b/usr.bin/netstat/mroute6.c index 3441445..5da36c4 100644 --- a/usr.bin/netstat/mroute6.c +++ b/usr.bin/netstat/mroute6.c @@ -88,8 +88,8 @@ #include "netstat.h" -#define WID_ORG (lflag ? 39 : (nflag ? 29 : 18)) /* width of origin column */ -#define WID_GRP (lflag ? 18 : (nflag ? 16 : 18)) /* width of group column */ +#define WID_ORG (lflag ? 39 : (numeric_addr ? 29 : 18)) /* width of origin column */ +#define WID_GRP (lflag ? 18 : (numeric_addr ? 16 : 18)) /* width of group column */ extern char *routename6 __P((struct sockaddr_in6 *)); @@ -105,7 +105,7 @@ mroute6pr(mfcaddr, mifaddr) register mifi_t mifi; register int i; register int banner_printed; - register int saved_nflag; + register int saved_numeric_addr; mifi_t maxmif = 0; long int waitings; @@ -115,8 +115,8 @@ mroute6pr(mfcaddr, mifaddr) return; } - saved_nflag = nflag; - nflag = 1; + saved_numeric_addr = numeric_addr; + numeric_addr = 1; kread(mifaddr, (char *)&mif6table, sizeof(mif6table)); banner_printed = 0; @@ -192,7 +192,7 @@ mroute6pr(mfcaddr, mifaddr) printf("\nIPv6 Multicast Routing Table is empty\n"); printf("\n"); - nflag = saved_nflag; + numeric_addr = saved_numeric_addr; } void diff --git a/usr.bin/netstat/netstat.1 b/usr.bin/netstat/netstat.1 index 8f53bd1..774c4ac 100644 --- a/usr.bin/netstat/netstat.1 +++ b/usr.bin/netstat/netstat.1 @@ -34,7 +34,7 @@ .\" .Dd April 18, 1994 .Dt NETSTAT 1 -.Os BSD 4.2 +.Os .Sh NAME .Nm netstat .Nd show network status @@ -45,7 +45,7 @@ .Op Fl M Ar core .Op Fl N Ar system .Nm -.Op Fl bdgilnrs +.Op Fl bdgilnrsS .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system @@ -172,7 +172,7 @@ option) or the .Fl p Ar protocol option is present, show per-interface statistics on the .Ar interface -for the specfied +for the specified .Ar address_family or .Ar protocol , @@ -194,7 +194,7 @@ option (with the option) or the .Fl p Ar protocol option is present, show per-interface statistics on all interfaces -for the specfied +for the specified .Ar address_family or .Ar protocol , @@ -218,11 +218,15 @@ Show statistics recorded by the memory management routines Extract the name list from the specified system instead of the default .Pa /kernel . .It Fl n -Show network addresses as numbers (normally +Show network addresses and ports as numbers (normally .Nm -interprets addresses and attempts to display them +interprets addresses and ports and attempts to display them symbolically). This option may be used with any of the display formats. +.It Fl S +Show network addresses as numbers (as with +.Fl n ) +but show ports symbolically). .It Fl p Ar protocol Show statistics about .Ar protocol , diff --git a/usr.bin/netstat/netstat.h b/usr.bin/netstat/netstat.h index 997750c..8a817f4 100644 --- a/usr.bin/netstat/netstat.h +++ b/usr.bin/netstat/netstat.h @@ -45,7 +45,8 @@ extern int iflag; /* show interfaces */ extern int lflag; /* show routing table with use and ref */ extern int Lflag; /* show size of listen queues */ extern int mflag; /* show memory stats */ -extern int nflag; /* show addresses numerically */ +extern int numeric_addr; /* show addresses numerically */ +extern int numeric_port; /* show ports numerically */ extern int pflag; /* show given protocol */ extern int rflag; /* show routing tables (or routing stats) */ extern int sflag; /* show protocol statistics */ diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c index 11e49b6..046dad1 100644 --- a/usr.bin/netstat/route.c +++ b/usr.bin/netstat/route.c @@ -235,9 +235,9 @@ pr_family(af) #define WID_IF(af) 6 /* width of netif column */ #else #define WID_DST(af) \ - ((af) == AF_INET6 ? (lflag ? 39 : (nflag ? 33: 18)) : 18) + ((af) == AF_INET6 ? (lflag ? 39 : (numeric_addr ? 33: 18)) : 18) #define WID_GW(af) \ - ((af) == AF_INET6 ? (lflag ? 31 : (nflag ? 29 : 18)) : 18) + ((af) == AF_INET6 ? (lflag ? 31 : (numeric_addr ? 29 : 18)) : 18) #define WID_IF(af) ((af) == AF_INET6 ? 8 : 6) #endif /*INET6*/ @@ -564,7 +564,7 @@ p_sockaddr(sa, mask, flags, width) if (width < 0 ) printf("%s ", cp); else { - if (nflag) + if (numeric_addr) printf("%-*s ", width, cp); else printf("%-*.*s ", width, width, cp); @@ -662,7 +662,7 @@ routename(in) struct hostent *hp; cp = 0; - if (!nflag) { + if (!numeric_addr) { hp = gethostbyaddr((char *)&in, sizeof (struct in_addr), AF_INET); if (hp) { @@ -744,7 +744,7 @@ netname(in, mask) i = ntohl(in); dmask = forgemask(i); omask = mask; - if (!nflag && i) { + if (!numeric_addr && i) { net = i & dmask; if (!(np = getnetbyaddr(i, AF_INET)) && net != i) np = getnetbyaddr(net, AF_INET); @@ -841,12 +841,12 @@ netname6(sa6, mask) if (masklen == 0 && IN6_IS_ADDR_UNSPECIFIED(&sa6->sin6_addr)) return("default"); - if (nflag) + if (numeric_addr) flag |= NI_NUMERICHOST; getnameinfo((struct sockaddr *)sa6, sa6->sin6_len, line, sizeof(line), NULL, 0, flag); - if (nflag) + if (numeric_addr) sprintf(&line[strlen(line)], "/%d", masklen); return line; @@ -864,7 +864,7 @@ routename6(sa6) sa6_local.sin6_addr = sa6->sin6_addr; sa6_local.sin6_scope_id = sa6->sin6_scope_id; - if (nflag) + if (numeric_addr) flag |= NI_NUMERICHOST; getnameinfo((struct sockaddr *)&sa6_local, sa6_local.sin6_len, |