V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E The Spring 1982 tape is being distributed in DCL BACKUP format in the following save-sets: o VAX000.ALL - A save set of the [VAX000] directory which contains general information and of the [VAX000.INDEX] directory which contains a set of indexes into the seven tapes. See [VAX000]0README.1ST for a more complete guide to the files in [VAX000]. o VAX82A.ALL - The Spring 1982 VAX Systems SIG Symposia tape. This tape contains revised versions of several sizable submissions to earlier tapes: [VAX82A.LBLTOOLS], a UNIX like overlay to VMS; [VAX82A.ICR...], a set of directories from the Institute for Cancer Research; and [VAX82A.- SAO...] from the Smithsonian Astrophysical Observatory. Every directory in the level directly below VAX82A has a file named AAAREADME.TXT. These files contain very general information about the contents of the directory tree under them. I have taken the liberty of editing the submitted AAAREADME.TXT or other descriptive files to make them fit into this mold, however the descriptive remarks are almost always the submittor's. (A few submittors gave me little to go on.) Almost every lower level directory has one or more files with a .DOC extension. Where I could find documentation type files under other names I renamed them something.DOC. Sometimes the .DOC files do not contain much documentation but do contain pointers to more complete documentation. The software on this tape is provided on a use at your own risk basis. In most cases the name of the author appears somewhere in the program or its documentation and he would probably be interested in your praise or damnation of his efforts. No promise of support is made by the authors, DECUS or the VAX Systems SIG. Joe Bingham V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E V A X S Y S T E M S S I G S P R I N G 8 2 S Y M P O S I U M T A P E [VAX82A.BATTELLE]AAAREADME.TXT Battelle Columbus Laboratories Submissions coordinated by: Gary L. Grebus Battelle Columbus Laboratories 505 King Avenue Columbus, Ohio 43201 (614)424-7156 This submission is a collection of small tools we have found useful. Apologies for some of the documentation. As usual, it is getting written on the day before the Symposium. A brief overview of the directories: 1. FTP is a menu driven utility for copying files over DECnet. It allows specification of file protections and ownership (if suitably privileged). It is particularly useful for doing system manager work on multiple machines connected by DECnet. 2. RETAB is yet another utility for adding and removing tabs from a file. It is run as a foreign command and can handle wildcard input files. 3. TREEDEL is a utility for deleting files, particularly directory trees. When processing a directory tree, it saves deleting the directories until last to avoid creating lost files. 4. VARY is a privileged utility for making a device unavailable for allocation. It is useful for preventing a dual ported device from mounted from two systems at once. 5. IDXDUMP is a utility for generating an unformatted dump of an INDEXF.SYS file. It extracts the most useful information into a more easily used form suitable for analysis with DATATRIEVE. 6. SMAC is a set of structured programming macros needed to assemble the other programs in this submission. [VAX82A.BOEING]AAAREADME.TXT submitted by Charles Bolz and Byron Bassett Boeing Computer Services Seattle, WA 1. ACP contains the template ACP and all ancillary files. 2. HASP contains template files used for HASP or BISYNC to send JCL. [VAX82A.BOOST]AAAREADME.TXT submitted by: Aebbie Abella Hughes Aircraft Company 800 Apollo Street, Bldg. E51/A258 El Segundo, CA 90245 1. BOOST raises a user's priority for a specific sub-process. The program also creates the sub-process and places all logical names defined in the user's LOGIN.COM in the sub-process's symbol table. [VAX82A.BOSTONLUG] submitted by: Wendy Koenig Strategic Information 80 Blanchard Street Burlington, MA 01803 1. SD is a program to make "set default" easier and more flexible and take fewer keystrokes. This submission replaces a previously submitted version of the same program. [VAX82A.CONFER]AAAREADME.TXT submitted by: D. S. Quick 9850 Meadow Glen Huston, TX 77042 1. CONFERENCE provides a multi-terminal "talk" facility for up to ten users. It is written in Pascal and works on VT52 compatible terminals. [VAX82A.DFWLUG]AAAREADME.TXT DFW LUG Contributions coordinated by: John Jenkinson MOSTEK Corporation 1215 West Crosby Road P. O. Box 169 MS 32 Carrollton, Texas 75006 A brief overview of the directories: 1. AVATU contains the file AVATUDOC.DOC which was accdentally deleted from some of the Fall 1981 tapes. The complete directory is on [VAX81B.DFWLUG.AVATU]. 2. GALAXY a much inproved MULTI-TREK. 3. MGT a general purpose Magnetic Tape Utility. 4. MOSTEK several utility programs and command procedures. o CRT a set of CRT control subroutines written originally under VMS V1.0 to control VT100's, VT52's, and a variety of other graphics and display terminals. While this subroutine package has little value now that VMS foreign terminal support is a reality, it may nevertheless prove helpful for users with special graphics requirements who are in need of a kernel terminal I/O package. o DELAY a very simple subroutine package designed to hibernate a process for a given number of milliseconds (or 100ns clock ticks). o GETJPI Page 2 two routines. The fortran program produces a static display of all SYS$GETJPI parameters for a given process (the process may be specified by name or a hex uic PID may be given - the name is checked first and then if rejected, the command string is converted to process id). Useful for static monitoring of any process. The macro file is a simplified interface to the SYS$GETJPI system service so that user programs may easily access this very useful system information resource. o LBN this command procedure is useful in converting logical block number (LBN) on disk drives to and from cylinder, track, and sector for RM05 and other disk drives. This is necessary when bad blocks are to be entered during a manual BAD (MCR BAD DRxx: /UPD). I can never remember the correct formula for each type of drive so This command procedure will work for any drive type with the appropriate parameters. o MOVC this set of macro subroutines enables easy access to the VAX MOVC3 and MOVC5 block move byte instructions. With them a programmer may move blocks of data from one position in memory to another very efficiently. Useful in moving single bytes around in I*4 arrays, etc. o NETPRT a network file spooler utility which enables a user to print a file on a remote node (VMS or RSX systems only). The remote RSX code is node specific but may be modified for your partitular network configuration. o RESUME a simple utility and associated command procedure to resume previously SUSPENDed processes. Useful in halting user use of system resources while system hackers do their thing. See SUSPEND for further information. o RMS a set of useful RMS fortran interface utilities which allow the fortran programmer to do wildcard file accesses, full filename expansions, block mode file transfers, and file uic changes. This code will be useful to anyone trying to use the USEROPEN parameter on the fortran OPEN statement or anyone trying block I/O for the first time. Portions of the block I/O routines have appeared in the PAGESWAPPER. o SHUTDOWN Page 3 a rewrite of the VMS shutdown procedure This rewrite cleans up some problems in the shutdown procedure and allows for multi-line "shutdown reason messages", as well as correct dismounts of RM05 volume sets (user data). o SPL a remote file spooler utility which preceeded the development of the NETPRT utility. Has as a spool queue facility the SPLQUEUE program. o STRING string library routines used by most of the utilities in this DECUS submission. Inefficient but extremely useful. o SUSPEND a program and corresponding command procedure to place all user processes on the system in the SUSPENDED state. Useful in performing a software HALT of the system while software/hardware work is performed by system hackers. o TELL a simple but useful utility which allows a non-privileged user to issue broadcasts to terminals on the system associated with his/her UIC, but not to others. Useful in batch jobs to notify yourself of job completion: $ TELL TTA0: BATCH JOB ABCDEF IS COMPLETE!!! 5. TIP a program to transfer files from Computer to Computer. 6. VAXDPY VAX versions of the DEC-10 SYSTAT and SYSDPY utilities. [VAX82A.DISKFILES]AAAREADME.TXT submitted by: Ray Stone General Research Corp. PO Box 6770 5383 Hollister Ave. Santa Barbara, CA 93111 (805) 964-7724 ext 441 This directory contains programs for retrieving and reconstructing files from a disk that cannot be read by VMS. 1. RINDX prepares an index file containing file headers. 2. FILES is used to retrieve files and rebuild them. 3. FIXEX is similar to FILES but instead of entering a file number you enter the block number of the file header. [VAX82A.ETAPE]AAAREADME.TXT submitted by: Mike Shefler CONSAD Research Corp. 121 N. Highland Ave. Pittsburgh, PA 15206 (412) 363-5500 1. ETAPE is a general-purpose program for handling EBCDIC tapes. It allows the user to move around at will within the tape, send output to different files, specify different blocksizes and record lengths for different files on the tape, and combine multiple tape files into a single output file. The capability of writing an EBCDIC tape from an ASCII file is also included. ETAPE removes all trailing blanks from tape records after reading them. On output, records will be blank padded and blocked to create fixed length tape blocks. A switch can be set to turn off the EBCDIC translation and allow the translation (or writing) of ASCII tapes. See README.TXT for installation instructions. [VAX82A.GIGI]AAAREADME.TXT submitted by: Michael Greene Digital Equipment Corporation 25 Research Drive EH/1 Westboro, MA 01581 1. GIGIDOC contains command procedures and documentation for using GIGI with VAX/VMS layered products. 2. GIGITOOLS contains various GIGI utilities including a pie chart utility, double size hardcopy, etc. [VAX82A.ICR]AAAREADME.TXT ICR Submissions coordinated by: Robert K. Stodola Computer Center The Institute for Cancer Research 7701 Burholme Avenue Philadelphia, Pennsylvania 19111 The programmers at the Institute for Cancer Research have written a number of programs for VMS aimed at making the system friendlier for user and programmer alike. These are each described in detail on the facility's subdirectory. Most of the programs that were released on the Fall 1981 VAX Sig tape have significant updates. Included in this package are the following files: 1. ICRLIB a collection of useful, well documented routines used by the ICR programs. 2. COMPILE an outstanding compile, load and go utility. 3. RATLIB a utility library which is used by several programs, including Ratfiv. 4. RATFIV a structured Fortran preprocessor providing SWITCH, IF - ELSE, WHILE, FOR, DO, REPEAT - UNTIL, STRING, and BREAK and NEXT constructs. Also supported are INCLUDE files, DEFINE for symbolic constants and macros with arguments, conditional compilation, formats in read, write, encode, and decode statements, use of >, <, etc. instead of .GT., .LT., etc, and the RETURN VALUE construct in functions. 5. BULLETIN provides an easy, friendly way for the system managers to disseminate information to users. 6. LIST is like the TYPE and Unix GREP commands only better. LIST's simplest use is to display lines from a file on the terminal a screen at a time. It has sophisticated string searching and can Page 2 write out portions of files to other files. File names to be listed may have wild card characters in them, making it easy to do such chores as looking through a group of files for a particular string or variable. Finally, LIST can be positioned randomly in a file using line (record) numbers, and can list VAX RMS indexed files by key number and do key searches. 7. BURSTF bursts the subroutines, functions, programs, and block datas in a FORTRAN source file into their own individual files. 8. TALK lets you talk to other users on the system or send them mail if they are not logged on. 9. SPAWN is a convenient way to run a subprocess. It tries to make the environment of the subprocess similar to the current environment by invoking the system-wide login command file, setting the default directory to the current default, and invoking the file "subdirect.com" if present on the default directory. Spawn was originally distributed by Ira Winston at the University of Pennsylvania; we have made some changes. 10. BATCH is a convenient way to submit a batch process. It tries to make the environment of the batch process similar to the current environment by setting the default directory to the current default, and invoking the file "subdirect.com" if present on the default directory. 11. MTREK a game similar to traditional Star-Trek games except that it involves several players (currently up to 8), who play against each other in real time rather than against imaginary Klingons, Romulans or whatever. See AAAREADME.DOC for a repeat of this information and installation instructions. [VAX82A.LBLTOOLS]AAAREADME.TXT submitted by: Joseph Sventek Mailstop 50B-3238 Laurence Berkley Laboratory Berkeley, CA 94720 and David Martin Hughes Aircraft P.O. Box 92426 Los Angeles, CA 90009 This is a complete resubmission of the LBLTOOLS programs which have appeared on two previous VAX SIG tapes. The important files for getting started (all on [VAX82A.LBLTOOLS.DISTN]) are: 1. README.1ST contains step by step instructions on copying and building the tools. 2. TOOLGEN.COM a command procedure for building the tools. 3. TOOLGEN.DOC a sample toolbuilding session. 4. RELEASE.DOC release notes. LIBRARIAN COMMENTS: I found the instructions in README.1ST to be straightforward and accurate. The installation of the tools with TOOLGEN.COM went smoothly. It took about an hour and ten minutes on an unloaded system (35 minutes of CPU time). Note that the [.DOC], [.MSGSYS], [.SRC] and [.VMS] directories are not required for the installation or operation of the tools, so you can save over 7000 disk blocks by off-loading them. [VAX82A.SUB]AAAREADME.TXT submitted by: Ruth Reebel Amherst Accociates Inc. 210 Old Farm Road Amherst, MA 01002 When a telephone line is lost, VMS stops the process associated with that line. This package provides a means of keeping the process alive even if terminal input is required by the process. 1. STARTUP is an initialization program which should be run at log-on with your LOGIN.COM. It allows the user to attach to an existing unattended process if desired or it starts a detached process to handle communications between the terminal and its processes. 2. MAINUP handles the monitoring phase of the system. It hibernates except when awakened by a read or write to its mailbox. See LINEDROP.DOC for setup and operating instructions. [VAX82A.MBAUSE] submitted by: Richard F. Wrenn Washington University School of Medicine Department of Biological Chemistry 660 S. Euclid St. Louis, MO, 63110 1. MBAUSE displays the activity on all of your MASSbus adapters as well as the IO rates on all of your disk drives. 2. BUSMODEL is a discrete time event simulation of MASSbus traffic. It allows you to calculate the IO delays due to heavy disk IO traffic under various load conditions. Command files are included to build each program. See AAAREADME.DOC for additional information. [VAX82A.MTREK]AAAREADME.TXT submitted by: Harold Brenner Department of Defense 9800 Savage Rd. Ft. Meade, MD 20755 1. MULTI-TREK a Star-Trek game for up to eight players, apparently based on the Fall 1981 ICR submission. [VAX82A.SANDIA]AAAREADME.TXT Submissions by Sandia National Laboratories coordinated by: Hugh L. Scott Sandia National Laboratories Division 2644 P.O. Box 5800 Albuquerque, NM 87111 A brief overview of the directories: 1. SNL$EXECUTEDCL (DCL subdirectory) is a routine which may be called from a program to execute a series of DCL commands or enter DCL for an extended period and then return to the calling program. 2. SLAVE an enhanced keypad EDT editing package. 3. TEMPRO a MACRO-11 program for PDP-11's running RT-11 which allows the PDP-11 to act as a remote terminal for a VAX and to also transfer files to and from the VAX. [VAX82A.SAO]AAAREADME.TXT SAO Contributions coordinated by Roger Hauck Smithsonian Institution Astrophysical Observatory (SAO) Cambridge, MA 02138 (617)495-7151 or (FTS)830-7151 This submission contains the latest versions of the RED screen editor, STOIC (Stack-Oriented Interactive Compiler), a variant of FORTH, and RDPAR, a set of input routines for use in place of FORTRAN formatted input. 1. RED is a screen editor for use with VT100's. Considerable effort has been made to have RED operate efficiently in a heavy interactive environment. It's syntax is similar to TECO's. People familiar with the Data General editors SPEED and NSPEED will feel at home with this editor. Current users of RED will find many new features, including CUT-PASTE and user-written macros. I expect to support other terminals and make more efficiency improvements within the next half-year. RED is written in STOIC. 2. STOIC is a variant of FORTH. Significant differences from FORTH are integration of VMS IO and System Services rather than using the FORTH disk structure, compilation of machine code (both inline and subroutine calls) as opposed to threaded code for higher efficiency. Double-precision floating point operations and a floating-point stack have been added with this release. 3. RDPAR is a set of input routines for use in place of FORTRAN formatted input. It can be used with any other language supplied by DEC, but the documentation was written with FORTRAN in mind. With RDPAR, all input is handled through a "parameter file". This is just an ordinary text file, containing the data you want to pass to your program. But the order in which data appears in a parameter file is not important. Rather than using position to identify data, RDPAR uses a "parameter name": a string which appears at the start of each line. A call to RDPAR within a program specifies a parameter name, and RDPAR searches through the file for it. For each parameter name, you can specify that the (interactive) user should be prompted for the data, or that the data should come from the DCL command line used to run the program. These and other features are handled entirely within the parameter file; no recompilation of the program is necessary. [VAX82A.STATS]AAAREADME.TXT submitted by: Frank Hattyar Crocker National Bank 155 Fifth Street San Francisco, CA 94103 (415)477 5266 These programs provide a set of tools to monitor VAX performance and usage. Complete (well... maybe not SO complete !) documentation can be found in STATS.DOC. This whole system runs with logicals so that the various files can be spread out. Logicals are defined in STATLOGIC.COM. You will have to change them for your site. Datatrieve definitions are contained in DOMAIN.COM, RECORDS.COM and PROCS.COM. All the procedures are for plots on the VT125. To compile/link all the programs, type @STATBUILD. I am interested in hearing about any problems, fixes and enhancements you have. [VAX82A.TAPESUBS]AAAREADME.TXT submitted by: Thomas W. Danforth Woods Hole Oceanographic Institution Woods Hole, Mass. 02543 (617) 548-1400 ex. 2876 TAPESUBS and TRNALL are two routines which we have found very useful as user "friendly" means to use system services from a high level language. Our computer center deals with a wide variety of users, most of whom know Fortran or some other high level language fairly well and can get around on the system. Almost all of the users know nothing about the system services but need to be able to use them from time to time. Our response to this need is macro subroutines which are accessed through the standard VAX calling procedure and perform the systems service and extensive error handling and checking for the user. 1. TRNALL performs recursive logical name translation using the $TRNLOG system service. The translation continues until either the system returns a status of SS$NOTRAN or the first character in the output string is an underscore (""). The file TRNALL.DOC explains the calling sequence and the statuses which might be returned from the subroutine. 2. TAPESUBS is a group of subroutines which aid in the handling of "foreign" or non-VAX labeled tapes. At our site we have recently converted from a Xerox Sigma-7 to VAX, we also use HP computers and our users receive tapes from all kinds of computers all over the world. Our biggest problem is being able to handle the different formats and be able to read and write "foreign" tapes. These tape subroutines are a beginning answer to this problem with the ultimate goal to write a foreign tape handling version of "COPY" (maybe by the fall sysmposium). These are fairly easy to use with a minimal knowledge of the internals of the system, QIO's, ACP's, etc. They do not use the Fortran I/O system. Therefore, the user must not use the Fortran READ, WRITE, OPEN, or CLOSE statements for the device being accessed. This is applicable to other high level languages as well. Also, files accessed through these routines do not count toward the process limit of open files. TAPESUBS.DOC has the complete "how to" documentation on these routines. The routine TRNALL is required for TAPESUBS. I hope that some of the other people in VAX world find these helpful. I think the documentation should be self explanatory; however, I will be glad to answer questions if needed. Any comments and/or corrections will be welcome. [VAX82A.V3DCL]AAAREADME.TXT submitted by: David Walp Digital Equipment Corporation 110 Spitbrook Rd. Nashua NH 03062 This directory contains a couple of command procedures written in VMS version 3.0 DCL. 1. CLOCK is a nice time display and alarmclock. See CLOCK.TXT for instructions. 2. DRAWTREE gives a nice picture of a directory tree structure. LIBRARIAN'S NOTE: I modified CLOCK to run on VMS version 2.x and included it as CLOCK.V2. The differences are considerable. I took a look at DRAWTREE and decided not to try making it run on version 2. [VAXF81.WASHLUG]AAAREADME.TXT Washington DC LUG Submissions coordinated by: Joe Bingham ManTech International Corporation 2320 Mill Road Alexandria, VA 22314 balnk 1 (703) 838 5600 The programs on this directory are submitted by members of the Washington, DC, Local VAX Users Group. 1. DEFAULT is a versatile substitute for typing "SET DEFAULT" and the square brackets around the directory name. This is a revised version which uses a user written system service (on .MUSS) to create and delete supervisor mode logical names. This version corrects a bug which showed up because of a change to the RTL in VMS version 2.5. 2. MUSS A user written system service used by the DEFAULT package. 3. DISKFILES This directory contains the examples from the talk on ODS 2 at the Spring 1982 symposium. They should be helpful in constructing programs to read corrupted disk packs. [VAX82A.WHO]AAAREADME.TXT submitted by: Joe R. Nunnelley and Don R. Black Louisville Gas and Electric Co. P.O. 32020 Louisville, KY 40232 (502) 566-4452 1. JO3WHO is another version of who. It is written for a variety of cursor directable terminals with enough source code to modify it for more if you wish. See AAAREADME.DOC for samples of some of the displays available and for installation instructions. The authors are interested in hearing any comments or improvements you may come up with.