summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/systat/cmdtab.c2
-rw-r--r--usr.bin/systat/icmp.c110
-rw-r--r--usr.bin/systat/icmp6.c110
-rw-r--r--usr.bin/systat/ifstat.c10
-rw-r--r--usr.bin/systat/iostat.c2
-rw-r--r--usr.bin/systat/ip.c146
-rw-r--r--usr.bin/systat/ip6.c128
-rw-r--r--usr.bin/systat/main.c6
-rw-r--r--usr.bin/systat/mbufs.c2
-rw-r--r--usr.bin/systat/netstat.c2
-rw-r--r--usr.bin/systat/pigs.c2
-rw-r--r--usr.bin/systat/swap.c2
-rw-r--r--usr.bin/systat/systat.h2
-rw-r--r--usr.bin/systat/tcp.c122
14 files changed, 325 insertions, 321 deletions
diff --git a/usr.bin/systat/cmdtab.c b/usr.bin/systat/cmdtab.c
index 6b4f77e..a8daa13 100644
--- a/usr.bin/systat/cmdtab.c
+++ b/usr.bin/systat/cmdtab.c
@@ -78,7 +78,7 @@ struct cmdtab cmdtab[] = {
#endif
{ "tcp", showtcp, fetchtcp, labeltcp,
inittcp, opentcp, closetcp, cmdmode,
- resettcp, 0 },
+ resettcp, CF_LOADAV },
{ "ifstat", showifstat, fetchifstat, labelifstat,
initifstat, openifstat, closeifstat, cmdifstat,
0, CF_LOADAV },
diff --git a/usr.bin/systat/icmp.c b/usr.bin/systat/icmp.c
index 487a3ba..6c93bdc 100644
--- a/usr.bin/systat/icmp.c
+++ b/usr.bin/systat/icmp.c
@@ -66,25 +66,25 @@ static struct icmpstat icmpstat, initstat, oldstat;
/*-
--0 1 2 3 4 5 6 7
--0123456789012345678901234567890123456789012345678901234567890123456789012345
-01 ICMP Input ICMP Output
-02999999999 total messages 999999999 total messages
-03999999999 with bad code 999999999 errors generated
-04999999999 with bad length 999999999 suppressed - original too short
-05999999999 with bad checksum 999999999 suppressed - original was ICMP
-06999999999 with insufficient data 999999999 responses sent
-07 999999999 suppressed - multicast echo
-08 999999999 suppressed - multicast tstamp
-09
-10 Input Histogram Output Histogram
-11999999999 echo response 999999999 echo response
-12999999999 echo request 999999999 echo request
-13999999999 destination unreachable 999999999 destination unreachable
-14999999999 redirect 999999999 redirect
-15999999999 time-to-live exceeded 999999999 time-to-line exceeded
-16999999999 parameter problem 999999999 parameter problem
-17999999999 router advertisement 999999999 router solicitation
+00 ICMP Input ICMP Output
+01999999999 total messages 999999999 total messages
+02999999999 with bad code 999999999 errors generated
+03999999999 with bad length 999999999 suppressed - original too short
+04999999999 with bad checksum 999999999 suppressed - original was ICMP
+05999999999 with insufficient data 999999999 responses sent
+06 999999999 suppressed - multicast echo
+07 999999999 suppressed - multicast tstamp
+08
+09 Input Histogram Output Histogram
+10999999999 echo response 999999999 echo response
+11999999999 echo request 999999999 echo request
+12999999999 destination unreachable 999999999 destination unreachable
+13999999999 redirect 999999999 redirect
+14999999999 time-to-live exceeded 999999999 time-to-line exceeded
+15999999999 parameter problem 999999999 parameter problem
+16999999999 router advertisement 999999999 router solicitation
+17
18
-19
--0123456789012345678901234567890123456789012345678901234567890123456789012345
--0 1 2 3 4 5 6 7
*/
@@ -92,7 +92,7 @@ static struct icmpstat icmpstat, initstat, oldstat;
WINDOW *
openicmp(void)
{
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
@@ -112,23 +112,23 @@ labelicmp(void)
wmove(wnd, 0, 0); wclrtoeol(wnd);
#define L(row, str) mvwprintw(wnd, row, 10, str)
#define R(row, str) mvwprintw(wnd, row, 45, str);
- L(1, "ICMP Input"); R(1, "ICMP Output");
- L(2, "total messages"); R(2, "total messages");
- L(3, "with bad code"); R(3, "errors generated");
- L(4, "with bad length"); R(4, "suppressed - original too short");
- L(5, "with bad checksum"); R(5, "suppressed - original was ICMP");
- L(6, "with insufficient data"); R(6, "responses sent");
- ; R(7, "suppressed - multicast echo");
- ; R(8, "suppressed - multicast tstamp");
- L(10, "Input Histogram"); R(10, "Output Histogram");
+ L(0, "ICMP Input"); R(0, "ICMP Output");
+ L(1, "total messages"); R(1, "total messages");
+ L(2, "with bad code"); R(2, "errors generated");
+ L(3, "with bad length"); R(3, "suppressed - original too short");
+ L(4, "with bad checksum"); R(4, "suppressed - original was ICMP");
+ L(5, "with insufficient data"); R(5, "responses sent");
+ R(6, "suppressed - multicast echo");
+ R(7, "suppressed - multicast tstamp");
+ L(9, "Input Histogram"); R(9, "Output Histogram");
#define B(row, str) L(row, str); R(row, str)
- B(11, "echo response");
- B(12, "echo request");
- B(13, "destination unreachable");
- B(14, "redirect");
- B(15, "time-to-live exceeded");
- B(16, "parameter problem");
- L(17, "router advertisement"); R(17, "router solicitation");
+ B(10, "echo response");
+ B(11, "echo request");
+ B(12, "destination unreachable");
+ B(13, "redirect");
+ B(14, "time-to-live exceeded");
+ B(15, "parameter problem");
+ L(16, "router advertisement"); R(16, "router solicitation");
#undef L
#undef R
#undef B
@@ -190,32 +190,32 @@ showicmp(void)
}
totalin += stats.icps_badcode + stats.icps_badlen +
stats.icps_checksum + stats.icps_tooshort;
- mvwprintw(wnd, 2, 0, "%9lu", totalin);
- mvwprintw(wnd, 2, 35, "%9lu", totalout);
+ mvwprintw(wnd, 1, 0, "%9lu", totalin);
+ mvwprintw(wnd, 1, 35, "%9lu", totalout);
#define DO(stat, row, col) \
mvwprintw(wnd, row, col, "%9lu", stats.stat)
- DO(icps_badcode, 3, 0);
- DO(icps_badlen, 4, 0);
- DO(icps_checksum, 5, 0);
- DO(icps_tooshort, 6, 0);
- DO(icps_error, 3, 35);
- DO(icps_oldshort, 4, 35);
- DO(icps_oldicmp, 5, 35);
- DO(icps_reflect, 6, 35);
- DO(icps_bmcastecho, 7, 35);
- DO(icps_bmcasttstamp, 8, 35);
+ DO(icps_badcode, 2, 0);
+ DO(icps_badlen, 3, 0);
+ DO(icps_checksum, 4, 0);
+ DO(icps_tooshort, 5, 0);
+ DO(icps_error, 2, 35);
+ DO(icps_oldshort, 3, 35);
+ DO(icps_oldicmp, 4, 35);
+ DO(icps_reflect, 5, 35);
+ DO(icps_bmcastecho, 6, 35);
+ DO(icps_bmcasttstamp, 7, 35);
#define DO2(type, row) DO(icps_inhist[type], row, 0); DO(icps_outhist[type], \
row, 35)
- DO2(ICMP_ECHOREPLY, 11);
- DO2(ICMP_ECHO, 12);
- DO2(ICMP_UNREACH, 13);
- DO2(ICMP_REDIRECT, 14);
- DO2(ICMP_TIMXCEED, 15);
- DO2(ICMP_PARAMPROB, 16);
- DO(icps_inhist[ICMP_ROUTERADVERT], 17, 0);
- DO(icps_outhist[ICMP_ROUTERSOLICIT], 17, 35);
+ DO2(ICMP_ECHOREPLY, 10);
+ DO2(ICMP_ECHO, 11);
+ DO2(ICMP_UNREACH, 12);
+ DO2(ICMP_REDIRECT, 13);
+ DO2(ICMP_TIMXCEED, 14);
+ DO2(ICMP_PARAMPROB, 15);
+ DO(icps_inhist[ICMP_ROUTERADVERT], 16, 0);
+ DO(icps_outhist[ICMP_ROUTERSOLICIT], 16, 35);
#undef DO
#undef DO2
}
diff --git a/usr.bin/systat/icmp6.c b/usr.bin/systat/icmp6.c
index c02819f..9a44622 100644
--- a/usr.bin/systat/icmp6.c
+++ b/usr.bin/systat/icmp6.c
@@ -64,25 +64,25 @@ static struct icmp6stat icmp6stat, initstat, oldstat;
/*-
--0 1 2 3 4 5 6 7
--0123456789012345678901234567890123456789012345678901234567890123456789012345
-01 ICMPv6 Input ICMPv6 Output
-02999999999 total messages 999999999 total messages
-03999999999 with bad code 999999999 errors generated
-04999999999 with bad length 999999999 suppressed - original too short
-05999999999 with bad checksum 999999999 suppressed - original was ICMP
-06999999999 with insufficient data 999999999 responses sent
-07
-08 Input Histogram Output Histogram
-09999999999 echo response 999999999 echo response
-10999999999 echo request 999999999 echo request
-11999999999 destination unreachable 999999999 destination unreachable
-12999999999 redirect 999999999 redirect
-13999999999 time-to-live exceeded 999999999 time-to-line exceeded
-14999999999 parameter problem 999999999 parameter problem
-15999999999 neighbor solicitation 999999999 neighbor solicitation
-16999999999 neighbor advertisment 999999999 neighbor advertisment
-17999999999 router advertisement 999999999 router solicitation
+00 ICMPv6 Input ICMPv6 Output
+01999999999 total messages 999999999 total messages
+02999999999 with bad code 999999999 errors generated
+03999999999 with bad length 999999999 suppressed - original too short
+04999999999 with bad checksum 999999999 suppressed - original was ICMP
+05999999999 with insufficient data 999999999 responses sent
+06
+07 Input Histogram Output Histogram
+08999999999 echo response 999999999 echo response
+09999999999 echo request 999999999 echo request
+10999999999 destination unreachable 999999999 destination unreachable
+11999999999 redirect 999999999 redirect
+12999999999 time-to-live exceeded 999999999 time-to-line exceeded
+13999999999 parameter problem 999999999 parameter problem
+14999999999 neighbor solicitation 999999999 neighbor solicitation
+15999999999 neighbor advertisment 999999999 neighbor advertisment
+16999999999 router advertisement 999999999 router solicitation
+17
18
-19
--0123456789012345678901234567890123456789012345678901234567890123456789012345
--0 1 2 3 4 5 6 7
*/
@@ -90,7 +90,7 @@ static struct icmp6stat icmp6stat, initstat, oldstat;
WINDOW *
openicmp6(void)
{
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
@@ -110,24 +110,24 @@ labelicmp6(void)
wmove(wnd, 0, 0); wclrtoeol(wnd);
#define L(row, str) mvwprintw(wnd, row, 10, str)
#define R(row, str) mvwprintw(wnd, row, 45, str);
- L(1, "ICMPv6 Input"); R(1, "ICMPv6 Output");
- L(2, "total messages"); R(2, "total messages");
- L(3, "with bad code"); R(3, "errors generated");
- L(4, "with bad length"); R(4, "suppressed - original too short");
- L(5, "with bad checksum"); R(5, "suppressed - original was ICMP");
- L(6, "with insufficient data"); R(6, "responses sent");
+ L(0, "ICMPv6 Input"); R(0, "ICMPv6 Output");
+ L(1, "total messages"); R(1, "total messages");
+ L(2, "with bad code"); R(2, "errors generated");
+ L(3, "with bad length"); R(3, "suppressed - original too short");
+ L(4, "with bad checksum"); R(4, "suppressed - original was ICMP");
+ L(5, "with insufficient data"); R(5, "responses sent");
- L(8, "Input Histogram"); R(8, "Output Histogram");
+ L(7, "Input Histogram"); R(7, "Output Histogram");
#define B(row, str) L(row, str); R(row, str)
- B(9, "echo response");
- B(10, "echo request");
- B(11, "destination unreachable");
- B(12, "redirect");
- B(13, "time-to-live exceeded");
- B(14, "parameter problem");
- B(15, "neighbor solicitation");
- B(16, "neighbor advertisment");
- L(17, "router advertisement"); R(17, "router solicitation");
+ B(8, "echo response");
+ B(9, "echo request");
+ B(10, "destination unreachable");
+ B(11, "redirect");
+ B(12, "time-to-live exceeded");
+ B(13, "parameter problem");
+ B(14, "neighbor solicitation");
+ B(15, "neighbor advertisment");
+ L(16, "router advertisement"); R(16, "router solicitation");
#undef L
#undef R
#undef B
@@ -187,32 +187,32 @@ showicmp6(void)
}
totalin += stats.icp6s_badcode + stats.icp6s_badlen +
stats.icp6s_checksum + stats.icp6s_tooshort;
- mvwprintw(wnd, 2, 0, "%9lu", totalin);
- mvwprintw(wnd, 2, 35, "%9lu", totalout);
+ mvwprintw(wnd, 1, 0, "%9lu", totalin);
+ mvwprintw(wnd, 1, 35, "%9lu", totalout);
#define DO(stat, row, col) \
mvwprintw(wnd, row, col, "%9lu", stats.stat)
- DO(icp6s_badcode, 3, 0);
- DO(icp6s_badlen, 4, 0);
- DO(icp6s_checksum, 5, 0);
- DO(icp6s_tooshort, 6, 0);
- DO(icp6s_error, 3, 35);
- DO(icp6s_tooshort, 4, 35);
- DO(icp6s_canterror, 5, 35);
- DO(icp6s_reflect, 6, 35);
+ DO(icp6s_badcode, 2, 0);
+ DO(icp6s_badlen, 3, 0);
+ DO(icp6s_checksum, 4, 0);
+ DO(icp6s_tooshort, 5, 0);
+ DO(icp6s_error, 2, 35);
+ DO(icp6s_tooshort, 3, 35);
+ DO(icp6s_canterror, 4, 35);
+ DO(icp6s_reflect, 5, 35);
#define DO2(type, row) DO(icp6s_inhist[type], row, 0); DO(icp6s_outhist[type], \
row, 35)
- DO2(ICMP6_ECHO_REPLY, 9);
- DO2(ICMP6_ECHO_REQUEST, 10);
- DO2(ICMP6_DST_UNREACH, 11);
- DO2(ND_REDIRECT, 12);
- DO2(ICMP6_TIME_EXCEEDED, 13);
- DO2(ICMP6_PARAM_PROB, 14);
- DO2(ND_NEIGHBOR_SOLICIT, 15);
- DO2(ND_NEIGHBOR_ADVERT, 16);
- DO(icp6s_inhist[ND_ROUTER_SOLICIT], 17, 0);
- DO(icp6s_outhist[ND_ROUTER_ADVERT], 17, 35);
+ DO2(ICMP6_ECHO_REPLY, 8);
+ DO2(ICMP6_ECHO_REQUEST, 9);
+ DO2(ICMP6_DST_UNREACH, 10);
+ DO2(ND_REDIRECT, 11);
+ DO2(ICMP6_TIME_EXCEEDED, 12);
+ DO2(ICMP6_PARAM_PROB, 13);
+ DO2(ND_NEIGHBOR_SOLICIT, 14);
+ DO2(ND_NEIGHBOR_ADVERT, 15);
+ DO(icp6s_inhist[ND_ROUTER_SOLICIT], 16, 0);
+ DO(icp6s_outhist[ND_ROUTER_ADVERT], 16, 35);
#undef DO
#undef DO2
}
diff --git a/usr.bin/systat/ifstat.c b/usr.bin/systat/ifstat.c
index 26c81ce..3731a17 100644
--- a/usr.bin/systat/ifstat.c
+++ b/usr.bin/systat/ifstat.c
@@ -96,13 +96,13 @@ static u_int getifnum(void);
err((n), (s)); \
} while (0)
-#define STARTING_ROW (8)
-#define ROW_SPACING (3)
-
-#define TOPLINE 5
+#define TOPLINE 3
#define TOPLABEL \
" Interface Traffic Peak Total"
+#define STARTING_ROW (TOPLINE + 1)
+#define ROW_SPACING (3)
+
#define CLEAR_LINE(y, x) do { \
wmove(wnd, y, x); \
wclrtoeol(wnd); \
@@ -153,7 +153,7 @@ static u_int getifnum(void);
WINDOW *
openifstat(void)
{
- return (subwin(stdscr, LINES-1-5, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
diff --git a/usr.bin/systat/iostat.c b/usr.bin/systat/iostat.c
index 0702ea1..f8039bc 100644
--- a/usr.bin/systat/iostat.c
+++ b/usr.bin/systat/iostat.c
@@ -97,7 +97,7 @@ static void stat1(int, int);
WINDOW *
openiostat()
{
- return (subwin(stdscr, LINES-1-5, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
diff --git a/usr.bin/systat/ip.c b/usr.bin/systat/ip.c
index 1462ab1..b6a6954 100644
--- a/usr.bin/systat/ip.c
+++ b/usr.bin/systat/ip.c
@@ -73,25 +73,25 @@ static struct stat curstat, initstat, oldstat;
/*-
--0 1 2 3 4 5 6 7
--0123456789012345678901234567890123456789012345678901234567890123456789012345
-01 IP Input IP Output
-02999999999 total packets received 999999999 total packets sent
-03999999999 - with bad checksums 999999999 - generated locally
-04999999999 - too short for header 999999999 - output drops
-05999999999 - too short for data 999999999 output fragments generated
-06999999999 - with invalid hlen 999999999 - fragmentation failed
-07999999999 - with invalid length 999999999 destinations unreachable
-08999999999 - with invalid version 999999999 packets output via raw IP
-09999999999 - jumbograms
-10999999999 total fragments received UDP Statistics
-11999999999 - fragments dropped 999999999 total input packets
-12999999999 - fragments timed out 999999999 - too short for header
-13999999999 - packets reassembled ok 999999999 - invalid checksum
-14999999999 packets forwarded 999999999 - no checksum
-15999999999 - unreachable dests 999999999 - invalid length
-16999999999 - redirects generated 999999999 - no socket for dest port
-17999999999 option errors 999999999 - no socket for broadcast
-18999999999 unwanted multicasts 999999999 - socket buffer full
-19999999999 delivered to upper layer 999999999 total output packets
+00 IP Input IP Output
+01999999999 total packets received 999999999 total packets sent
+02999999999 - with bad checksums 999999999 - generated locally
+03999999999 - too short for header 999999999 - output drops
+04999999999 - too short for data 999999999 output fragments generated
+05999999999 - with invalid hlen 999999999 - fragmentation failed
+06999999999 - with invalid length 999999999 destinations unreachable
+07999999999 - with invalid version 999999999 packets output via raw IP
+08999999999 - jumbograms
+09999999999 total fragments received UDP Statistics
+10999999999 - fragments dropped 999999999 total input packets
+11999999999 - fragments timed out 999999999 - too short for header
+12999999999 - packets reassembled ok 999999999 - invalid checksum
+13999999999 packets forwarded 999999999 - no checksum
+14999999999 - unreachable dests 999999999 - invalid length
+15999999999 - redirects generated 999999999 - no socket for dest port
+16999999999 option errors 999999999 - no socket for broadcast
+17999999999 unwanted multicasts 999999999 - socket buffer full
+18999999999 delivered to upper layer 999999999 total output packets
--0123456789012345678901234567890123456789012345678901234567890123456789012345
--0 1 2 3 4 5 6 7
*/
@@ -99,7 +99,7 @@ static struct stat curstat, initstat, oldstat;
WINDOW *
openip(void)
{
- return (subwin(stdscr, LINES-4-1, 0, 4, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
@@ -119,25 +119,25 @@ labelip(void)
wmove(wnd, 0, 0); wclrtoeol(wnd);
#define L(row, str) mvwprintw(wnd, row, 10, str)
#define R(row, str) mvwprintw(wnd, row, 45, str);
- L(1, "IP Input"); R(1, "IP Output");
- L(2, "total packets received"); R(2, "total packets sent");
- L(3, "- with bad checksums"); R(3, "- generated locally");
- L(4, "- too short for header"); R(4, "- output drops");
- L(5, "- too short for data"); R(5, "output fragments generated");
- L(6, "- with invalid hlen"); R(6, "- fragmentation failed");
- L(7, "- with invalid length"); R(7, "destinations unreachable");
- L(8, "- with invalid version"); R(8, "packets output via raw IP");
- L(9, "- jumbograms");
- L(10, "total fragments received"); R(10, "UDP Statistics");
- L(11, "- fragments dropped"); R(11, "total input packets");
- L(12, "- fragments timed out"); R(12, "- too short for header");
- L(13, "- packets reassembled ok"); R(13, "- invalid checksum");
- L(14, "packets forwarded"); R(14, "- no checksum");
- L(15, "- unreachable dests"); R(15, "- invalid length");
- L(16, "- redirects generated"); R(16, "- no socket for dest port");
- L(17, "option errors"); R(17, "- no socket for broadcast");
- L(18, "unwanted multicasts"); R(18, "- socket buffer full");
- L(19, "delivered to upper layer"); R(19, "total output packets");
+ L(0, "IP Input"); R(0, "IP Output");
+ L(1, "total packets received"); R(1, "total packets sent");
+ L(2, "- with bad checksums"); R(2, "- generated locally");
+ L(3, "- too short for header"); R(3, "- output drops");
+ L(4, "- too short for data"); R(4, "output fragments generated");
+ L(5, "- with invalid hlen"); R(5, "- fragmentation failed");
+ L(6, "- with invalid length"); R(6, "destinations unreachable");
+ L(7, "- with invalid version"); R(7, "packets output via raw IP");
+ L(8, "- jumbograms");
+ L(9, "total fragments received"); R(9, "UDP Statistics");
+ L(10, "- fragments dropped"); R(10, "total input packets");
+ L(11, "- fragments timed out"); R(11, "- too short for header");
+ L(12, "- packets reassembled ok"); R(12, "- invalid checksum");
+ L(13, "packets forwarded"); R(13, "- no checksum");
+ L(14, "- unreachable dests"); R(14, "- invalid length");
+ L(15, "- redirects generated"); R(15, "- no socket for dest port");
+ L(16, "option errors"); R(16, "- no socket for broadcast");
+ L(17, "unwanted multicasts"); R(17, "- socket buffer full");
+ L(18, "delivered to upper layer"); R(18, "total output packets");
#undef L
#undef R
}
@@ -214,40 +214,40 @@ showip(void)
#define DO(stat, row, col) \
mvwprintw(wnd, row, col, "%9lu", stats.stat)
- DO(i.ips_total, 2, 0);
- mvwprintw(wnd, 2, 35, "%9lu", totalout);
- DO(i.ips_badsum, 3, 0);
- DO(i.ips_localout, 3, 35);
- DO(i.ips_tooshort, 4, 0);
- DO(i.ips_odropped, 4, 35);
- DO(i.ips_toosmall, 5, 0);
- DO(i.ips_ofragments, 5, 35);
- DO(i.ips_badhlen, 6, 0);
- DO(i.ips_cantfrag, 6, 35);
- DO(i.ips_badlen, 7, 0);
- DO(i.ips_noroute, 7, 35);
- DO(i.ips_badvers, 8, 0);
- DO(i.ips_rawout, 8, 35);
- DO(i.ips_toolong, 9, 0);
- DO(i.ips_fragments, 10, 0);
- DO(i.ips_fragdropped, 11, 0);
- DO(u.udps_ipackets, 11, 35);
- DO(i.ips_fragtimeout, 12, 0);
- DO(u.udps_hdrops, 12, 35);
- DO(i.ips_reassembled, 13, 0);
- DO(u.udps_badsum, 13, 35);
- DO(i.ips_forward, 14, 0);
- DO(u.udps_nosum, 14, 35);
- DO(i.ips_cantforward, 15, 0);
- DO(u.udps_badlen, 15, 35);
- DO(i.ips_redirectsent, 16, 0);
- DO(u.udps_noport, 16, 35);
- DO(i.ips_badoptions, 17, 0);
- DO(u.udps_noportbcast, 17, 35);
- DO(i.ips_notmember, 18, 0);
- DO(u.udps_fullsock, 18, 35);
- DO(i.ips_delivered, 19, 0);
- DO(u.udps_opackets, 19, 35);
+ DO(i.ips_total, 1, 0);
+ mvwprintw(wnd, 1, 35, "%9lu", totalout);
+ DO(i.ips_badsum, 2, 0);
+ DO(i.ips_localout, 2, 35);
+ DO(i.ips_tooshort, 3, 0);
+ DO(i.ips_odropped, 3, 35);
+ DO(i.ips_toosmall, 4, 0);
+ DO(i.ips_ofragments, 4, 35);
+ DO(i.ips_badhlen, 5, 0);
+ DO(i.ips_cantfrag, 5, 35);
+ DO(i.ips_badlen, 6, 0);
+ DO(i.ips_noroute, 6, 35);
+ DO(i.ips_badvers, 7, 0);
+ DO(i.ips_rawout, 7, 35);
+ DO(i.ips_toolong, 8, 0);
+ DO(i.ips_fragments, 9, 0);
+ DO(i.ips_fragdropped, 10, 0);
+ DO(u.udps_ipackets, 10, 35);
+ DO(i.ips_fragtimeout, 11, 0);
+ DO(u.udps_hdrops, 11, 35);
+ DO(i.ips_reassembled, 12, 0);
+ DO(u.udps_badsum, 12, 35);
+ DO(i.ips_forward, 13, 0);
+ DO(u.udps_nosum, 13, 35);
+ DO(i.ips_cantforward, 14, 0);
+ DO(u.udps_badlen, 14, 35);
+ DO(i.ips_redirectsent, 15, 0);
+ DO(u.udps_noport, 15, 35);
+ DO(i.ips_badoptions, 16, 0);
+ DO(u.udps_noportbcast, 16, 35);
+ DO(i.ips_notmember, 17, 0);
+ DO(u.udps_fullsock, 17, 35);
+ DO(i.ips_delivered, 18, 0);
+ DO(u.udps_opackets, 18, 35);
#undef DO
}
diff --git a/usr.bin/systat/ip6.c b/usr.bin/systat/ip6.c
index a88c5b4..b924b57 100644
--- a/usr.bin/systat/ip6.c
+++ b/usr.bin/systat/ip6.c
@@ -67,25 +67,26 @@ static struct ip6stat curstat, initstat, oldstat;
/*-
--0 1 2 3 4 5 6 7
--0123456789012345678901234567890123456789012345678901234567890123456789012345
-01 IPv6 Input IPv6 Output
-029999999 total packets received 999999999 total packets sent
-039999999 - too short for header 999999999 - generated locally
-049999999 - too short for data 999999999 - output drops
-059999999 - with invalid version 999999999 output fragments generated
-069999999 total fragments received 999999999 - fragmentation failed
-079999999 - fragments dropped 999999999 destinations unreachable
-089999999 - fragments timed out 999999999 packets output via raw IP
-099999999 - fragments overflown Input next-header histogram
-109999999 - packets reassembled ok 999999999 - destination options
-119999999 packets forwarded 999999999 - hop-by-hop options
-129999999 - unreachable dests 999999999 - IPv4
-139999999 - redirects generated 999999999 - TCP
-149999999 option errors 999999999 - UDP
-159999999 unwanted multicasts 999999999 - IPv6
-169999999 delivered to upper layer 999999999 - routing header
-17 999999999 - fragmentation header
-189999999 bad scope packets 999999999 - ICMP6
-199999999 address selection failed 999999999 - none
+00 IPv6 Input IPv6 Output
+019999999 total packets received 999999999 total packets sent
+029999999 - too short for header 999999999 - generated locally
+039999999 - too short for data 999999999 - output drops
+049999999 - with invalid version 999999999 output fragments generated
+059999999 total fragments received 999999999 - fragmentation failed
+069999999 - fragments dropped 999999999 destinations unreachable
+079999999 - fragments timed out 999999999 packets output via raw IP
+089999999 - fragments overflown
+099999999 - packets reassembled ok Input next-header histogram
+109999999 packets forwarded 999999999 - destination options
+119999999 - unreachable dests 999999999 - hop-by-hop options
+129999999 - redirects generated 999999999 - IPv4
+139999999 option errors 999999999 - TCP
+149999999 unwanted multicasts 999999999 - UDP
+159999999 delivered to upper layer 999999999 - IPv6
+169999999 bad scope packets 999999999 - routing header
+179999999 address selection failed 999999999 - fragmentation header
+18 999999999 - ICMP6
+19 999999999 - none
--0123456789012345678901234567890123456789012345678901234567890123456789012345
--0 1 2 3 4 5 6 7
*/
@@ -93,7 +94,7 @@ static struct ip6stat curstat, initstat, oldstat;
WINDOW *
openip6(void)
{
- return (subwin(stdscr, LINES-4-1, 0, 4, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
@@ -113,25 +114,26 @@ labelip6(void)
wmove(wnd, 0, 0); wclrtoeol(wnd);
#define L(row, str) mvwprintw(wnd, row, 10, str)
#define R(row, str) mvwprintw(wnd, row, 45, str);
- L(1, "IPv6 Input"); R(1, "IPv6 Output");
- L(2, "total packets received"); R(2, "total packets sent");
- L(3, "- too short for header"); R(3, "- generated locally");
- L(4, "- too short for data"); R(4, "- output drops");
- L(5, "- with invalid version"); R(5, "output fragments generated");
- L(6, "total fragments received"); R(6, "- fragmentation failed");
- L(7, "- fragments dropped"); R(7, "destinations unreachable");
- L(8, "- fragments timed out"); R(8, "packets output via raw IP");
- L(9, "- fragments overflown"); R(9, "Input next-header histogram");
- L(10, "- packets reassembled ok"); R(10, " - destination options");
- L(11, "packets forwarded"); R(11, " - hop-by-hop options");
- L(12, "- unreachable dests"); R(12, " - IPv4");
- L(13, "- redirects generated"); R(13, " - TCP");
- L(14, "option errors"); R(14, " - UDP");
- L(15, "unwanted multicasts"); R(15, " - IPv6");
- L(16, "delivered to upper layer"); R(16, " - routing header");
- R(17, " - fragmentation header");
- L(18, "bad scope packets"); R(18, " - ICMP6");
- L(19, "address selection failed"); R(19, " - none");
+ L(0, "IPv6 Input"); R(0, "IPv6 Output");
+ L(1, "total packets received"); R(1, "total packets sent");
+ L(2, "- too short for header"); R(2, "- generated locally");
+ L(3, "- too short for data"); R(3, "- output drops");
+ L(4, "- with invalid version"); R(4, "output fragments generated");
+ L(5, "total fragments received"); R(5, "- fragmentation failed");
+ L(6, "- fragments dropped"); R(6, "destinations unreachable");
+ L(7, "- fragments timed out"); R(7, "packets output via raw IP");
+ L(8, "- fragments overflown");
+ L(9, "- packets reassembled ok"); R(9, "Input next-header histogram");
+ L(10, "packets forwarded"); R(10, " - destination options");
+ L(11, "- unreachable dests"); R(11, " - hop-by-hop options");
+ L(12, "- redirects generated"); R(12, " - IPv4");
+ L(13, "option errors"); R(13, " - TCP");
+ L(14, "unwanted multicasts"); R(14, " - UDP");
+ L(15, "delivered to upper layer"); R(15, " - IPv6");
+ L(16, "bad scope packets"); R(16, " - routing header");
+ L(17, "address selection failed"); R(17, " - fragmentation header");
+ R(18, " - ICMP6");
+ R(19, " - none");
#undef L
#undef R
}
@@ -199,40 +201,40 @@ showip6(void)
#define DO(stat, row, col) \
mvwprintw(wnd, row, col, "%9lu", stats.stat)
- DO(ip6s_total, 2, 0);
- mvwprintw(wnd, 2, 35, "%9lu", totalout);
- DO(ip6s_localout, 3, 35);
- DO(ip6s_tooshort, 3, 0);
- DO(ip6s_odropped, 4, 35);
- DO(ip6s_toosmall, 4, 0);
- DO(ip6s_ofragments, 5, 35);
- DO(ip6s_badvers, 5, 0);
- DO(ip6s_cantfrag, 6, 35);
- DO(ip6s_fragments, 6, 0);
- DO(ip6s_noroute, 7, 35);
- DO(ip6s_fragdropped, 7, 0);
- DO(ip6s_rawout, 8, 35);
- DO(ip6s_fragtimeout, 8, 0);
- DO(ip6s_fragoverflow, 9, 0);
+ DO(ip6s_total, 1, 0);
+ mvwprintw(wnd, 1, 35, "%9lu", totalout);
+ DO(ip6s_tooshort, 2, 0);
+ DO(ip6s_localout, 2, 35);
+ DO(ip6s_toosmall, 3, 0);
+ DO(ip6s_odropped, 3, 35);
+ DO(ip6s_badvers, 4, 0);
+ DO(ip6s_ofragments, 4, 35);
+ DO(ip6s_fragments, 5, 0);
+ DO(ip6s_cantfrag, 5, 35);
+ DO(ip6s_fragdropped, 6, 0);
+ DO(ip6s_noroute, 6, 35);
+ DO(ip6s_fragtimeout, 7, 0);
+ DO(ip6s_rawout, 7, 35);
+ DO(ip6s_fragoverflow, 8, 0);
+ DO(ip6s_reassembled, 9, 0);
+ DO(ip6s_forward, 10, 0);
DO(ip6s_nxthist[IPPROTO_DSTOPTS], 10, 35);
- DO(ip6s_reassembled, 10, 0);
+ DO(ip6s_cantforward, 11, 0);
DO(ip6s_nxthist[IPPROTO_HOPOPTS], 11, 35);
- DO(ip6s_forward, 11, 0);
+ DO(ip6s_redirectsent, 12, 0);
DO(ip6s_nxthist[IPPROTO_IPV4], 12, 35);
- DO(ip6s_cantforward, 12, 0);
+ DO(ip6s_badoptions, 13, 0);
DO(ip6s_nxthist[IPPROTO_TCP], 13, 35);
- DO(ip6s_redirectsent, 13, 0);
+ DO(ip6s_notmember, 14, 0);
DO(ip6s_nxthist[IPPROTO_UDP], 14, 35);
- DO(ip6s_badoptions, 14, 0);
+ DO(ip6s_delivered, 15, 0);
DO(ip6s_nxthist[IPPROTO_IPV6], 15, 35);
- DO(ip6s_notmember, 15, 0);
+ DO(ip6s_badscope, 16, 0);
DO(ip6s_nxthist[IPPROTO_ROUTING], 16, 35);
- DO(ip6s_delivered, 16, 0);
+ DO(ip6s_sources_none, 17, 0);
DO(ip6s_nxthist[IPPROTO_FRAGMENT], 17, 35);
DO(ip6s_nxthist[IPPROTO_ICMPV6], 18, 35);
- DO(ip6s_badscope, 18, 0);
DO(ip6s_nxthist[IPPROTO_NONE], 19, 35);
- DO(ip6s_sources_none, 19, 0);
#undef DO
}
diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c
index 833a188..071a6dd 100644
--- a/usr.bin/systat/main.c
+++ b/usr.bin/systat/main.c
@@ -150,7 +150,7 @@ main(int argc, char **argv)
warnx("couldn't initialize display");
die(0);
}
- wload = newwin(1, 0, 3, 20);
+ wload = newwin(1, 0, 1, 20);
if (wload == NULL) {
warnx("couldn't set up load average window");
die(0);
@@ -183,9 +183,9 @@ void
labels()
{
if (curcmd->c_flags & CF_LOADAV) {
- mvaddstr(2, 20,
+ mvaddstr(0, 20,
"/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10");
- mvaddstr(3, 5, "Load Average");
+ mvaddstr(1, 5, "Load Average");
}
(*curcmd->c_label)();
#ifdef notdef
diff --git a/usr.bin/systat/mbufs.c b/usr.bin/systat/mbufs.c
index 5e55bc9..1ee2bb3 100644
--- a/usr.bin/systat/mbufs.c
+++ b/usr.bin/systat/mbufs.c
@@ -72,7 +72,7 @@ static struct mtnames {
WINDOW *
openmbufs()
{
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
diff --git a/usr.bin/systat/netstat.c b/usr.bin/systat/netstat.c
index 735cce3..adb905a 100644
--- a/usr.bin/systat/netstat.c
+++ b/usr.bin/systat/netstat.c
@@ -97,7 +97,7 @@ opennetstat()
{
sethostent(1);
setnetent(1);
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
struct netinfo {
diff --git a/usr.bin/systat/pigs.c b/usr.bin/systat/pigs.c
index 3bc3893..b0d6d52 100644
--- a/usr.bin/systat/pigs.c
+++ b/usr.bin/systat/pigs.c
@@ -73,7 +73,7 @@ static double lccpu;
WINDOW *
openpigs()
{
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
diff --git a/usr.bin/systat/swap.c b/usr.bin/systat/swap.c
index eca6726..7a13dbc 100644
--- a/usr.bin/systat/swap.c
+++ b/usr.bin/systat/swap.c
@@ -66,7 +66,7 @@ static int hlen;
WINDOW *
openswap()
{
- return (subwin(stdscr, LINES-5-1, 0, 5, 0));
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
diff --git a/usr.bin/systat/systat.h b/usr.bin/systat/systat.h
index f37a04c..8221d42 100644
--- a/usr.bin/systat/systat.h
+++ b/usr.bin/systat/systat.h
@@ -62,6 +62,8 @@ extern int use_kvm;
#define TCP 0x1
#define UDP 0x2
+#define MAINWIN_ROW 3 /* top row for the main/lower window */
+
#define GETSYSCTL(name, var) getsysctl(name, &(var), sizeof(var))
#define KREAD(addr, buf, len) kvm_ckread((addr), (buf), (len))
#define NVAL(indx) namelist[(indx)].n_value
diff --git a/usr.bin/systat/tcp.c b/usr.bin/systat/tcp.c
index 40311d6..a758f15 100644
--- a/usr.bin/systat/tcp.c
+++ b/usr.bin/systat/tcp.c
@@ -70,26 +70,26 @@ static struct tcpstat curstat, initstat, oldstat;
/*-
--0 1 2 3 4 5 6 7
--0123456789012345678901234567890123456789012345678901234567890123456789012345
-01 TCP Connections TCP Packets
-02999999999 connections initiated 999999999 total packets sent
-03999999999 connections accepted 999999999 - data
-04999999999 connections established 999999999 - data (retransmit)
-05999999999 connections dropped 999999999 - ack-only
-06999999999 - in embryonic state 999999999 - window probes
-07999999999 - on retransmit timeout 999999999 - window updates
-08999999999 - by keepalive 999999999 - urgent data only
-09999999999 - from listen queue 999999999 - control
-10 999999999 - resends by PMTU discovery
-11 TCP Timers 999999999 total packets received
-12999999999 potential rtt updates 999999999 - in sequence
-13999999999 - successful 999999999 - completely duplicate
-14999999999 delayed acks sent 999999999 - with some duplicate data
-15999999999 retransmit timeouts 999999999 - out-of-order
-16999999999 persist timeouts 999999999 - duplicate acks
-17999999999 keepalive probes 999999999 - acks
-18999999999 - timeouts 999999999 - window probes
-19 999999999 - window updates
-20 999999999 - bad checksum
+00 TCP Connections TCP Packets
+01999999999 connections initiated 999999999 total packets sent
+02999999999 connections accepted 999999999 - data
+03999999999 connections established 999999999 - data (retransmit)
+04999999999 connections dropped 999999999 - ack-only
+05999999999 - in embryonic state 999999999 - window probes
+06999999999 - on retransmit timeout 999999999 - window updates
+07999999999 - by keepalive 999999999 - urgent data only
+08999999999 - from listen queue 999999999 - control
+09 999999999 - resends by PMTU discovery
+10 TCP Timers 999999999 total packets received
+11999999999 potential rtt updates 999999999 - in sequence
+12999999999 - successful 999999999 - completely duplicate
+13999999999 delayed acks sent 999999999 - with some duplicate data
+14999999999 retransmit timeouts 999999999 - out-of-order
+15999999999 persist timeouts 999999999 - duplicate acks
+16999999999 keepalive probes 999999999 - acks
+17999999999 - timeouts 999999999 - window probes
+18 999999999 - window updates
+19 999999999 - bad checksum
--0123456789012345678901234567890123456789012345678901234567890123456789012345
--0 1 2 3 4 5 6 7
*/
@@ -97,8 +97,7 @@ static struct tcpstat curstat, initstat, oldstat;
WINDOW *
opentcp(void)
{
-
- return (stdscr);
+ return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0));
}
void
@@ -109,6 +108,7 @@ closetcp(w)
return;
wclear(w);
wrefresh(w);
+ delwin(w);
}
void
@@ -117,26 +117,26 @@ labeltcp(void)
wmove(wnd, 0, 0); wclrtoeol(wnd);
#define L(row, str) mvwprintw(wnd, row, 10, str)
#define R(row, str) mvwprintw(wnd, row, 45, str);
- L(1, "TCP Connections"); R(1, "TCP Packets");
- L(2, "connections initiated"); R(2, "total packets sent");
- L(3, "connections accepted"); R(3, "- data");
- L(4, "connections established"); R(4, "- data (retransmit)");
- L(5, "connections dropped"); R(5, "- ack-only");
- L(6, "- in embryonic state"); R(6, "- window probes");
- L(7, "- on retransmit timeout"); R(7, "- window updates");
- L(8, "- by keepalive"); R(8, "- urgent data only");
- L(9, "- from listen queue"); R(9, "- control");
- R(10, "- resends by PMTU discovery");
- L(11, "TCP Timers"); R(11, "total packets received");
- L(12, "potential rtt updates"); R(12, "- in sequence");
- L(13, "- successful"); R(13, "- completely duplicate");
- L(14, "delayed acks sent"); R(14, "- with some duplicate data");
- L(15, "retransmit timeouts"); R(15, "- out-of-order");
- L(16, "persist timeouts"); R(16, "- duplicate acks");
- L(17, "keepalive probes"); R(17, "- acks");
- L(18, "- timeouts"); R(18, "- window probes");
- R(19, "- window updates");
- R(20, "- bad checksum");
+ L(0, "TCP Connections"); R(0, "TCP Packets");
+ L(1, "connections initiated"); R(1, "total packets sent");
+ L(2, "connections accepted"); R(2, "- data");
+ L(3, "connections established"); R(3, "- data (retransmit)");
+ L(4, "connections dropped"); R(4, "- ack-only");
+ L(5, "- in embryonic state"); R(5, "- window probes");
+ L(6, "- on retransmit timeout"); R(6, "- window updates");
+ L(7, "- by keepalive"); R(7, "- urgent data only");
+ L(8, "- from listen queue"); R(8, "- control");
+ R(9, "- resends by PMTU discovery");
+ L(10, "TCP Timers"); R(10, "total packets received");
+ L(11, "potential rtt updates"); R(11, "- in sequence");
+ L(12, "- successful"); R(12, "- completely duplicate");
+ L(13, "delayed acks sent"); R(13, "- with some duplicate data");
+ L(14, "retransmit timeouts"); R(14, "- out-of-order");
+ L(15, "persist timeouts"); R(15, "- duplicate acks");
+ L(16, "keepalive probes"); R(16, "- acks");
+ L(17, "- timeouts"); R(17, "- window probes");
+ R(18, "- window updates");
+ R(19, "- bad checksum");
#undef L
#undef R
}
@@ -240,25 +240,25 @@ showtcp(void)
mvwprintw(wnd, row, col, "%9lu", stats.stat)
#define L(row, stat) DO(stat, row, 0)
#define R(row, stat) DO(stat, row, 35)
- L(2, tcps_connattempt); R(2, tcps_sndtotal);
- L(3, tcps_accepts); R(3, tcps_sndpack);
- L(4, tcps_connects); R(4, tcps_sndrexmitpack);
- L(5, tcps_drops); R(5, tcps_sndacks);
- L(6, tcps_conndrops); R(6, tcps_sndprobe);
- L(7, tcps_timeoutdrop); R(7, tcps_sndwinup);
- L(8, tcps_keepdrops); R(8, tcps_sndurg);
- L(9, tcps_listendrop); R(9, tcps_sndctrl);
- R(10, tcps_mturesent);
- R(11, tcps_rcvtotal);
- L(12, tcps_segstimed); R(12, tcps_rcvpack);
- L(13, tcps_rttupdated); R(13, tcps_rcvduppack);
- L(14, tcps_delack); R(14, tcps_rcvpartduppack);
- L(15, tcps_rexmttimeo); R(15, tcps_rcvoopack);
- L(16, tcps_persisttimeo); R(16, tcps_rcvdupack);
- L(17, tcps_keepprobe); R(17, tcps_rcvackpack);
- L(18, tcps_keeptimeo); R(18, tcps_rcvwinprobe);
- R(19, tcps_rcvwinupd);
- R(20, tcps_rcvbadsum);
+ L(1, tcps_connattempt); R(1, tcps_sndtotal);
+ L(2, tcps_accepts); R(2, tcps_sndpack);
+ L(3, tcps_connects); R(3, tcps_sndrexmitpack);
+ L(4, tcps_drops); R(4, tcps_sndacks);
+ L(5, tcps_conndrops); R(5, tcps_sndprobe);
+ L(6, tcps_timeoutdrop); R(6, tcps_sndwinup);
+ L(7, tcps_keepdrops); R(7, tcps_sndurg);
+ L(8, tcps_listendrop); R(8, tcps_sndctrl);
+ R(9, tcps_mturesent);
+ R(10, tcps_rcvtotal);
+ L(11, tcps_segstimed); R(11, tcps_rcvpack);
+ L(12, tcps_rttupdated); R(12, tcps_rcvduppack);
+ L(13, tcps_delack); R(13, tcps_rcvpartduppack);
+ L(14, tcps_rexmttimeo); R(14, tcps_rcvoopack);
+ L(15, tcps_persisttimeo); R(15, tcps_rcvdupack);
+ L(16, tcps_keepprobe); R(16, tcps_rcvackpack);
+ L(17, tcps_keeptimeo); R(17, tcps_rcvwinprobe);
+ R(18, tcps_rcvwinupd);
+ R(19, tcps_rcvbadsum);
#undef DO
#undef L
#undef R
OpenPOWER on IntegriCloud