source: trunk/athena/bin/mon/display.c @ 2

Revision 2, 2.4 KB checked in by dgg, 37 years ago (diff)
Initial revision
Line 
1/*
2 *      $Source: /afs/dev.mit.edu/source/repository/athena/bin/mon/display.c,v $
3 *      $Author: dgg $
4 *      $Locker:  $
5 *      $Header: /afs/dev.mit.edu/source/repository/athena/bin/mon/display.c,v 1.1 1984-12-13 12:00:27 dgg Exp $
6 */
7
8#ifndef lint
9static char *rcsid_display_c = "$Header: /afs/dev.mit.edu/source/repository/athena/bin/mon/display.c,v 1.1 1984-12-13 12:00:27 dgg Exp $";
10#endif  lint
11
12/*
13 *                      D I S P L A Y . C
14 *
15 *  This section handles the display initialization and updates for "mon"
16 */
17#include "mon.h"
18#include <curses.h>
19
20#define HOSTLEN 40              /* Length of hostname */
21
22/* Screen Positions */
23#define LEFT    0
24#define PROCY   2
25#define CPUY    5
26#define TIMEY   8
27#define PAGEY   11
28#define CHARY   5
29#define CHARX   37
30#define NETIFY  17
31#define DISKY   2
32#define DISKX   55
33
34/*
35 * DISPINIT - clears the screen, puts up the info labels, and
36 *   displays the initial information (device names).
37 */
38dispinit()
39{
40        char    hname[HOSTLEN];
41        register int i;
42
43        clear();                        /* clear screen */
44        gethostname(hname, HOSTLEN);    /* host name in upper left */
45        printw(hname);
46
47        /* Put up the labels */
48        mvprintw(PROCY,LEFT,"Procs: r d p s sl  Mem: real  ract  virt  vact  free");
49        mvprintw(DISKY,DISKX,"Disks: Kbps tps msps");
50        mvprintw(CPUY,LEFT,"Cpu: ints  scall  csw");
51        if (dualcpu)
52                mvprintw(CPUY,LEFT+25,"Cpu2: csw");
53        mvprintw(TIMEY,LEFT,"Time: user nice sys idle");
54        if (dualcpu)
55                mvprintw(TIMEY,LEFT+26,"Time2: user nice sys idle");
56        mvprintw(PAGEY,LEFT,"Paging: re  at pin pout  oprs  fr  def   sr");
57        mvprintw(PAGEY+3,LEFT,"       nxf  xf  nzf  zf  nrf  rf  prf  swi swo");
58        mvprintw(CHARY,CHARX,"Char: in   out");
59        mvprintw(NETIFY,LEFT,"Name   Ipkts  Ierrs  Opkts  Oerrs  Collis Oqueue");
60
61        /* add the disk drive names to the screen */
62        for(i = 0; i < DK_NDRIVE; i++) {
63                if (*dr_name[i])
64                        mvprintw(DISKY+1+i,DISKX,dr_name[i]);
65                else
66                        break;
67        }
68        mvprintw(DISKY+1+i,DISKX,"--------------------");
69        mvprintw(DISKY+2+i,DISKX,"Total:");
70
71        /* put up the network interface names */
72        for (i = 0; i < numif; i++)
73                mvprintw(NETIFY+1+i,LEFT,nifinfo[i].name);
74}
75
76/*
77 * DISPUPDATE - updates the dynamic data on the screen.
78 */
79dispupdate()
80{
81        int     i;
82
83        for (i = 0; i < numif; i++)
84                mvprintw(NETIFY+1+i,LEFT+7,"%5d  %5d  %5d  %5d  %5d  %5d",
85                        nifdat[i].ipackets, nifdat[i].ierrors,
86                        nifdat[i].opackets, nifdat[i].oerrors,
87                        nifdat[i].collisions, nifinfo[i].outqlen);
88}
Note: See TracBrowser for help on using the repository browser.