home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume33 / u386mon / part01 < prev    next >
Encoding:
Text File  |  1992-11-20  |  51.9 KB  |  1,612 lines

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