SCCS-vsn: usr.bin/systat/main.c 1.2
-/*% cc -a % -lcurses -ltermlib -lm
- */
-static char sccsid[] = "@(#)main.c 1.1 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)main.c 1.2 (Lucasfilm) %G%";
#endif
#include "systat.h"
#endif
#include "systat.h"
{ "_dmmax" },
#define X_NSWDEV 11
{ "_nswdev" },
{ "_dmmax" },
#define X_NSWDEV 11
{ "_nswdev" },
+#define X_SWDEVT 12
+ { "_swdevt" },
{ "" }
};
int kmem = -1;
int mem = -1;
int swap = -1;
{ "" }
};
int kmem = -1;
int mem = -1;
int swap = -1;
int die();
int display();
int die();
int display();
+ argc--, argv++;
+ while (argc > 0) {
+ if (argv[0][0] == '-') {
+ struct cmdtab *p;
+
+ for (p = cmdtab; *p->c_name; p++)
+ if (strcmp(p->c_name, &argv[0][1]) == 0)
+ break;
+ if (*p->c_name == 0) {
+ fprintf(stderr, "%s: unknown request\n",
+ &argv[0][1]);
+ exit(1);
+ }
+ curcmd = p;
+ } else {
+ naptime = atoi(argv[1]);
+ if (naptime < 5)
+ naptime = 5;
+ }
+ argc--, argv++;
+ }
nlist("/vmunix", nlst);
(*curcmd->c_open)();
nlist("/vmunix", nlst);
(*curcmd->c_open)();
- naptime = 5;
- if (argc != 1)
- naptime = atoi(argv[1]);
- if (naptime < 5)
- naptime = 5;
signal(SIGINT, die);
signal(SIGQUIT, die);
signal(SIGTERM, die);
signal(SIGINT, die);
signal(SIGQUIT, die);
signal(SIGTERM, die);
initscr();
wnd = newwin(20, 70, 3, 5);
initscr();
wnd = newwin(20, 70, 3, 5);
+#ifdef notdef
+ gethostname(hostname, sizeof (hostname));
+#endif
lseek(kmem, nlst[X_CCPU].n_value, 0);
read(kmem, &ccpu, sizeof (ccpu));
lccpu = log(ccpu);
(*curcmd->c_fetch)();
lseek(kmem, nlst[X_CCPU].n_value, 0);
read(kmem, &ccpu, sizeof (ccpu));
lccpu = log(ccpu);
(*curcmd->c_fetch)();
- gethostname(hostname, sizeof (hostname));
labels();
known[0].k_uid = -1;
labels();
known[0].k_uid = -1;
+ if (strcmp(cmd, "load") == 0) {
+ lseek(kmem, nlst[X_AVENRUN].n_value, L_SET);
+ read(kmem, &lave, sizeof (lave));
+ mvprintw(22, 0, "%4.1f", lave);
+ clrtoeol();
+ return;
+ }
for (p = cmdtab; *p->c_name; p++)
if (strcmp(cmd, p->c_name) == 0)
break;
for (p = cmdtab; *p->c_name; p++)
if (strcmp(cmd, p->c_name) == 0)
break;
return;
alarm(0);
curcmd = p;
return;
alarm(0);
curcmd = p;
- wclear(wnd);
- (*p->c_label)();
+ clear(); wclear(wnd);
+ labels();
display();
status();
return;
display();
status();
return;
- mvprintw(22, 0, "%s: Unknown command.", cmd);
- clrtoeol();
+ if (*cmd) {
+ mvprintw(22, 0, "%s: Unknown command.", cmd);
+ clrtoeol();
+ }
move(22, 0);
refresh();
echo();
move(22, 0);
refresh();
echo();
noecho();
move(22, col);
wrefresh(curscr);
noecho();
move(22, col);
wrefresh(curscr);