[333,103] -- C utilities. UFD ownership; disk usage manager This UFD contains various C utilities in use at THE RECORD. Sources provided can be built using VERSION 2.0 of the DECUS C compiler. Several of the routines require the C executive extensions and the ".H" files, all of which are provided with the DECUS C kit on the Spring 82 RSX tape. There are a few home-grown subroutines (provided in CBER.OLB); you may want to place this in [1,1] on your disk or edit the task build command files; sorry I had no time to make a beautiful clean command file that works for everybody everywhere. OWNER -- reports on and maintains a file, [1,5]UFDLIST.TXT, which records each UFD on a disk and a one-line description of its owner and contents. Written using Version 2.0 of DECUS C. Extremely useful for finding things on disks and finding out who is responsible for those 60,000 blocks that got allocated last night. See OWNER.DOC and use OWN.CMD to build on system. Task images included for those who don't have C; but they have been built multi-user on an M-PLUS VERSION 2.0 system. Also provided with OWNER are two files, RSXS82.DIR and RSXF80.DIR, which give brief indices to the Spring '82 and Fall '80 RSX SIG tapes as an example of how OWN can be used. MATCHUFDS.SH and MAKUFDLST.SH -- Two script files for use with the LBL tools shell program in conjunction with OWNER, above. MAKUFDLST will make a skeleton UFDLIST.TXT file for any disk if you don't want to go through the effort of doing it by hand with an editor. It lists all the UFD's as "UNDEFINED", and you can then edit in the ones you know and track down the ones you don't. MATCHUFDS.SH compares the contents of the MFD with the UFDLIST.TXT file and reports on any differences, e.g. directories not listed in UFDLIST or entries in UFDLIST that no longer exist on disk. MCD -- Multi-column directory. Modified version of DIR.C by from Fall '81 tape, fixed up to use standard C routines instead of special library routines (missing from original distribution), and also enhanced to handle files with size greater than 32,767 blocks. All sources etc. named "DIR*". Task build file gives task name of MCD to avoid conflict with DCL DIR. More info in MCD.HLP and MCD.TXT. VT100 SUBROUTINES -- CURSOR, MODE, DISPLAY will in various ways manipulate the cursor or screen of a VT100 terminal. Some advanced video options included. Not all of these have been thoroughly debugged; MODE and DISPLAY work pretty well in a couple of applications we have, achieving an FMS-forms-like effect. See comments in the C sources. FORMAT -- subroutine to convert a primitive UFD spec -- e.g. 1,2 -- into a expanded spec -- e.g. [001,002]. Used by OWNER, TOTBLK, and HOGBLK. HDX -- This program reads and reports on HELP file indices in [1,2]. See HDX.HLP for more information. It provides a quick index to available HELP. See related TECO macros HDX.TES, TEH.TES and EDH.TES. The struc- ture of this program is terrible because it was based on the HDX TECO macro that I wrote first; however, it works beautifully. Here is an example of "HDX DCL TECO" for the TECO.HLP file in [333,100] Help file qualifiers for: DCL TECO rootfile is [1,2]DCL.HLP 1 TECO 2 BEGINNER 3 COMMANDS 3 EXAMPLE 3 MORE 2 INITIALIZATION 2 MANUAL 2 MEMORY 2 QUALIFIERS 2 VTEDIT 3 INITIALIZATION of VTEDIT 3 LOCATION of VTEDIT 3 COMMANDS(see KEYPAD) 3 KEYPAD 3 EXIT 3 TERMINAL 2 MUNG 3 SEARCH 3 TYPE 4 ANNOUNCE 4 HOLD 4 SEEALL 4 TRUNCATE 4 SEARCH 4 INSPECT 4 FLAG 4 SHORT 4 OVERPRINT 2 TERMINAL TECO MACROS to index and edit help files. HDX.TES is an unsquished macro that does the same thing as HDX.C (only much slower). TEH.TES initiates a TECO edit on a given portion of a HELP file; EDH.TES does the same but switches to EDT for editing (it spawns EDT from TECO!) for those who prefer EDT. For example, MUNG TEH DCL SET TERMINAL will locate the help file text for DCL SET TERMINAL and open the file for editing at that point. If the named topic does not exist, TEH will position you at the end of the correct help file or sub-help file to allow you to add the new topic. Complete documentation is in EDITHELP.DOC (and .RNO) for TEH and EDH and in HELPINDEX.DOC (.RNO) for HDX. It is possible that these TECO macros will not work with your TECO.INI, so I have included ours. TIATT -- C subroutine to attach TI: so that CNTL/O will work. CBER.OLB -- contains object code of TIATT, DISPLAY, MODE, and FORMAT. DISKUSE.CMD -- You must have the LBL tools installed to use this, and if you don't have them you ought to! This command file goes through some strange gyrations to create a file called DISKUSE.RPT in [1,1], which shows the total blocks for each UFD on the disk combined with the text from UFDLIST.TXT that OWNER creates and maintains. The report is sorted in descending order by block usage. (I use a DISKUSE.BAT to submit this command file when I log off for the night; my LOGOUT.CMD file initiates the batch job automatically unless I cancel it.) DISKUSE currently relies on PIP /TB to get block usage; it really should use a special C program to do this since PIP is so slow. The strange stuff I go through with the OWN program is done because the output from PIP /TB is not in any predictable order; therefore I use OWN to look up each UFD in UFDLIST.TXT in the order they occur in PIP's output. I contemplated used SRD [0,0]/WB to sort the MFD each time DISKUSE is run, but I couldn't quite bring myself to trust that as a nightly procedure. TOTBLK -- this C program is a spinoff of OWNER; it looks up a user name in DISKUSE.RPT and reports on the total blocks in use by that user as of last night's report. Requires running DISKUSE.CMD first. HOGBLK -- another spinoff of OWNER. This one reads an interim file created by DISKUSE and compares today's version with yesterday's, and then reports only UFD's whose block usage changed between the two reports. Requires that DISKUSE.CMD be run twice first. HELP FILES -- help files are included for the various programs above. In addition I have thrown in help files I created for various other utilities that have appeared on past SIG tapes, such as LIST(T.C in the DECUS C tools), TIPE (the TYPE program in macro), CWD (the change working directory program; there should be an M-Plus V2 version on this tape from Jim Neeland), and TTY (report TT characteristics). Only the help files are here, you'll have to scrounge for the sources on past tapes. APOLOGY: much of this stuff I did just before putting together this tape for Anaheim, and it is not yet polished up. I find it all so useful in the little time I've had it that I wanted to send it out. Next time around I will attempt to clean things up and document how it all hangs together just a little better.