home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
usenet
/
altsrcs
/
1
/
1505
< prev
next >
Wrap
Internet Message Format
|
1990-12-28
|
19KB
From: wht@n4hgf.uucp (Warren Tucker)
Newsgroups: alt.sources
Subject: u386mon 1.0, UNIX 386 system monitor, part 03/03
Message-ID: <121@n4hgf.uucp>
Date: 24 Jun 90 21:16:26 GMT
Submitted-by: wht@n4hgf
Archive-name: u386mon.1.00/part03
#!/bin/sh
# This is part 03 of u386mon.1.00
if touch 2>&1 | fgrep 'mmdd' > /dev/null
then TOUCH=touch
else TOUCH=true
fi
# ============= libmem.h ==============
echo "x - extracting libmem.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libmem.h &&
X/*+-----------------------------------------------------------------------
X libmem.h
X ...!emory!n4hgf!wht
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-21-1990-14:26-r@n4hgf-version x0.12 seems bug free */
X/*:10-28-1988-14:46-afterlint-creation */
X
X#ifndef BUILDING_LINT_ARGS
X#ifdef LINT_ARGS
X
X/* libmem.c */
Xvoid minit(int );
Xvoid mread(char *,long ,int );
Xvoid mwrite(long ,char *,int );
X
X#else /* compiler doesn't mnow about prototyping */
X
X/* libmem.c */
Xvoid minit();
Xvoid mread();
Xvoid mwrite();
X
X#endif /* LINT_ARGS */
X#endif /* BUILDING_LINT_ARGS */
X
X/* end of libmem.h */
SHAR_EOF
$TOUCH -am 0624151990 libmem.h &&
chmod 0644 libmem.h ||
echo "restore of libmem.h failed"
set `wc -c libmem.h`;Wc_c=$1
if test "$Wc_c" != "632"; then
echo original size 632, current size $Wc_c
fi
# ============= libswap.h ==============
echo "x - extracting libswap.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libswap.h &&
X/*+-----------------------------------------------------------------------
X libswap.h
X ...!emory!n4hgf!wht
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-22-1990-02:03-root@n4hgf-creation from libmem */
X
X#ifndef BUILDING_LINT_ARGS
X#ifdef LINT_ARGS
X
X/* libswap.c */
Xvoid sinit(void );
Xvoid sread(char *,long ,int );
X
X#else /* compiler doesn't mnow about prototyping */
X
X/* libswap.c */
Xvoid sinit();
Xvoid sread();
Xvoid swrite();
X
X#endif /* LINT_ARGS */
X#endif /* BUILDING_LINT_ARGS */
X
X/* end of libswap.h */
SHAR_EOF
$TOUCH -am 0624151990 libswap.h &&
chmod 0644 libswap.h ||
echo "restore of libswap.h failed"
set `wc -c libswap.h`;Wc_c=$1
if test "$Wc_c" != "557"; then
echo original size 557, current size $Wc_c
fi
# ============= libnlsym.h ==============
echo "x - extracting libnlsym.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libnlsym.h &&
X/*+-----------------------------------------------------------------------
X libnlsym.h
X ...!emory!n4hgf!wht
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-21-1990-14:26-r@n4hgf-version x0.12 seems bug free */
X/*:10-28-1988-14:47-afterlint-creation */
X
X#ifndef BUILDING_LINT_ARGS
X#ifdef LINT_ARGS
X
X/* libnlsym.c */
Xvoid nlsym_error(char * );
Xvoid nlsym_read(void);
X
X#else /* compiler doesn't know about prototyping */
X
X/* libnlsym.c */
Xvoid nlsym_error();
Xvoid nlsym_read();
X
X#endif /* LINT_ARGS */
X#endif /* BUILDING_LINT_ARGS */
X
X/* end of libnlsym.h */
SHAR_EOF
$TOUCH -am 0624151990 libnlsym.h &&
chmod 0644 libnlsym.h ||
echo "restore of libnlsym.h failed"
set `wc -c libnlsym.h`;Wc_c=$1
if test "$Wc_c" != "603"; then
echo original size 603, current size $Wc_c
fi
# ============= lint_args.h ==============
echo "x - extracting lint_args.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > lint_args.h &&
X/*+-----------------------------------------------------------------------
X lint_args.h
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-22-1990-16:05-afterlint-creation */
X
X#ifndef BUILDING_LINT_ARGS
X#ifdef LINT_ARGS
X
X/* bootinfo.c */
Xextern char *bmemf_text(unsigned long flags);
Xextern void display_bootinfo(struct _win_st *win,int y,int x);
X/* det_proc.c */
Xextern char *get_cpu_time_str(long ticks);
Xextern char *pgrp_to_ttyname(int pgrp);
Xextern char *uid_to_name(int uid);
Xextern int get_user(struct proc *tproc,struct user *tuser);
Xextern int getpwent_and_enter(int uid);
Xextern int proc_pid_compare(struct proc *p1,struct proc *p2);
Xextern int uid_name_enter(int uid,char *name);
Xextern struct utmp *find_utmp_for_pgrp(int pgrp);
Xextern void display_proc_stat(struct _win_st *win,int iproc,int initial);
Xextern void display_proc_stats(struct _win_st *win,int initial);
Xextern void init_uid_name_hash(void );
Xextern void read_and_sort_procs(int initial);
Xextern void read_utmp(void );
X/* detail.c */
Xextern void detail_destroy(void );
Xextern void detail_init(void );
Xextern void detail_panel_cmd(unsigned long cmd);
Xextern void detail_panel_proc_status_init(int full43);
Xextern void detail_panel_proc_status_update(void );
Xextern void detail_panel_update(void );
X/* disputil.c */
Xextern struct PANEL *mkpanel(int rows,int cols,int tly,int tlx);
Xextern void clear_area(struct _win_st *win,int y,int x,int len);
Xextern void clear_area_char(struct _win_st *win,int y,int x,int len,unsigned char fillchar);
Xextern void disp_info_int(struct _win_st *win,char *label,char *fmt,int value);
Xextern void disp_info_long(struct _win_st *win,char *label,char *fmt,long value);
Xextern void disp_msg(unsigned long cp,char *msg);
Xextern void disp_static_int(struct _win_st *win,char *label,char *fmt,int value);
Xextern void disp_static_long(struct _win_st *win,char *label,char *fmt,long value);
Xextern void pflush(void );
Xextern void wperror(struct _win_st *win,char *desc);
X/* libkmem.c */
Xextern void kinit(int write_needed);
Xextern void kread(char *caddr,long kaddr,int len);
X/* libmem.c */
Xextern void minit(int write_needed);
Xextern void mread(char *caddr,long maddr,int len);
X/* libnlsym.c */
Xextern void nlsym_error(char *text);
Xextern void nlsym_read(void );
X/* libswap.c */
Xextern void sinit(void );
Xextern void sread(char *caddr,long maddr,int len);
X/* nlsym.c */
Xextern int main(int argc,char * *argv,char * *envp);
Xextern void nlsym_write_error(int code);
X/* proc.c */
Xextern char *pstat_text(char pstat);
Xextern void display_proc(struct _win_st *win,int y,int x);
Xextern void grok_proc(void );
X/* tune.c */
Xextern void display_tune(struct _win_st *win,int y,int x);
X/* u386mon.c */
Xextern char *get_elapsed_time(long elapsed_seconds);
Xextern int get_cpu_avg(long *cpu_ticks,int period);
Xextern int get_wait_avg(long *wait_ticks,int period);
Xextern int main(int argc,char * *argv,char * *envp);
Xextern long update_cpuscale(struct _win_st *win,int y,int x,int width,long *per_state);
Xextern long update_waitscale(struct _win_st *win,int y,int x,int width,long *per_state,long total_ticks);
Xextern void calc_cpu_avg(long *per_state);
Xextern void calc_wait_avg(long *per_state);
Xextern void draw_cpuscale_literals(struct _win_st *win,int y,int x);
Xextern void draw_per_sec_literals(struct _win_st *win,int y,int x);
Xextern void draw_waitscale_literals(struct _win_st *win,int y,int x);
Xextern void extra_info_stuff(void );
Xextern void extra_static_stuff(void );
Xextern void leave(int exit_code);
Xextern void leave_text(char *text,int exit_code);
X/* var.c */
Xextern void display_var(struct _win_st *win,int y,int x);
X
X#else /* compiler doesn't know about prototyping */
X
X/* bootinfo.c */
Xextern char *bmemf_text();
Xextern void display_bootinfo();
X/* det_proc.c */
Xextern char *get_cpu_time_str();
Xextern char *pgrp_to_ttyname();
Xextern char *uid_to_name();
Xextern int get_user();
Xextern int getpwent_and_enter();
Xextern int proc_pid_compare();
Xextern int uid_name_enter();
Xextern struct utmp *find_utmp_for_pgrp();
Xextern void display_proc_stat();
Xextern void display_proc_stats();
Xextern void init_uid_name_hash();
Xextern void read_and_sort_procs();
Xextern void read_utmp();
X/* detail.c */
Xextern void detail_destroy();
Xextern void detail_init();
Xextern void detail_panel_cmd();
Xextern void detail_panel_proc_status_init();
Xextern void detail_panel_proc_status_update();
Xextern void detail_panel_update();
X/* disputil.c */
Xextern struct PANEL *mkpanel();
Xextern void clear_area();
Xextern void clear_area_char();
Xextern void disp_info_int();
Xextern void disp_info_long();
Xextern void disp_msg();
Xextern void disp_static_int();
Xextern void disp_static_long();
Xextern void pflush();
Xextern void wperror();
X/* libkmem.c */
Xextern void kinit();
Xextern void kread();
X/* libmem.c */
Xextern void minit();
Xextern void mread();
X/* libnlsym.c */
Xextern void nlsym_error();
Xextern void nlsym_read();
X/* libswap.c */
Xextern void sinit();
Xextern void sread();
X/* nlsym.c */
Xextern int main();
Xextern void nlsym_write_error();
X/* proc.c */
Xextern char *pstat_text();
Xextern void display_proc();
Xextern void grok_proc();
X/* tune.c */
Xextern void display_tune();
X/* u386mon.c */
Xextern char *get_elapsed_time();
Xextern int get_cpu_avg();
Xextern int get_wait_avg();
Xextern int main();
Xextern long update_cpuscale();
Xextern long update_waitscale();
Xextern void calc_cpu_avg();
Xextern void calc_wait_avg();
Xextern void draw_cpuscale_literals();
Xextern void draw_per_sec_literals();
Xextern void draw_waitscale_literals();
Xextern void extra_info_stuff();
Xextern void extra_static_stuff();
Xextern void leave();
Xextern void leave_text();
X/* var.c */
Xextern void display_var();
X
X#endif /* LINT_ARGS */
X#endif /* BUILDING_LINT_ARGS */
X
X/* end of lint_args.h */
SHAR_EOF
$TOUCH -am 0624151990 lint_args.h &&
chmod 0644 lint_args.h ||
echo "restore of lint_args.h failed"
set `wc -c lint_args.h`;Wc_c=$1
if test "$Wc_c" != "5906"; then
echo original size 5906, current size $Wc_c
fi
# ============= nlsym.h ==============
echo "x - extracting nlsym.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > nlsym.h &&
X/*+-------------------------------------------------------------------------
X nlsym.h -- utility nlist - fast access to kernel /dev/kmem offsets
X ...!emory!n4hgf!wht
X
XThe nlsym file contains three records:
X1. struct stat unixstat - stat buffer from /unix at file creation time
X2. struct nlist nlsym - the structure of nlist'd information
X3. long unique - a unique identifier to help ensure correct nlsym length
X
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-21-1990-14:26-r@n4hgf-version x0.12 seems bug free */
X/*:10-27-1988-11:07-wht-creation */
X
X#define UNIX_KERNEL "/unix"
X#define UNIX_NLSYM "/unix.nlsym"
X#define NLSYM_UNIQUE 0xEFBC9A78L
X
X#define Nindex_AVAILRMEM 0
X#define Nindex_AVAILSMEM 1
X#define Nindex_BDEVCNT 2
X#define Nindex_BDEVSW 3
X#define Nindex_BOOTINFO 4
X#define Nindex_CDEVCNT 5
X#define Nindex_CDEVSW 6
X#define Nindex_CFREE 7
X#define Nindex_CFREECNT 8
X#define Nindex_CFREELIST 9
X#define Nindex_CMASK 10
X#define Nindex_CONSSW 11
X#define Nindex_CURPROC 12
X#define Nindex_DINFO 13
X#define Nindex_DISKINFO 14
X#define Nindex_DSTFLAG 15
X#define Nindex_DUMPDEV 16
X#define Nindex_EMAP 17
X#define Nindex_FFREELIST 18
X#define Nindex_FILE 19
X#define Nindex_FMODCNT 20
X#define Nindex_FMODSW 21
X#define Nindex_FREEMEM 22
X#define Nindex_FSINFO 23
X#define Nindex_FSTYPSW 24
X#define Nindex_HZ 25
X#define Nindex_IDLESERVER 26
X#define Nindex_IFREELIST 27
X#define Nindex_INODE 28
X#define Nindex_KPTBL 29
X#define Nindex_LBOLT 30
X#define Nindex_LINECNT 31
X#define Nindex_LINESW 32
X#define Nindex_MAXCLICK 33
X#define Nindex_MAXMEM 34
X#define Nindex_MFMAP 35
X#define Nindex_MFMAX 36
X#define Nindex_MINFO 37
X#define Nindex_MOUNT 38
X#define Nindex_MSGLISTCNT 39
X#define Nindex_NFSTYP 40
X#define Nindex_NPTALLOCED 41
X#define Nindex_NPTFREE 42
X#define Nindex_NSERVERS 43
X#define Nindex_NSWAP 44
X#define Nindex_NSYSENT 45
X#define Nindex_OLDPROC 46
X#define Nindex_OLD_CURPROC 47
X#define Nindex_PANICSTR 48
X#define Nindex_PHYSMEM 49
X#define Nindex_PIPEDEV 50
X#define Nindex_PROC 51
X#define Nindex_RCINFO 52
X#define Nindex_ROOTDEV 53
X#define Nindex_RUNQ 54
X#define Nindex_SHLBINFO 55
X#define Nindex_SWAPDEV 56
X#define Nindex_SWPLO 57
X#define Nindex_SYSERR 58
X#define Nindex_SYSINFO 59
X#define Nindex_SYSSEGS 60
X#define Nindex_SYSWAIT 61
X#define Nindex_TIME 62
X#define Nindex_TIMEZONE 63
X#define Nindex_TTHIWAT 64
X#define Nindex_TTLOWAT 65
X#define Nindex_TTNULQ 66
X#define Nindex_TTYHOG 67
X#define Nindex_TUNE 68
X#define Nindex_U 69
X#define Nindex_USERTABLE 70
X#define Nindex_V 71
X#define Nindex_WIN_UBLK 72
X
X#define bootinfoaddr (nlsym[Nindex_BOOTINFO].n_value)
X#define freememaddr (nlsym[Nindex_FREEMEM].n_value)
X#define lboltaddr (nlsym[Nindex_LBOLT].n_value)
X#define maxmemaddr (nlsym[Nindex_MAXMEM].n_value)
X#define minfoaddr (nlsym[Nindex_MINFO].n_value)
X#define nswapaddr (nlsym[Nindex_NSWAP].n_value)
X#define physmemaddr (nlsym[Nindex_PHYSMEM].n_value)
X#define procaddr (nlsym[Nindex_PROC].n_value)
X#define sysinfoaddr (nlsym[Nindex_SYSINFO].n_value)
X#define tuneaddr (nlsym[Nindex_TUNE].n_value)
X#define vaddr (nlsym[Nindex_V].n_value)
X
X#ifdef DEFINE_NLSYM
Xstruct nlist nlsym[] =
X{
X { "availrmem" },
X { "availsmem" },
X { "bdevcnt" },
X { "bdevsw" },
X { "bootinfo" },
X { "cdevcnt" },
X { "cdevsw" },
X { "cfree" },
X { "cfreecnt" },
X { "cfreelist" },
X { "Cmask" },
X { "conssw" },
X { "curproc" },
X { "dinfo" },
X { "diskinfo" },
X { "Dstflag" },
X { "dumpdev" },
X { "emap" },
X { "ffreelist" },
X { "file" },
X { "fmodcnt" },
X { "fmodsw" },
X { "freemem" },
X { "fsinfo" },
X { "fstypsw" },
X { "Hz" },
X { "idleserver" },
X { "ifreelist" },
X { "inode" },
X { "kptbl" },
X { "lbolt" },
X { "linecnt" },
X { "linesw" },
X { "maxclick" },
X { "maxmem" },
X { "mfmap" },
X { "mfmax" },
X { "minfo" },
X { "mount" },
X { "msglistcnt" },
X { "nfstyp" },
X { "nptalloced" },
X { "nptfree" },
X { "nservers" },
X { "nswap" },
X { "nsysent" },
X { "oldproc" },
X { "old_curproc" },
X { "panicstr" },
X { "physmem" },
X { "pipedev" },
X { "proc" },
X { "rcinfo" },
X { "rootdev" },
X { "runq" },
X { "shlbinfo" },
X { "swapdev" },
X { "swplo" },
X { "syserr" },
X { "sysinfo" },
X { "syssegs" },
X { "syswait" },
X { "time" },
X { "Timezone" },
X { "tthiwat" },
X { "ttlowat" },
X { "ttnulq" },
X { "ttyhog" },
X { "tune" },
X { "u" },
X { "usertable" },
X { "v" },
X { "win_ublk" },
X { (char *)0 }
X};
X#else
Xextern struct nlist nlsym[];
X#endif
X
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
$TOUCH -am 0624151990 nlsym.h &&
chmod 0644 nlsym.h ||
echo "restore of nlsym.h failed"
set `wc -c nlsym.h`;Wc_c=$1
if test "$Wc_c" != "4921"; then
echo original size 4921, current size $Wc_c
fi
# ============= u386mon.h ==============
echo "x - extracting u386mon.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > u386mon.h &&
X
X/*+-------------------------------------------------------------------------
X u386mon.h
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free */
X/*:06-20-1990-03:03-root@n4hgf-trick use_cp into making bright fgnd colors */
X/*:06-19-1990-21:35-wht-get ready for release */
X
Xchar *getenv();
Xchar *strchr();
Xchar *strrchr();
X#ifdef __STDC__
Xvoid *malloc();
X#else
Xchar *malloc();
X#endif
X
X#define pW(pan) panel_window(pan)
X#define W WINDOW
X#define P PANEL
X
X/* color numbers for EGA/VGA */
X#ifdef COLOR_16_TERMINFO /* wht 16-color fgnd/bgnd terminfo */
X#define cHIBIT 8
X#define cBLK 0
X#define cBLU 1
X#define cGRN 2
X#define cCYN 3
X#define cRED 4
X#define cMAG 5
X#define cBRN 6
X#define cWHT 7
X#define cGRY (cBLK | cHIBIT)
X#define cLTB (cBLU | cHIBIT)
X#define cLTG (cGRN | cHIBIT)
X#define cLTC (cCYN | cHIBIT)
X#define cLTR (cRED | cHIBIT)
X#define cLTM (cMAG | cHIBIT)
X#define cYEL (cBRN | cHIBIT)
X#define cHIW (cWHT | cHIBIT)
X#else
X#define cBLK COLOR_BLACK
X#define cBLU COLOR_BLUE
X#define cGRN COLOR_GREEN
X#define cCYN COLOR_CYAN
X#define cRED COLOR_RED
X#define cMAG COLOR_MAGENTA
X#define cBRN COLOR_YELLOW
X#define cWHT COLOR_WHITE
X#define cGRY COLOR_BLACK
X#define cLTB COLOR_BLUE
X#define cLTG COLOR_GREEN
X#define cLTC COLOR_CYAN
X#define cLTR COLOR_RED
X#define cLTM COLOR_MAGENTA
X#define cYEL COLOR_YELLOW
X#define cHIW COLOR_WHITE
X#endif
X
X#define sTL 0xDA
X#define sTR 0xBF
X#define sBL 0xC0
X#define sBR 0xD9
X#define sLT 0xC3 /* left hand T */
X#define sRT 0xB4 /* right hand T */
X#define sVR 0xB3 /* vertical rule */
X#define sHR 0xC4 /* horizontal rule */
X
X/* color pairs */
X#ifdef COLOR_16_TERMINFO /* wht 16-color fgnd/bgnd terminfo */
X#define use_cp(win,cp) wattrset(win,COLOR_PAIR(cp))
X#else
X#define use_cp(win,cp) wattrset(win,COLOR_PAIR(cp) | ((cp >= cpLOW)?A_BOLD:0))
X#endif
X#define cpINFO 1 /* information field */
X#define cpHIGH 2 /* high/brk/pio */
X/* color pairs >= cpLOW need A_BOLD when using standard ISO (non-wht) terminfo
X */
X#define cpLOW 3 /* low/user/iop */
X#define cpMED 4 /* medium/kernel/swap */
X#define cpBANNER 5 /* banner */
X#define cpLIT 6 /* field literals */
X
X#define MSG_TLY (LINES - 2)
X#define CMD_TLY (LINES - 1)
X#define LVMSG_Y MSG_TLY
X#define LVMSG_X 0
X
X#define CPUSCALE_TLY 1
X#define CPUSCALE_SX 13
X#define CPUSCALE_WIDTH 50
X
X#define WAITSCALE_TLY 5
X#define WAITSCALE_SX 13
X#define WAITSCALE_WIDTH 50
X
X/* Sysinfo/Minfo per second area */
X#define PER_SEC_TLY 9
X#define PER_SEC1_TLX 0
X#define PER_SEC2_TLX 17
X#define PER_SEC3_TLX 34
X#define PER_SEC4_TLX 50
X#define PER_SEC5_TLX 65
X
X/* extra info area */
X#define EXTRA_TLY 26
X#define EXTRA1_TLX 0
X#define EXTRA2_TLX 18
X#define EXTRA3_TLX 42
X#define EXTRA4_TLX 61
X
X#include "lint_args.h"
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of u386mon.h */
SHAR_EOF
$TOUCH -am 0624151990 u386mon.h &&
chmod 0644 u386mon.h ||
echo "restore of u386mon.h failed"
set `wc -c u386mon.h`;Wc_c=$1
if test "$Wc_c" != "2852"; then
echo original size 2852, current size $Wc_c
fi
exit 0
---------------------------------------------------------------------
Warren Tucker, TuckerWare gatech!n4hgf!wht or wht%n4hgf@gatech.edu
Ker-au'-lo-phon. An 8-foot partial flue-stop, having metal pipes
surmounted by adjustable rings, and with a hole bored near the top of
each pipe. Tone soft and "reedy".