home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sources / misc / 4115 < prev    next >
Encoding:
Text File  |  1992-11-21  |  52.1 KB  |  1,617 lines

  1. Newsgroups: comp.sources.misc
  2. Path: sparky!kent
  3. From: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  4. Subject:  v33i110:  u386mon - SVR3 performance/status monitor v2.60, Part01/09
  5. Message-ID: <csm-v33i110=u386mon.195754@sparky.IMD.Sterling.COM>
  6. Followup-To: comp.sources.d
  7. X-Md4-Signature: 1c1e8413ee7e3a48607ac10acef5a6cb
  8. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  9. Organization: Sterling Software
  10. Date: Sun, 22 Nov 1992 01:58:53 GMT
  11. Approved: kent@sparky.imd.sterling.com
  12. Lines: 1603
  13.  
  14. Submitted-by: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  15. Posting-number: Volume 33, Issue 110
  16. Archive-name: u386mon/part01
  17. Environment: SYSVR3
  18. Supersedes: u386mon: Volume 22, Issue 3-9
  19.  
  20. This is u386mon 2.60, a "performance" monitor, ostensibly for SCO
  21. UNIX V/386 and ISC 386/ix on 386/486 processors, although it has
  22. been ported to a 68k VME System V Release 3.1 platform and to ISC
  23. 1.0.x and to the Tandem Integrity S2 (both S5R3.0-ish).  Also, a
  24. renice is included as an example of alternate uses of the
  25. kmem/mem/swap utility objects.
  26.  
  27. U386mon previous to 2.60 was tested on SCO 3.2.0, 3.2.1, 3.2v2
  28. and ODT and ISC 1.0.x, 2.0.x and 2.2.x, Tandem Integrity S2
  29. NonStop-UX and at least one MC68000 VME-based Sys V Rel 3.1
  30. system.  Version 2.60 has been tested only on ODT 2.0 (3.2v4) but
  31. problems with the other environments are not anticipated :->.
  32.  
  33. Bundled with u386mon are uusnap and siomon, tools which use the
  34. same kernel symbol facility as u386mon.  These tools display
  35. UUCP and serial I/O dynamically.  Neither are as robustly portable
  36. as u386mon, but they ceratinly work well with SCO 3.2xx.
  37.  
  38. #!/bin/sh
  39. # This is u386mon.2.60, a shell archive (shar 3.461)
  40. # made 10/07/1992 15:44 UTC by wht@n4hgf
  41. # Source directory /u1/src/u386mon
  42. #
  43. # existing files will NOT be overwritten unless -c is specified
  44. #
  45. # This shar contains:
  46. # length  mode       name
  47. # ------ ---------- ------------------------------------------
  48. #  22853 -rw-r--r-- README
  49. #   1033 -rw-r--r-- CHANGES
  50. #   9387 -rw-r--r-- Make.dell
  51. #   3945 -rw-r--r-- Make.esix
  52. #   8647 -rw-r--r-- Make.isc1
  53. #   9665 -rw-r--r-- Make.isc2
  54. #   8292 -rw-r--r-- Make.s2
  55. #   8422 -rw-r--r-- Make.sVr31
  56. #  11017 -rw-r--r-- Make.sco
  57. #  11152 -rw-r--r-- Make.sco.gcc
  58. #   1393 -rw-r--r-- EXPLAIN
  59. #  40718 -rw-r--r-- u386mon.c
  60. #   7500 -rw-r--r-- bootinfo.c
  61. #  12316 -rw-r--r-- detail.c
  62. #  21829 -rw-r--r-- det_proc.c
  63. #  13767 -rw-r--r-- det_sio.c
  64. #   5746 -rw-r--r-- det_stream.c
  65. #  10833 -rw-r--r-- det_table.c
  66. #   5222 -rw-r--r-- det_wd.c
  67. #   6172 -rw-r--r-- disputil.c
  68. #   1282 -rw-r--r-- kludge.c
  69. #   3495 -rw-r--r-- libkmem.c
  70. #   3235 -rw-r--r-- libmem.c
  71. #  20097 -rw-r--r-- libpanel.c
  72. #   2421 -rw-r--r-- libswap.c
  73. #   3346 -rw-r--r-- libnlsym.c
  74. #   3435 -rw-r--r-- nlsym.c
  75. #   4380 -rw-r--r-- proc.c
  76. #   2627 -rw-r--r-- tune.c
  77. #   2687 -rw-r--r-- var.c
  78. #   3105 -rw-r--r-- config.h
  79. #   1381 -rw-r--r-- libkmem.h
  80. #   1374 -rw-r--r-- libmem.h
  81. #   2432 -rw-r--r-- libpanel.h
  82. #   1302 -rw-r--r-- libswap.h
  83. #   1352 -rw-r--r-- libnlsym.h
  84. #   7817 -rw-r--r-- lint_args.h
  85. #   8792 -rw-r--r-- nlsym.h
  86. #     70 -rw-r--r-- patchlevel.h
  87. #   1129 -rw-r--r-- ttynm.h
  88. #   4824 -rw-r--r-- u386mon.h
  89. #   1267 -rw-r--r-- renice/Makefile
  90. #   4536 -rw-r--r-- renice/renice.c
  91. #   3147 -rw-r--r-- panel/README
  92. #   4935 -rw-r--r-- panel/panel.3
  93. #   6409 -rw-r--r-- panel/ptest.c
  94. #    363 -rw-r--r-- panel/Makefile
  95. #   2546 -rw-r--r-- siotools/Makefile
  96. #   2084 -rw-r--r-- siotools/README
  97. #   3580 -rw-r--r-- siotools/kmemsio.c
  98. #    782 -rw-r--r-- siotools/kmemsio.h
  99. #   5996 -rw-r--r-- siotools/pend.sh
  100. #  14992 -rw-r--r-- siotools/siomon.c
  101. #   1659 -rw-r--r-- siotools/utoa.c
  102. #   1181 -rw-r--r-- siotools/utoa.h
  103. #  25697 -rw-r--r-- siotools/uusnap.c
  104. #   3933 -rw-r--r-- siotools/wingets.c
  105. #   6995 -rw-r--r-- siotools/wintio.c
  106. #    871 -rw-r--r-- siotools/wintio.h
  107. #   8232 -rw-r--r-- siotools/wintty.c
  108. #    873 -rw-r--r-- siotools/wintty.h
  109. #
  110. # ============= README ==============
  111. if test -f 'README' -a X"$1" != X"-c"; then
  112.     echo 'x - skipping README (File already exists)'
  113. else
  114. echo 'x - extracting README (Text)'
  115. sed 's/^X//' << 'SHAR_EOF' > 'README' &&
  116. Xu386mon 2.60 README - Sun Aug 30 00:29:07 EDT 1992
  117. X==================================================
  118. X
  119. XThis is u386mon 2.60, a "performance" monitor, ostensibly for SCO
  120. XUNIX V/386 and ISC 386/ix on 386/486 processors, although it has
  121. Xbeen ported to a 68k VME System V Release 3.1 platform and to ISC
  122. X1.0.x and to the Tandem Integrity S2 (both S5R3.0-ish).  Also, a
  123. Xrenice is included as an example of alternate uses of the
  124. Xkmem/mem/swap utility objects.
  125. X
  126. XU386mon previous to 2.60 was tested on SCO 3.2.0, 3.2.1, 3.2v2
  127. Xand ODT and ISC 1.0.x, 2.0.x and 2.2.x, Tandem Integrity S2
  128. XNonStop-UX and at least one MC68000 VME-based Sys V Rel 3.1
  129. Xsystem.  Version 2.60 has been tested only on ODT 2.0 (3.2v4) but
  130. Xproblems with the other environments are not anticipated :->.
  131. X
  132. XThese may work with other UNIX System 5 Release 3.x systems with
  133. Xa little work.  XENIX systems have greatly different kernel
  134. Ximplementations and use xlist instead of nlist.  These programs
  135. Xwill not work there; sorry.  Someone reported he was working on a
  136. Xport to XENIX, but jct!jct's mon386 is great (posted to
  137. Xcomp.unix.xenix on 11 Jul 89 in 9 parts, starting with
  138. XMessage-ID: <278@jct.UUCP>).
  139. X
  140. XU386mon requires terminfo style curses and will use the curses
  141. Xcolor facility if you have it.  It works best with a 43 line (or
  142. Xgreater) screen, but will work with a 25 line screen with some
  143. Xlimitations.  It works very well on SCO ODT, Metro Link X11R4 and
  144. XISC xterms.  On a Wyuse 60, the SCO color curses does some
  145. Xinteresting attribute mappings.
  146. X
  147. XOn a 20Mhz Compaq 386 running SCO UNIX 3.2.0, u386mon on a 43-line VGA,
  148. Xwith a two second update interval, appears to consume 3 to 5% of the CPU
  149. Xwhen in the "main" display and about 7 to 11% when displaying process
  150. Xstatus (NPROC, v.v_proc == 100).  This is a bit expensive, but the job
  151. Xis sorta hard: according to prof(1)/prof(CP), 50% of the time is spent
  152. Xin curses.  Of course, on the Tandem Integrity S2 (a MIPS based
  153. Xmachine), these figures were MUCH, MUCH lower :-).  On a 486 33 MHz
  154. Xmachine, I get very much lower figures as well.  In fact, the guy was so
  155. Xfast we found a divide by zero possibility where u386mon could run a
  156. Xwhole cycle without ticking the clocks, getting zero total cpu ticks
  157. Xover the cycle.
  158. X
  159. XAcknowledgments
  160. X===============
  161. X
  162. XThanks to martin@hppcmart.grenoble.hp.com (Martin Croome), who gets
  163. Xcomplete credit for the nice SCO STREAMS, table and winchester statistics.
  164. XNeils Baggesen ported/tested them on S5R3.1.
  165. X
  166. XThanks to peter@radig.de (Peter Radig), dug@kd4nc (Doug Drye),
  167. Xjdc@uudell.dell.com (Jeremy Chatfield), andy@rbdc (Andy Pitts),
  168. Xtrb@ima.ima.isc.com (Andrew Tannenbaum) for the help with ISC 386/ix.
  169. X
  170. XThanks to nba@sysware.dk (Neils Baggesen) and allbery@ncoast.org
  171. X(Brandon Allbery) for the System V Release 3.1 work.
  172. X
  173. XThanks to jmd@tdmsou (emory!n4hgf!tdmsou!jmd, John Dashner) for the Tandem
  174. XS2 work.
  175. X
  176. XThanks to Dion Johnson <dionj@sco.com>, Bob Tinsman <bobti@sco.com>
  177. Xand David Gurr <davidgu@sco.com> for encouragement to keep work going.
  178. X
  179. XIf I missed mentioning some work you did, please accept my apology and
  180. Xremind me.
  181. X
  182. XYellow Brick Road
  183. X=================
  184. X
  185. XRead through this and you will finally reach "How to get going" below.
  186. X
  187. XSample output (somewhat obsolete)
  188. X=================================
  189. X(with 43-line screen; a 25 line screen will be missing Var/Bootinfo/Tune/Proc
  190. Xon the 'main' display)
  191. X
  192. X u386mon 2.11/SCO 3.2 - n4hgf                                 04:39:36 wht@n4hgf
  193. X---- CPU --- tot usr ker brk ---------------------------------------------------
  194. X Instant %    93  54  39   0 uuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk     
  195. X 5 Sec Avg %  87  26  61   0 uuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkk        
  196. X10 Sec Avg %  89  45  44   0 uuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkk       
  197. X---- Wait -- tot  io pio swp -- (% of real time) -------------------------------
  198. X Instant %     5   5   0   0 ii                                                 
  199. X 5 Sec Avg %  12  12   0   0 iiiiii                                             
  200. X10 Sec Avg %   9   9   0   0 iiii                                               
  201. X---- Sysinfo/Minfo --- (last  1000 msec activity) ------------------------------
  202. Xbread          5  readch    60416  pswitch    21   vfault    1    unmodsw   0   
  203. Xbwrite         9  writch     2507  syscall   261   demand    1    unmodfl   0   
  204. Xlread        331  rawch         2  sysread   100   pfault   15    psoutok   0   
  205. Xlwrite        42  canch         0  syswrit     4   cw        0    psinfai   0   
  206. Xphread         0  outch      2508  sysfork     1   steal    15    psinok    0   
  207. Xphwrite        0  msg           0  sysexec     0   frdpgs    0    rsout     0   
  208. Xswapin         0  sema          0                  vfpg      0    rsin      0   
  209. Xswapout        0  maxmem    5724k  runque      0   sfpg      0                  
  210. Xbswapin        0  frmem     3284k  runocc      0   vspg      0    pages on      
  211. Xbswapout       0  mem used    43%  swpque      0   sspg      0    swap      0   
  212. Xiget          72  nswap    10000k  swpocc      0   pnpfault  0    cache     0   
  213. Xnamei         71  frswp    10000k                  wrtfault  0    file      0   
  214. Xdirblk        92  swp used     0%                                               
  215. X                                                                                
  216. X                                                                                
  217. X                                                                                
  218. X-- Var ---------  -- Bootinfo ----------   -- Tune ---------  -- Proc ---       
  219. Xv_autoup      10  basemem      640k        t_ageintvl      9  sleep    22       
  220. Xv_buf        600  extmem      6144k        t_bdflushr      1  run       1       
  221. Xv_clist      200  bflags   00000000        t_gpgshi       40  zombie    0       
  222. Xv_file       200  memory available         t_gpgslo       25  stop      0       
  223. Xv_hbuf        64  00000000 000a0000        t_gpgsmsk   0x420  idle      0       
  224. Xv_inode      200  00100000 00600000        t_maxfc         1  onproc    1       
  225. Xv_maxpmem      0  00f40000 00060000 NODM   t_maxsc         1  xbrk      0       
  226. Xv_maxup       60  memory used              t_maxumem    2560  total    24       
  227. Xv_mount        5  00000000 00004000 RSVD   t_minarmem     25  in mem   24       
  228. Xv_pbuf        20  006bb000 00037000 KBSS   t_minasmem     25                    
  229. Xv_proc       100  006f2000 0000e000 KDTA                                        
  230. Xv_region     210  00fa9000 00057000 KTXT                                        
  231. Xv_vhndfrac    16                                                                
  232. X
  233. XThe main display
  234. X================
  235. X
  236. XA brief description of reported information:
  237. X
  238. X0.  The '+' and '-' command adds or subtracts one second from the
  239. X    update interval.  The value at startup is 2 seconds, the
  240. X    range 1 to 4.  Below, the terms "x1", "x5" and "x10" mean
  241. X    "interval X 1", "interval times 5" and "interval times 10,"
  242. X    respectively.
  243. X
  244. X    You can determine the update interval by looking at the top
  245. X    CPU histogram, labeled "Instant" for 1, "X sec" for 2-4 second
  246. X    intervals.
  247. X
  248. X    On some *fast* systems, values may be too large in 3 and 4
  249. X    second intervals and corrupt the display.  But the, you have
  250. X    the extra CPU to run it more often :-).
  251. X
  252. X1.  The CPU utilization is shown with smoothing of x1 ("instant" if
  253. X    the update interval is 1 second), x5 and x10 seconds.  Total
  254. X    CPU usage is shown, with user, kernel and "break" subdivided.
  255. X    Most performance utilities (vmstat) lump kernel (CPU_KERNEL)
  256. X    and wait (CPU_WAIT) times together as kernel time.  u386mon
  257. X    considers CPU_WAIT time as idle (the CPU could have been
  258. X    doing something if an otherwise ready process wasn't waited).
  259. X
  260. X    On a color display, total cpu utilization is displayed in
  261. X    green if the cpu utilization is below 70%, yellow if utilization
  262. X    is between 70% and 89% and red if 90% or above.
  263. X
  264. X2.  The Wait display shows the x1, x5 and x10 second smoothed
  265. X    percentages of real time no process could be run because
  266. X    otherwise ready to run processes were waiting on logical,
  267. X    swap or physical I/O.
  268. X
  269. X    On a color display, total wait time is displayed in green if
  270. X    it is below 30%, yellow if utilization is between 30% and 49%
  271. X    and red if 50% or above.
  272. X
  273. X3.  Sysinfo/Minfo display shows, generally, the number of events
  274. X    for a measured value since the last display update.  For
  275. X    example, runque shows the number of times a process was
  276. X    placed on the run queue.  An exception is the memory and swap
  277. X    space fields: These numbers reflect absolute current
  278. X    utilization over the period shown in the "last XXXXX msec"
  279. X    value in the banner.  Periods of 4000 milliseconds are shown
  280. X    in red, 1500 to 3990 milliseconds in blue and less than 1500
  281. X    milliseconds in the normal banner color.
  282. X
  283. X    My guess as to the meaning of the sysinfo and minfo values is
  284. X    in the file EXPLAIN.  I am not familiar with the meanings of
  285. X    all the items, having looked through the header files, sar
  286. X    man pages and the other UNIX hacker-ganda I could find.
  287. X    Comments are appreciated.
  288. X
  289. X4.  If you run u386mon on a 43 line display, extra information is displayed
  290. X    on the bottom of the screen (from the struct var v, bootinfo
  291. X    and proc kernel databases).
  292. X
  293. X    On a 24/25-line screen, the 'e' command accesses the Var/Bootinfo/
  294. X    Tune/Proc display, overlaying the Sysinfo/Minfo display.
  295. X    Using 'm' returns you to the main display.
  296. X
  297. X    Bootinfo will be missing from version running on platforms which
  298. X    do not support it.
  299. X
  300. X5.  On a color display, static numeric values, such as maxmem appear
  301. X    in blue (the same color as screen literals/labels).  Dynamic
  302. X    numeric values are displayed in green, with the exception of
  303. X    total cpu and wait percentages, which appear in light green,
  304. X    red or yellow.
  305. X
  306. X6.  An "INEXACT" indication on the top line means that u386mon was
  307. X    not scheduled quickly enough to capture accurate 1 second (nominal)
  308. X    values.  Continued INEXACT indication suggests the x5 and x10
  309. X    second smoothed values are also wrong.
  310. X
  311. X    An "INVALID" indication means u386mon was scheduled 3 or more
  312. X    seconds late; all percentage isplays are now suspect.
  313. X
  314. X7.  IN GENERAL, if you see any red characters on the display,
  315. X    immediately take grain of salt. If you have no color screen
  316. X    and still see red, add tequila to salt.
  317. X
  318. X8.  If you are running as root, you may use the -l switch or the
  319. X    'l' command to lock u386mon into memory.  If you do this, PLOCK
  320. X    will appear at the top of the screen to remind you of this hoggy
  321. X    behavior.  The u386mon process will not be listed in a process
  322. X    status display since SSYS (locked, resident) processes are not
  323. X    shown.
  324. X
  325. X9.  The ISC bootinfo field will have different information due to
  326. X    different porting by ISC and SCO.
  327. X
  328. XProcess Status Display
  329. X======================
  330. X
  331. X1.  Pressing 'p' causes a process status display of sorts to be
  332. X    shown, overlaying Sysinfo/Minfo on a 25 line screen or
  333. X    Var/Bootinfo/Tune/Proc on a 43 line screen.  On a 43 line screen, 'P'
  334. X    causes a larger ps display to be shown, overlaying Sysinfo/Minfo and
  335. X    Var/Bootinfo/Tune/Proc.
  336. X
  337. X    Sample output:
  338. X
  339. XS     USER   PID  CPU PRI NI  UCPU   SCPU  SIZE TTY CMD
  340. Xs     root    148   0  26 20   0:00   0:05  108  ?? /etc/cron
  341. Xs      wht  14946   2  39 20   0:02   0:11  224  05 TMR 01000a12
  342. Xs      wht  14947   2  39 20   0:02   0:11  220  05 TMR 01011101
  343. Xs      wht  14950   0  27 20   0:00   0:02  228  05 IP 01000a12
  344. Xs      wht  14951   1  27 20   0:00   0:02  224  05 IP 01011101
  345. Xs      wht  14952   0  27 20   0:01   0:02  228  05 TP4 01000a12
  346. Xs      wht  14953   1  27 20   0:01   0:03  224  05 TP4 01011101
  347. Xs      wht  14957   0  27 20   0:00   0:04  200  05 smpad.x
  348. Xs      wht  14960   1  27 20   0:00   0:04  204  05 mmpad.x
  349. Xs     root  15044   0  28 20   0:01   0:01  296  12 vi README
  350. Xs     uucp  15053   0  30 26   0:00   0:00  696  ?? /usr/lib/uucp/uusched
  351. Xs     uucp  15055   0  30 26   0:00   0:00  748  ?? UUCICO -r1 -sgatech
  352. Xs     uucp  15060   0  28 26   0:00   0:00  768  ?? dialTBIT tty2E 2222222UC 192
  353. X
  354. X    NOTES
  355. X    a.   S - two character status
  356. X            1st character - process status
  357. X               s - sleeping
  358. X               R - ready to run (might be running if u386mon were not)
  359. X               z - zombie
  360. X               d - stopped by debugger
  361. X               i - idle (in creation?)
  362. X               p - running on processor (on single CPU systems, only u386mon
  363. X                   will show this)
  364. X               x - XBREAK - process growing or shrinking
  365. X            2nd character - process swap status
  366. X               S - process is swapped
  367. X               blank - process is in memory
  368. X
  369. X    b.  If the process is running with setuid, a '#' appears to
  370. X        the right of the username.
  371. X
  372. X    c.  On color systems, processes ready to run are shown in yellow
  373. X        unless they are ready, but swapped out, in which case they
  374. X        are shown in red.
  375. X
  376. X3.  Since a limited space is available for displaying process
  377. X    status, particularly on a 25-line screen, a selective elimination
  378. X    algorithm is used to whittle the list when insufficient room
  379. X    is available.  init (pid 1) and system/resident (SSYS)
  380. X    processes are never displayed.  When a display cycle is to begin
  381. X    and there is not room for all of the processes to be shown,
  382. X    processes are eliminated in the following order:
  383. X
  384. X    a. 'getty', 'uugetty', 'sh', 'csh', and 'ksh'
  385. X    b. swapped and zombie processes
  386. X    c. no cpu processes (no cpu time during last cycle)
  387. X    d. sleeping processes
  388. X
  389. X    If there is still insufficient room, an indication to the effect
  390. X    is displayed (tough cookies).
  391. X
  392. XDisk (Winchester) display
  393. X=========================
  394. X
  395. XThis display shows each disk and diskette device known to the system
  396. Xand performance statistics for each.  Currently, the information is
  397. Xavailable only on SCO systems.  The percentages will be inaccurate for
  398. Xone or two display cycles after the 'w' (winchester) selection
  399. Xbecomes active.  Further updates may be inaccurate due to either
  400. Xnoisy kernel data, data capture latency, our having to guess a
  401. Xlot, or any combination of the above.
  402. X
  403. XSTREAMS (Net) display
  404. X=====================
  405. X
  406. XThis display shows STREAMS queues and buffers utilization a bit
  407. Xfaster and more dynamically than /etc/crash strstat!  Currently,
  408. Xthe information is available only on SCO systems.  It should be
  409. Xeasy to get going for others, though.
  410. X
  411. XTable Display
  412. X=============
  413. X
  414. XThe current and maximum occupancy of various kernel tables are displayed.
  415. XThis may not be enabled for all systems (I couldn't test Everywhere!).
  416. X
  417. XSio display
  418. X===========
  419. X
  420. XThe experimental, "undocumented" sio display is a stab at tty I/O
  421. Xmonitoring for SCO only. If you don't mind doing a bit of hacking,
  422. Xit can be adapted for other tty drivers whose data is an
  423. Xarray of struct tty (see det_sio.c and ttynm.h and grep for SIO_IS_FAS
  424. Xto see how I have adapted it for my FAS configuration).  See also
  425. Xthe discussion of siotools below in _How to get going_ item 11..
  426. X
  427. XA $0.0002 tour: why nlsym and /unix.nlsym?
  428. X==========================================
  429. X
  430. XAccess to kernel (/dev/kmem) and physical (/dev/mem) memory and
  431. Xswap (/dev/swap) is required for u386mon to do its thing.
  432. XTo find kmem addresses of interest, an nlist(S) call must be made
  433. Xagainst /unix.  This can be quite expensive.
  434. X
  435. XThe 'nlist' procedure is performed by a separate program (nlsym)
  436. Xand the resulting nlist structure array is stored in /unix.nlsym.
  437. Xu386mon thus may obtain nlist information rapidly without nlist(S) each
  438. Xtime it is executed.  Also stored in /unix.nlsym is a stat structure of
  439. X/unix at the time of nlsym execution.  A unique word is stored at the
  440. Xend of the file in case /unix.nlsym's nlist structure is expanded for
  441. Xother applications.  The u386mon program reads /unix.nlsym by means
  442. Xof facilities in libnlsym.c.  If the stat structure in /unix.nlsym
  443. Xdoes not match a dynamic stat of /unix or if the unique word does
  444. Xnot match, the nlist information is not trusted and u386mon prompts
  445. Xthe user to run (or have run) the nlsym program to update /unix.nlsym.
  446. X
  447. XMany symbols are nlist'ed by nlsym which are not used by u386mon.
  448. XYou may find other uses for libnlsym/libkmem which make use of them.
  449. X
  450. XHow to get going
  451. X================
  452. X
  453. X1.  Copy the appropriate Make. file to Makefile, depending on
  454. X    your type of system.  It has been a while since I have had
  455. X    good reports on the various OSs other than SCO UNIX, so good luck.
  456. X
  457. X    Make.dell           DELL System V (ISC derived)
  458. X    Make.isc1           ISC 1.x
  459. X    Make.isc2           ISC 2.x
  460. X    Make.isc2.gcc       ISC 2.x with gcc (untested)
  461. X    Make.s2             Tandem Integrity S2 Non-Stop UX
  462. X    Make.sVr31          Various System 5 Release 3.1 (good luck)
  463. X    Make.sco            SCO UNIX 3.2, 3.2.1, 3.2r2, ODT 1.x
  464. X    Make.sco.gcc        same (tested with gcc 1.39 through 2.1)
  465. X
  466. X2.  Edit Makefile to change BINDIR to match your local requirements.
  467. X    If you have a kernel that knows about MERGE386 as with SCO ODT,
  468. X    add -DMERGE386 to CFLAGS. Likewise, if you have VPIX, add -DVPIX.
  469. X    You may need to add -Dm68k for a MC68000 system if your
  470. X    compiler does not (This may sound like an odd statement for a
  471. X    program with 386 in the name, but we are broadening our territory :->).
  472. X
  473. X3.  make all.  Please report compile errors to me.  You shouldn't
  474. X    get any on SCO 3.2.x or ISC 2.x.x for any "recent" or current versions.
  475. X
  476. X3a. Note: Don't worry, if on SCO makes, you see warnings on many modules'
  477. X    compilation similar to the following:
  478. X
  479. X                 cc -nointl -c -Octl -CSON -DLINT_ARGS u386mon.c
  480. X        u386mon.c
  481. X        /usr/include/tinfo.h(442) : warning C4005: 'box' : redefinition
  482. X        /usr/include/tinfo.h(443) : warning C4005: 'newterm' : redefinition
  483. X
  484. X    This is confusion on part of tinfo.h resulting from our use of
  485. X    some valuable speedup macros built into tinfo.h, but not quite
  486. X    kosher enough to satisfy the compiler we know what we are doing.
  487. X    If it bothers you, or something breaks, remove #define CURSES_MACROS
  488. X    from u386mon's config.h.  This problem does not occur with the
  489. X    3.2v4 development system.
  490. X
  491. X3b. If you get undefined externs for is_linetouched and is_wintouched(),
  492. X    you can try editing config.h and #define NO_ISTOUCH.  Good luck -
  493. X    these are hack attempts and I have no idea if they will work.
  494. X
  495. X4.  You must run make install as root since u386mon must be setuid to
  496. X    'mem' ('sys' for ISC) and nlsym must produce /unix.nlsym.
  497. X    For S5R3.1 systems, all bets on "make install" are off.  I don't
  498. X    know what it takes, it'll vary from system to system, and the
  499. X    Make.sVr31 is only a guide.  For instance, you may want to
  500. X    rename the program to u68kmon on 68000 systems :-).
  501. X
  502. X    If you are a user of old u386mon versions, run the new nlsym since
  503. X    the older /unix.nlsym format is not compatible with this version.
  504. X
  505. X5.  Sources are in 4-spaced tab format (please don't flame :->).
  506. X
  507. X6.  You'll need to check out config.h and your /usr/include/sys/proc.h.
  508. X    If you find a p_sid element in the proc structure, then enable
  509. X    #define HAVE_P_SID in config.h so that processes running under job
  510. X    control will have their control ttys displayed properly. 
  511. X    Thanks for the tip to rw@namu01.gwdg.de (Rainer Wittmann STAT).
  512. X
  513. X7.  usage: u386mon [-l] [-p | -P]
  514. X    -l lock process into memory (if root)
  515. X    -p begin with short ps display
  516. X    -P begin with long ps display (if 43 line screen)
  517. X    -w begin with disk (winchester) stats [SCO and S5R3.1 only]
  518. X    -n begin with STREAMS (net) stats [SCO and S5R3.1 only]
  519. X
  520. X8.  If you are running SCO and get 4 as the size of most or all processes,
  521. X    try adding -DUSIZE_FIXED.  SCO 3.2.0 had this info in the struct
  522. X    user fields u_tsize, u_dsize, u_ssize wrong, IMHO, and fixed it
  523. X    in ODT/3.2.1.  See det_proc.c for more detail.  Your port
  524. X    may/WILL vary.
  525. X
  526. X9.  The renice program by Ford Ditto, from which the kmem routines
  527. X    came, has been reworked and in included with this release.
  528. X    It needs a current /unix.nlsym.
  529. X
  530. X    usage: renice -# pid     decrease nice by #
  531. X           renice +# pid     increase nice by #
  532. X           renice =# pid     set nice to #
  533. X
  534. X    The traditional privileges for root and non-root are supported.
  535. X
  536. X10. The libpanel.c module is not an efficient replacement for the
  537. X    SVR3.2 panel facility.  It is, however, fully featured and serves
  538. X    the needs of u386mon, assisting a port to SVR3.1.  It seems
  539. X    efficient enough to use in lieu of native (vendor-supplied)
  540. X    panels.
  541. X
  542. X11. Siotools, a package of tty and uucp monitors, was previously
  543. X    released separately.  Both programs in the package have been
  544. X    reorganized to use the nlsym mechanism.  It seemed reasoanble
  545. X    to merge the two packages.  HoneyDanBer UUCP is required.
  546. X    The package may fail on SCO 3.2v4 if files have been created
  547. X    in /usr/spool/uucp/* with filenames in excess of 14 characters.
  548. X    This is not likely to become a problem, but I'll fix the
  549. X    hack directory search mechanism upon demand.  The method
  550. X    I use currently is very quick.  Refer to the README in the
  551. X    siotools subdirectory for more information.
  552. X
  553. XComments are appreciated, especially bug fixes and information
  554. Xhelping to port the program to another 386 SVR3 system.
  555. X
  556. XWarren Tucker - n4hgf!wht -or- wht@n4hgf.Mt-Park.GA.US
  557. X
  558. XThanks for various reasons to (alphabetically):
  559. X
  560. Xaaron@odt.icom.com
  561. Xalan@cms2
  562. Xallbery@ncoast.org
  563. Xandy@rbdc
  564. Xannie@axis-design.axis-design.fr (Annie Tanguy)
  565. Xbel@trout.nosc.mil
  566. Xbobti@sco.com
  567. Xdavidg@aegis.or.jp
  568. Xdavidgu@sco.com
  569. Xdavis@csrg2.ee.iastate.edu (Jim Davis)
  570. Xdionj@sco.com (Dion Johnson)  [triple plus thanks!!]
  571. Xdynsim1.litwin.com!avg (Anil Gokhale)
  572. Xeao@mvucl.att.com
  573. Xelsn4000@w107zrz.zrz.tu-berlin.dbp.de
  574. Xfocsys!larry
  575. Xfredj@wang.com (Fred Jewell)
  576. Xgregf@sco.com (Greg Forrest)
  577. Xhowardl@wb3ffv.ampr.org
  578. Xjdc@dell.com (Jeremy Chatfield)
  579. Xjdm1@eds1.eds.com (Jonathan D. McCown)
  580. Xjennen@aball.in-berlin.de (Andreas Jennen)
  581. Xjimmy@denwa.info.com (Jim Gottlieb)
  582. Xjonl@sco.com
  583. Xjpradley.jpr.com!root (J-P Radley )
  584. Xkariy@vataks71.vat-vai.valmet.com
  585. Xkd4nc!dug
  586. Xkent@sparky.IMD.Sterling.COM (Kent Landfield)
  587. Xlarry@focsys
  588. Xlele@idea.sublink.org
  589. Xmarlor@cup.portal.com
  590. Xmartin@hppcmart.grenoble.hp.com
  591. Xmpd@anomaly.sbs.com
  592. Xnba@sysware.dk
  593. Xpat@rwing (Pat Myrto)
  594. Xpetej@ssg2.pharmacia.com (Peter M. Jansson)
  595. Xpeter@radig.de
  596. Xpgd@bbt.se
  597. Xrandy@chinet.chi.il
  598. Xrexago8!hc05 (Beirne Konarski)
  599. Xrll@sco.com (Robert Lewis)
  600. Xrobertt@sco.com
  601. Xroot@candle.uucp (Bruce Momjian)
  602. Xroot@dinosaur.lonestar.org
  603. Xrtf.bt.co.uk!traub
  604. Xrw@namu01.gwdg.de (Rainer Wittmann STAT)
  605. Xsoward@ms.uky.edu
  606. Xssb@cs.umn.edu!quest
  607. Xsteen@kiku.dk
  608. Xsteen@kiku.dk (Steen Hammerum)
  609. Xstevea@i88.isc.com (Steve Alexander)
  610. Xsunriv!johnc
  611. Xsysware.sysware.dk!nba (Niels Baggesen)
  612. Xtore@kiku.dk
  613. Xtrb@ima.ima.isc.com (Andrew Tannenbaum)
  614. Xwgs6386!budp
  615. Xxenicon!steveh
  616. SHAR_EOF
  617. chmod 0644 README ||
  618. echo 'restore of README failed'
  619. Wc_c="`wc -c < 'README'`"
  620. test 22853 -eq "$Wc_c" ||
  621.     echo 'README: original size 22853, current size' "$Wc_c"
  622. fi
  623. # ============= CHANGES ==============
  624. if test -f 'CHANGES' -a X"$1" != X"-c"; then
  625.     echo 'x - skipping CHANGES (File already exists)'
  626. else
  627. echo 'x - extracting CHANGES (Text)'
  628. sed 's/^X//' << 'SHAR_EOF' > 'CHANGES' &&
  629. XCHANGES - Sun Aug 30 00:29:07 EDT 1992
  630. X
  631. XChanges for 2.60 (since last public release 2.40, erroneously marked
  632. X3.40 in places):
  633. X
  634. X1. Added support for SCO 3.2v4.
  635. X   There are no differences in making or using u386mon on 3.2v4.
  636. X   Code changes alone were required.
  637. X
  638. X2. Integrated siotools package to exploit nlsym
  639. X   For SCO, adaptable to others, a uucp watcher and a
  640. X   tty driver monitor.  For porting clues, look for SIO_IS_FAS
  641. X   in *.[ch] and siotools/*.[ch], particularly ttynm.h and  nlsym.h.
  642. X   You need to point the code to your kernel's struct tty table by name
  643. X   (e.g., "sio_tty", "asy_tty", "fas_tty") and state how long the array is. 
  644. X   These values are set in ttynm.h.  The example -DSIO_IS_FAS
  645. X   configures u386mon, uusnap, siomon and nlsym to look for my
  646. X   FAS table with 9 serial devices named with SCO naming conventions.
  647. X
  648. X3. nba@sysware.dk reorganized the S5R31 code and configuration.
  649. X
  650. X2.60 was tested on SCO 3.2v4.  Changes made to support 3.2v4 and
  651. Xenhance SVR31 hopefully have not affected other environments.
  652. SHAR_EOF
  653. chmod 0644 CHANGES ||
  654. echo 'restore of CHANGES failed'
  655. Wc_c="`wc -c < 'CHANGES'`"
  656. test 1033 -eq "$Wc_c" ||
  657.     echo 'CHANGES: original size 1033, current size' "$Wc_c"
  658. fi
  659. # ============= Make.dell ==============
  660. if test -f 'Make.dell' -a X"$1" != X"-c"; then
  661.     echo 'x - skipping Make.dell (File already exists)'
  662. else
  663. echo 'x - extracting Make.dell (Text)'
  664. sed 's/^X//' << 'SHAR_EOF' > 'Make.dell' &&
  665. X#  CHK=0x0770
  666. X#+-------------------------------------------------------------------
  667. X#  Makefile for u386mon for DELL UNIX 1.x
  668. X#  ...!{gatech,emory}!n4hgf!wht
  669. X#--------------------------------------------------------------------
  670. X#+:EDITS:*/
  671. X#:07-15-1992-14:31-wht@n4hgf-2.60 release - u386mon+siotools merge
  672. X#:08-01-1991-23:34-wht@n4hgf-release 2.53 source control point
  673. X#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
  674. X#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
  675. X#:08-02-1990-15:35-wht@n4hgf-2.12-old curses hacks+minor 3.2 formalizations
  676. X#:08-01-1990-21:39-wht@n4hgf-add Dell make file
  677. X#:08-01-1990-12:26-wht@n4hgf-2.11-try to support ISC 1.x.x
  678. X#:07-28-1990-18:07-wht@n4hgf-2.10 release
  679. X#:07-26-1990-18:59-root@n4hgf-remove inappropriate USIZE_FIXED reminder
  680. X#:07-24-1990-18:53-wht@n4hgf-add USIZE_FIXED reminder
  681. X#:07-21-1990-16:03-wht@n4hgf-add libpanel + remake depend
  682. X#:06-27-1990-01:57-wht@n4hgf-1.10 - incorporate suggestions from alpha testers
  683. X#:06-25-1990-04:14-wht@n4hgf-1.03-better error handling
  684. X#:06-24-1990-20:53-wht@n4hgf-v1.01-add ISC support thanks to peter@radig.de
  685. X#:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free
  686. X#:06-19-1990-21:37-wht@n4hgf-get ready for 0.08 release
  687. X
  688. X#------------> CFLAGS 
  689. X# Add -DVPIX if you have VP/ix
  690. X# Add -DMERGE386 if you have Merge/386
  691. XCFLAGS = -c -O -DDELL
  692. X
  693. X#------------> LIB
  694. XLIB = -lpanel -lcurses -lx -lmalloc -lc_s
  695. X
  696. X#------------> KMEMGRP
  697. XKMEMGRP = sys
  698. X
  699. X#------------> BINDIR
  700. XBINDIR = /usr/local/bin
  701. X
  702. XLDFLAGS = -s
  703. X
  704. XVERSION = 2.60
  705. X
  706. X#handle Sys V make "feature" of using SHELL
  707. XSHELL = /bin/sh
  708. X
  709. X#FCRC = fcrc -u $*.c ;
  710. X.c.o:;    $(FCRC) $(CC) $(CFLAGS) $*.c 
  711. X
  712. XSRC = \
  713. X    u386mon.c\
  714. X    bootinfo.c\
  715. X    detail.c\
  716. X    det_proc.c\
  717. X    det_sio.c\
  718. X    disputil.c\
  719. X    kludge.c\
  720. X    libkmem.c\
  721. X    libmem.c\
  722. X    libpanel.c\
  723. X    libswap.c\
  724. X    libnlsym.c\
  725. X    nlsym.c\
  726. X    proc.c\
  727. X    tune.c\
  728. X    var.c
  729. X
  730. XHDR = \
  731. X    config.h\
  732. X    libkmem.h\
  733. X    libmem.h\
  734. X    libpanel.h\
  735. X    libswap.h\
  736. X    libnlsym.h\
  737. X    lint_args.h\
  738. X    nlsym.h\
  739. X    patchlevel.h\
  740. X    ttynm.h\
  741. X    u386mon.h
  742. X
  743. XNLSYM_OBJ =\
  744. X    nlsym.o
  745. X
  746. XU386MON_OBJ =\
  747. X    u386mon.o\
  748. X    detail.o\
  749. X    det_proc.o\
  750. X    bootinfo.o\
  751. X    proc.o\
  752. X    tune.o\
  753. X    var.o\
  754. X    kludge.o\
  755. X    disputil.o\
  756. X    libkmem.o\
  757. X    libmem.o\
  758. X    libswap.o\
  759. X    libnlsym.o
  760. X
  761. XSHARFLS = \
  762. X    README\
  763. X    CHANGES\
  764. X    Make.*\
  765. X    EXPLAIN\
  766. X    $(SRC)\
  767. X    $(HDR)\
  768. X    renice/Makefile\
  769. X    renice/renice.c\
  770. X    panel/README\
  771. X    panel/panel.3\
  772. X    panel/ptest.c\
  773. X    panel/Makefile\
  774. X    siotools/Makefile\
  775. X    siotools/README\
  776. X    siotools/kmemsio.c\
  777. X    siotools/kmemsio.h\
  778. X    siotools/pend.sh\
  779. X    siotools/siomon.c\
  780. X    siotools/utoa.c\
  781. X    siotools/utoa.h\
  782. X    siotools/uusnap.c\
  783. X    siotools/wingets.c\
  784. X    siotools/wintio.c\
  785. X    siotools/wintio.h\
  786. X    siotools/wintty.c\
  787. X    siotools/wintty.h
  788. X
  789. Xall: nlsym u386mon
  790. X
  791. X#must run as root
  792. Xinstall: all
  793. X    -mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
  794. X    cp nlsym $(BINDIR)
  795. X    chown bin $(BINDIR)/nlsym
  796. X    chgrp bin $(BINDIR)/nlsym
  797. X    chmod 711 $(BINDIR)/nlsym
  798. X    -mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
  799. X    cp u386mon $(BINDIR)
  800. X    chown bin $(BINDIR)/u386mon
  801. X    chgrp $(KMEMGRP) $(BINDIR)/u386mon
  802. X    chmod 2711 $(BINDIR)/u386mon
  803. X    chmod g+r /dev/swap
  804. X    $(BINDIR)/nlsym
  805. X    @echo ' ';echo 'csh users rehash before executing'
  806. X
  807. Xnlsym: $(NLSYM_OBJ)
  808. X    $(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
  809. X
  810. Xu386mon: $(U386MON_OBJ)
  811. X    $(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
  812. X
  813. X/unix.nlsym: nlsym /unix
  814. X    $(BINDIR)/nlsym
  815. X    chmod 644 /unix.nlsym
  816. X
  817. X#not delivered
  818. Xsrc.fls: $(SRC) Makefile
  819. X    ls $(SRC) > src.fls
  820. Xlint_args: src.fls
  821. X    echo ' ' > lint_args.h
  822. X    csh zgcc src.fls lint_args.h $(CFLAGS)
  823. X
  824. Xneat:
  825. X    rm -f *\# *~ *.orig *.rej *.out *.log core ,* cscope.out tags *.bak \
  826. X        mkdep.* *.new src.fls u386mon.lint
  827. X
  828. Xclean: neat
  829. X    rm -f $(U386MON_OBJ) $(NLSYM_OBJ)
  830. X
  831. Xclobber: clean
  832. X    rm -f nlsym u386mon
  833. X
  834. Xlint:
  835. X    lint -ux *.c > u386mon.lint
  836. X
  837. X#for shar 3.27 or later
  838. Xshar:
  839. X    shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
  840. X
  841. X# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
  842. X#
  843. Xdepend:
  844. X        rm -f mkdep.rule.tmp
  845. X        if test '$(SRC)' ;\
  846. X        then (grep '^#include' $(SRC)\
  847. X        | sed    -e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
  848. X            -e 's?:[^"]*"\([^"]*\)".*?:\1?'\
  849. X            -e 's?\(.*\)\.c?\1.o?'\
  850. X         >> mkdep.rule.tmp) ;\
  851. X        fi
  852. X
  853. X        echo 1 >mkdep.ex.tmp
  854. X        echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
  855. X        echo '.+1,$$d' >>mkdep.ex.tmp
  856. X        echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
  857. X        echo 'w' >> mkdep.ex.tmp
  858. X        cp Make.dell Make.dell.new
  859. X        ex Make.dell.new < mkdep.ex.tmp
  860. X        rm mkdep.ex.tmp mkdep.rule.tmp
  861. X        echo '#    DEPENDENCIES MUST END AT END OF    FILE' >>Make.dell.new
  862. X        echo '#    IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Make.dell.new
  863. X        echo '#    see make depend    above'>>Make.dell.new
  864. X        mv Make.dell Make.dell.bak
  865. X        mv Make.dell.new Make.dell
  866. X        @echo Make.dell has been updated with dependencies
  867. X
  868. X# DO NOT DELETE THIS LINE
  869. Xu386mon.o: config.h
  870. Xu386mon.o: /usr/include/curses.h
  871. Xu386mon.o: libpanel.h
  872. Xu386mon.o: /usr/include/signal.h
  873. Xu386mon.o: /usr/include/string.h
  874. Xu386mon.o: /usr/include/fcntl.h
  875. Xu386mon.o: /usr/include/nlist.h
  876. Xu386mon.o: /usr/include/errno.h
  877. Xu386mon.o: /usr/include/time.h
  878. Xu386mon.o: /usr/include/sys/types.h
  879. Xu386mon.o: /usr/include/sys/lock.h
  880. Xu386mon.o: /usr/include/sys/utsname.h
  881. Xu386mon.o: /usr/include/sys/stat.h
  882. Xu386mon.o: /usr/include/sys/param.h
  883. Xu386mon.o: /usr/include/sys/tuneable.h
  884. Xu386mon.o: /usr/include/sys/sysinfo.h
  885. Xu386mon.o: /usr/include/sys/sysmacros.h
  886. Xu386mon.o: /usr/include/sys/immu.h
  887. Xu386mon.o: /usr/include/sys/region.h
  888. Xu386mon.o: /usr/include/sys/proc.h
  889. Xu386mon.o: /usr/include/sys/var.h
  890. Xu386mon.o: /usr/include/sys/swap.h
  891. Xu386mon.o: /usr/include/sys/trap.h
  892. Xu386mon.o: nlsym.h
  893. Xu386mon.o: libkmem.h
  894. Xu386mon.o: libmem.h
  895. Xu386mon.o: libswap.h
  896. Xu386mon.o: libnlsym.h
  897. Xu386mon.o: u386mon.h
  898. Xbootinfo.o: config.h
  899. Xbootinfo.o: /usr/include/curses.h
  900. Xbootinfo.o: /usr/include/sys/types.h
  901. Xbootinfo.o: /usr/include/sys/bootinfo.h
  902. Xbootinfo.o: u386mon.h
  903. Xdetail.o: config.h
  904. Xdetail.o: /usr/include/curses.h
  905. Xdetail.o: /usr/include/signal.h
  906. Xdetail.o: /usr/include/string.h
  907. Xdetail.o: /usr/include/fcntl.h
  908. Xdetail.o: /usr/include/nlist.h
  909. Xdetail.o: /usr/include/errno.h
  910. Xdetail.o: /usr/include/time.h
  911. Xdetail.o: /usr/include/pwd.h
  912. Xdetail.o: /usr/include/sys/types.h
  913. Xdetail.o: /usr/include/utmp.h
  914. Xdetail.o: /usr/include/sys/utsname.h
  915. Xdetail.o: /usr/include/sys/stat.h
  916. Xdetail.o: /usr/include/sys/param.h
  917. Xdetail.o: /usr/include/sys/tuneable.h
  918. Xdetail.o: /usr/include/sys/sysinfo.h
  919. Xdetail.o: /usr/include/sys/sysmacros.h
  920. Xdetail.o: /usr/include/sys/immu.h
  921. Xdetail.o: /usr/include/sys/region.h
  922. Xdetail.o: /usr/include/sys/proc.h
  923. Xdetail.o: /usr/include/sys/var.h
  924. Xdetail.o: nlsym.h
  925. Xdetail.o: libkmem.h
  926. Xdetail.o: libnlsym.h
  927. Xdetail.o: u386mon.h
  928. Xdet_proc.o: config.h
  929. Xdet_proc.o: /usr/include/curses.h
  930. Xdet_proc.o: /usr/include/signal.h
  931. Xdet_proc.o: /usr/include/string.h
  932. Xdet_proc.o: /usr/include/fcntl.h
  933. Xdet_proc.o: /usr/include/nlist.h
  934. Xdet_proc.o: /usr/include/errno.h
  935. Xdet_proc.o: /usr/include/time.h
  936. Xdet_proc.o: /usr/include/pwd.h
  937. Xdet_proc.o: /usr/include/sys/types.h
  938. Xdet_proc.o: /usr/include/utmp.h
  939. Xdet_proc.o: /usr/include/sys/stat.h
  940. Xdet_proc.o: /usr/include/sys/param.h
  941. Xdet_proc.o: /usr/include/sys/tuneable.h
  942. Xdet_proc.o: /usr/include/sys/sysinfo.h
  943. Xdet_proc.o: /usr/include/sys/sysmacros.h
  944. Xdet_proc.o: /usr/include/sys/immu.h
  945. Xdet_proc.o: /usr/include/sys/region.h
  946. Xdet_proc.o: /usr/include/sys/proc.h
  947. Xdet_proc.o: /usr/include/sys/fs/s5dir.h
  948. Xdet_proc.o: /usr/include/sys/user.h
  949. Xdet_proc.o: /usr/include/sys/var.h
  950. Xdet_proc.o: nlsym.h
  951. Xdet_proc.o: libkmem.h
  952. Xdet_proc.o: libmem.h
  953. Xdet_proc.o: libswap.h
  954. Xdet_proc.o: libnlsym.h
  955. Xdet_proc.o: u386mon.h
  956. Xdet_sio.o: config.h
  957. Xdet_sio.o: /usr/include/curses.h
  958. Xdet_sio.o: /usr/include/string.h
  959. Xdet_sio.o: /usr/include/nlist.h
  960. Xdet_sio.o: /usr/include/sys/types.h
  961. Xdet_sio.o: /usr/include/sys/stat.h
  962. Xdet_sio.o: /usr/include/sys/ascii.h
  963. Xdet_sio.o: /usr/include/sys/param.h
  964. Xdet_sio.o: /usr/include/sys/tty.h
  965. Xdet_sio.o: nlsym.h
  966. Xdet_sio.o: libkmem.h
  967. Xdet_sio.o: libmem.h
  968. Xdet_sio.o: libswap.h
  969. Xdet_sio.o: libnlsym.h
  970. Xdet_sio.o: u386mon.h
  971. Xdisputil.o: config.h
  972. Xdisputil.o: /usr/include/curses.h
  973. Xdisputil.o: /usr/include/sys/types.h
  974. Xdisputil.o: u386mon.h
  975. Xkludge.o: /usr/include/curses.h
  976. Xlibkmem.o: /usr/include/sys/types.h
  977. Xlibkmem.o: /usr/include/fcntl.h
  978. Xlibkmem.o: libkmem.h
  979. Xlibmem.o: /usr/include/sys/types.h
  980. Xlibmem.o: /usr/include/fcntl.h
  981. Xlibmem.o: libmem.h
  982. Xlibpanel.o: config.h
  983. Xlibpanel.o: /usr/include/curses.h
  984. Xlibpanel.o: u386mon.h
  985. Xlibswap.o: /usr/include/sys/types.h
  986. Xlibswap.o: /usr/include/fcntl.h
  987. Xlibswap.o: libswap.h
  988. Xlibnlsym.o: config.h
  989. Xlibnlsym.o: /usr/include/stdio.h
  990. Xlibnlsym.o: /usr/include/sys/types.h
  991. Xlibnlsym.o: /usr/include/sys/stat.h
  992. Xlibnlsym.o: /usr/include/fcntl.h
  993. Xlibnlsym.o: /usr/include/nlist.h
  994. Xlibnlsym.o: nlsym.h
  995. Xlibnlsym.o: libnlsym.h
  996. Xnlsym.o: config.h
  997. Xnlsym.o: /usr/include/stdio.h
  998. Xnlsym.o: /usr/include/sys/types.h
  999. Xnlsym.o: /usr/include/sys/stat.h
  1000. Xnlsym.o: /usr/include/fcntl.h
  1001. Xnlsym.o: /usr/include/nlist.h
  1002. Xnlsym.o: nlsym.h
  1003. Xproc.o: config.h
  1004. Xproc.o: /usr/include/curses.h
  1005. Xproc.o: /usr/include/sys/types.h
  1006. Xproc.o: /usr/include/sys/param.h
  1007. Xproc.o: /usr/include/sys/immu.h
  1008. Xproc.o: /usr/include/sys/region.h
  1009. Xproc.o: /usr/include/sys/proc.h
  1010. Xproc.o: /usr/include/sys/var.h
  1011. Xproc.o: /usr/include/nlist.h
  1012. Xproc.o: nlsym.h
  1013. Xproc.o: libkmem.h
  1014. Xproc.o: libnlsym.h
  1015. Xproc.o: u386mon.h
  1016. Xtune.o: config.h
  1017. Xtune.o: /usr/include/curses.h
  1018. Xtune.o: /usr/include/sys/types.h
  1019. Xtune.o: /usr/include/sys/tuneable.h
  1020. Xtune.o: u386mon.h
  1021. Xvar.o: config.h
  1022. Xvar.o: /usr/include/curses.h
  1023. Xvar.o: /usr/include/sys/types.h
  1024. Xvar.o: /usr/include/sys/var.h
  1025. Xvar.o: u386mon.h
  1026. X#    DEPENDENCIES MUST END AT END OF    FILE
  1027. X#    IF YOU PUT STUFF HERE IT WILL GO AWAY
  1028. X#    see make depend    above
  1029. SHAR_EOF
  1030. chmod 0644 Make.dell ||
  1031. echo 'restore of Make.dell failed'
  1032. Wc_c="`wc -c < 'Make.dell'`"
  1033. test 9387 -eq "$Wc_c" ||
  1034.     echo 'Make.dell: original size 9387, current size' "$Wc_c"
  1035. fi
  1036. # ============= Make.esix ==============
  1037. if test -f 'Make.esix' -a X"$1" != X"-c"; then
  1038.     echo 'x - skipping Make.esix (File already exists)'
  1039. else
  1040. echo 'x - extracting Make.esix (Text)'
  1041. sed 's/^X//' << 'SHAR_EOF' > 'Make.esix' &&
  1042. X#  CHK=0x2F7C
  1043. X#+-------------------------------------------------------------------
  1044. X#  Makefile for u386mon for ESIX 5.3.2 Rev D
  1045. X#  ...!{gatech,emory}!n4hgf!wht
  1046. X#--------------------------------------------------------------------
  1047. X#+:EDITS:*/
  1048. X#:07-15-1992-14:31-wht@n4hgf-2.60 release - u386mon+siotools merge
  1049. X#:08-20-1991-14:06-root@n4hgf-thanks to jdm1@eds1.eds.com
  1050. X
  1051. X#------------> CFLAGS 
  1052. X# ESIX 
  1053. X# Add -DVPIX if you have VP/ix
  1054. X# Add -DMERGE386 if you have Merge/386
  1055. XCFLAGS = -c -O -DESIX532
  1056. X
  1057. X#------------> LIB
  1058. XLIB = -lpanel -lcurses -lx -lmalloc -lc_s
  1059. X
  1060. X#------------> KMEMGRP
  1061. XKMEMGRP = sys
  1062. X
  1063. X#------------> BINDIR
  1064. XBINDIR = /usr/local/bin
  1065. X
  1066. XLDFLAGS = -s
  1067. X
  1068. XVERSION = 2.60
  1069. X
  1070. X#handle Sys V make "feature" of using SHELL
  1071. XSHELL = /bin/sh
  1072. X
  1073. X#FCRC = fcrc -u $*.c ;
  1074. X.c.o:;    $(FCRC) $(CC) $(CFLAGS) $*.c 
  1075. X
  1076. XSRC = \
  1077. X    u386mon.c\
  1078. X    bootinfo.c\
  1079. X    detail.c\
  1080. X    det_proc.c\
  1081. X    det_stream.c\
  1082. X    det_table.c\
  1083. X    disputil.c\
  1084. X    kludge.c\
  1085. X    libkmem.c\
  1086. X    libmem.c\
  1087. X    libpanel.c\
  1088. X    libswap.c\
  1089. X    libnlsym.c\
  1090. X    nlsym.c\
  1091. X    proc.c\
  1092. X    tune.c\
  1093. X    var.c
  1094. X
  1095. XHDR = \
  1096. X    config.h\
  1097. X    libkmem.h\
  1098. X    libmem.h\
  1099. X    libpanel.h\
  1100. X    libswap.h\
  1101. X    libnlsym.h\
  1102. X    lint_args.h\
  1103. X    nlsym.h\
  1104. X    patchlevel.h\
  1105. X    ttynm.h\
  1106. X    u386mon.h
  1107. X
  1108. XNLSYM_OBJ =\
  1109. X    nlsym.o
  1110. X
  1111. XU386MON_OBJ =\
  1112. X    u386mon.o\
  1113. X    detail.o\
  1114. X    det_proc.o\
  1115. X    det_stream.o\
  1116. X    det_table.o\
  1117. X    bootinfo.o\
  1118. X    proc.o\
  1119. X    tune.o\
  1120. X    var.o\
  1121. X    disputil.o\
  1122. X    kludge.o\
  1123. X    libkmem.o\
  1124. X    libmem.o\
  1125. X    libpanel.o\
  1126. X    libswap.o\
  1127. X    libnlsym.o
  1128. X
  1129. XSHARFLS = \
  1130. X    README\
  1131. X    CHANGES\
  1132. X    Make.*\
  1133. X    EXPLAIN\
  1134. X    $(SRC)\
  1135. X    $(HDR)\
  1136. X    renice/Makefile\
  1137. X    renice/renice.c\
  1138. X    panel/README\
  1139. X    panel/panel.3\
  1140. X    panel/ptest.c\
  1141. X    panel/Makefile\
  1142. X    siotools/Makefile\
  1143. X    siotools/README\
  1144. X    siotools/kmemsio.c\
  1145. X    siotools/kmemsio.h\
  1146. X    siotools/pend.sh\
  1147. X    siotools/siomon.c\
  1148. X    siotools/utoa.c\
  1149. X    siotools/utoa.h\
  1150. X    siotools/uusnap.c\
  1151. X    siotools/wingets.c\
  1152. X    siotools/wintio.c\
  1153. X    siotools/wintio.h\
  1154. X    siotools/wintty.c\
  1155. X    siotools/wintty.h
  1156. X
  1157. Xall: nlsym u386mon
  1158. X
  1159. X#must run as root
  1160. Xinstall: all
  1161. X    -mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
  1162. X    cp nlsym $(BINDIR)
  1163. X    chown bin $(BINDIR)/nlsym
  1164. X    chgrp bin $(BINDIR)/nlsym
  1165. X    chmod 711 $(BINDIR)/nlsym
  1166. X    -mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
  1167. X    cp u386mon $(BINDIR)
  1168. X    chown bin $(BINDIR)/u386mon
  1169. X    chgrp $(KMEMGRP) $(BINDIR)/u386mon
  1170. X    chmod 2711 $(BINDIR)/u386mon
  1171. X    chmod g+r /dev/swap
  1172. X    $(BINDIR)/nlsym
  1173. X    @echo ' ';echo 'csh users rehash before executing'
  1174. X
  1175. Xnlsym: $(NLSYM_OBJ)
  1176. X    $(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
  1177. X
  1178. Xu386mon: $(U386MON_OBJ)
  1179. X    $(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
  1180. X
  1181. X/unix.nlsym: nlsym /unix
  1182. X    $(BINDIR)/nlsym
  1183. X    chmod 644 /unix.nlsym
  1184. X
  1185. X#not delivered
  1186. Xsrc.fls: $(SRC) Makefile
  1187. X    ls $(SRC) > src.fls
  1188. Xlint_args: src.fls
  1189. X    echo ' ' > lint_args.h
  1190. X    csh zgcc src.fls lint_args.h $(CFLAGS)
  1191. X
  1192. Xneat:
  1193. X    rm -f *\# *~ *.orig *.rej *.out *.log core ,* cscope.out tags *.bak \
  1194. X        mkdep.* *.new src.fls u386mon.lint
  1195. X
  1196. Xclean: neat
  1197. X    rm -f $(U386MON_OBJ) $(NLSYM_OBJ)
  1198. X
  1199. Xclobber: clean
  1200. X    rm -f nlsym u386mon
  1201. X
  1202. Xlint:
  1203. X    lint -ux *.c > u386mon.lint
  1204. X
  1205. X#for shar 3.27 or later
  1206. Xshar:
  1207. X    shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
  1208. X
  1209. X# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
  1210. X#
  1211. Xdepend:
  1212. X        rm -f mkdep.rule.tmp
  1213. X        if test '$(SRC)' ;\
  1214. X        then (grep '^#include' $(SRC)\
  1215. X        | sed    -e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
  1216. X            -e 's?:[^"]*"\([^"]*\)".*?:\1?'\
  1217. X            -e 's?\(.*\)\.c?\1.o?'\
  1218. X         >> mkdep.rule.tmp) ;\
  1219. X        fi
  1220. X
  1221. X        echo 1 >mkdep.ex.tmp
  1222. X        echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
  1223. X        echo '.+1,$$d' >>mkdep.ex.tmp
  1224. X        echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
  1225. X        echo 'w' >> mkdep.ex.tmp
  1226. X        cp Make.esix Make.esix.new
  1227. X        ex Make.esix.new < mkdep.ex.tmp
  1228. X        rm mkdep.ex.tmp mkdep.rule.tmp
  1229. X        echo '#    DEPENDENCIES MUST END AT END OF    FILE' >>Make.esix.new
  1230. X        echo '#    IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Make.esix.new
  1231. X        echo '#    see make depend    above'>>Make.esix.new
  1232. X        mv Make.esix Make.esix.bak
  1233. X        mv Make.esix.new Make.esix
  1234. X        @echo Make.esix has been updated with dependencies
  1235. X
  1236. X# DO NOT DELETE THIS LINE
  1237. X#    DEPENDENCIES MUST END AT END OF    FILE
  1238. X#    IF YOU PUT STUFF HERE IT WILL GO AWAY
  1239. X#    see make depend    above
  1240. SHAR_EOF
  1241. chmod 0644 Make.esix ||
  1242. echo 'restore of Make.esix failed'
  1243. Wc_c="`wc -c < 'Make.esix'`"
  1244. test 3945 -eq "$Wc_c" ||
  1245.     echo 'Make.esix: original size 3945, current size' "$Wc_c"
  1246. fi
  1247. # ============= Make.isc1 ==============
  1248. if test -f 'Make.isc1' -a X"$1" != X"-c"; then
  1249.     echo 'x - skipping Make.isc1 (File already exists)'
  1250. else
  1251. echo 'x - extracting Make.isc1 (Text)'
  1252. sed 's/^X//' << 'SHAR_EOF' > 'Make.isc1' &&
  1253. X#  CHK=0x2552
  1254. X#+-------------------------------------------------------------------
  1255. X#  Makefile for u386mon for ISC 386/ix 1.0.x - a good guess
  1256. X#  ...!{gatech,emory}!n4hgf!wht
  1257. X#--------------------------------------------------------------------
  1258. X#+:EDITS:*/
  1259. X#:07-15-1992-14:31-wht@n4hgf-2.60 release - u386mon+siotools merge
  1260. X#:08-01-1991-23:34-wht@n4hgf-release 2.53 source control point
  1261. X#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
  1262. X#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
  1263. X#:08-03-1990-03:42-wht@n4hgf-creation
  1264. X
  1265. X#------------> CFLAGS 
  1266. XCFLAGS = -c -O -DISC_1
  1267. X
  1268. X#------------> LIB
  1269. XLIB = -lcurses -lx -lmalloc -lc_s
  1270. X
  1271. X#------------> KMEMGRP
  1272. XKMEMGRP = sys
  1273. X
  1274. X#------------> BINDIR
  1275. XBINDIR = /usr/local/bin
  1276. X
  1277. XLDFLAGS = -s
  1278. X
  1279. XVERSION = 2.60
  1280. X
  1281. X#handle Sys V make "feature" of using SHELL
  1282. XSHELL = /bin/sh
  1283. X
  1284. X#FCRC = fcrc -u $*.c ;
  1285. X.c.o:;    $(FCRC) $(CC) $(CFLAGS) $*.c 
  1286. X
  1287. XSRC = \
  1288. X    u386mon.c\
  1289. X    bootinfo.c\
  1290. X    detail.c\
  1291. X    det_proc.c\
  1292. X    det_sio.c\
  1293. X    disputil.c\
  1294. X    libkmem.c\
  1295. X    libmem.c\
  1296. X    libpanel.c\
  1297. X    libswap.c\
  1298. X    libnlsym.c\
  1299. X    kludge.c\
  1300. X    nlsym.c\
  1301. X    proc.c\
  1302. X    tune.c\
  1303. X    var.c
  1304. X
  1305. XHDR = \
  1306. X    config.h\
  1307. X    libkmem.h\
  1308. X    libmem.h\
  1309. X    libpanel.h\
  1310. X    libswap.h\
  1311. X    libnlsym.h\
  1312. X    lint_args.h\
  1313. X    nlsym.h\
  1314. X    patchlevel.h\
  1315. X    ttynm.h\
  1316. X    u386mon.h
  1317. X
  1318. XNLSYM_OBJ =\
  1319. X    nlsym.o
  1320. X
  1321. XU386MON_OBJ =\
  1322. X    u386mon.o\
  1323. X    detail.o\
  1324. X    det_proc.o\
  1325. X    bootinfo.o\
  1326. X    proc.o\
  1327. X    tune.o\
  1328. X    var.o\
  1329. X    disputil.o\
  1330. X    kludge.o\
  1331. X    libkmem.o\
  1332. X    libmem.o\
  1333. X    libpanel.o\
  1334. X    libswap.o\
  1335. X    libnlsym.o
  1336. X
  1337. XSHARFLS = \
  1338. X    README\
  1339. X    CHANGES\
  1340. X    Make.*\
  1341. X    EXPLAIN\
  1342. X    $(SRC)\
  1343. X    $(HDR)\
  1344. X    renice/Makefile\
  1345. X    renice/renice.c\
  1346. X    panel/README\
  1347. X    panel/panel.3\
  1348. X    panel/ptest.c\
  1349. X    panel/Makefile\
  1350. X    siotools/Makefile\
  1351. X    siotools/README\
  1352. X    siotools/kmemsio.c\
  1353. X    siotools/kmemsio.h\
  1354. X    siotools/pend.sh\
  1355. X    siotools/siomon.c\
  1356. X    siotools/utoa.c\
  1357. X    siotools/utoa.h\
  1358. X    siotools/uusnap.c\
  1359. X    siotools/wingets.c\
  1360. X    siotools/wintio.c\
  1361. X    siotools/wintio.h\
  1362. X    siotools/wintty.c\
  1363. X    siotools/wintty.h
  1364. X
  1365. Xall: nlsym u386mon
  1366. X
  1367. X#must run as root
  1368. Xinstall: all
  1369. X    -mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
  1370. X    cp nlsym $(BINDIR)
  1371. X    chown bin $(BINDIR)/nlsym
  1372. X    chgrp bin $(BINDIR)/nlsym
  1373. X    chmod 711 $(BINDIR)/nlsym
  1374. X    -mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
  1375. X    cp u386mon $(BINDIR)
  1376. X    chown bin $(BINDIR)/u386mon
  1377. X    chgrp $(KMEMGRP) $(BINDIR)/u386mon
  1378. X    chmod 2711 $(BINDIR)/u386mon
  1379. X    chmod g+r /dev/swap
  1380. X    $(BINDIR)/nlsym
  1381. X    @echo ' ';echo 'csh users rehash before executing'
  1382. X
  1383. Xnlsym: $(NLSYM_OBJ)
  1384. X    $(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
  1385. X
  1386. Xu386mon: $(U386MON_OBJ)
  1387. X    $(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
  1388. X
  1389. X/unix.nlsym: nlsym /unix
  1390. X    $(BINDIR)/nlsym
  1391. X    chmod 644 /unix.nlsym
  1392. X
  1393. X#not delivered
  1394. Xsrc.fls: $(SRC) Makefile
  1395. X    ls $(SRC) > src.fls
  1396. Xlint_args: src.fls
  1397. X    echo ' ' > lint_args.h
  1398. X    csh zgcc src.fls lint_args.h $(CFLAGS)
  1399. X
  1400. Xneat:
  1401. X    rm -f *\# *~ *.orig *.rej *.out *.log core ,* cscope.out tags *.bak \
  1402. X        mkdep.* *.new src.fls u386mon.lint
  1403. X
  1404. Xclean: neat
  1405. X    rm -f $(U386MON_OBJ) $(NLSYM_OBJ)
  1406. X
  1407. Xclobber: clean
  1408. X    rm -f nlsym u386mon
  1409. X
  1410. Xlint:
  1411. X    lint -ux *.c > u386mon.lint
  1412. X
  1413. X#for shar 3.27 or later
  1414. Xshar:
  1415. X    shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
  1416. X
  1417. X# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
  1418. X#
  1419. X
  1420. Xdepend:
  1421. X        rm -f mkdep.rule.tmp
  1422. X        if test '$(SRC)' ;\
  1423. X        then (grep '^#include' $(SRC)\
  1424. X        | sed    -e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
  1425. X            -e 's?:[^"]*"\([^"]*\)".*?:\1?'\
  1426. X            -e 's?\(.*\)\.c?\1.o?'\
  1427. X         >> mkdep.rule.tmp) ;\
  1428. X        fi
  1429. X
  1430. X        echo 1 >mkdep.ex.tmp
  1431. X        echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
  1432. X        echo '.+1,$$d' >>mkdep.ex.tmp
  1433. X        echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
  1434. X        echo 'w' >> mkdep.ex.tmp
  1435. X        cp Make.isc1 Make.isc1.new
  1436. X        ex Make.isc1.new < mkdep.ex.tmp
  1437. X        rm mkdep.ex.tmp mkdep.rule.tmp
  1438. X        echo '#    DEPENDENCIES MUST END AT END OF    FILE' >>Make.isc1.new
  1439. X        echo '#    IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Make.isc1.new
  1440. X        echo '#    see make depend    above'>>Make.isc1.new
  1441. X        mv Make.isc1 Make.isc1.bak
  1442. X        mv Make.isc1.new Make.isc1
  1443. X        @echo Make.isc1 has been updated with dependencies
  1444. X# DO NOT DELETE THIS LINE
  1445. Xu386mon.o: config.h
  1446. Xu386mon.o: /usr/include/curses.h
  1447. Xu386mon.o: libpanel.h
  1448. Xu386mon.o: /usr/include/signal.h
  1449. Xu386mon.o: /usr/include/string.h
  1450. Xu386mon.o: /usr/include/fcntl.h
  1451. Xu386mon.o: /usr/include/nlist.h
  1452. Xu386mon.o: /usr/include/errno.h
  1453. Xu386mon.o: /usr/include/time.h
  1454. Xu386mon.o: /usr/include/sys/types.h
  1455. Xu386mon.o: /usr/include/sys/lock.h
  1456. Xu386mon.o: /usr/include/sys/utsname.h
  1457. Xu386mon.o: /usr/include/sys/stat.h
  1458. Xu386mon.o: /usr/include/sys/param.h
  1459. Xu386mon.o: /usr/include/sys/tuneable.h
  1460. Xu386mon.o: /usr/include/sys/sysinfo.h
  1461. Xu386mon.o: /usr/include/sys/sysmacros.h
  1462. Xu386mon.o: /usr/include/sys/immu.h
  1463. Xu386mon.o: /usr/include/sys/region.h
  1464. Xu386mon.o: /usr/include/sys/proc.h
  1465. Xu386mon.o: /usr/include/sys/var.h
  1466. Xu386mon.o: /usr/include/sys/swap.h
  1467. Xu386mon.o: /usr/include/sys/trap.h
  1468. Xu386mon.o: nlsym.h
  1469. Xu386mon.o: libkmem.h
  1470. Xu386mon.o: libmem.h
  1471. Xu386mon.o: libswap.h
  1472. Xu386mon.o: libnlsym.h
  1473. Xu386mon.o: u386mon.h
  1474. Xbootinfo.o: config.h
  1475. Xbootinfo.o: /usr/include/curses.h
  1476. Xbootinfo.o: /usr/include/sys/types.h
  1477. Xbootinfo.o: /usr/include/sys/bootinfo.h
  1478. Xbootinfo.o: u386mon.h
  1479. Xdetail.o: config.h
  1480. Xdetail.o: /usr/include/curses.h
  1481. Xdetail.o: /usr/include/signal.h
  1482. Xdetail.o: /usr/include/string.h
  1483. Xdetail.o: /usr/include/fcntl.h
  1484. Xdetail.o: /usr/include/nlist.h
  1485. Xdetail.o: /usr/include/errno.h
  1486. Xdetail.o: /usr/include/time.h
  1487. Xdetail.o: /usr/include/pwd.h
  1488. Xdetail.o: /usr/include/sys/types.h
  1489. Xdetail.o: /usr/include/utmp.h
  1490. Xdetail.o: /usr/include/sys/utsname.h
  1491. Xdetail.o: /usr/include/sys/stat.h
  1492. Xdetail.o: /usr/include/sys/param.h
  1493. Xdetail.o: /usr/include/sys/tuneable.h
  1494. Xdetail.o: /usr/include/sys/sysinfo.h
  1495. Xdetail.o: /usr/include/sys/sysmacros.h
  1496. Xdetail.o: /usr/include/sys/immu.h
  1497. Xdetail.o: /usr/include/sys/region.h
  1498. Xdetail.o: /usr/include/sys/proc.h
  1499. Xdetail.o: /usr/include/sys/var.h
  1500. Xdetail.o: nlsym.h
  1501. Xdetail.o: libkmem.h
  1502. Xdetail.o: libnlsym.h
  1503. Xdetail.o: u386mon.h
  1504. Xdet_proc.o: config.h
  1505. Xdet_proc.o: /usr/include/curses.h
  1506. Xdet_proc.o: /usr/include/signal.h
  1507. Xdet_proc.o: /usr/include/string.h
  1508. Xdet_proc.o: /usr/include/fcntl.h
  1509. Xdet_proc.o: /usr/include/nlist.h
  1510. Xdet_proc.o: /usr/include/errno.h
  1511. Xdet_proc.o: /usr/include/time.h
  1512. Xdet_proc.o: /usr/include/pwd.h
  1513. Xdet_proc.o: /usr/include/sys/types.h
  1514. Xdet_proc.o: /usr/include/utmp.h
  1515. Xdet_proc.o: /usr/include/sys/stat.h
  1516. Xdet_proc.o: /usr/include/sys/param.h
  1517. Xdet_proc.o: /usr/include/sys/tuneable.h
  1518. Xdet_proc.o: /usr/include/sys/sysinfo.h
  1519. Xdet_proc.o: /usr/include/sys/sysmacros.h
  1520. Xdet_proc.o: /usr/include/sys/immu.h
  1521. Xdet_proc.o: /usr/include/sys/region.h
  1522. Xdet_proc.o: /usr/include/sys/proc.h
  1523. Xdet_proc.o: /usr/include/sys/fs/s5dir.h
  1524. Xdet_proc.o: /usr/include/sys/user.h
  1525. Xdet_proc.o: /usr/include/sys/var.h
  1526. Xdet_proc.o: nlsym.h
  1527. Xdet_proc.o: libkmem.h
  1528. Xdet_proc.o: libmem.h
  1529. Xdet_proc.o: libswap.h
  1530. Xdet_proc.o: libnlsym.h
  1531. Xdet_proc.o: u386mon.h
  1532. Xdet_sio.o: config.h
  1533. Xdet_sio.o: /usr/include/curses.h
  1534. Xdet_sio.o: /usr/include/string.h
  1535. Xdet_sio.o: /usr/include/nlist.h
  1536. Xdet_sio.o: /usr/include/sys/types.h
  1537. Xdet_sio.o: /usr/include/sys/stat.h
  1538. Xdet_sio.o: /usr/include/sys/ascii.h
  1539. Xdet_sio.o: /usr/include/sys/param.h
  1540. Xdet_sio.o: /usr/include/sys/tty.h
  1541. Xdet_sio.o: nlsym.h
  1542. Xdet_sio.o: libkmem.h
  1543. Xdet_sio.o: libmem.h
  1544. Xdet_sio.o: libswap.h
  1545. Xdet_sio.o: libnlsym.h
  1546. Xdet_sio.o: u386mon.h
  1547. Xdisputil.o: config.h
  1548. Xdisputil.o: /usr/include/curses.h
  1549. Xdisputil.o: /usr/include/sys/types.h
  1550. Xdisputil.o: u386mon.h
  1551. Xlibkmem.o: /usr/include/sys/types.h
  1552. Xlibkmem.o: /usr/include/fcntl.h
  1553. Xlibkmem.o: libkmem.h
  1554. Xlibmem.o: /usr/include/sys/types.h
  1555. Xlibmem.o: /usr/include/fcntl.h
  1556. Xlibmem.o: libmem.h
  1557. Xlibpanel.o: config.h
  1558. Xlibpanel.o: /usr/include/curses.h
  1559. Xlibpanel.o: u386mon.h
  1560. Xlibswap.o: /usr/include/sys/types.h
  1561. Xlibswap.o: /usr/include/fcntl.h
  1562. Xlibswap.o: libswap.h
  1563. Xlibnlsym.o: config.h
  1564. Xlibnlsym.o: /usr/include/stdio.h
  1565. Xlibnlsym.o: /usr/include/sys/types.h
  1566. Xlibnlsym.o: /usr/include/sys/stat.h
  1567. Xlibnlsym.o: /usr/include/fcntl.h
  1568. Xlibnlsym.o: /usr/include/nlist.h
  1569. Xlibnlsym.o: nlsym.h
  1570. Xlibnlsym.o: libnlsym.h
  1571. Xkludge.o: /usr/include/curses.h
  1572. Xnlsym.o: config.h
  1573. Xnlsym.o: /usr/include/stdio.h
  1574. Xnlsym.o: /usr/include/sys/types.h
  1575. Xnlsym.o: /usr/include/sys/stat.h
  1576. Xnlsym.o: /usr/include/fcntl.h
  1577. Xnlsym.o: /usr/include/nlist.h
  1578. Xnlsym.o: nlsym.h
  1579. Xproc.o: config.h
  1580. Xproc.o: /usr/include/curses.h
  1581. Xproc.o: /usr/include/sys/types.h
  1582. Xproc.o: /usr/include/sys/param.h
  1583. Xproc.o: /usr/include/sys/immu.h
  1584. Xproc.o: /usr/include/sys/region.h
  1585. Xproc.o: /usr/include/sys/proc.h
  1586. Xproc.o: /usr/include/sys/var.h
  1587. Xproc.o: /usr/include/nlist.h
  1588. Xproc.o: nlsym.h
  1589. Xproc.o: libkmem.h
  1590. Xproc.o: libnlsym.h
  1591. Xproc.o: u386mon.h
  1592. Xtune.o: config.h
  1593. Xtune.o: /usr/include/curses.h
  1594. Xtune.o: /usr/include/sys/types.h
  1595. Xtune.o: /usr/include/sys/tuneable.h
  1596. Xtune.o: u386mon.h
  1597. Xvar.o: config.h
  1598. Xvar.o: /usr/include/curses.h
  1599. Xvar.o: /usr/include/sys/types.h
  1600. Xvar.o: /usr/include/sys/var.h
  1601. Xvar.o: u386mon.h
  1602. X#    DEPENDENCIES MUST END AT END OF    FILE
  1603. X#    IF YOU PUT STUFF HERE IT WILL GO AWAY
  1604. X#    see make depend    above
  1605. SHAR_EOF
  1606. chmod 0644 Make.isc1 ||
  1607. echo 'restore of Make.isc1 failed'
  1608. Wc_c="`wc -c < 'Make.isc1'`"
  1609. test 8647 -eq "$Wc_c" ||
  1610.     echo 'Make.isc1: original size 8647, current size' "$Wc_c"
  1611. fi
  1612. true || echo 'restore of Make.isc2 failed'
  1613. echo End of part 1, continue with part 2
  1614. exit 0
  1615.  
  1616. exit 0 # Just in case...
  1617.