From eef33ea7a8a298c199e6ae38510f94fd84acaacd Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Thu, 11 May 1989 17:57:57 -0800 Subject: [PATCH 1/1] file reorg, pathnames.h, paths.h; some reformatting SCCS-vsn: usr.bin/systat/disks.c 5.4 SCCS-vsn: usr.bin/systat/iostat.c 5.4 SCCS-vsn: usr.bin/systat/main.c 5.4 SCCS-vsn: usr.bin/systat/mbufs.c 5.3 SCCS-vsn: usr.bin/systat/netstat.c 5.3 SCCS-vsn: usr.bin/systat/pigs.c 5.6 SCCS-vsn: usr.bin/systat/swap.c 5.5 SCCS-vsn: usr.bin/systat/vmstat.c 5.10 --- usr/src/usr.bin/systat/disks.c | 34 +-- usr/src/usr.bin/systat/iostat.c | 453 +++++++++++++++---------------- usr/src/usr.bin/systat/main.c | 90 +++--- usr/src/usr.bin/systat/mbufs.c | 20 +- usr/src/usr.bin/systat/netstat.c | 18 +- usr/src/usr.bin/systat/pigs.c | 237 ++++++++-------- usr/src/usr.bin/systat/swap.c | 71 +++-- usr/src/usr.bin/systat/vmstat.c | 19 +- 8 files changed, 463 insertions(+), 479 deletions(-) diff --git a/usr/src/usr.bin/systat/disks.c b/usr/src/usr.bin/systat/disks.c index 9e19abd1ce..cd22ac5b3a 100644 --- a/usr/src/usr.bin/systat/disks.c +++ b/usr/src/usr.bin/systat/disks.c @@ -5,12 +5,13 @@ */ #ifndef lint -static char sccsid[] = "@(#)disks.c 5.3 (Berkeley) %G%"; +static char sccsid[] = "@(#)disks.c 5.4 (Berkeley) %G%"; #endif not lint #include "systat.h" #include #include +#include static struct nlist nlst[] = { #define X_DK_NDRIVE 0 @@ -43,14 +44,14 @@ dkinit() if (once) return(1); - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_DK_NDRIVE].n_value == 0) { error("dk_ndrive undefined in kernel"); return(0); } dk_ndrive = getw(nlst[X_DK_NDRIVE].n_value); if (dk_ndrive <= 0) { - error("dk_ndrive=%d according to /vmunix", dk_ndrive); + error("dk_ndrive=%d according to %s", dk_ndrive, _PATH_UNIX); return(0); } dk_mspw = (float *)calloc(dk_ndrive, sizeof (float)); @@ -78,24 +79,23 @@ dkinit() dkcmd(cmd, args) char *cmd, *args; { - - if (prefix(cmd, "display") || prefix(cmd, "add")) { - dkselect(args, 1, dk_select); + if (prefix(cmd, "display") || prefix(cmd, "add")) { + dkselect(args, 1, dk_select); return (1); - } - if (prefix(cmd, "ignore") || prefix(cmd, "delete")) { - dkselect(args, 0, dk_select); + } + if (prefix(cmd, "ignore") || prefix(cmd, "delete")) { + dkselect(args, 0, dk_select); return (1); - } - if (prefix(cmd, "drives")) { + } + if (prefix(cmd, "drives")) { register int i; - move(CMDLINE, 0); clrtoeol(); - for (i = 0; i < dk_ndrive; i++) - if (dk_mspw[i] != 0.0) - printw("%s ", dr_name[i]); - return (1); - } + move(CMDLINE, 0); clrtoeol(); + for (i = 0; i < dk_ndrive; i++) + if (dk_mspw[i] != 0.0) + printw("%s ", dr_name[i]); + return (1); + } return (0); } diff --git a/usr/src/usr.bin/systat/iostat.c b/usr/src/usr.bin/systat/iostat.c index f9b8c9bf13..79ccb3b2cd 100644 --- a/usr/src/usr.bin/systat/iostat.c +++ b/usr/src/usr.bin/systat/iostat.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)iostat.c 5.3 (Berkeley) %G%"; +static char sccsid[] = "@(#)iostat.c 5.4 (Berkeley) %G%"; #endif not lint /* @@ -13,75 +13,73 @@ static char sccsid[] = "@(#)iostat.c 5.3 (Berkeley) %G%"; */ #include "systat.h" #include +#include WINDOW * openiostat() { - return (subwin(stdscr, LINES-1-5, 0, 5, 0)); } closeiostat(w) - WINDOW *w; + WINDOW *w; { - - if (w == NULL) - return; - wclear(w); - wrefresh(w); + if (w == NULL) + return; + wclear(w); + wrefresh(w); delwin(w); } static struct nlist nlst[] = { -#define X_DK_BUSY 0 - { "_dk_busy" }, -#define X_DK_TIME 1 - { "_dk_time" }, -#define X_DK_XFER 2 - { "_dk_xfer" }, -#define X_DK_WDS 3 - { "_dk_wds" }, -#define X_DK_SEEK 4 - { "_dk_seek" }, -#define X_CP_TIME 5 - { "_cp_time" }, +#define X_DK_BUSY 0 + { "_dk_busy" }, +#define X_DK_TIME 1 + { "_dk_time" }, +#define X_DK_XFER 2 + { "_dk_xfer" }, +#define X_DK_WDS 3 + { "_dk_wds" }, +#define X_DK_SEEK 4 + { "_dk_seek" }, +#define X_CP_TIME 5 + { "_cp_time" }, #ifdef vax -#define X_MBDINIT (X_CP_TIME+1) - { "_mbdinit" }, -#define X_UBDINIT (X_CP_TIME+2) - { "_ubdinit" }, +#define X_MBDINIT (X_CP_TIME+1) + { "_mbdinit" }, +#define X_UBDINIT (X_CP_TIME+2) + { "_ubdinit" }, #endif #ifdef tahoe #define X_VBDINIT (X_CP_TIME+1) { "_vbdinit" }, #endif - { "" }, + { "" }, }; static struct { - int dk_busy; - long cp_time[CPUSTATES]; - long *dk_time; - long *dk_wds; - long *dk_seek; - long *dk_xfer; + int dk_busy; + long cp_time[CPUSTATES]; + long *dk_time; + long *dk_wds; + long *dk_seek; + long *dk_xfer; } s, s1; static int linesperregion; static double etime; -static int numbers = 0; /* default display bar graphs */ -static int msps = 0; /* default ms/seek shown */ +static int numbers = 0; /* default display bar graphs */ +static int msps = 0; /* default ms/seek shown */ initiostat() { - - if (nlst[X_DK_BUSY].n_type == 0) { - nlist("/vmunix", nlst); - if (nlst[X_DK_BUSY].n_type == 0) { - error("Disk init information isn't in namelist"); - return(0); - } - } + if (nlst[X_DK_BUSY].n_type == 0) { + nlist(_PATH_UNIX, nlst); + if (nlst[X_DK_BUSY].n_type == 0) { + error("Disk init information isn't in namelist"); + return(0); + } + } if (! dkinit()) return(0); if (dk_ndrive) { @@ -99,245 +97,244 @@ initiostat() fetchiostat() { - - if (nlst[X_DK_BUSY].n_type == 0) - return; + if (nlst[X_DK_BUSY].n_type == 0) + return; s.dk_busy = getw(nlst[X_DK_BUSY].n_value); - lseek(kmem, (long)nlst[X_DK_TIME].n_value, L_SET); - read(kmem, s.dk_time, dk_ndrive * sizeof (long)); - lseek(kmem, (long)nlst[X_DK_XFER].n_value, L_SET); - read(kmem, s.dk_xfer, dk_ndrive * sizeof (long)); - lseek(kmem, (long)nlst[X_DK_WDS].n_value, L_SET); - read(kmem, s.dk_wds, dk_ndrive * sizeof (long)); - lseek(kmem, (long)nlst[X_DK_SEEK].n_value, L_SET); - read(kmem, s.dk_seek, dk_ndrive * sizeof (long)); - lseek(kmem, (long)nlst[X_CP_TIME].n_value, L_SET); - read(kmem, s.cp_time, sizeof s.cp_time); + lseek(kmem, (long)nlst[X_DK_TIME].n_value, L_SET); + read(kmem, s.dk_time, dk_ndrive * sizeof (long)); + lseek(kmem, (long)nlst[X_DK_XFER].n_value, L_SET); + read(kmem, s.dk_xfer, dk_ndrive * sizeof (long)); + lseek(kmem, (long)nlst[X_DK_WDS].n_value, L_SET); + read(kmem, s.dk_wds, dk_ndrive * sizeof (long)); + lseek(kmem, (long)nlst[X_DK_SEEK].n_value, L_SET); + read(kmem, s.dk_seek, dk_ndrive * sizeof (long)); + lseek(kmem, (long)nlst[X_CP_TIME].n_value, L_SET); + read(kmem, s.cp_time, sizeof s.cp_time); } #define INSET 10 labeliostat() { - int row; + int row; - if (nlst[X_DK_BUSY].n_type == 0) { - error("No dk_busy defined."); - return; - } - row = 0; - wmove(wnd, row, 0); wclrtobot(wnd); - mvwaddstr(wnd, row++, INSET, - "/0 /10 /20 /30 /40 /50 /60 /70 /80 /90 /100"); - mvwaddstr(wnd, row++, 0, "cpu user|"); - mvwaddstr(wnd, row++, 0, " nice|"); - mvwaddstr(wnd, row++, 0, " system|"); - mvwaddstr(wnd, row++, 0, " idle|"); - if (numbers) - row = numlabels(row + 1); - else - row = barlabels(row + 1); + if (nlst[X_DK_BUSY].n_type == 0) { + error("No dk_busy defined."); + return; + } + row = 0; + wmove(wnd, row, 0); wclrtobot(wnd); + mvwaddstr(wnd, row++, INSET, + "/0 /10 /20 /30 /40 /50 /60 /70 /80 /90 /100"); + mvwaddstr(wnd, row++, 0, "cpu user|"); + mvwaddstr(wnd, row++, 0, " nice|"); + mvwaddstr(wnd, row++, 0, " system|"); + mvwaddstr(wnd, row++, 0, " idle|"); + if (numbers) + row = numlabels(row + 1); + else + row = barlabels(row + 1); } static numlabels(row) { - int i, col, regions, ndrives; + int i, col, regions, ndrives; -#define COLWIDTH 14 -#define DRIVESPERLINE ((wnd->_maxx - INSET) / COLWIDTH) +#define COLWIDTH 14 +#define DRIVESPERLINE ((wnd->_maxx - INSET) / COLWIDTH) for (ndrives = 0, i = 0; i < dk_ndrive; i++) if (dk_select[i]) ndrives++; - regions = howmany(ndrives, DRIVESPERLINE); - /* - * Deduct -regions for blank line after each scrolling region. - */ - linesperregion = (wnd->_maxy - row - regions) / regions; - /* - * Minimum region contains space for two - * label lines and one line of statistics. - */ - if (linesperregion < 3) - linesperregion = 3; - col = 0; - for (i = 0; i < dk_ndrive; i++) - if (dk_select[i] && dk_mspw[i] != 0.0) { - if (col + COLWIDTH >= wnd->_maxx - INSET) { - col = 0, row += linesperregion + 1; - if (row > wnd->_maxy - (linesperregion + 1)) - break; - } - mvwaddstr(wnd, row, col + 4, dr_name[i]); - mvwaddstr(wnd, row + 1, col, "bps tps msps"); - col += COLWIDTH; - } - if (col) - row += linesperregion + 1; - return (row); + regions = howmany(ndrives, DRIVESPERLINE); + /* + * Deduct -regions for blank line after each scrolling region. + */ + linesperregion = (wnd->_maxy - row - regions) / regions; + /* + * Minimum region contains space for two + * label lines and one line of statistics. + */ + if (linesperregion < 3) + linesperregion = 3; + col = 0; + for (i = 0; i < dk_ndrive; i++) + if (dk_select[i] && dk_mspw[i] != 0.0) { + if (col + COLWIDTH >= wnd->_maxx - INSET) { + col = 0, row += linesperregion + 1; + if (row > wnd->_maxy - (linesperregion + 1)) + break; + } + mvwaddstr(wnd, row, col + 4, dr_name[i]); + mvwaddstr(wnd, row + 1, col, "bps tps msps"); + col += COLWIDTH; + } + if (col) + row += linesperregion + 1; + return (row); } static barlabels(row) - int row; + int row; { - int i; + int i; - mvwaddstr(wnd, row++, INSET, - "/0 /5 /10 /15 /20 /25 /30 /35 /40 /45 /50"); - linesperregion = 2 + msps; - for (i = 0; i < dk_ndrive; i++) - if (dk_select[i] && dk_mspw[i] != 0.0) { - if (row > wnd->_maxy - linesperregion) - break; - mvwprintw(wnd, row++, 0, "%3.3s bps|", dr_name[i]); - mvwaddstr(wnd, row++, 0, " tps|"); - if (msps) - mvwaddstr(wnd, row++, 0, " msps|"); - } - return (row); + mvwaddstr(wnd, row++, INSET, + "/0 /5 /10 /15 /20 /25 /30 /35 /40 /45 /50"); + linesperregion = 2 + msps; + for (i = 0; i < dk_ndrive; i++) + if (dk_select[i] && dk_mspw[i] != 0.0) { + if (row > wnd->_maxy - linesperregion) + break; + mvwprintw(wnd, row++, 0, "%3.3s bps|", dr_name[i]); + mvwaddstr(wnd, row++, 0, " tps|"); + if (msps) + mvwaddstr(wnd, row++, 0, " msps|"); + } + return (row); } showiostat() { - register int i, row, col; - register long t; + register int i, row, col; + register long t; - if (nlst[X_DK_BUSY].n_type == 0) - return; - for (i = 0; i < dk_ndrive; i++) { -#define X(fld) t = s.fld[i]; s.fld[i] -= s1.fld[i]; s1.fld[i] = t - X(dk_xfer); X(dk_seek); X(dk_wds); X(dk_time); - } - etime = 0; - for(i = 0; i < CPUSTATES; i++) { - X(cp_time); - etime += s.cp_time[i]; - } - if (etime == 0.0) - etime = 1.0; - etime /= (float) hz; - row = 1; - for (i = 0; i < CPUSTATES; i++) - stat1(row++, i); - if (!numbers) { - row += 2; - for (i = 0; i < dk_ndrive; i++) - if (dk_select[i] && dk_mspw[i] != 0.0) { - if (row > wnd->_maxy - linesperregion) - break; - row = stats(row, INSET, i); - } - return; - } - col = 0; - wmove(wnd, row + linesperregion, 0); - wdeleteln(wnd); - wmove(wnd, row + 3, 0); - winsertln(wnd); - for (i = 0; i < dk_ndrive; i++) - if (dk_select[i] && dk_mspw[i] != 0.0) { - if (col + COLWIDTH >= wnd->_maxx) { - col = 0, row += linesperregion + 1; - if (row > wnd->_maxy - (linesperregion + 1)) - break; - wmove(wnd, row + linesperregion, 0); - wdeleteln(wnd); - wmove(wnd, row + 3, 0); - winsertln(wnd); - } - (void) stats(row + 3, col, i); - col += COLWIDTH; - } + if (nlst[X_DK_BUSY].n_type == 0) + return; + for (i = 0; i < dk_ndrive; i++) { +#define X(fld) t = s.fld[i]; s.fld[i] -= s1.fld[i]; s1.fld[i] = t + X(dk_xfer); X(dk_seek); X(dk_wds); X(dk_time); + } + etime = 0; + for(i = 0; i < CPUSTATES; i++) { + X(cp_time); + etime += s.cp_time[i]; + } + if (etime == 0.0) + etime = 1.0; + etime /= (float) hz; + row = 1; + for (i = 0; i < CPUSTATES; i++) + stat1(row++, i); + if (!numbers) { + row += 2; + for (i = 0; i < dk_ndrive; i++) + if (dk_select[i] && dk_mspw[i] != 0.0) { + if (row > wnd->_maxy - linesperregion) + break; + row = stats(row, INSET, i); + } + return; + } + col = 0; + wmove(wnd, row + linesperregion, 0); + wdeleteln(wnd); + wmove(wnd, row + 3, 0); + winsertln(wnd); + for (i = 0; i < dk_ndrive; i++) + if (dk_select[i] && dk_mspw[i] != 0.0) { + if (col + COLWIDTH >= wnd->_maxx) { + col = 0, row += linesperregion + 1; + if (row > wnd->_maxy - (linesperregion + 1)) + break; + wmove(wnd, row + linesperregion, 0); + wdeleteln(wnd); + wmove(wnd, row + 3, 0); + winsertln(wnd); + } + (void) stats(row + 3, col, i); + col += COLWIDTH; + } } static stats(row, col, dn) - int row, dn; + int row, dn; { - double atime, words, xtime, itime; + double atime, words, xtime, itime; - atime = s.dk_time[dn]; - atime /= (float) hz; - words = s.dk_wds[dn]*32.0; /* number of words transferred */ - xtime = dk_mspw[dn]*words; /* transfer time */ - itime = atime - xtime; /* time not transferring */ - if (xtime < 0) - itime += xtime, xtime = 0; - if (itime < 0) - xtime += itime, itime = 0; - if (numbers) { - mvwprintw(wnd, row, col, "%3.0f%4.0f%5.1f", - words / 512 / etime, s.dk_xfer[dn] / etime, - s.dk_seek[dn] ? itime * 1000. / s.dk_seek[dn] : 0.0); - return (row); - } - wmove(wnd, row++, col); - histogram(words / 512 / etime, 50, 1.0); - wmove(wnd, row++, col); - histogram(s.dk_xfer[dn] / etime, 50, 1.0); - if (msps) { - wmove(wnd, row++, col); - histogram(s.dk_seek[dn] ? itime * 1000. / s.dk_seek[dn] : 0, - 50, 1.0); - } - return (row); + atime = s.dk_time[dn]; + atime /= (float) hz; + words = s.dk_wds[dn]*32.0; /* number of words transferred */ + xtime = dk_mspw[dn]*words; /* transfer time */ + itime = atime - xtime; /* time not transferring */ + if (xtime < 0) + itime += xtime, xtime = 0; + if (itime < 0) + xtime += itime, itime = 0; + if (numbers) { + mvwprintw(wnd, row, col, "%3.0f%4.0f%5.1f", + words / 512 / etime, s.dk_xfer[dn] / etime, + s.dk_seek[dn] ? itime * 1000. / s.dk_seek[dn] : 0.0); + return (row); + } + wmove(wnd, row++, col); + histogram(words / 512 / etime, 50, 1.0); + wmove(wnd, row++, col); + histogram(s.dk_xfer[dn] / etime, 50, 1.0); + if (msps) { + wmove(wnd, row++, col); + histogram(s.dk_seek[dn] ? itime * 1000. / s.dk_seek[dn] : 0, + 50, 1.0); + } + return (row); } static stat1(row, o) - int row, o; + int row, o; { - register i; - double time; + register i; + double time; - time = 0; - for (i = 0; i < CPUSTATES; i++) - time += s.cp_time[i]; - if (time == 0.0) - time = 1.0; - wmove(wnd, row, INSET); -#define CPUSCALE 0.5 - histogram(100 * s.cp_time[o] / time, 50, CPUSCALE); + time = 0; + for (i = 0; i < CPUSTATES; i++) + time += s.cp_time[i]; + if (time == 0.0) + time = 1.0; + wmove(wnd, row, INSET); +#define CPUSCALE 0.5 + histogram(100 * s.cp_time[o] / time, 50, CPUSCALE); } histogram(val, colwidth, scale) - double val; - int colwidth; - double scale; + double val; + int colwidth; + double scale; { - char buf[10]; - register int k; - register int v = (int)(val * scale) + 0.5; + char buf[10]; + register int k; + register int v = (int)(val * scale) + 0.5; - k = MIN(v, colwidth); - if (v > colwidth) { - sprintf(buf, "%4.1f", val); - k -= strlen(buf); - while (k--) - waddch(wnd, 'X'); - waddstr(wnd, buf); - return; - } - while (k--) - waddch(wnd, 'X'); - wclrtoeol(wnd); + k = MIN(v, colwidth); + if (v > colwidth) { + sprintf(buf, "%4.1f", val); + k -= strlen(buf); + while (k--) + waddch(wnd, 'X'); + waddstr(wnd, buf); + return; + } + while (k--) + waddch(wnd, 'X'); + wclrtoeol(wnd); } cmdiostat(cmd, args) - char *cmd, *args; + char *cmd, *args; { - if (prefix(cmd, "msps")) - msps = !msps; + if (prefix(cmd, "msps")) + msps = !msps; else if (prefix(cmd, "numbers")) - numbers = 1; + numbers = 1; else if (prefix(cmd, "bars")) - numbers = 0; + numbers = 0; else if (!dkcmd(cmd, args)) return (0); - wclear(wnd); - labeliostat(); - refresh(); - return (1); + wclear(wnd); + labeliostat(); + refresh(); + return (1); } diff --git a/usr/src/usr.bin/systat/main.c b/usr/src/usr.bin/systat/main.c index b1c216fba8..296a3b8ed3 100644 --- a/usr/src/usr.bin/systat/main.c +++ b/usr/src/usr.bin/systat/main.c @@ -11,21 +11,22 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)main.c 5.3 (Berkeley) %G%"; +static char sccsid[] = "@(#)main.c 5.4 (Berkeley) %G%"; #endif not lint #include "systat.h" +#include static struct nlist nlst[] = { #define X_CCPU 0 - { "_ccpu" }, + { "_ccpu" }, #define X_AVENRUN 1 - { "_avenrun" }, + { "_avenrun" }, #define X_HZ 2 { "_hz" }, #define X_PHZ 3 { "_phz" }, - { "" } + { "" } }; int kmem = -1; @@ -44,8 +45,8 @@ int dellave; static WINDOW *wload; /* one line window for load average */ main(argc, argv) - int argc; - char **argv; + int argc; + char **argv; { argc--, argv++; @@ -67,40 +68,40 @@ main(argc, argv) } argc--, argv++; } - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_CCPU].n_type == 0) { - fprintf(stderr, "Couldn't namelist /vmunix.\n"); + fprintf(stderr, "Couldn't namelist %s.\n", _PATH_UNIX); exit(1); } - kmemf = "/dev/kmem"; + kmemf = _PATH_KMEM; kmem = open(kmemf, O_RDONLY); if (kmem < 0) { perror(kmemf); exit(1); } - memf = "/dev/mem"; + memf = _PATH_MEM; mem = open(memf, O_RDONLY); if (mem < 0) { perror(memf); exit(1); } - swapf = "/dev/drum"; + swapf = _PATH_DRUM; swap = open(swapf, O_RDONLY); if (swap < 0) { perror(swapf); exit(1); } - signal(SIGINT, die); - signal(SIGQUIT, die); - signal(SIGTERM, die); + signal(SIGINT, die); + signal(SIGQUIT, die); + signal(SIGTERM, die); - /* + /* * Initialize display. Load average appears in a one line * window of its own. Current command's display appears in * an overlapping sub-window of stdscr configured by the display * routines to minimize update work by curses. */ - initscr(); + initscr(); CMDLINE = LINES - 1; wnd = (*curcmd->c_open)(); if (wnd == NULL) { @@ -113,56 +114,55 @@ main(argc, argv) die(); } - gethostname(hostname, sizeof (hostname)); - lseek(kmem, nlst[X_CCPU].n_value, L_SET); - read(kmem, &ccpu, sizeof (ccpu)); - lccpu = log(ccpu); + gethostname(hostname, sizeof (hostname)); + lseek(kmem, nlst[X_CCPU].n_value, L_SET); + read(kmem, &ccpu, sizeof (ccpu)); + lccpu = log(ccpu); hz = getw(nlst[X_HZ].n_value); phz = getw(nlst[X_PHZ].n_value); (*curcmd->c_init)(); curcmd->c_flags |= CF_INIT; - labels(); + labels(); - known[0].k_uid = -1; + known[0].k_uid = -1; known[0].k_name[0] = '\0'; - numknown = 1; + numknown = 1; procs[0].pid = -1; strcpy(procs[0].cmd, ""); numprocs = 1; - dellave = 0.0; + dellave = 0.0; - signal(SIGALRM, display); - sigtstpdfl = signal(SIGTSTP, suspend); - display(); - noecho(); - crmode(); + signal(SIGALRM, display); + sigtstpdfl = signal(SIGTSTP, suspend); + display(); + noecho(); + crmode(); keyboard(); /*NOTREACHED*/ } labels() { - if (curcmd->c_flags & CF_LOADAV) { mvaddstr(2, 20, "/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10"); mvaddstr(3, 5, "Load Average"); } - (*curcmd->c_label)(); + (*curcmd->c_label)(); #ifdef notdef - mvprintw(21, 25, "CPU usage on %s", hostname); + mvprintw(21, 25, "CPU usage on %s", hostname); #endif - refresh(); + refresh(); } display() { - register int i, j; + register int i, j; - /* Get the load average over the last minute. */ - lseek(kmem, nlst[X_AVENRUN].n_value, L_SET); + /* Get the load average over the last minute. */ + lseek(kmem, nlst[X_AVENRUN].n_value, L_SET); read(kmem, avenrun, sizeof (avenrun)); - (*curcmd->c_fetch)(); + (*curcmd->c_fetch)(); if (curcmd->c_flags & CF_LOADAV) { j = 5.0*avenrun[0] + 0.5; dellave -= avenrun[0]; @@ -181,13 +181,13 @@ display() if (j > 50) wprintw(wload, " %4.1f", avenrun[0]); } - (*curcmd->c_refresh)(); + (*curcmd->c_refresh)(); if (curcmd->c_flags & CF_LOADAV) wrefresh(wload); - wrefresh(wnd); - move(CMDLINE, col); - refresh(); - alarm(naptime); + wrefresh(wnd); + move(CMDLINE, col); + refresh(); + alarm(naptime); } load() @@ -203,14 +203,12 @@ load() die() { - - endwin(); - exit(0); + endwin(); + exit(0); } error(fmt, a1, a2, a3) { - mvprintw(CMDLINE, 0, fmt, a1, a2, a3); clrtoeol(); refresh(); diff --git a/usr/src/usr.bin/systat/mbufs.c b/usr/src/usr.bin/systat/mbufs.c index 0ebda6ae8c..2690ffc3ed 100644 --- a/usr/src/usr.bin/systat/mbufs.c +++ b/usr/src/usr.bin/systat/mbufs.c @@ -5,23 +5,22 @@ */ #ifndef lint -static char sccsid[] = "@(#)mbufs.c 5.2 (Berkeley) %G%"; +static char sccsid[] = "@(#)mbufs.c 5.3 (Berkeley) %G%"; #endif not lint #include "systat.h" #include +#include WINDOW * openmbufs() { - return (subwin(stdscr, LINES-5-1, 0, 5, 0)); } closembufs(w) WINDOW *w; { - if (w == NULL) return; wclear(w); @@ -33,10 +32,9 @@ struct mbstat *mb; labelmbufs() { - - wmove(wnd, 0, 0); wclrtoeol(wnd); - mvwaddstr(wnd, 0, 10, - "/0 /5 /10 /15 /20 /25 /30 /35 /40 /45 /50 /55 /60"); + wmove(wnd, 0, 0); wclrtoeol(wnd); + mvwaddstr(wnd, 0, 10, + "/0 /5 /10 /15 /20 /25 /30 /35 /40 /45 /50 /55 /60"); } char *mtnames[] = { @@ -97,16 +95,15 @@ showmbufs() static struct nlist nlst[] = { #define X_MBSTAT 0 { "_mbstat" }, - { "" } + { "" } }; initmbufs() { - if (nlst[X_MBSTAT].n_type == 0) { - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_MBSTAT].n_type == 0) { - error("namelist on /vmunix failed"); + error("namelist on %s failed", _PATH_UNIX); return(0); } } @@ -117,7 +114,6 @@ initmbufs() fetchmbufs() { - if (nlst[X_MBSTAT].n_type == 0) return; lseek(kmem, nlst[X_MBSTAT].n_value, L_SET); diff --git a/usr/src/usr.bin/systat/netstat.c b/usr/src/usr.bin/systat/netstat.c index 2cf5a093c2..32f2044e7e 100644 --- a/usr/src/usr.bin/systat/netstat.c +++ b/usr/src/usr.bin/systat/netstat.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)netstat.c 5.2 (Berkeley) %G%"; +static char sccsid[] = "@(#)netstat.c 5.3 (Berkeley) %G%"; #endif not lint /* @@ -35,6 +35,7 @@ static char sccsid[] = "@(#)netstat.c 5.2 (Berkeley) %G%"; #include #include #include +#include #define streq(a,b) (strcmp(a,b)==0) #define YMAX(w) ((w)->_maxy-1) @@ -42,7 +43,6 @@ static char sccsid[] = "@(#)netstat.c 5.2 (Berkeley) %G%"; WINDOW * opennetstat() { - sethostent(1); setnetent(1); return (subwin(stdscr, LINES-5-1, 0, 5, 0)); @@ -100,13 +100,12 @@ static struct nlist nlst[] = { { "_tcb" }, #define X_UDB 1 { "_udb" }, - { "" }, + { "" }, }; initnetstat() { - - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_TCB].n_value == 0) { error("No symbols in namelist"); return(0); @@ -230,10 +229,9 @@ enter(inp, so, state, proto) labelnetstat() { - - if (nlst[X_TCB].n_type == 0) - return; - wmove(wnd, 0, 0); wclrtobot(wnd); + if (nlst[X_TCB].n_type == 0) + return; + wmove(wnd, 0, 0); wclrtobot(wnd); mvwaddstr(wnd, 0, LADDR, "Local Address"); mvwaddstr(wnd, 0, FADDR, "Foreign Address"); mvwaddstr(wnd, 0, PROTO, "Proto"); @@ -384,7 +382,7 @@ inetname(in) } cmdnetstat(cmd, args) - char *cmd, *args; + char *cmd, *args; { register struct netinfo *p; diff --git a/usr/src/usr.bin/systat/pigs.c b/usr/src/usr.bin/systat/pigs.c index 015f7a7375..955ba0d391 100644 --- a/usr/src/usr.bin/systat/pigs.c +++ b/usr/src/usr.bin/systat/pigs.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)pigs.c 5.5 (Berkeley) %G%"; +static char sccsid[] = "@(#)pigs.c 5.6 (Berkeley) %G%"; #endif not lint /* @@ -17,18 +17,17 @@ static char sccsid[] = "@(#)pigs.c 5.5 (Berkeley) %G%"; #include #include #include +#include WINDOW * openpigs() { - return (subwin(stdscr, LINES-5-1, 0, 5, 0)); } closepigs(w) WINDOW *w; { - if (w == NULL) return; wclear(w); @@ -46,135 +45,134 @@ double idle; showpigs() { - register short auid; - register int i, j, y; - register float max; - register struct p_times *ptptr; - struct p_times temppt; - register struct users *knptr; - char *getpname(), *pnamp; + register short auid; + register int i, j, y; + register float max; + register struct p_times *ptptr; + struct p_times temppt; + register struct users *knptr; + char *getpname(), *pnamp; if (pt == NULL) return; - /* Accumulate the percent of cpu per user. */ - ptptr = pt; - numprocs = 0; - total = 0.0; - for (i = 0; i < nproc; i++) { - /* discard inactive processes */ - if (ptptr->pt_uid == -1) { - ptptr++; - continue; - } - /* Accumulate the percentage. */ - total += ptptr->pt_pctcpu; - numprocs++; - ptptr++; - } - - pt[numprocs].pt_pctcpu = idle; + /* Accumulate the percent of cpu per user. */ + ptptr = pt; + numprocs = 0; + total = 0.0; + for (i = 0; i < nproc; i++) { + /* discard inactive processes */ + if (ptptr->pt_uid == -1) { + ptptr++; + continue; + } + /* Accumulate the percentage. */ + total += ptptr->pt_pctcpu; + numprocs++; + ptptr++; + } + + pt[numprocs].pt_pctcpu = idle; total += idle; - pt[numprocs].pt_uid = -1; - pt[numprocs].pt_pid = -1; - pt[numprocs].pt_pp = NULL; + pt[numprocs].pt_uid = -1; + pt[numprocs].pt_pid = -1; + pt[numprocs].pt_pp = NULL; if (total < 1.0) total = 1.0; - factor = 50.0/total; + factor = 50.0/total; - /* Find the top few by executing a "bubble pass" ten times. */ + /* Find the top few by executing a "bubble pass" ten times. */ y = numprocs + 1; if (y > wnd->_maxy-1) y = wnd->_maxy-1; - for (i = 0; i < y; i++) { - ptptr = &pt[i]; - max = -10000.0; - maxind = i; - for (j = i; j < numprocs + 1; j++) { - if (ptptr->pt_pctcpu > max) { - max = ptptr->pt_pctcpu; - maxind = j; - } - ptptr++; - } - if (maxind != i) { - temppt = pt[i]; - pt[i] = pt[maxind]; - pt[maxind] = temppt; - } - } - y = 1; - ptptr = pt; + for (i = 0; i < y; i++) { + ptptr = &pt[i]; + max = -10000.0; + maxind = i; + for (j = i; j < numprocs + 1; j++) { + if (ptptr->pt_pctcpu > max) { + max = ptptr->pt_pctcpu; + maxind = j; + } + ptptr++; + } + if (maxind != i) { + temppt = pt[i]; + pt[i] = pt[maxind]; + pt[maxind] = temppt; + } + } + y = 1; + ptptr = pt; i = numprocs + 1; if (i > wnd->_maxy-1) i = wnd->_maxy-1; - for (; i > 0 && ptptr->pt_pctcpu > 0.01; i--) { - /* Find the user's name. */ - knptr = known; - auid = ptptr->pt_uid; - for (j = numknown - 1; j >= 0; j--) { - if (knptr->k_uid == auid) { - namp = knptr->k_name; - break; - } - knptr++; - } - if (j < 0) { - if (numknown < 30) { - knptr = &known[numknown]; - namp = strncpy(knptr->k_name, - getpwuid(auid)->pw_name, 15); - knptr->k_name[15] = '\0'; - knptr->k_uid = auid; - numknown++; - } else - namp = getpwuid(auid)-> pw_name; - } - pnamp = getpname(ptptr->pt_pid, ptptr->pt_pp); - wmove(wnd, y, 0); - wclrtoeol(wnd); - mvwaddstr(wnd, y, 0, namp); - sprintf(pidname, "%10.10s", pnamp); - mvwaddstr(wnd, y, 9, pidname); - wmove(wnd, y++, 20); - for (j = ptptr->pt_pctcpu*factor + 0.5; j > 0; j--) - waddch(wnd, 'X'); - ptptr++; - } + for (; i > 0 && ptptr->pt_pctcpu > 0.01; i--) { + /* Find the user's name. */ + knptr = known; + auid = ptptr->pt_uid; + for (j = numknown - 1; j >= 0; j--) { + if (knptr->k_uid == auid) { + namp = knptr->k_name; + break; + } + knptr++; + } + if (j < 0) { + if (numknown < 30) { + knptr = &known[numknown]; + namp = strncpy(knptr->k_name, + getpwuid(auid)->pw_name, 15); + knptr->k_name[15] = '\0'; + knptr->k_uid = auid; + numknown++; + } else + namp = getpwuid(auid)-> pw_name; + } + pnamp = getpname(ptptr->pt_pid, ptptr->pt_pp); + wmove(wnd, y, 0); + wclrtoeol(wnd); + mvwaddstr(wnd, y, 0, namp); + sprintf(pidname, "%10.10s", pnamp); + mvwaddstr(wnd, y, 9, pidname); + wmove(wnd, y++, 20); + for (j = ptptr->pt_pctcpu*factor + 0.5; j > 0; j--) + waddch(wnd, 'X'); + ptptr++; + } wmove(wnd, y, 0); wclrtobot(wnd); } static struct nlist nlst[] = { #define X_PROC 0 - { "_proc" }, + { "_proc" }, #define X_NPROC 1 - { "_nproc" }, + { "_nproc" }, #define X_USRPTMAP 2 - { "_Usrptmap" }, + { "_Usrptmap" }, #define X_USRPT 3 - { "_usrpt" }, + { "_usrpt" }, #define X_CPTIME 4 { "_cp_time" }, - { "" } + { "" } }; initpigs() { - if (nlst[X_PROC].n_type == 0) { - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_PROC].n_type == 0) { - error("namelist on /vmunix failed"); + error("namelist on %s failed", _PATH_UNIX); return(0); } } - if (procp == NULL) { - procp = getw(nlst[X_PROC].n_value); - nproc = getw(nlst[X_NPROC].n_value); - } + if (procp == NULL) { + procp = getw(nlst[X_PROC].n_value); + nproc = getw(nlst[X_NPROC].n_value); + } if (kprocp == NULL) - kprocp = (struct proc *)calloc(nproc, sizeof (struct proc)); - if (usrpt != NULL) + kprocp = (struct proc *)calloc(nproc, sizeof (struct proc)); + if (usrpt != NULL) return(1); usrpt = (struct pte *)nlst[X_USRPT].n_value; Usrptma = (struct pte *)nlst[X_USRPTMAP].n_value; @@ -187,10 +185,10 @@ initpigs() fetchpigs() { - register int i; - register struct p_times *prt; - register float time; - register struct proc *pp; + register int i; + register struct p_times *prt; + register float time; + register struct proc *pp; long ctime[CPUSTATES]; double t; @@ -206,21 +204,21 @@ fetchpigs() if (pt == NULL) return; } - prt = pt; - lseek(kmem, procp, L_SET); - read(kmem, kprocp, sizeof (struct proc) * nproc); - for (i = 0, pp = kprocp; i < nproc; i++, pp++) { - time = pp->p_time; - if (time == 0 || (pp->p_flag & SLOAD) == 0) - continue; - prt->pt_pid = pp->p_pid; - prt->pt_pp = pp; - prt->pt_pctcpu = pp->p_pctcpu / (1.0 - exp(time * lccpu)); - prt->pt_uid = pp->p_uid; - prt++; - } - for (; prt < &pt[nproc]; prt++) - prt->pt_uid = -1; + prt = pt; + lseek(kmem, procp, L_SET); + read(kmem, kprocp, sizeof (struct proc) * nproc); + for (i = 0, pp = kprocp; i < nproc; i++, pp++) { + time = pp->p_time; + if (time == 0 || (pp->p_flag & SLOAD) == 0) + continue; + prt->pt_pid = pp->p_pid; + prt->pt_pp = pp; + prt->pt_pctcpu = pp->p_pctcpu / (1.0 - exp(time * lccpu)); + prt->pt_uid = pp->p_uid; + prt++; + } + for (; prt < &pt[nproc]; prt++) + prt->pt_uid = -1; lseek(kmem, (long)nlst[X_CPTIME].n_value, L_SET); read(kmem, ctime, sizeof ctime); t = 0; @@ -235,8 +233,7 @@ fetchpigs() labelpigs() { - wmove(wnd, 0, 0); wclrtoeol(wnd); - mvwaddstr(wnd, 0, 20, - "/0 /10 /20 /30 /40 /50 /60 /70 /80 /90 /100"); + mvwaddstr(wnd, 0, 20, + "/0 /10 /20 /30 /40 /50 /60 /70 /80 /90 /100"); } diff --git a/usr/src/usr.bin/systat/swap.c b/usr/src/usr.bin/systat/swap.c index 94602f4373..acc4969fc2 100644 --- a/usr/src/usr.bin/systat/swap.c +++ b/usr/src/usr.bin/systat/swap.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)swap.c 5.4 (Berkeley) %G%"; +static char sccsid[] = "@(#)swap.c 5.5 (Berkeley) %G%"; #endif not lint #include "systat.h" @@ -16,18 +16,17 @@ static char sccsid[] = "@(#)swap.c 5.4 (Berkeley) %G%"; #include #include #include +#include WINDOW * openswap() { - return (subwin(stdscr, LINES-5-1, 0, 5, 0)); } closeswap(w) WINDOW *w; { - if (w == NULL) return; wclear(w); @@ -45,14 +44,14 @@ struct swdevt *swdevt; int colwidth; extern union { - struct user user; - char upages[UPAGES][NBPG]; + struct user user; + char upages[UPAGES][NBPG]; } user; #define u user.user showswap() { - register int i, j; + register int i, j; register struct proc *pp; register struct text *xp; register int row; @@ -81,7 +80,7 @@ showswap() row = swapdisplay(2, dmtext, 'X'); if (kprocp == NULL) return; - for (i = 0, pp = kprocp; i < nproc; i++, pp++) { + for (i = 0, pp = kprocp; i < nproc; i++, pp++) { if (pp->p_stat == 0 || pp->p_stat == SZOMB) continue; if (pp->p_flag & SSYS) @@ -94,7 +93,7 @@ showswap() if ((pp->p_flag & SLOAD) == 0) vusize(pp); #endif - } + } (void) swapdisplay(1+row, dmmax, 'X'); } @@ -168,47 +167,46 @@ dmtoindex(dm) static struct nlist nlst[] = { #define X_PROC 0 - { "_proc" }, + { "_proc" }, #define X_NPROC 1 - { "_nproc" }, + { "_nproc" }, #define X_USRPTMAP 2 - { "_Usrptmap" }, + { "_Usrptmap" }, #define X_USRPT 3 - { "_usrpt" }, + { "_usrpt" }, #define X_NSWAP 4 - { "_nswap" }, + { "_nswap" }, #define X_DMMIN 5 - { "_dmmin" }, + { "_dmmin" }, #define X_DMMAX 6 - { "_dmmax" }, + { "_dmmax" }, #define X_DMTEXT 7 { "_dmtext" }, #define X_NSWDEV 8 - { "_nswdev" }, + { "_nswdev" }, #define X_SWDEVT 9 { "_swdevt" }, #define X_NTEXT 10 { "_ntext" }, #define X_TEXT 11 { "_text" }, - { "" } + { "" } }; initswap() { - if (nlst[X_PROC].n_type == 0) { - nlist("/vmunix", nlst); + nlist(_PATH_UNIX, nlst); if (nlst[X_PROC].n_type == 0) { - error("namelist on /vmunix failed"); + error("namelist on %s failed", _PATH_UNIX); return(0); } } - if (nswdev == 0) { - dmmin = getw(nlst[X_DMMIN].n_value); - dmmax = getw(nlst[X_DMMAX].n_value); - dmtext = getw(nlst[X_DMTEXT].n_value); - nswdev = getw(nlst[X_NSWDEV].n_value); + if (nswdev == 0) { + dmmin = getw(nlst[X_DMMIN].n_value); + dmmax = getw(nlst[X_DMMAX].n_value); + dmtext = getw(nlst[X_DMTEXT].n_value); + nswdev = getw(nlst[X_NSWDEV].n_value); if (nswdev > MAXSWAPDEV) nswdev = MAXSWAPDEV; swdevt = (struct swdevt *)calloc(nswdev, sizeof (*swdevt)); @@ -216,17 +214,17 @@ initswap() read(kmem, swdevt, nswdev * sizeof (struct swdevt)); ntext = getw(nlst[X_NTEXT].n_value); textp = getw(nlst[X_TEXT].n_value); - } - if (procp == NULL) { - procp = getw(nlst[X_PROC].n_value); - nproc = getw(nlst[X_NPROC].n_value); - } + } + if (procp == NULL) { + procp = getw(nlst[X_PROC].n_value); + nproc = getw(nlst[X_NPROC].n_value); + } if (xtext == NULL) xtext = (struct text *)calloc(ntext, sizeof (struct text)); if (kprocp == NULL) - kprocp = (struct proc *)calloc(nproc, sizeof (struct proc)); - if (usrpt != NULL) - return(1); + kprocp = (struct proc *)calloc(nproc, sizeof (struct proc)); + if (usrpt != NULL) + return(1); usrpt = (struct pte *)nlst[X_USRPT].n_value; Usrptma = (struct pte *)nlst[X_USRPTMAP].n_value; if (pt == NULL) @@ -236,16 +234,15 @@ initswap() fetchswap() { - if (nlst[X_PROC].n_type == 0) return; if (kprocp == NULL) { - kprocp = (struct proc *)malloc(sizeof (*kprocp) * nproc); + kprocp = (struct proc *)malloc(sizeof (*kprocp) * nproc); if (kprocp == NULL) return; } - lseek(kmem, procp, L_SET); - if (read(kmem, kprocp, sizeof (struct proc) * nproc) != + lseek(kmem, procp, L_SET); + if (read(kmem, kprocp, sizeof (struct proc) * nproc) != sizeof (struct proc) * nproc) { error("couldn't read proc table"); return; diff --git a/usr/src/usr.bin/systat/vmstat.c b/usr/src/usr.bin/systat/vmstat.c index 2ede8afe7a..28020c4b55 100644 --- a/usr/src/usr.bin/systat/vmstat.c +++ b/usr/src/usr.bin/systat/vmstat.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)vmstat.c 5.9 (Berkeley) %G%"; +static char sccsid[] = "@(#)vmstat.c 5.10 (Berkeley) %G%"; #endif not lint /* @@ -26,6 +26,7 @@ static char sccsid[] = "@(#)vmstat.c 5.9 (Berkeley) %G%"; #include #include +#include static int ut; @@ -33,21 +34,21 @@ WINDOW * openkre() { - ut = open("/etc/utmp", O_RDONLY); + ut = open(_PATH_UTMP, O_RDONLY); if (ut < 0) error("No utmp"); - return (stdscr); + return (stdscr); } closekre(w) - WINDOW *w; + WINDOW *w; { (void) close(ut); - if (w == NULL) - return; - wclear(w); - wrefresh(w); + if (w == NULL) + return; + wclear(w); + wrefresh(w); } long time(); @@ -160,7 +161,7 @@ initkre() static int once = 0; if (name[0].n_type == 0) { - nlist("/vmunix",name); + nlist(_PATH_UNIX,name); if (name[0].n_type == 0) { error("No namelist"); return(0); -- 2.20.1