This directory contains various useful bits and pieces put together over the years. That is, useful to me. Complaints, bugs, bugfixes, enhancements etc can be directed to me: Don Stokes, GP Print Ltd, Private bag, Wellington, NZ. Phone: +64 4 473-7320 Fax: +64 4 496-5649 Email: don@zl2tnm.gp.co.nz PSI: PSI%47000028::DON ... and will be suitably attended to or ignored. 8-) Note that these were dragged together from various parts of our disk farm, so I've probably missed the odd file. If you need something desperately, sing out. The files are as follows: BRKTHRU.MAR BRKTHRU.CLD BRKTHRU.DOC BRKTHRU.EXE A utility to broadcast messages to users' terminals, placing the message on the bottom of the screen to avoid messing up data entry forms. Requires WORLD and OPER privileges. CD.COM The dreaded change directory command file. Probably a bit shorter than most 8-). "CD ." moves to the directory above, "CD dir" moves to [.dir] as does "CD .dir". "CD [dir]" moves to the given directory, "CD dev:[dir]" does what you expect it to do. Wildcards in the directory name are supported; the first directory matching the wildcard specification is the one used. CMAIL.COM Checks/dumps information from VMSMAIL_PROFILE.DATA. Usage: @CMAIL [user] [FULL|DUMP|DELETE|FIX|HELP] FULL - List full information from mail record DUMP - Dump mail record packets DELETE - Delete the VMS mail record FIX - Alter new mail count HELP - Prints this message With no options, displays the new mail count. Interprets aliases correctly. Requires read access to VMSMAIL_PROFILE.DATA, write access is required to update new mail count. CONLOG.BAS CONLOG.EXE Extracts lines from console logfile on Pro350 console of VAX 85xx. Should work on VAX 8700 and 88xx machines, but I haven't tried it. Requires SYSPRV to access console hard disk. See comments for documentation. COOKIE.COM COOKIE.DAT Fortune cookie procedure -- annoy your Unix enemies by pointing out that a fortune program can be written efficiently in DCL! COOKIE.DAT contains 2689 quotes (including the odd repeat). CREMBX.MAR CREMBX.EXE Creates a mailbox in supervisor mode so that DCL can OPEN it and use it. Requires CMEXEC privilege. CVT.MAR CVT.CLD CVT.EXE CVT.HLP File format converter. A bit like MODATT and FILE, but actually copies the file, fiddling file attributes on the way. Note that this is *not* a replacement for CONVERT/FDL. DBG.COM Tweaks the /DEBUG and /TRACEBACK options on an executable file. (Handy for avoiding a long relink because you forgot to specify /NOTRACEBACK on a file to be installed with privilege.) DIRECTORIES.BAS DIRECTORIES.EXE FILES.BAS FILES.EXE USAGE.BAS USAGE.EXE Programs for interpreting and reporting on disk accounting files created by ANALYZE/DISK/USAGE. DIRECTORIES totals the disk space taken up by a directory tree, FILES lists files owned by a particular UIC/identifier, USAGE lists disk usage by UIC. DU.MAR DU.EXE DU.HLP DU.CLD Lists directory usage by directory, like DIRECTORY/GRAND_TOTAL, but for any number of directories, and a lot faster. This works by searching the file headers and following directory back links to build a table of directories and total disk space used below those directories. This takes around 25 seconds to list the total space used by over 25,000 files on our most heavily used disks. INDEX.COM Creates a simple indexed file. JPI.COM Lists processes -- reasonably quick and flexible considering that it's just a DCL hack. List options on command line separated by commas. Options consist either of F$GETJPI keywords (causing that information to be displayed) or selection criteria, specified as an F$CONTEXT keyword, a relational operator ('=', '<', '>' or "#" for "equal", "less than", "greater than" and "not equal to" respectively) and data. KEYDEF.BAS KEYDEF.DOC KEYDEF.EXE Downloadable key definition for VT220 or better terminals. KILROY.MAR KILROY.EXE Displays an animated "Kilroy" on the status line of a VT320 terminal every 15 minutes. RUN KILROY installs the code into your process's P1 pool space and sets up a timer to activate the code in 15 minute's time. Requires CMEXEC privilege to run. LIFE.EDT John Conway's Game of Life, as implemented as an EDT macro. MACROS.MAR MACROS.MLB A set of useful macros for MACRO programming. Required to compile some of these programs. MDIR.COM Lists directory of all mail folders to file MAILDIR.LIS. MSYS.BAS MSYS.CLD MSYS.EXE CPUIDLE.MAR Monitors CPU usage, summarised by username, image, account, process name, base priority or mode (batch, interactive etc). Keeps track of idle time as well, so that time taken by cluster overhead etc can be measured. Requires WORLD privilege to be really useful. PLOTTO.MAR PLOTTO.OBJ CLOCK.BAS CLOCK.EXE A package of routines for doing bitmap displays on a VT220 or VT320 terminal using six pixels per character cell, implemented using 64 downloadable characters. CLOCK is a demonstration of this, displaying a clock face on the terminal. PRIMGR.MAR PRIMGR.EXE START_PRIMGR.COM Priority manager. Moves process priorities between 3 (for heavy computable jobs) and 5 (for light/idle stuff). Requires ALTPRI and WORLD privileges. RECON.MAR RECON.EXE Lets you reconnect to a process left disconnected by another user. Requires CMKRNL privilege, and GROUP or WORLD privilege to access other process as required REORG.COM Optimises an RMS indexed file. RMDIR.COM Destroys a directory. No ifs or buts. Another example of truly diabolical DCL code. 8-) RUSH.COM Moves a batch job to the top of a queue, opens a batch stream for it and closes it again, to allow jobs to be pushed through in a hurry. Requires "wreak havoc" access to queue. SANE.COM Resets the terminal. SWEEP.COM Interactive directory sweeper -- lets you move, copy, delete, rename etc files. Lists each one by one, written for those periodic purges of one's directory.... TCS.BAS TCS.CLD TCS.DOC TCS.EXE TCS_BAYSIZE.DAT TCS_CATALOGUE.DAT TCS_CATALOGUE.FDL CTRLC.MAR Tape cataloguing system. Keeps track of tapes. Labels printed on normal sized labels to be cut in two, one half placed on the tape and one on the ring to aid identification in a rack. Also allows the catalogue to be manipulated from a command procedure. UUCALL.COM UUQ.COM Utilities for managing DECUS UUCP. UUCALL forces UUCICO to dial a particular site, UUQ lets you play with the contents of the UUCP queue. Requires read and/or write access to UUCP_SPOOL:. UUQ options are: KILL Delete items from queue READ Read mail message in queue FORWARD Forward mail message to someone else EDIT Edit mail message in queue FILES List files associated with queue item VALIDATE_PASSWORD.MAR VALIDATE_PASSWORD.EXE An example of the new $HASH_PASSWORD system service. Lets you enter your own password (blind) and validates it against SYSUAF, setting a symbol to indicate whether you typed your password correctly. Requires no privilege to run, useful for terminal lock procedures. WHO.COM Gives quick summary of user information from SYSUAF.DAT. XEDT.MAR XEDT.COM XEDT.EXE XEDT.EDT Extensions to EDT. Assign a logical "EDT" to point to XEDT to allow EDIT/EDT to pick up the "enhanced" version. Provides spawn, DCL commands with output captured to buffer, set privileges on (if you have them authorised of course!), change directory. Also traps broadcasts and puts them on the bottom of the screen. By assigning a value to the logical XEDT_FILEIO, causes XEDT's own routines to be used for file I/O, allowing long records to be read (but truncated) and log files etc to be read. XMODEM.C XMODEM.CLD XMODEM.EXE XMODEM.HLP XMODEM package, implements Ward Christiansen XMODEM protocol for shifting binary and text files between systems. Originally part of VAXNET package (I think -- memory is dim), but hacked around to provide a "proper" DCL interface etc.