========> [VAX89B1.AEPSC]AAAREADME.TXT;1 <======== AMERICAN ELECTRIC POWER SERVICE CORPORATION Fall 1989 VAX SIG Tape Submission Paul R. Sorenson AEP/Engineering Computer Support Center 1 Riverside Plaza Columbus, OH 43215 This is a maintenance release of AEPSC's Spring 1989 submission containing: 1) VDDRIVER - Virtual disk driver (no changes made). 2) CDDRIVER - Disk data caching driver. Bugs in the original submission have been fixed and the caching algorithm has been rewritten to use a "block-set associative-mapping" technique. Consult the AAAREADME.TXT files in each subdirectory for more information on the features of each driver. Note that by creating a virtual disk and creating the same sized cache for the virtual disk, one can approach the I/O performance of a memory disk while always maintaining an up to date copy of the data on a physical disk. DISCLAIMER All programs, information, and copies are provided "As Is". American Electric Power Service Corporation and the contributor disclaim all warranties on the programs, including without limitation, all implied warranties of merchantibility and fitness. ========> [VAX89B1.ASU]AAAREADME.TXT;1 <======== DECUS SUBMISSION OF UTILITIES WRITTEN AND USED BY: Cray and Minicomputer Systems Support Computing Services Arizona State University Tempe, Arizona 85287 -------------------------------------------------------------------------------- [.ASU.BTREE] B-PLUS TREE PACKAGE ------------------------------------------------------- AUTHORS: Greg Wilson CREATION DATE: April 1989 PACKAGE DESCRIPTION: This is an B-PLUS TREE data structure package implemented on disk with an index file and a data file. ------------------------------------------------------------------------------- [.ASU.COM_KILLER] COM_KILLER AUTHORS: Brent Dunlock CREATION DATE: 04-APR-87 PROGRAM DESCRIPTION: This program lowers the base priority of terminal users that have spent too much of their time in COM state. At each interval it will lower their priority by one if they have spent MAX_CPUTIM percent of their time using the CPU. Also, if they have been found more than MAX_COM_STATE times in COM or COMO state they will be lowered. It will raise them back up to their authorized priority if they have used less than MAX_CPUTIM of their time using the CPU AND they are not currently in COM or COMO state. This is designed to discourage terminal users from executing jobs at their terminal that should really be done in a batch job. ------------------------------------------------------------------------------- [.ASU.WORKSET] WORKSET.PAS Authors: Derwin Skipp Creation Date: 8-Sep-1988 Program Description: Program to display process workset info Page 2 ------------------------------------------------------------------------------- [.ASU.EMON] EMON Authors: Derwin Skipp Creation Date: 8-Sep-1988 Program Description: Emonitor is a collection of ethernet monitor programs used to identify and monitor ethernet devices on an ethernet network. It is composed of an interactive ethernet monitor for dynamic monitoring, an ethernet listener for collecting traffic statistics, a report module for producing reports from data collected by the ethernet listener, and a maintence module for maintaining the system data files. ------------------------------------------------------------------------------- [.ASU.QUEMON] QUEMON Authors: DERWIN SKIPP Creation Date: 18-July-1989 Program Description: Interactive Queue Monitor. ========> [VAX89B1.ATG]AAAREADME.TXT;1 <======== Submission from: Nick de Smith Applied Telematics Group Ltd. Telematics House Vale Avenue Tunbridge Wells Kent TN1 1DJ England Voice: +44 892 511000 PSI MAIL: PSI%234213300154::NICK Internet: NICK@NCDLAB.ULCC.AC.UK All programs and routines are (fully) tested, and believed working under V5.2. This includes the device drivers and all KERNEL mode code. I am always interested in (constructive) critisism and correspondance. Included here is all I could prepare in time. Languages used are generally C and MACRO. Object files are provided for all layered product languages where needed. All programs are fully commented and complete. [.ATG_EDT] (New) This module is a top level interface to callable EDT. It offers many extra features including SPAWNing and a sort of "poor man's LSE". /OUTPUT /COMMAND /JOURNAL /READ_ONLY /RECOVER /CREATE are the same as on EDIT/EDT. If /REMEMBER is used on the command line (the default), then ATG_EDT defines the following logical names: EDT$$GT_CURRENT_FILE current output file name. This can be accessed in any spawned sub-process, or outside of ATG_EDT. If ATG_EDT is invoked without an input filename, the translation of EDT$$GT_CURRENT_FILE is used (if any), ie. the last file edited is the default file to edit. If there was no last file then you will be prompted for the file to edit. EDT$$GT_LANGUAGE_TEMPLATE language template file in the form: ATG$EDT:language.EDT The "language" part of the initialiser is determined from the file type of the current file. [.SIXEL_PRINT] (New) Detached server that enables you to print screen dumps from a DECwindows (or VWS) workstation onto a standard HP LaserJet. All known sixel formats, including scaling, are supported. Interactive utility for converting sixel files to HP LaserJet format is also included. Page 2 The code should be fairly easy to modify for other output formats (eg. .PCX files). [.H] (Enhanced since last release) Automatic way of generating all possible VAX C header files (eg. PCBDEF.H) from the VMS supplied MACRO libraries. Extremely useful - just re-run when a new release of VMS is issued to generate a new STARLET.TLB and LIB.TLB. [.LASER] (Enhanced since last release) Complete VMS symbiont and forms library for driving an HP LaserJet+ as an ordinary VMS print queue. Includes support for DEC Multinational Character set. [.MACRO] (Enhanced since last release) Lots of KERNEL and USER mode code for doing almost everything to someone else (or yourself). eg. create a process dump/traceback under program control, set process name, set DCL prompt, deallocate a device owned by someone else, change UIC, dismiss current ASTs etc. The utilities for creating a process dump (or traceback) from another process (without effecting the running process) are VERY useful if you write detached servers etc. I believe there is no other tool for doing this. This is the equivalent of $ DUMP/PROCESS/IDENT=xxx. The snapshot can be inspected with ANALYZE/PROCESS_DUMP file.dmp. [.MAIL] (Enhanced since last release) Complete MAIL alternate protocol routines as stubs for user modification. Run it and see. Makes writing your own protocol module for VMS mail much more simple. Enhanced to include full support for MAIL-11 V3.1 and protocol version 2.1. This means support for foreign format files is now included. Also includes: a) a fully documented MAIL.COM (DCL implementation of MAIL-11 V3.1) and PHONE.COM that uses the PHONE protocol. b) CHECK_NEWMAIL, a procedure for checking multiple accounts on multiple machines for new mail, and then mailing specific users with summary information. This is done automatically at user defined intervals. Handles wildcard users. Works via VMSMAIL_PROFILE.DATA. Very useful for checking a (large) number of maildrops efficiently and in a non-intrusive fashion. c) ZERO_NEWMAIL.COM, a procedure to zero the "new mail" counter for selected users. Can be very useful. d) PROFILE, a procedure to analyze all known VMSMAIL_PROFILE.DATA records for selected users. Handles all formats up to and including VMS V5.1. e) MAIL$EDIT, a procedure for appending MAIL signatures to messages. Page 3 [.PDINIT] Utility to manipulate the VMS pseudo disk driver. Simple to use, comprehensive and effective. I know there are loads of these, but this is my offering. [.SHOW] Example programs that talk to NETACP directly to obtain a SHOW NET listing. Uses the undocumented QIO interface to NETACP, not NML. Oh, all right...I've included an example program that uses the NICE protocol via NMLSHR. This is the correct way to talk to DECnet for network management, but the documentation is really hard to come by. Note that under Phase V DECnet, NICE will not be used except for compatability with Phase IV nodes. [.SYMBIONT] Example C VMS server symbiont that implements a simple REMIND utility. Quite fun and totally open to abuse! Complete with VMS HELP files and CLI utility. [.TOOLS] (Enhanced since last release) Some tools. Things of note are some command files to look at the UAF to see if it has been attacked by hackers; a routine to disable the CTRL/Y AST trap in DCL (see code for reasons); a PATCH file for MONITOR to enable concealed classes; and a command file that sorts your QUOTA.SYS file into alphabetical order (safely! - using DISKQUOTA) to aid disk maintenance (may be used as a basis for a disk usage reporting tool). Utility to maintain the VMS auto-login file (support added for incoming X.29 calls, PCSA, SET HOST via CTERM and LAT [.TPU] (Enhanced since last release) Complete V5.x version of the EDT initialiser, plus a few extras. Brings up EVE (quickly) looking just like good-ol' EDT, complete with keypad. Many extra features, such as SPAWNing processes, including the output from DCL commands in buffers, a very nice way of selecting buffers, and all of EVE there too if you want it, including multiple windows and fully integrated help. Look at the start of ATG_EVE.TPU for a complete description. This module is constructed as a "Real EVE Product", and is layered on EVE and built with EVE$BUILD as per all VMS V5 requirements. It therefore should be compatable with all future versions of EVE/TPU. Fully commented and easy to extend. All our editing is done with this TPU section. [.UWD] Template User Written Debugger for VMS. From an idea in (I think) VAX Pro, but totally re-written to fix many bugs, ommissions and heavy duty over-coding. Page 4 [.XE] (Enhanced since last release) MONITOR like utility that displays Ethernet Line Counters via an undocumented $QIO interface to the Ethernet 802 drivers. Very useful for looking at the results of flood testing or general analysis of Ethernet activity. Runs on any VAX with one or more (DEC) Ethernet port drivers. All known problems now fixed in this release. [end] ========> [VAX89B1.BLOSSER]AAAREADME.TXT;1 <======== This directory contains COMMAND FILES & BASIC SOURCE FILES FILES DESCRIPTION ----- ----------- DIR_NAMER.COM SHORTENS COMMAND FOR CHANGING DEFAULT, AND CHANGES THE PROMPT EACH TIME TO SHOW THE DEFAULT DIRECTORY AND NODE HELLO.COM COMPUTER CONVERSATION, COULD BE USED TO REPLACE A MENU STYLE ACCESS TO PROGRAMS. TASK.COM I USE THIS COM FILE TO COMPILE THE CURRENT BASIC SOURCE FILE I'M WORKING WITH. WILL CALL TRANSFER IF DESIRED. TRANSFER.COM THIS COM FILE TRANSFERS THE CHANGED SOURCE CODE FILE TO THE DIRECTORY WHERE WE KEEP OUT SOURCE CODES AND THE EXECUTABLE FILE TO THE DIRECTORY WHERE OUR EXE FILES ARE AND CLEANS UP THE CURRENT DEFAULT DIRECTORY. NUMBER.BAS ¹ THIS PROGRAM DOES BASIC NUMBER CONVERSION FOR PROGRAM- MING. HIGHIQ.BAS ¹ THIS IS THE GAME HIGHIQ WHICH SHOWS WHAT CAN BE DONE WITH VT220 GRAPHICS AND THE BASIC COMMAND INKEY$. 1. TASK.COM Command syntax @TASK [filename] [T] [source code sub-directory] Example - @TASK PROG T OTHER This would compile and link the program PROG.BAS, purge all PROG.* files, delete PROG.OBJ file and call TRANSFER.COM passing [filename] and [source code sub-directory]. 2. TRANSFER.COM Command syntax @TRANSFER [filename] [source code sub-directory] Example - @TRANSFER PROG OTHER This would put the the file PROG.EXE in directory CALIB$DUA0:[CALIB], the new source code file PROG.BAS in CALIB$DUA0:[STORAGE.OTHER] and delete those files in the current default directory 3. DIR_NAMER.COM Command syntax @SYS$LOGIN:DIR_NAMER [directory] Example - @SYS$LOGIN:DIR_NAMER CALIB$DUA0:[STORAGE.OTHER] This changes your prompt to indicate what directory you are in. To shorten the command include the following comand in your login.com file. Page 2 sd:==@sys$login:dir_namer.com Then use sd [directory name] instead of SET DEFAULT [directory name] or define a logical to point to the your used directorys. hom*e:== @sys$login:dir_namer "sys$login" lib:== @sys$login:dir_namer "sys$library" exa:== @sys$login:dir_namer "sys$examples" sub1:== @sys$login:dir_namer "$disk1:[blosser.sub1]" The logical PREV*DIR is defined to return you to your previous directory and key F17 is defined to do the same. 4. HELLO.COM Command syntax @HELLO Example - @HELLO Execute the file and anwser the questions. 1. NUMBER.EXE Command syntax RUN NUMBER Execute the program and enter number or command as desired. 2. HIGHIQ.EXE Command syntax RUN HIGHIQ Execute the program and enter the number of the square of the piece you want to move then enter the number of the square you want to move it to. You do not use the 'RETURN' key. There isn't any to stop the program in the middle other than Ctrl C. You can only move horizontal and vertical and a piece must be jumped each time. The object is to remove as many piece as posible and only be left with 1 piece. Comments and suggestions to: Victor Blosser Beech Aircraft Corp 9709 E. Central, MS 90-406 Wichita, Ks 67201 (316)689-6979 ¹ THE SOURCE, OBJECT & EXECUTABLE FILES ARE INCLUDED. V3.3 BASIC AND V5.0 VMS WERE IN USED. ========> [VAX89B1.BRUREAD]AAAREADME.TXT;2 <======== Program BRUREAD : read BRU files Written by Adrian Weiler 1986/87 Non-commercial use is OK. Feel free to give this program to anybody that can use it, as long as you don't do that for profit. Please don't remove this heading. Sorry for the bad docs & for the lots of hacks in this code. I didn't write this program for profit either... BRUREAD consists of: BRUREAD.PAS ( this file ) BRU.CLD ( Set Command BRU ) BRUMSG.MSG ( Message/OBJ ) BRU.TXT ( short doc ) Link: Link BRUREAD,BRUMSG If anybody makes improvements, please let me know. My address (snail mail): Adrian Weiler Hennentalweg 12 7400 Tuebingen W-Germany Phone (49)(7071) 45054 Note: Decimal 45054 = Hex AFFE = Monkey BITNET: MIWE001@DTUZDV5A (until Mar'89) After Apr'89, I probably won't have that account anymore, so you could contact a friend: ZRKH001 (ZR?HK?) or CFKS001 @ the same node. ========> [VAX89B1.BZL]AAAREADME.TXT;1 <======== B. Z. Lederman System Resources Corp. 128 Wheeler Road Burlington, MA 01803 (617) 270-9228 There are three sub-directories to this submission: [.MAIL] has programs which use the MAIL call interface, including: a list of all users with unread mail (and the mail count), a program to trace messages you've sent to another user, a program which exits with your unread mail count as the exit status so you can automatically run MAIL, a C language definition of call parameters, a program which lists all users and forwarding addresses. [.NETWORK] contains some DCL procedures for keeping our network running, and to pick up error counts from DECnet and LAT facilities at regular intervals so we can track down times when the network isn't working right. [.COMMANDS] contains a number of command files and one TPU file which does stuff I've found useful one way or another. There is a command file to rebuild Rdb databases, a CRT clearer, a file to display $STATUS as text (on the 25th line of a VT300 if you are using one), a memory monitor, a library compressor, 'everything' you can get from F$ENVIRONMENT, F$GETDVI, F$GETJPI and F$GETSYI, and how I converted my EVE$INIT.EVE to TPU$COMMAND.TPU so that TPU will start up a lot faster on a Micro-VAX II There may be V5.2 improvements to the lexicals which I haven't added yet, but everything there works under V5.2 ========> [VAX89B1.CDVMS]AAAREADME.TXT;6 <======== CD-ROM access routines for VAX/VMS 29 November 1989 ------------------------------------------------------------------------ The programs in this directory were developed by: United States Geological Survey Branch of Astro Geology 2255 N. Gemini Drive Flagstaff, AZ 86001 for the purpose of reading the CD-ROMs produced in the ISO 9660 format standard (or in the "High Sierra" standard) on a VAX/VMS computer system. Permission has been obtained from the U.S.G.S. to place these programs on the VAX SIG tape. The programs are in the public domain, and are provided for use with the following disclaimer: "Although these programs have been used by the United States Geological Survey no warranty expressed or implied is made by the USGS as to the accuracy and functioning of the programs and related program materials, and no responsibility is assumed by the USGS in connection therewith." The programs were produced to read the Voyager CD-ROMs to be read on VAXes. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * The programs allow a file on an ISO 9660 format CD-ROM to be opened, and 512 byte blocks of data read from the file relative to the beginning of the file. The original files from the U.S.G.S., as downloaded from the SPAN network, are CDVMS2.TXT;2 and CDVMS3.TXT;1. All other files were extracted from these .TXT files, with the exception of the B2B.MAR program which was not in the original files and was sent in hardcopy by U.S.G.S. and rekeyed. All programs work with either ISO 9660 or "High Sierra" format CD-ROMs. Main programs provided are: CDDIR Do a directory listing of a CD-ROM CDCOPY Copy a file from a CD-ROM to another device CDTYPE Type the contents of a file on a CD-ROM The original version of CDDIR (CDDIR.ORIGINAL) was modified at ICDD to default to a 3 character file extension since the LENOSP routine used in CDDIR was missing. The original version of CDOPEN (CDOPEN.ORIGINAL) was modified at ICDD to correctly find and report the contents of the extended attribute record (XAR). The following subroutines are provided: CDOPEN Find and open a CD-ROM file, returning the offset of the start of the file CDREAD Read 512 byte block records relative to the beginning Page 2 of the file CDCLOSE Close a CD-ROM file CDSTAND Determine if the CD-ROM is ISO 9660 or "High Sierra" CDATT Obtain extended attribute record (XAR); CDATT is an ENTRY point within CDOPEN B2B Move bytes All executables were produced on a VAX/VMS V5.2 system. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * These routines have been made available to the VAX SIG tape by: Mark A. Holomany JCPDS-International Centre for Diffraction Data 1601 Park Lane Swarthmore, PA 19081 U.S.A. (215) 328-9403 The disclaimer that appears at the beginning of this file applies also to Mark A. Holomany and the JCPDS-International Centre for Diffraction Data (also known as ICDD). These routines were described in the session "CDROM Use on a VAX/VMS System" (VA076) given at the Fall 1989 DECUS Symposium in Anaheim by Mark A. Holomany. The session was taped. Feel free to contact me at the above number should you have any comments on these programs, or if you have any questions on CD-ROMs in general. [End of AAAREADME.TXT] ========> [VAX89B1.CI]AAAREADME.TXT;1 <======== SUBMISSION: VARIOUS SOFTWARE ITEMS FROM COMPASSION INTERNATIONAL 03-Nov-1989 Submitted by: Ken Richardson Compassion International PO Box 7000 Colorado Springs, CO 80933 Phone: (719) 594-9900 FAX: (719) 594-6271 TELEX: (025)910-380-9380 (CMPASHUN) Easylink: 62868920 This software is made available to the public with no warranties, guarantees, or liability for its use or any consequences thereof. After all, it's free. However, I wouldn't submit it if I didn't think it worked correctly. And the code written at our site tends to be well-structured, efficient, clean, and debugged. If you have any questions or comments, you can find me at the address or phone number listed above. I generally don't mind brief phone calls. However, I'm not easy to get by phone. Leave a message. This submission contains my "standard" DECUS contribution. Some items have been upgraded since the last Fall DECUS tape. Some have not. CLOSE_VMS_ACCT.COM We use this command procedure to close our VMS accounting files every month. This facilitates usage analysis and archiving of accounting data by month. Nothing fancy, but if you don't have it, here it is. CONCATENATE_SIXEL.COB This is a new program this year. It concatenates SIXEL graphs side-by-side. At our site, we do Datatrieve graphs of CPU performance statistics. Lots of them. So I wrote this program to minimize paper by printing these graphs in two columns. First we run our REGIS graphs through RETOS, which gives us SIXEL graphs. Then we run the SIXEL graphs through this program. CONCATENATE_SIXEL.EXE This is the executable version of CONCATENATE_SIXEL.COB. CONCATENATE_SIXEL_EXAMPLE.COM This little command procedure shows the basics of using CONCATENATE_SIXEL. Page 2 COUNTREC.EXE I got tired of copying files to the null device in order to find out how many records they contain (copy/log file.dat nl:), which can be quite slow and resource-intensive with large files, so I wrote this simple record-counting program. If you define it as a foreign command, you can specify the input file on the command line. Otherwise, it prompts you. Wildcards are not implemented yet; however, COUNT_RECORDS.COM provides this. COUNT_RECORDS.COM This procedure allows wild-carded counting with COUNTREC.EXE. We have a COUNT command defined as @CI$COMMAND:COUNT_RECORDS.COM, which lets us type "COUNT filespec" to count records in a bunch of files. DIALUPINI.EXE We use US-ROBOTICS hayes-compatible modems on our dialups (the kind that use the AT command set). They work fine; we use the same lines both for dialing in and for dialing out. However, when the modems power up, they default to sending extra information to VMS (like "RING" and "CONNECT") every time someone dials in. This causes VMS to complain that username RING is trying to break in. So we run DIALUPINI.EXE to tell the modems to be quiet, and everything works much better. DIALUPINI.EXE expects a logical name (DIALUP) to point to the port that needs to be reset, and it expects you to already have allocated the port and set the appropriate speed (assuming you are using autobaud on the port). You might need a privilege to allocate the dialup port, depending on how your ports and system parameters are set. I think it's SYSPRV. For more info about DIALUPINI.EXE, see INIT_DIALUPS.COM. DROIDS.EXE This game lets you get chased by robots on a 24x40 field. Only in a weak moment will I confess who wrote it. It runs efficiently, using only one QIO per screen update and one per input. It requires write access to a CI$GAMES directory, which is where it stores the "droids champions" list (droids.dat). If more than one player will be using the same droids.dat file, you need to SET FILE/PROT=W:RW to the file after the first player creates it. EMPTY.SIXEL This "empty" sixel graph is used by CONCATENATE_SIXEL_EXAMPLE.COM. It is used as the "left-hand" graph in a concatenation operation in order to indent a SIXEL graph. It has the minimum SIXEL codes needed by CONCATENATE_SIXEL for a successful concatenation operation. ENPAGE.DOC ENPAGE.DOC is a documentation file describing the ENPAGE utility. For more info, see ENPAGE.EXE or read ENPAGE.DOC. Page 3 ENPAGE.EXE When we got our nifty new LN03 laser printers, we needed a way to put all that power in the hands of our office staff. ENPAGE is how we did it. ENPAGE reformats a text document, adjusting margins (left, right, top, & bottom), pitch (both vertical & horizontal), orientation (portrait or landscape), point-size, and stuff like that. It compensates for embedded tabs regardless of the left margin you specify. If you've never encountered that problem, please ignore the previous sentence. For people who write letters, ENPAGE can optionally output the first page separately from the rest of the document. We use this feature because we have one printer loaded with letterhead and one loaded with plain-bond. ENPAGE output can be directed either to devices or to files. ENPAGE output is suitable primarily for LN03 laser printers (it inserts LN03 control sequences into the results). To use the output on some other printer, you'd probably have to edit the device control sequences out of the first and last lines of the output files. FORCEX.EXE Have you ever had a program get into an infinite loop? Well, neither have I, but just in case it ever happens, this program will exercise the VMS system services just enough to list out all the processes on the system and ask you if you want to force-exit any of them. It's not any fantastic new discovery, but it does have the advantage of stopping just the current image rather than the entire process. The process returns to the $ if it's interactive, or to the next line in the command procedure if it's batch. FORCEX requires WORLD privilege, GROUP privilege, or the same username, depending on the target process. INIT_DIALUPS.COM We have three dialup lines; they are known by system-wide logicals ci$dialup_1, ci$dialup_2, and ci$dialup_3. We initialize the modems on those lines during system startup and once per hour (in case someone has been using a modem and left it in a non-standard condition). The INIT_DIALUPS.COM command procedure looks for all devices pointed to by ci$dialup_n. For each such unallocated device, INIT_DIALUPS.COM allocates the device, sets the speed, initializes the modem (using DIALUPINI.EXE), and deallocates the device. The maximum speed for each modem must be specified by the logical ci$dialup_max_speed_n (e.g. ci$dialup_1 = "TXA0" and ci$dialup_max_speed_1 = "2400"). LASER2.COM This is the procedure that drives the ENPAGE utility. Actually, at our site we have another procedure that provides novice users with somewhat Page 4 simple access to rather sophisticated printer characteristics on several printers throughout the office, including our plain-bond laser printer. However, LASER2.COM shows the basics of using ENPAGE.EXE when driving a letterhead/plain-bond printer combination. LOCK_TERMINAL.EXE This is a simple program that accepts and verifies a password, then locks your terminal until you type the password again. Useful for leaving an account logged in while you go away for a couple of minutes. It traps CONTROL-C and CONTROL-Y. However, if you are logged-in remotely using $SET HOST, CONTROL-Y could still be used by a malicious user to return to your original process on the local node. For this reason, I use it mainly on local nodes. REMINDPRT.COM This is a simple command procedure to provide access to REMINDPRT.EXE. REMINDPRT.EXE We are using a REMINDER utility that came from a DECUS tape a few years ago. It was written by someone at AT&T. If you are using the same REMINDER program, you might find REMINDPRT.EXE useful. It is NOT compatible with other reminder programs from more recent DECUS tapes! We needed more flexibility in printing out reminders, so we wrote this program to print simple calendars from the reminder file. No REMINDER user should be without it. Output goes to CI$OUTPUT. REMRESCHD.EXE One of the annoying things about that AT&T REMINDER utility is that it deletes old reminders automatically, even if you never got to see it. Well, every night right after midnight I run REMRESCHD.EXE to reschedule old reminders up to today. That way REMINDER becomes a to-do list that won't let me forget a reminder unless I explicitly delete it. Caution: If your login.com automatically displays your reminders ($REMIND ME) like mine does, you need to jump over that line when f$mode is "BATCH" so your midnight rescheduling job can run REMRESCHD on your reminder file before REMINDER gets to it. SHUT_LOGS.COM We use this command procedure to close our OPERATOR.LOG file nightly and open a new one. It also closes our database monitor logfiles, which are produced by VAX DBMS. It resubmits itself nightly, skipping weekends automatically. Again, nothing fancy, but if you don't have it, here it is. For some reason, the VMS developers wrote the $REPLY/LOG command to require a terminal as its sys$command device. Therefore, in order to shut OPERATOR.LOG, this procedure temporarily grabs the operator console as its sys$command device. Back when I wrote this procedure, it Page 5 wouldn't work from batch unless it did some sort of trick like this. I haven't checked to see if VMS has lifted this requirement since. SYSTATUS.EXE This is SYSTATUS version 5.2 for VMS version 5.2. It's a system status monitor with some interesting display flexibility. We use it constantly at our site. I frankly don't know how people can manage a VAX without being able to see the info that SYSTATUS provides (like which program everyone is running). One of the most useful features is the ability to limit the display just to busy processes (this can reduce a 100-process display down to 20 or so processes). To try this feature, run SYSTATUS and type the three letters SAD (Select Attribute Dormant). To use SYSTATUS, you just type RUN SYSTATUS at the $ (we have a STATUS foreign-command defined to do this). Most commands are one character (no ). On-line help is available by typing the letter "H" while SYSTATUS is running. Changes since SYSTATUS version 5.0 (on the Fall '88 DECUS tape): SYSTATUS V5.1: Support for VMS V5.0 (this required a new technique for determining null time). SYSTATUS V5.2: Support for VMS V5.2 (the GETJPI system service changed behavior slightly). We have SYSTATUS installed SHARED. It needs GROUP or WORLD privilege to look at processes other than your own. We install it without these, so that only users who normally have these privileges can watch other users' processes. If you want everyone to be able to look at other processes in their UIC group, install it with GROUP. If you want everyone to be able to look at all other processes, install it with WORLD. If you also give it ALTPRI, it temporarily boosts its own priority to 16 during each brief data-collection interval, thus improving the accuracy of the results. It disables control-y before boosting the priority, and restores the previous state of control-y (usually enabled) after dropping back down to the original base priority. If you're running any realtime stuff on your system at priority 16, I suppose you wouldn't want to install SYSTATUS with ALTPRI (nor run it from an account with ALTPRI turned on). For the other 99% of VAX sites, I do recommend that you install it with ALTPRI for the most accurate results. SYSTATUS automatically senses your terminal width and height. If your terminal is in 132-column mode, you get more info than in 80-column mode. If you have a terminal with more or fewer than 24 lines, the display will scroll correctly. This all assumes that you have done a $SET TERMINAL/WIDTH=n/PAGE=n type of command. SYSTATUS does screen output with as few QIOs as possible, usually just one. If it can't display its buffer with one QIO, it tells you why and Page 6 exits. The reason for the QIO failure is usually EXQUOTA. This can be corrected by increasing the SYSGEN parameter MAXBUF, which I have set at something like 10000 for our systems. SYSTATUS_VMS_V3.EXE This is an older version of SYSTATUS for VMS version 3. SYSTATUS_VMS_V4.EXE This is SYSTATUS version 5.0 for VMS version 4. ========> [VAX89B1.CJFALL89]AAAREADME.TXT;1 <======== DECUS Fall 1989 Submission John Claxton Collier-Jackson, Inc. 3707 W. Cherry St. Tampa, Florida 33607 (813) 872 - 9990 Easyplex 70003,4140 This submission is the copyrighted property of Collier-Jackson and may not be used for any commercial reason. The programs, command files, and all listing given here are examples only and carry no warranty for accuracy whatsoever. The are meant solely as examples as THE ARE TO BE USED AT YOUR OWN RISK. -------------------------------------------------- [.CJFRAG] Command files for evaluated fragmentation of disk(s) and file(s) with sample reports. Command files for examining the effects of fragmentation on Split I/Os and Window Turns are included. -------------------------------------------------- [.PSS_COBOL] Sample programs from the Pre-Symposium Seminar "Utilizing VMS From COBOL". -------------------------------------------------- [.VA103] Command files for the session VA103 - VBN errors, Patching The Disaster. ========> [VAX89B1.CTLSMB]AAAREADME.TXT;1 <======== CTLSMB 1.2 Gregg Wonderly Mathematics Department Oklahoma State University 8-Dec-1987 1 Introduction CTLSMB was developed by Gregg Wonderly of the Mathematics Department at Oklahoma State University. CTLSMB is a server symbiont whose intended use is to allow the VMS queuing mechanism to be used to execute programs on behalf of other users. The big difference between using CTLSMB and normal batch jobs is that the processes created by CTLSMB are cached, and therefore reusable. This makes it possible to use very periodic batch jobs with smaller overhead due to the elimination of process creation. CTLSMB was originally written to be used in the VMS PMDF mail project. Its purpose then (and now) was to alleviate the problem of process creation overhead due to mass batch job submission (for each mail message comming into a system, PMDF creates a batch job to deliver that mail message to its next destination. During peak times, an extremely large number of batch jobs can be started. The first few will end up delivering the mail, but all jobs must run to completion). It was soon discovered that CTLSMB had much wider applications, because of it's interface to the VMS queuing system. Besides PMDF, CTLSMB is currently being used to serve a generic queue that provides RJE access to an IBM mainframe. The user can issue the command "submit/queue=ibm$batch" to submit the batch job, and the command file used to process tasks for that queue takes care of packaging the file so that it can be processed. The possiblities are endless. ========> [VAX89B1.FAUST]AAAREADME.TXT;1 <======== A Practical Guide to the SYSMAN STARTUP Utility Session VA300 DECUS Fall 1989 Anaheim Symposium Richard J. Faust E. I. du Pont de Nemours & Co. The System Management Utility (SYSMAN) is Digital's first effort at a bundled tool which centralizes the management of VMS nodes and clusters. The STARTUP command set of SYSMAN provides a standard interface to configure a data-driven system startup mechanism. This session presents advantages, limitations, undocumented features, gotchas, and suggestions for improving the functionality of the STARTUP portion of the SYSMAN utility. Specific topics include features of the STARTUP data files, controlling order of execution, debugging techniques, minimizing STARTUP execution time, notes on batch mode files, and hints and kinks for the user interface to the SYSMAN utility. This information is based on experience gained from a full implementation of a STARTUP database on an 8-node production cluster. ========================= Submitted by: Rich Faust E. I. du Pont de Nemours & Co. 609-540-4358 Documentation and files discussed at the above session are included. See the SYSMAN*.* files for a complete description. A short description of each follows. SYSMAN_SESSION_NOTES.DAT ASCII text of session notes SYSMAN.SDML VAX Document source code for documentation. SYSMAN.PS PostScript document and index SYSMAN_INDEX.PS SYSMAN.LN03 LN03 document and index SYSMAN_INDEX.LN03 SYSMAN.TXT ASCII document and index SYSMAN_INDEX.TXT OA_STARTUP.COM Example of combining several procedures into one to guarantee order of execution within a single phase. REDEFINE_SYS$STARTUP.COM Allows startup files to be located in directories other than Page 2 the default definition of SYS$STARTUP. STARTUP$INTERACTIVE_LOGINS.COM Add this file to the startup database to enable logins when you're ready, not when DEC says so... STARTUP_SHELL.COM Template procedure to allow startup jobs to be submitted to a queue other than SYS$BATCH RS1_STARTUP_SHELL.COM Sample use of STARTUP_SHELL.COM SYSTARTUP_V5.COM Start queue manager and batch queue example. SORT_VMS$LAYERED.COM Procedures to sort VMS$LAYERED.SRT STARTUP$STARTUP_LAYERED to guarantee batch and spawn startup jobs are the first to be executed in each phase. VMS$LAYERED.DAT Sample startup database ========> [VAX89B1.FINGER]AAAREADME.TXT;1 <======== Finger V51_1_22 VMS V5 required. The supplied images were linked under V5.1-1 and will need to be re-linked if you are running an earlier V5 release. The object files are supplied to do this for those without the VAX Fortran compiler. Major changes: o None Minor changes: o Code to report the originating node and username for RTAnnn: terminals has been added. This replaces the old TT_UCB code with a method which will be far more robust across future VMS versions. [Thanks to Frank Nagy of Fermilab] o All known problems with array subscripting have been fixed. The image now compiles and runs properly when compiled /CHECK. In fact, the supplied objects are compiled that way. o A long-standing problem with /SORT used in conjunction with jnet has been corrected. In short, duplicate or garbled output would be emitted for all but the first jnet finger command, and the first jnet finger command would not return any user information. o Jnet code and installation procedures have been modified for jnet V3.3. o Added display of forwarding address if mail is being forwarded, unless forwarding is to PMDF's DELIVER% protocol. o Corrected problem where HELP would go to useless places (for jnet, the bit bucket; for DECnet, NETSERVER.LOG) instead of being delivered to the requester's terminal. o Corrected problem with not finding our help library. o Corrected problem with mail messages not displaying if the user being fingered did not explicitly declare a mail directory. o Corrected problem with /SORT=LOGIN_TIME. o Display an error message if sorting on an unknown field. o Added /SORT=CPU_TIME subqualifier. o Cleaned up error message, all are now in standard VMS format. o Disconnected virtual terminals are now displayed as VTAnnnn: instead of _VTAnnnn: so as to fit in the field width. o Terminal types are now inquired from VMS if the terminal is not in the Finger Common Block (FCB) or if the FCB contains the string "Unknown" for the terminal type. Page 2 o The CPU type is now reported a little differently. o A problem with the host name was fixed - if the FCB contained a blank or null hostname, the DECnet node was not being used instead. o Unread mail information is now shown to the sender, even if across a DECnet or Jnet link. An option for treating DECnet as a common envir- onment was also added. o Idle times are back! Thanks to Ted Nieland, Joe Meadows, and Ken Adel- man for their work on this. o Bypass logic over DECnet has been cleand up. o FINGMAINT will now display an error message if an attempt is made to add an item which will not fit in the FCB. o Added SHOW/STATISTICS to FINGMAINT to show the number of items used and left, as well as percentage of utilization, for each of the item types. New for V51.1.20: o A bug with displaying the mail forwarding information has been fixed. Previously forwarding would not display in some cases. o The NONODE message has been corrected. A previous attempt at a fix had the side effect of not signalling the error if Finger was not local. o Add display of jnet "receive" file count. o The interpretation of "default" qualifiers has been corrected. Previ- ously if nothing was specified or defaulted in the CLD, Finger would assume a set of qualifiers. Now if nothing is specified or defaulted in the CLD, only interactive jobs will be displayed. o Two new qualifiers (DISSUBJREP and DISMAILREP) have been added to the CLD to allow sites to customize the amount of Mail information Finger displays without having to re-compile. See the FINGER_CUSTOM.TXT file for more information. o The process type (Bat, Net, Sub) is now displayed in the terminal name field for non-interactive processes. o Terminal servers may now be Fingered if you have TSM on your system or any other system on your network also running this version of Finger. Finger spawns TSM in a subprocess and displays the output. This change requires Finger to have OPER privilege. The new START_FINGER files have been changed to reflect this. o Fingmaint now emits the proper error message if a user executes a com- mand such as ADD/UAF instead of ADD/USER/UAF. o Personal names are now stored as the full 31 characters. This allows Page 3 people with long names (bosses, typically) to have their name display properly when Fingered. The name length when /PERSONAL is given re- mains at 25, and can be changed by editing the source. *** NOTE: THIS CHANGE REQUIRES THE FINGER COMMON BLOCK (FCB) TO BE RE- *** BUILT AND RE-LOADED WITH THE NEW FINGMAINT !!! New for V51.1.21: o A typo in the non-default site-specific section of decnet_finger would prevent compilation if selected. This has been fixed. o Output would be truncated if the user being fingered was running an image which had an extremely long file specification (greater than 64 characters). This has been corrected. o If the site-specific option to 'pretty' personal names was selected, an access violation would occur. This has been corrected. o A problem when the site-specific "commonly administered DECnet" option was selected has been corrected. Previously, selecting this option did not properly display mail sender information. (It also wouldn't com- pile properly). o Finger was erroneously propagating the /IAM qualifier onto non-DECnet networks under the following circumstance: If VMS Finger received a DECnet request for a non-DECnet host, it would propagate the entire command line without inspection. In this situation, the /IAM qualifier should have been removed. It is now properly removed in this case. o Minor cosmetic changes have been made to the header. New for V51.1.22: o The ADD/USER/UAF command in Fingmaint is now *much* faster. Thanks to Craig Watkins of PSUECL for this fix. o A spurious error message was generated if you fingered a user who was in the process of logging in on an RTA device. This has been correct- ed. Thanks to Craig Watkins (PSUECL) and Frank Nagy (FNAL) for this fix. o Some data structures were erroneously left in the Finger common block which pertained to the obsolete TT_UCB code. They have been removed in this release. Thanks to Frank Nagy of FNAL for this fix. o If the port name (SET PORT NAME) of a DECserver port is "DIALUP.some- thing" it will now be reported as a location of "Dialup something" in- stead of "SERVER DIALUP.so", which was the previous action. o Users may now individually prevent others from seeing their count and subjects of unread mail. This is accomplished by having a Mail folder named "F_PRIVACY". If Finger detects this folder, it will print the message "Mail: Permission refused by owner" instead of the usual in- formation. Page 4 Editorial comment: My dead body must be around here somewhere, as I have been known to say that this feature would be implemented obver my dead body. However, as the alternative to this is the few militant users forcing a system-wide default of /DISREPMAIL, this is probably a smaller lossage. I seriously thought about checking for the F_PRIVACY folder before fingering another user, and refusing to print any mail information if the person doing the finger had F_PRIVACY set, but I decided it was unfair to penalize the vast majority. Feel free, how- ever, to make snide comments to anyone you obsserve using Finger if you know s/he has F_PRIVACY set. Terry Kennedy terry@spcvxa.bitnet Operations Manager, Academic Computing (201) 435-0252 Saint Peter's College 2641 Kennedy Blvd. Jersey City, NJ 07306 ========> [VAX89B1.FLOWERS]AAAREADME.TXT;1 <======== re:Member Data Services, Inc. Fall 1989 DECUS Submissions Neither myself nor re:Member Data Services accepts any responsibility for the use or reliability of these submissions. They may not be sold for profit, but may be distributed freely otherwise. Enjoy! Harry Flowers re:Member Data Services, Inc. 1780 Moriah Woods Blvd. #6 Memphis, TN 38117 Contents: AAAREADME.TXT - This submission documentation file System management utilities: DISK_WATCHER.COM - Command file to run detached and monitor available disk space on all disk drives. You set red and yellow alert levels, the interval to wait between checks, and who to notify and what action to take, if any. CHKFRAG.COM - Check fragmentation for a specific file. CHKPAS.COM - Check passwords for user accounts. Requires you to restore VMS$SECUREPWD.EXE from a VMS distribution (VMS050.A has one). KILLER.COM - An early version of a command-file driven idle process killer. Not throughally tested. I want to change the PID to the INDEX to reduce the number of symbols defined over time. But, it's a place to start if someone else wants to tackle it. OPENFILES.COM - Check all open files on a system. General utilities: MENU.COM - DCL menu system; understands captive accounts, should work with new VMS V5.2 restrictions without further modification. See beginning of command procedure for directions. Probably the closest thing to a general user production DCL program I have written. A modification history and documentation may be found at the end of the procedure. o One-file menu - the command file is the only one which is needed. It is very easy to modify the menu options for anyone with a basic knowledge of DCL command procedures. There is a small amount of error checking for consistent menu setup (for descriptions). o Arbitrary DCL commands - any non-captive user may issue arbitrary DCL commands from the command line. This can happen in one of two ways: 1) Precede the command by an "@", or 2) Enter an "@" and be prompted for the DCL command. One advantage of method #2 is that INQUIRE is used instead of READ, so the full command recall handling is available. o Automatic logout - users are logged out after 45 minutes of inactivity. The READ used has a 3 minute timeout. When the timeout occurs, the time on the menu is updated as well as the timeout counter. After 15 timeouts (45 minutes), the process is logged out unless it has a subprocess which might be active. NOTE: Broadcast messages seem to re-start the time for the read timeout (VMS V4.7). This would extend the time a process would wait before automatically logging out. o Captive account handling - captive accounts are handled specially. In particular, exiting the menu always logs out a captive account. Also, captive accounts are not allowed to issue arbitrary DCL commands with the "@" on the command line. A captive account is one authorized with the Captive flag set in the user authorization file (with AUTHORIZE). It is assumed that Ctrl/Y has been disabled for captive accounts, and Page 2 that they have not been allowed to get to the VMS prompt. Normally, the menu would be called directly from the account's login command procedure. o Error message display - if a fatal error occurs during the execution of an option, the menu waits for a carriage return allowing the user to see the error. It is also displayed below the input line on the menu screen. o Scrolling region for broadcast messages - while the menu is on the screen, the scrolling region is re-defined to be after the last line of options. This causes broadcast messages to scroll in this window and not mess up the menu display. o "Self" customized - the second line of the display is whatever the system manager has defined for SYS$ANNOUNCE, the announcement message a user gets before the "Username:" prompt when logging in. This will generally have the name of the installation, and in a VAXcluster environment, the system node name as well. This can easily be changed by defining a process logical SYS$ANNOUNCE (which will not effect the system definition used at login) if you are unhappy with the contents of SYS$ANNOUNCE. For example: $ DEFINE SYS$ANNOUNCE "My Own Computer" CVTHLPTEX.COM - Help convert HLP files to TEX files for LaTeX. CVTTXTTEX.COM - Help convert TXT files to TEX files for LaTeX. ========> [VAX89B1.FULLERTON]AAAREADME.TXT;1 <======== Directory Movement command Files and FORTRAN INCLUDE library ------------------------------------------------------------ Submitted by: James Fullerton Cessna Aircraft Co. Wallace Div., Dept. 178 Wichita, KS 67277 Files in this directory: ------------------------ README.1ST this file README.TXT more detailed description of directory contents FORUSRDEF.TLB FORTRAN text library MYHELP.HLB HELP library of FORUSRDEF plus some character sets BROTHER.COM move to a subdirectory at the same level in a tree CHILDREN.COM list subdirectories at next level down in a tree FATHER.COM move to next higher level in a tree FORGET.COM pop the stack (in SYS$LOGIN) of saved defaults NODE.COM search the current directory tree for a subdirectory REMEMBER.COM push the current default on the stack (in SYS$LOGIN) ROOT.COM move to the root (highest level) of the current tree (NOTE: ROOT will NOT let anyone get to [000000]) SIBLINGS.COM list subdirectories at the same level as the current level SON.COM move to a subdirectory at the next lower level TREE.COM list the current directory (sub)tree in indented form ========> [VAX89B1.GCEF89]AAAREADME.TXT;3 <======== GCE Fall 1989 Cornucopia Submitted by Glenn C. Everhart 25 Sleigh Ride Rd. Glen Mills, Pa 19342 215 358 3866 home work: GE Aerospace Technology Everhart%Arisia.decnet@crd.GE.com 215 354 7610 The following items are present: [.ANALY...] AnalytiCalc spreadsheet update. Some new addressing modes and features are added, and the documentation has been upgraded, I hope noticeably. Tha Amiga version has been seriously upgraded and is presented in source and exe also. [.AMIGAUUCP] UUCP 1.0 for Amiga, with all sources (in C). Implements UUCP G protocol and works very nicely; zoo'd. [.NET89B...] Numerous items from Internet sources. Both programs and arcane knowledge are present. Items such as a laserwriter symbiont and IBM tape readers, REMOTE VIRTUAL MAGTAPE, mail tools, vms MORE, Sixel, TAR, snap, vms Share, and much more are included. ZT*.* is the remote tape. [.VAXNET...] Latest VAXnet with Gerson Cohen's Xmodem-CRC patch added and rebuilt. Presented here so that the complete package can be conveniently obtained. [.VMSVD...] Major bugfixes and extensions to VD: drivers and FD: driver. I now use vddriver4a in production, and fddrv6. Drivers are reliable and usable. Provided functionality includes contiguous file virtual disks (vd:) with easily controlled geometry to match disk size to DEC disks; memory disk in process memory; crypto disks which encrypt all data prior to storage; file disks where a NONcontiguous file can be a disk; file disks backed by memory disks, so that reads occur with the speed of memory disk, but writes are done to a file so the disk is nonvolatile; and remote virtual disks over DECnet. Remote disks over asynch lines and compressing disks are partially present. A preliminary shadowing virtual disk is present. (Extension to support a striping disk driver shouldn't be that hard if there's any great interest in it...just copy the IRP, ship all copies out, then complete the I/O when all are done.) [.MDDUPD] Updates to John Osudar's old memory virtual disk (in nonpaged pool) for V5; V4 version from old VAX tapes also present for completeness. [.CKSLID...] C Kermit with sliding windows, and improved VMS support. By Colette Yanosov, sent to me for inclusion on the tapes. (It has been sent to Columbia also for merging with the official C kermit.) [.PGPLOT...] Device independent plotting package from Caltech; useful for drawing graphs on VAX display devices. T.J. Pearson.