Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jan 2018 13:03:47 +0000 (UTC)
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r328279 - head/usr.bin/sockstat
Message-ID:  <201801231303.w0ND3lTa052955@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: manu
Date: Tue Jan 23 13:03:47 2018
New Revision: 328279
URL: https://svnweb.freebsd.org/changeset/base/328279

Log:
  sockstat: Add -q option to suppress the header line
  
  MFC after:	1 week
  Sponsored by:	Gandi.net

Modified:
  head/usr.bin/sockstat/sockstat.1
  head/usr.bin/sockstat/sockstat.c

Modified: head/usr.bin/sockstat/sockstat.1
==============================================================================
--- head/usr.bin/sockstat/sockstat.1	Tue Jan 23 08:07:00 2018	(r328278)
+++ head/usr.bin/sockstat/sockstat.1	Tue Jan 23 13:03:47 2018	(r328279)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 12, 2017
+.Dd January 23, 2018
 .Dt SOCKSTAT 1
 .Os
 .Sh NAME
@@ -83,6 +83,8 @@ The
 argument is a comma-separated list of protocol names,
 as they are defined in
 .Xr protocols 5 .
+.It Fl q
+Quiet mode, do not print the header line.
 .It Fl S
 Display the protocol stack, if applicable.
 This is currently only implemented for TCP.

Modified: head/usr.bin/sockstat/sockstat.c
==============================================================================
--- head/usr.bin/sockstat/sockstat.c	Tue Jan 23 08:07:00 2018	(r328278)
+++ head/usr.bin/sockstat/sockstat.c	Tue Jan 23 13:03:47 2018	(r328279)
@@ -76,6 +76,7 @@ static int	 opt_c;		/* Show connected sockets */
 static int	 opt_j;		/* Show specified jail */
 static int	 opt_L;		/* Don't show IPv4 or IPv6 loopback sockets */
 static int	 opt_l;		/* Show listening sockets */
+static int	 opt_q;		/* Don't show header */
 static int	 opt_S;		/* Show protocol stack if applicable */
 static int	 opt_s;		/* Show protocol state if applicable */
 static int	 opt_U;		/* Show remote UDP encapsulation port number */
@@ -1155,19 +1156,21 @@ display(void)
 	struct sock *s;
 	int hash, n, pos;
 
-	printf("%-8s %-10s %-5s %-2s %-6s %-*s %-*s",
-	    "USER", "COMMAND", "PID", "FD", "PROTO",
-	    opt_w ? 45 : 21, "LOCAL ADDRESS",
-	    opt_w ? 45 : 21, "FOREIGN ADDRESS");
-	if (opt_U)
-		printf(" %-6s", "ENCAPS");
-	if (opt_s) {
-		printf(" %-12s", "PATH STATE");
-		printf(" %-12s", "CONN STATE");
+	if (opt_q != 1) {
+		printf("%-8s %-10s %-5s %-2s %-6s %-*s %-*s",
+		    "USER", "COMMAND", "PID", "FD", "PROTO",
+		    opt_w ? 45 : 21, "LOCAL ADDRESS",
+		    opt_w ? 45 : 21, "FOREIGN ADDRESS");
+		if (opt_U)
+			printf(" %-6s", "ENCAPS");
+		if (opt_s) {
+			printf(" %-12s", "PATH STATE");
+			printf(" %-12s", "CONN STATE");
+		}
+		if (opt_S)
+			printf(" %.*s", TCP_FUNCTION_NAME_LEN_MAX, "STACK");
+		printf("\n");
 	}
-	if (opt_S)
-		printf(" %.*s", TCP_FUNCTION_NAME_LEN_MAX, "STACK");
-	printf("\n");
 	setpassent(1);
 	for (xf = xfiles, n = 0; n < nxfiles; ++n, ++xf) {
 		if (xf->xf_data == NULL)
@@ -1248,7 +1251,7 @@ main(int argc, char *argv[])
 	int o, i;
 
 	opt_j = -1;
-	while ((o = getopt(argc, argv, "46cj:Llp:P:SsUuvw")) != -1)
+	while ((o = getopt(argc, argv, "46cj:Llp:P:qSsUuvw")) != -1)
 		switch (o) {
 		case '4':
 			opt_4 = 1;
@@ -1274,6 +1277,8 @@ main(int argc, char *argv[])
 		case 'P':
 			protos_defined = parse_protos(optarg);
 			break;
+		case 'q':
+			opt_q = 1;
 		case 'S':
 			opt_S = 1;
 			break;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801231303.w0ND3lTa052955>