update to new sources from sam; weed out unnecessary #includes
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 10 Aug 1984 10:13:47 +0000 (02:13 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 10 Aug 1984 10:13:47 +0000 (02:13 -0800)
SCCS-vsn: usr.bin/systat/Makefile 1.4
SCCS-vsn: usr.bin/systat/fetch.c 1.4
SCCS-vsn: usr.bin/systat/main.c 1.7
SCCS-vsn: usr.bin/systat/pigs.c 1.6
SCCS-vsn: usr.bin/systat/swap.c 1.6
SCCS-vsn: usr.bin/systat/systat.h 1.4
SCCS-vsn: usr.bin/systat/mbufs.c 1.3
SCCS-vsn: usr.bin/systat/cmds.c 1.4
SCCS-vsn: usr.bin/systat/cmdtab.c 1.2
SCCS-vsn: usr.bin/systat/iostat.c 1.4
SCCS-vsn: usr.bin/systat/keyboard.c 1.2
SCCS-vsn: usr.bin/systat/disks.c 1.2

12 files changed:
usr/src/usr.bin/systat/Makefile
usr/src/usr.bin/systat/cmds.c
usr/src/usr.bin/systat/cmdtab.c
usr/src/usr.bin/systat/disks.c
usr/src/usr.bin/systat/fetch.c
usr/src/usr.bin/systat/iostat.c
usr/src/usr.bin/systat/keyboard.c
usr/src/usr.bin/systat/main.c
usr/src/usr.bin/systat/mbufs.c
usr/src/usr.bin/systat/pigs.c
usr/src/usr.bin/systat/swap.c
usr/src/usr.bin/systat/systat.h

index 2af7ae0..b7a6bd0 100644 (file)
-#       Makefile     1.3     83/10/02
+#       Makefile     1.4     84/08/09
 DESTDIR=
 DESTDIR=
+INCPATH=
 CFLAGS= -O
 CFLAGS= -O
-OBJS=  cmds.o cmdtab.o fetch.o iostat.o keyboard.o main.o \
-       mbufs.o pigs.o swap.o
+SRCS=  cmds.c cmdtab.c disks.c fetch.c iostat.c \
+       keyboard.c main.c mbufs.c pigs.c swap.c vmstat.c
+OBJS=  cmds.o cmdtab.o disks.o fetch.o iostat.o \
+       keyboard.o main.o mbufs.o pigs.o swap.o vmstat.o
 LIBS=   -lcurses -ltermlib -lm
 
 systat: ${OBJS}
        ${CC} -o systat ${OBJS} ${LIBS}
 
 LIBS=   -lcurses -ltermlib -lm
 
 systat: ${OBJS}
        ${CC} -o systat ${OBJS} ${LIBS}
 
-main.o:        systat.h
-fetch.o:systat.h
-pigs.o:        systat.h
-swap.o:        systat.h
-mbufs.o:systat.h
-iostat.o:systat.h
-
 install: systat
 install: systat
-       install -s systat ${DESTDIR}/usr/lfl/bin/systat
+       install -s systat ${DESTDIR}/usr/local/systat
 
 clean:
        rm -f ${OBJS} systat core a.out errs
 
 clean:
        rm -f ${OBJS} systat core a.out errs
+
+depend:
+       cc -M ${INCPATH} ${SRCS} | \
+       awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
+               else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
+                      else rec = rec " " $$2 } } \
+             END { print rec } ' > makedep
+       echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
+       echo '$$r makedep' >>eddep
+       echo 'w' >>eddep
+       cp Makefile Makefile.bak
+       ed - Makefile < eddep
+       rm eddep makedep
+       echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
+       echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
+       echo '# see make depend above' >> Makefile
+
+# DO NOT DELETE THIS LINE -- make depend uses it
+
+
+cmds.o: cmds.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+cmds.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+cmds.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+cmds.o: /usr/include/signal.h /usr/include/ctype.h
+cmdtab.o: cmdtab.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+cmdtab.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+cmdtab.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+disks.o: disks.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+disks.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+disks.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+disks.o: /usr/include/sys/param.h /usr/include/machine/param.h
+disks.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/buf.h
+disks.o: /usr/include/sys/file.h /usr/include/vaxuba/ubavar.h
+disks.o: /usr/include/vaxmba/mbavar.h /usr/include/ctype.h
+fetch.o: fetch.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+fetch.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+fetch.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+fetch.o: /usr/include/sys/param.h /usr/include/machine/param.h
+fetch.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/dir.h
+fetch.o: /usr/include/sys/user.h /usr/include/machine/pcb.h
+fetch.o: /usr/include/sys/dmap.h /usr/include/sys/time.h
+fetch.o: /usr/include/sys/resource.h /usr/include/sys/namei.h
+fetch.o: /usr/include/sys/uio.h /usr/include/errno.h /usr/include/sys/proc.h
+fetch.o: /usr/include/sys/file.h /usr/include/sys/vmmac.h
+fetch.o: /usr/include/machine/pte.h /usr/include/pwd.h
+iostat.o: iostat.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+iostat.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+iostat.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+iostat.o: /usr/include/sys/param.h /usr/include/machine/param.h
+iostat.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/buf.h
+iostat.o: /usr/include/sys/file.h /usr/include/nlist.h
+keyboard.o: keyboard.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+keyboard.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+keyboard.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+keyboard.o: /usr/include/signal.h /usr/include/ctype.h
+main.o: main.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+main.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+main.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+main.o: /usr/include/sys/file.h /usr/include/nlist.h /usr/include/signal.h
+mbufs.o: mbufs.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+mbufs.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+mbufs.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+mbufs.o: /usr/include/sys/param.h /usr/include/machine/param.h
+mbufs.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/mbuf.h
+mbufs.o: /usr/include/sys/file.h /usr/include/nlist.h
+pigs.o: pigs.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+pigs.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+pigs.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+pigs.o: /usr/include/sys/param.h /usr/include/machine/param.h
+pigs.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/dir.h
+pigs.o: /usr/include/sys/time.h /usr/include/sys/proc.h /usr/include/sys/file.h
+pigs.o: /usr/include/nlist.h /usr/include/pwd.h
+swap.o: swap.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+swap.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+swap.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+swap.o: /usr/include/sys/param.h /usr/include/machine/param.h
+swap.o: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/dir.h
+swap.o: /usr/include/sys/user.h /usr/include/machine/pcb.h
+swap.o: /usr/include/sys/dmap.h /usr/include/sys/time.h
+swap.o: /usr/include/sys/resource.h /usr/include/sys/namei.h
+swap.o: /usr/include/sys/uio.h /usr/include/errno.h /usr/include/sys/proc.h
+swap.o: /usr/include/sys/text.h /usr/include/sys/conf.h /usr/include/sys/file.h
+swap.o: /usr/include/sys/vmmac.h /usr/include/machine/pte.h
+swap.o: /usr/include/nlist.h
+vmstat.o: vmstat.c ./systat.h /usr/include/sys/dk.h /usr/include/curses.h
+vmstat.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+vmstat.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+vmstat.o: /usr/include/sys/param.h /usr/include/machine/param.h
+vmstat.o: /usr/include/signal.h /usr/include/sys/types.h
+vmstat.o: /usr/include/sys/vmmeter.h /usr/include/sys/file.h
+vmstat.o: /usr/include/nlist.h
+# DEPENDENCIES MUST END AT END OF FILE
+# IF YOU PUT STUFF HERE IT WILL GO AWAY
+# see make depend above
index c175b86..93d1aa7 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)cmds.c     1.3 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)cmds.c     1.4 (Lucasfilm) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -7,6 +7,8 @@ static char sccsid[] = "@(#)cmds.c      1.3 (Lucasfilm) %G%";
  */
 
 #include "systat.h"
  */
 
 #include "systat.h"
+#include <signal.h>
+#include <ctype.h>
 
 command(cmd)
         char *cmd;
 
 command(cmd)
         char *cmd;
@@ -21,6 +23,8 @@ command(cmd)
                 *cp++ = '\0';
        if (*cmd == '\0')
                return;
                 *cp++ = '\0';
        if (*cmd == '\0')
                return;
+       for (; *cp && isspace(*cp); cp++)
+               ;
         if (strcmp(cmd, "quit") == 0 || strcmp(cmd, "q") == 0)
                 die();
        if (strcmp(cmd, "load") == 0) {
         if (strcmp(cmd, "quit") == 0 || strcmp(cmd, "q") == 0)
                 die();
        if (strcmp(cmd, "load") == 0) {
@@ -29,19 +33,16 @@ command(cmd)
        }
         if (strcmp(cmd, "stop") == 0) {
                 alarm(0);
        }
         if (strcmp(cmd, "stop") == 0) {
                 alarm(0);
-                mvaddstr(22, 0, "Refresh disabled.");
+                mvaddstr(CMDLINE, 0, "Refresh disabled.");
                 clrtoeol();
                 return;
         }
         if (strcmp(cmd, "start") == 0 || strcmp(cmd, "interval") == 0) {
                 int x;
 
                 clrtoeol();
                 return;
         }
         if (strcmp(cmd, "start") == 0 || strcmp(cmd, "interval") == 0) {
                 int x;
 
-               for (; *cp && isspace(*cp); cp++)
-                       ;
                x = *cp ? atoi(cp) : naptime;
                 if (x <= 0) {
                x = *cp ? atoi(cp) : naptime;
                 if (x <= 0) {
-                        mvprintw(22, 0, "%d: bad interval.", x);
-                        clrtoeol();
+                       error("%d: bad interval.", x);
                         return;
                 }
                 alarm(0);
                         return;
                 }
                 alarm(0);
@@ -71,8 +72,9 @@ command(cmd)
                 status();
                 return;
         }
                 status();
                 return;
         }
-       mvprintw(22, 0, "%s: Unknown command.", cmd);
-       clrtoeol();
+       if (curcmd->c_cmd && (*curcmd->c_cmd)(cmd, cp))
+               return;
+       error("%s: Unknown command.", cmd);
 }
 
 struct cmdtab *
 }
 
 struct cmdtab *
@@ -107,9 +109,8 @@ lookup(name)
 status()
 {
 
 status()
 {
 
-        mvprintw(22, 0, "Showing %s, refresh every %d seconds.",
+        error("Showing %s, refresh every %d seconds.",
           curcmd->c_name, naptime);
           curcmd->c_name, naptime);
-        clrtoeol();
 }
 
 suspend()
 }
 
 suspend()
@@ -117,7 +118,7 @@ suspend()
         int oldmask;
 
        alarm(0);
         int oldmask;
 
        alarm(0);
-        move(22, 0);
+        move(CMDLINE, 0);
         refresh();
         echo();
         nocrmode();
         refresh();
         echo();
         nocrmode();
@@ -128,7 +129,7 @@ suspend()
         signal(SIGTSTP, suspend);
         crmode();
         noecho();
         signal(SIGTSTP, suspend);
         crmode();
         noecho();
-        move(22, col);
+        move(CMDLINE, col);
         wrefresh(curscr);
        alarm(naptime);
 }
         wrefresh(curscr);
        alarm(naptime);
 }
index d1872b3..055fbd6 100644 (file)
@@ -1,17 +1,24 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)cmdtab.c   1.1 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)cmdtab.c   1.2 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 
 #endif
 
 #include "systat.h"
 
-int     showpigs(), fetchpigs(), labelpigs(), initpigs(), closepigs();
+int     showpigs(), fetchpigs(), labelpigs();
+int    initpigs(), closepigs();
 WINDOW *openpigs();
 WINDOW *openpigs();
-int     showswap(), fetchswap(), labelswap(), initswap(), closeswap();
+int     showswap(), fetchswap(), labelswap();
+int    initswap(), closeswap();
 WINDOW *openswap();
 WINDOW *openswap();
-int    showmbufs(), fetchmbufs(), labelmbufs(), initmbufs(), closembufs();
+int    showmbufs(), fetchmbufs(), labelmbufs();
+int    initmbufs(), closembufs();
 WINDOW *openmbufs();
 WINDOW *openmbufs();
-int    showiostat(), fetchiostat(), labeliostat(), initiostat(), closeiostat();
+int    showiostat(), fetchiostat(), labeliostat();
+int    initiostat(), closeiostat(), cmdiostat();
 WINDOW *openiostat();
 WINDOW *openiostat();
+int    showvmstat(), fetchvmstat(), labelvmstat();
+int    initvmstat(), closevmstat();
+WINDOW *openvmstat();
 
 struct cmdtab cmdtab[] = {
         { "pigs",      showpigs,       fetchpigs,      labelpigs,
 
 struct cmdtab cmdtab[] = {
         { "pigs",      showpigs,       fetchpigs,      labelpigs,
@@ -21,7 +28,9 @@ struct        cmdtab cmdtab[] = {
         { "mbufs",     showmbufs,      fetchmbufs,     labelmbufs,
          initmbufs,    openmbufs,      closembufs },
         { "iostat",    showiostat,     fetchiostat,    labeliostat,
         { "mbufs",     showmbufs,      fetchmbufs,     labelmbufs,
          initmbufs,    openmbufs,      closembufs },
         { "iostat",    showiostat,     fetchiostat,    labeliostat,
-         initiostat,   openiostat,     closeiostat },
+         initiostat,   openiostat,     closeiostat,    cmdiostat },
+        { "vmstat",    showvmstat,     fetchvmstat,    labelvmstat,
+         initvmstat,   openvmstat,     closevmstat },
         { 0 }
 };
 struct  cmdtab *curcmd = &cmdtab[0];
         { 0 }
 };
 struct  cmdtab *curcmd = &cmdtab[0];
index 01b2ad5..7fe6d1a 100644 (file)
@@ -1,10 +1,11 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)disks.c    1.1 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)disks.c    1.2 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
-
+#include <sys/param.h>
 #include <sys/buf.h>
 #include <sys/buf.h>
+#include <sys/file.h>
 #ifdef vax
 #include <vaxuba/ubavar.h>
 #include <vaxmba/mbavar.h>
 #ifdef vax
 #include <vaxuba/ubavar.h>
 #include <vaxmba/mbavar.h>
@@ -12,6 +13,7 @@ static char sccsid[] = "@(#)disks.c   1.1 (Lucasfilm) %G%";
 #ifdef sun
 #include <sundev/mbvar.h>
 #endif
 #ifdef sun
 #include <sundev/mbvar.h>
 #endif
+#include <ctype.h>
 
 char dr_name[DK_NDRIVE][10];
 
 
 char dr_name[DK_NDRIVE][10];
 
index 13a4e2a..663f437 100644 (file)
@@ -1,8 +1,16 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)fetch.c    1.3 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)fetch.c    1.4 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
+#include <sys/param.h>
+#include <sys/dir.h>
+#include <sys/user.h>
+#include <sys/proc.h>
+#include <sys/file.h>
+#include <sys/vmmac.h>
+#include <machine/pte.h>
+#include <pwd.h>
 
 long
 getw(loc)
 
 long
 getw(loc)
index 745b001..3043514 100644 (file)
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)iostat.c   1.3 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)iostat.c   1.4 (Lucasfilm) %G%";
 #endif
 
 /*
  * iostat
  */
 #include "systat.h"
 #endif
 
 /*
  * iostat
  */
 #include "systat.h"
-
+#include <sys/param.h>
 #include <sys/buf.h>
 #include <sys/buf.h>
-#include <sys/dk.h>
-#ifdef vax
-#include <vaxuba/ubavar.h>
-#include <vaxmba/mbavar.h>
-#endif
-#ifdef sun
-#include <sundev/mbvar.h>
-#endif
+#include <sys/file.h>
+#include <nlist.h>
+
+#define WBASEROW        4
+#define WBASECOL        5
 
 WINDOW *
 openiostat()
 {
 
 WINDOW *
 openiostat()
 {
-       static WINDOW *w = NULL;
+        static WINDOW *w = NULL;
 
         if (w == NULL)
 
         if (w == NULL)
-               w = newwin(20, 70, 4, 5);
-       return (w);
+                w = newwin(LINES - 1 - WBASEROW, 0, WBASEROW, WBASECOL);
+        return (w);
 }
 
 closeiostat(w)
 }
 
 closeiostat(w)
-       WINDOW *w;
+        WINDOW *w;
 {
 
 {
 
-       if (w == NULL)
-               return;
-       move(5, 0);
-       clrtobot();
-       wclear(w);
-       wrefresh(w);
+        if (w == NULL)
+                return;
+        move(WBASEROW, 0);
+        clrtobot();
+        wclear(w);
+        wrefresh(w);
 }
 
 static struct nlist nlst[] = {
 }
 
 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_MSPW       6
-       { "_dk_mspw" },
-#define        X_HZ            7
-       { "_hz" },
-
+#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_MSPW       6
+        { "_dk_mspw" },
+#define X_HZ            7
+        { "_hz" },
 #ifdef vax
 #ifdef vax
-#define X_MBDINIT      8
-       { "_mbdinit" },
-#define X_UBDINIT      9
-       { "_ubdinit" },
-#endif
-#ifdef sun
-#define X_MBDINIT      8
-       { "_mbdinit" },
+#define X_MBDINIT       8
+        { "_mbdinit" },
+#define X_UBDINIT       9
+        { "_ubdinit" },
 #endif
 #endif
-       { "" },
+        { "" },
 };
 
 };
 
-char dr_name[DK_NDRIVE][10];
-
-struct {
-       int     dk_busy;
-       long    cp_time[CPUSTATES];
-       long    dk_time[DK_NDRIVE];
-       long    dk_wds[DK_NDRIVE];
-       long    dk_seek[DK_NDRIVE];
-       long    dk_xfer[DK_NDRIVE];
-       float   dk_mspw[DK_NDRIVE];
+static struct {
+        int     dk_busy;
+        long    cp_time[CPUSTATES];
+        long    dk_time[DK_NDRIVE];
+        long    dk_wds[DK_NDRIVE];
+        long    dk_seek[DK_NDRIVE];
+        long    dk_xfer[DK_NDRIVE];
 } s, s1;
 
 } s, s1;
 
-int    kmem;
-int    hz;
-double etime;
+static  int linesperregion;
+static  double etime;
+static  int numbers = 0;                /* default display bar graphs */
+static  int msps = 1;                   /* default ms/seek shown */
+static  int dk_select[DK_NDRIVE];
 
 initiostat()
 {
 
 initiostat()
 {
-       register  i;
+        register  i;
 
 
-       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;
-               }
-       }
-       lseek(kmem, (long)nlst[X_DK_MSPW].n_value, L_SET);
-       read(kmem, s.dk_mspw, sizeof s.dk_mspw);
-       for (i = 0; i < DK_NDRIVE; i++)
-               sprintf(dr_name[i], "dk%d", i);
-       lseek(kmem, (long)nlst[X_DK_MSPW].n_value, L_SET);
-       read(kmem, s.dk_mspw, sizeof s.dk_mspw);
-       lseek(kmem, (long)nlst[X_HZ].n_value, L_SET);
-       read(kmem, &hz, sizeof hz);
-       read_names();
+        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;
+                }
+        }
+        if (ndrives == 0) {
+                lseek(kmem, (long)nlst[X_DK_MSPW].n_value, L_SET);
+                read(kmem, dk_mspw, sizeof (dk_mspw));
+                for (i = 0; i < DK_NDRIVE; i++)
+                        if (dk_mspw[i] != 0.0)
+                                sprintf(dr_name[i], "dk%d", i), ndrives++;
+#ifdef vax
+                read_names(nlst[X_MBDINIT].n_value, nlst[X_UBDINIT].n_value);
+#endif
+        }
+        if (hz == 0) {
+                lseek(kmem, (long)nlst[X_HZ].n_value, L_SET);
+                read(kmem, &hz, sizeof hz);
+        }
+        for (i = 0; i < DK_NDRIVE; i++)
+                dk_select[i] = 1;
 }
 
 fetchiostat()
 {
 
 }
 
 fetchiostat()
 {
 
-       if (nlst[X_DK_BUSY].n_type == 0)
-               return;
-       lseek(kmem, (long)nlst[X_DK_BUSY].n_value, L_SET);
-       read(kmem, &s.dk_busy, sizeof s.dk_busy);
-       lseek(kmem, (long)nlst[X_DK_TIME].n_value, L_SET);
-       read(kmem, s.dk_time, sizeof s.dk_time);
-       lseek(kmem, (long)nlst[X_DK_XFER].n_value, L_SET);
-       read(kmem, s.dk_xfer, sizeof s.dk_xfer);
-       lseek(kmem, (long)nlst[X_DK_WDS].n_value, L_SET);
-       read(kmem, s.dk_wds, sizeof s.dk_wds);
-       lseek(kmem, (long)nlst[X_DK_SEEK].n_value, L_SET);
-       read(kmem, s.dk_seek, sizeof s.dk_seek);
-       lseek(kmem, (long)nlst[X_CP_TIME].n_value, L_SET);
-       read(kmem, s.cp_time, sizeof s.cp_time);
+        if (nlst[X_DK_BUSY].n_type == 0)
+                return;
+        lseek(kmem, (long)nlst[X_DK_BUSY].n_value, L_SET);
+        read(kmem, &s.dk_busy, sizeof s.dk_busy);
+        lseek(kmem, (long)nlst[X_DK_TIME].n_value, L_SET);
+        read(kmem, s.dk_time, sizeof s.dk_time);
+        lseek(kmem, (long)nlst[X_DK_XFER].n_value, L_SET);
+        read(kmem, s.dk_xfer, sizeof s.dk_xfer);
+        lseek(kmem, (long)nlst[X_DK_WDS].n_value, L_SET);
+        read(kmem, s.dk_wds, sizeof s.dk_wds);
+        lseek(kmem, (long)nlst[X_DK_SEEK].n_value, L_SET);
+        read(kmem, s.dk_seek, sizeof s.dk_seek);
+        lseek(kmem, (long)nlst[X_CP_TIME].n_value, L_SET);
+        read(kmem, s.cp_time, sizeof s.cp_time);
 }
 
 labeliostat()
 {
 }
 
 labeliostat()
 {
-       register int i, row;
+        int row;
 
 
-       if (nlst[X_DK_BUSY].n_type == 0) {
-               error("No dk_busy defined.");
-               return;
-       }
-       row = 5;
-       move(row, 0); clrtoeol();
-       mvaddstr(row++, 10,
+        if (nlst[X_DK_BUSY].n_type == 0) {
+                error("No dk_busy defined.");
+                return;
+        }
+        row = WBASEROW + 1;
+        move(row, 0); clrtobot();
+        mvaddstr(row++, WBASECOL + 5, 
             "/0   /10  /20  /30  /40  /50  /60  /70  /80  /90  /100");
             "/0   /10  /20  /30  /40  /50  /60  /70  /80  /90  /100");
-       mvaddstr(row++, 0, "cpu  user|"); clrtoeol();
-       mvaddstr(row++, 0, "     nice|"); clrtoeol();
-       mvaddstr(row++, 0, "   system|"); clrtoeol();
-       mvaddstr(row++, 0, "     idle|"); clrtoeol();
-       row++;
-       for (i = 0; i < DK_NDRIVE; i++)
-               if (s.dk_mspw[i] != 0.0) {
-                       mvprintw(row++, 0, "%3.3s   bps|", dr_name[i]);
-                       clrtoeol();
-                       mvaddstr(row++, 0, "      tps|"); clrtoeol();
-                       mvaddstr(row++, 0, "      mps|"); clrtoeol();
-               }
+        mvaddstr(row++, 0, "cpu  user|");
+        mvaddstr(row++, 0, "     nice|");
+        mvaddstr(row++, 0, "   system|");
+        mvaddstr(row++, 0, "     idle|");
+        if (numbers)
+                row = numlabels(row + 1);
+        else
+                row = barlabels(row + 1);
+}
+
+static
+numlabels(row)
+{
+        int i, col, regions;
+
+#define COLWIDTH        14
+#define DRIVESPERLINE   ((COLS - WBASECOL) / COLWIDTH)
+        regions = howmany(ndrives, DRIVESPERLINE);
+        /*
+         * Deduct -regions for blank line after each scrolling region.
+         */
+        linesperregion = (CMDLINE - 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 >= COLS - WBASECOL) {
+                                col = 0, row += linesperregion + 1;
+                                if (row > CMDLINE - (linesperregion + 1))
+                                        break;
+                        }
+                        mvwaddstr(wnd, row - WBASEROW, col + 4, dr_name[i]);
+                        mvwaddstr(wnd, row + 1 - WBASEROW, col, "bps tps msps");
+                        col += COLWIDTH;
+                }
+        if (col)
+                row += linesperregion + 1;
+        return (row);
+}
+
+static
+barlabels(row)
+        int row;
+{
+        int i;
+
+        mvaddstr(row++, 10,
+            "/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 > CMDLINE - linesperregion)
+                                break;
+                        mvprintw(row++, 0, "%3.3s   bps|", dr_name[i]);
+                        mvaddstr(row++, 0, "      tps|");
+                        if (msps)
+                                mvaddstr(row++, 0, "     msps|");
+                }
+        return (row);
 }
 
 showiostat()
 {
 }
 
 showiostat()
 {
-       register int i;
-       register long t;
-       int row;
+        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 = 2;
-       for (i = 0; i < CPUSTATES; i++)
-               stat1(row++, i);
-       row++;
-       for (i = 0; i < DK_NDRIVE; i++)
-               if (s.dk_mspw[i] != 0.0)
-                       row = stats(row, i);
+        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 = 2;
+        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 > CMDLINE - linesperregion - WBASEROW)
+                                        break;
+                                row = stats(row, 10 - WBASECOL, 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 >= COLS - WBASECOL) {
+                                col = 0, row += linesperregion + 1;
+                                if (row + WBASEROW >
+                                    CMDLINE - (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;
+                }
 }
 
 }
 
-stats(row, dn)
-       int row, dn;
+static
+stats(row, col, dn)
+        int row, dn;
 {
 {
-       register i;
-       double atime, words, xtime, itime;
+        register i;
+        double atime, words, xtime, itime;
 
 
-       if (s.dk_mspw[dn] == 0.0) {
-               wmove(wnd, row++, 5); wclrtoeol(wnd);
-               wmove(wnd, row++, 5); wclrtoeol(wnd);
-               wmove(wnd, row++, 5); wclrtoeol(wnd);
-               return (row);
-       }
-       atime = s.dk_time[dn];
-       atime /= (float) hz;
-       words = s.dk_wds[dn]*32.0;      /* number of words transferred */
-       xtime = s.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;
-       wmove(wnd, row++, 5); histogram(words / 512 / etime, 60, 1.0, 'X');
-       wmove(wnd, row++, 5); histogram(s.dk_xfer[dn] / etime, 60, 1.0, 'X');
-       wmove(wnd, row++, 5); histogram(s.dk_seek[dn] ?
-           itime * 1000. / s.dk_seek[dn] : 0, 60, 1.0, 'X');
-       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)
 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, 5); histogram(100*s.cp_time[o] / time, 60, 0.5, 'X');
+        time = 0;
+        for (i = 0; i < CPUSTATES; i++)
+                time += s.cp_time[i];
+        if (time == 0.0)
+                time = 1.0;
+        wmove(wnd, row, 5);
+#define CPUSCALE        0.5
+        histogram(100 * s.cp_time[o] / time, 50, CPUSCALE);
 }
 
 }
 
-histogram(val, colwidth, scale, c)
-       double val;
-       int colwidth;
-       double scale;
-       char c;
+histogram(val, colwidth, 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, c);
-               waddstr(wnd, buf);
-               return;
-       }
-       while (k--)
-               waddch(wnd, c);
-       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);
 }
 
 }
 
-#define steal(where, var) \
-       lseek(kmem, where, L_SET); read(kmem, &var, sizeof var);
-
-#ifdef vax
-read_names()
+cmdiostat(cmd, args)
+        char *cmd, *args;
 {
 {
-       struct mba_device mdev;
-       register struct mba_device *mp;
-       struct mba_driver mdrv;
-       short two_char;
-       char *cp = (char *) &two_char;
-       struct uba_device udev, *up;
-       struct uba_driver udrv;
+        int i;
 
 
-       mp = (struct mba_device *) nlst[X_MBDINIT].n_value;
-       up = (struct uba_device *) nlst[X_UBDINIT].n_value;
-       if (up == 0) {
-               error("Disk init info not in namelist\n");
-               return;
-       }
-       if (mp) for (;;) {
-               steal(mp++, mdev);
-               if (mdev.mi_driver == 0)
-                       break;
-               if (mdev.mi_dk < 0 || mdev.mi_alive == 0)
-                       continue;
-               steal(mdev.mi_driver, mdrv);
-               steal(mdrv.md_dname, two_char);
-               sprintf(dr_name[mdev.mi_dk], "%c%c%d",
-                   cp[0], cp[1], mdev.mi_unit);
-       }
-       if (up) for (;;) {
-               steal(up++, udev);
-               if (udev.ui_driver == 0)
-                       break;
-               if (udev.ui_dk < 0 || udev.ui_alive == 0)
-                       continue;
-               steal(udev.ui_driver, udrv);
-               steal(udrv.ud_dname, two_char);
-               sprintf(dr_name[udev.ui_dk], "%c%c%d",
-                   cp[0], cp[1], udev.ui_unit);
-       }
+        if (prefix(cmd, "msps")) {
+                msps = !msps;
+                goto fixdisplay;
+        }
+        if (prefix(cmd, "numbers")) {
+                numbers = 1;
+                goto fixdisplay;
+        }
+        if (prefix(cmd, "bars")) {
+                numbers = 0;
+                goto fixdisplay;
+        }
+        if (prefix(cmd, "display")) {
+                dkselect(args, 1, dk_select);
+                goto fixdisplay;
+        }
+        if (prefix(cmd, "ignore")) {
+                dkselect(args, 0, dk_select);
+                goto fixdisplay;
+        }
+        if (prefix(cmd, "drives")) {
+                move(CMDLINE, 0);
+                for (i = 0; i < DK_NDRIVE; i++)
+                        if (dk_mspw[i] != 0.0)
+                                printw("%s ", dr_name[i]);
+                return (1);
+        }
+        return (0);
+fixdisplay:
+        wclear(wnd);
+        wrefresh(wnd);
+        labeliostat();
+        refresh();
+        return (1);
 }
 }
-#endif
 
 
-#ifdef sun
-read_names()
+prefix(s1, s2)
+        register char *s1, *s2;
 {
 {
-       struct mb_device mdev;
-       register struct mb_device *mp;
-       struct mb_driver mdrv;
-       short two_char;
-       char *cp = (char *) &two_char;
 
 
-       mp = (struct mb_device *) nlst[X_MBDINIT].n_value;
-       if (mp == 0) {
-               error("Disk init info not in namelist\n");
-               return;
-       }
-       for (;;) {
-               steal(mp++, mdev);
-               if (mdev.md_driver == 0)
-                       break;
-               if (mdev.md_dk < 0 || mdev.md_alive == 0)
-                       continue;
-               steal(mdev.md_driver, mdrv);
-               steal(mdrv.mdr_dname, two_char);
-               sprintf(dr_name[mdev.md_dk], "%c%c%d",
-                   cp[0], cp[1], mdev.md_unit);
-       }
+        while (*s1 == *s2) {
+                if (*s1 == '\0')
+                        return (1);
+                s1++, s2++;
+        }
+        return (*s1 == '\0');
 }
 }
-#endif
index d018aad..9bd6352 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)keyboard.c 1.1 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)keyboard.c 1.2 (Lucasfilm) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -7,14 +7,17 @@ static char sccsid[] = "@(#)keyboard.c        1.1 (Lucasfilm) %G%";
  */
 
 #include "systat.h"
  */
 
 #include "systat.h"
+#include <signal.h>
+#include <ctype.h>
 
 keyboard()
 {
         char ch, line[80];
 
 keyboard()
 {
         char ch, line[80];
+       int oldmask;
 
         for (;;) {
                 col = 0;
 
         for (;;) {
                 col = 0;
-                move(22, 0);
+                move(CMDLINE, 0);
                 do {
                         refresh();
                         ch = getch() & 0177;
                 do {
                         refresh();
                         ch = getch() & 0177;
@@ -27,19 +30,20 @@ keyboard()
                         if (col == 0) {
 #define        mask(s) (1 << ((s) - 1))
                                 if (ch == CTRL(l)) {
                         if (col == 0) {
 #define        mask(s) (1 << ((s) - 1))
                                 if (ch == CTRL(l)) {
-                                       int oldmask = sigblock(mask(SIGALRM));
-
+                                       oldmask = sigblock(mask(SIGALRM));
                                        wrefresh(curscr);
                                        sigsetmask(oldmask);
                                         continue;
                                 }
                                if (ch == CTRL(g)) {
                                        wrefresh(curscr);
                                        sigsetmask(oldmask);
                                         continue;
                                 }
                                if (ch == CTRL(g)) {
+                                       oldmask = sigblock(mask(SIGALRM));
                                        status();
                                        status();
+                                       sigsetmask(oldmask);
                                        continue;
                                }
                                 if (ch != ':')
                                         continue;
                                        continue;
                                }
                                 if (ch != ':')
                                         continue;
-                                move(22, 0);
+                                move(CMDLINE, 0);
                                 clrtoeol();
                         }
                         if (ch == _tty.sg_erase && col > 0) {
                                 clrtoeol();
                         }
                         if (ch == _tty.sg_erase && col > 0) {
@@ -63,18 +67,20 @@ keyboard()
                                 if (line[0] == ':')
                                         col++;
                 doerase:
                                 if (line[0] == ':')
                                         col++;
                 doerase:
-                                move(22, col);
+                                move(CMDLINE, col);
                                 clrtoeol();
                                 continue;
                         }
                         if (isprint(ch)) {
                                 line[col] = ch;
                                 clrtoeol();
                                 continue;
                         }
                         if (isprint(ch)) {
                                 line[col] = ch;
-                                mvaddch(22, col, ch);
+                                mvaddch(CMDLINE, col, ch);
                                 col++;
                         }
                 } while (col == 0 || (ch != '\r' && ch != '\n'));
                 line[col] = '\0';
                                 col++;
                         }
                 } while (col == 0 || (ch != '\r' && ch != '\n'));
                 line[col] = '\0';
+               oldmask = sigblock(mask(SIGALRM));
                 command(line + 1);
                 command(line + 1);
+               sigsetmask(oldmask);
         }
        /*NOTREACHED*/
 }
         }
        /*NOTREACHED*/
 }
index 39fc134..3d170f7 100644 (file)
@@ -1,8 +1,11 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)main.c     1.6 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)main.c     1.7 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
+#include <sys/file.h>
+#include <nlist.h>
+#include <signal.h>
 
 static struct nlist nlst[] = {
 #define X_CCPU          0
 
 static struct nlist nlst[] = {
 #define X_CCPU          0
@@ -21,6 +24,9 @@ int     die();
 int     display();
 int     suspend();
 
 int     display();
 int     suspend();
 
+double lave, ccpu;
+int     dellave;
+
 static WINDOW *wload;                  /* one line window for load average */
 
 main(argc, argv)
 static WINDOW *wload;                  /* one line window for load average */
 
 main(argc, argv)
@@ -81,6 +87,7 @@ main(argc, argv)
         * routines to minimize update work by curses.
         */
         initscr();
         * routines to minimize update work by curses.
         */
         initscr();
+       CMDLINE = LINES - 1;
        wnd = (*curcmd->c_open)();
        if (wnd == NULL) {
                fprintf(stderr, "Couldn't initialize display.\n");
        wnd = (*curcmd->c_open)();
        if (wnd == NULL) {
                fprintf(stderr, "Couldn't initialize display.\n");
@@ -157,17 +164,19 @@ display()
         (*curcmd->c_refresh)();
        wrefresh(wload);
         wrefresh(wnd);
         (*curcmd->c_refresh)();
        wrefresh(wload);
         wrefresh(wnd);
-        move(22, col);
+        move(CMDLINE, col);
         refresh();
         alarm(naptime);
 }
 
 load()
 {
         refresh();
         alarm(naptime);
 }
 
 load()
 {
+       double  avenrun[3];
 
        lseek(kmem, nlst[X_AVENRUN].n_value, L_SET);
 
        lseek(kmem, nlst[X_AVENRUN].n_value, L_SET);
-       read(kmem, &lave, sizeof (lave));
-       mvprintw(22, 0, "%4.1f", lave);
+       read(kmem, avenrun, sizeof (avenrun));
+       mvprintw(CMDLINE, 0, "%4.1f %4.1f %4.1f",
+           avenrun[0], avenrun[1], avenrun[2]);
        clrtoeol();
 }
 
        clrtoeol();
 }
 
@@ -181,7 +190,7 @@ die()
 error(fmt, a1, a2, a3)
 {
 
 error(fmt, a1, a2, a3)
 {
 
-       mvprintw(22, 0, fmt, a1, a2, a3);
+       mvprintw(CMDLINE, 0, fmt, a1, a2, a3);
        clrtoeol();
        refresh();
 }
        clrtoeol();
        refresh();
 }
index 558436a..4d4e17b 100644 (file)
@@ -1,9 +1,12 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)mbufs.c    1.2 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)mbufs.c    1.3 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
+#include <sys/param.h>
 #include <sys/mbuf.h>
 #include <sys/mbuf.h>
+#include <sys/file.h>
+#include <nlist.h>
 
 WINDOW *
 openmbufs()
 
 WINDOW *
 openmbufs()
index b705389..91d6a19 100644 (file)
@@ -1,8 +1,15 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)pigs.c     1.5 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)pigs.c     1.6 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
+#include <sys/param.h>
+#include <sys/dir.h>
+#include <sys/time.h>
+#include <sys/proc.h>
+#include <sys/file.h>
+#include <nlist.h>
+#include <pwd.h>
 
 WINDOW *
 openpigs()
 
 WINDOW *
 openpigs()
@@ -26,6 +33,12 @@ closepigs(w)
        wrefresh(w);
 }
 
        wrefresh(w);
 }
 
+int    maxind;
+int     factor;
+float   total;
+struct  passwd *getpwuid();
+char    pidname[30];
+
 showpigs()
 {
         register short auid;
 showpigs()
 {
         register short auid;
index a5e167a..bfa9e1b 100644 (file)
@@ -1,8 +1,18 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)swap.c      1.5 (Lucasfilm) %G%";
+static char *sccsid = "@(#)swap.c      1.6 (Lucasfilm) %G%";
 #endif
 
 #include "systat.h"
 #endif
 
 #include "systat.h"
+#include <sys/param.h>
+#include <sys/dir.h>
+#include <sys/user.h>
+#include <sys/proc.h>
+#include <sys/text.h>
+#include <sys/conf.h>
+#include <sys/file.h>
+#include <sys/vmmac.h>
+#include <machine/pte.h>
+#include <nlist.h>
 
 WINDOW *
 openswap()
 
 WINDOW *
 openswap()
index 7631881..521f71e 100644 (file)
@@ -1,24 +1,7 @@
-/*      systat.h     1.3     83/10/02     */
+/*      systat.h     1.4     84/08/09     */
 
 
-#include <sys/param.h>
-#include <sys/dir.h>
-#include <sys/user.h>
-#include <sys/proc.h>
-#include <sys/timeb.h>
-#include <sys/vm.h>
-#include <sys/file.h>
-#include <sys/map.h>
-#include <sys/conf.h>
-#include <sys/text.h>
-
-#include <machine/pte.h>
-
-#include <nlist.h>
-#include <pwd.h>
-#include <math.h>
+#include <sys/dk.h>
 #include <curses.h>
 #include <curses.h>
-#include <signal.h>
-#include <ctype.h>
 
 struct p_times {
         short   pt_pid;
 
 struct p_times {
         short   pt_pid;
@@ -27,6 +10,8 @@ struct p_times {
         int     pt_paddr;
         struct  proc *pt_pp;
 } *pt;
         int     pt_paddr;
         struct  proc *pt_pp;
 } *pt;
+long    nproc, procp;
+struct proc *kprocp;
 
 struct procs {
         int     pid;
 
 struct procs {
         int     pid;
@@ -38,6 +23,7 @@ struct users {
         int     k_uid;
         char    k_name[16];
 } known[30];
         int     k_uid;
         char    k_name[16];
 } known[30];
+int     numknown;
 
 struct  cmdtab {
         char    *c_name;               /* command name */
 
 struct  cmdtab {
         char    *c_name;               /* command name */
@@ -47,6 +33,7 @@ struct  cmdtab {
        int     (*c_init)();            /* initialize namelist, etc. */
        WINDOW  *(*c_open)();           /* open display */
        int     (*c_close)();           /* close display */
        int     (*c_init)();            /* initialize namelist, etc. */
        WINDOW  *(*c_open)();           /* open display */
        int     (*c_close)();           /* close display */
+       int     (*c_cmd)();             /* display command interpreter */
        char    c_flags;                /* been initialized (right now) */
 };
 
        char    c_flags;                /* been initialized (right now) */
 };
 
@@ -54,39 +41,26 @@ struct      cmdtab *curcmd;
 struct cmdtab cmdtab[];
 struct cmdtab *lookup();
 
 struct cmdtab cmdtab[];
 struct cmdtab *lookup();
 
-char    *kmemf;
-char    *memf;
-char    *swapf;
-int     kmem;
-int     mem;
-int     swap;
-int     col;
-long    nproc;
-long    procp;
-struct proc *kprocp;
-long   ntext;
-long   textp;
+int     kmem, mem, swap;
+int     naptime, col;
+
+long   ntext, textp;
 struct text *xtext;
 struct text *xtext;
-double  ccpu;
+
 double  lccpu;
 double  lccpu;
-char    *malloc();
-char    *calloc();
-char    *namp;
-char    *strncpy();
-char    c;
-char    hostname[32];
-int     numprocs;
-int     numknown;
-int     naptime;
-int     maxind;
-long    getw();
-float   total;
-int     factor;
-double  lave;
-int     dellave;
-struct  passwd *getpwuid();
-char    pidname[30];
+
+char    *kmemf, *memf, *swapf;
+char   dr_name[DK_NDRIVE][10];
+int    ndrives;
+int    hz;
+float  dk_mspw[DK_NDRIVE];
+char    c, *namp, hostname[32];
+
 struct  pte *usrpt;
 struct  pte *Usrptma;
 
 WINDOW  *wnd;
 struct  pte *usrpt;
 struct  pte *Usrptma;
 
 WINDOW  *wnd;
+int    CMDLINE;
+
+char    *malloc(), *calloc(), *strncpy();
+long    getw();