========> [VAX89B2.ANGLIA]AAAREADME.TXT;8 <======== Anglia College Submission December 1989 Contents: [.articles] -- articles from August "Global Pages" (with correction & important note) [.ethernet] -- an Ethernet monitor (poor man's LAN Traffic Monitor) and a Terminal Server utility (poor man's Terminal Server Manager) [.gensym] -- extracts global symbols definitions from .OBJ or .STB files into high-level language definition files (.H etc) [.lsdriver] -- a software-only device driver to simplify printer spooling in a cluster [.sysinfo] -- fast display of interactive user load across a cluster (doesn't use DECnet) [.vaxnotes] -- utilities for VAXnotes that DEC don't provide [.library] -- library macros & routines, mostly only useful for recompilation of the other parts Ian Kitching, System Manager, Computer Services (Cambridge), Tel. +44 223 63271 ext. 2278 Anglia Higher Education College, Fax +44 223 352973 East Road, Cambridge CB1 1PT ========> [VAX89B2.DECMONS]AAAREADME.TXT;1 <======== Ethernet monitors These programs monitor LAT, LAVC, or Hardware Address traffic on Ethernet and are included by request of D. Gagne, author. (of DEC) ========> [VAX89B2.DEC_WINDOWS]AAAREADME.TXT;1 <======== This directory contains a collection of DECWindows application programs I recently wrote. The programs are: MM010.* - Menu Manager program. This program provides a user-definable menu of DCL command lines. It also provides a small, editable text window. MM010.ZOO is a Zoo archive containing two backup save sets (MM010.A and MM010.B) and a procedure file to fixup these save sets after being extracted from the archive. MM010.A and MM010.B are backup save sets and are meant to be run through SYS$UPDATE:VMSINATAL.COM. pfm020.* - Performance Meter program. This program displays a set of performance meters, much like the VWSDEMO program BANNER. The display gives a graph of how busy the CPU is and a graph of time spent in various CPU modes (like MONITOR MODES). Also, I/O counts for the system disk (SYS$SYSDEVICE:) and a user definable local disk, plus paging statistics. SHNW100.ZOO and SHNW100S.ZOO - Show Network User Window program. This is a program that displays the users on various nodes on the network. It is usefull as a system manager's spy program - can be used to get a feel on load balancing and for finding where users are logged in. WINDOW.ZOO - A couple of programs that create DECTerms. One program just creates a window, allocates the TWAnn: device in supervisor mode, and defines a supervisor mode logical name. The other program creates the window and then creates an interactive process for it. Included are several procedure files that use these programs. All of the .ZOO files are in binary format and will need to be passed through BILF before VMS Zoo will work correctly on them. The backup save sets are normal VMS backup save sets. I've included .FDL files and a small procedure file (FIXFTPEDSS.COM) for fixing up the save sets after being FTP'ed over the network. Robert Heller InterNet: Heller@cs.umass.edu BIX: locks.hill.bbs FidoNet: 1:321/153.0 ========> [VAX89B2.DISKCHARGE]AAAREADME.TXT;1 <======== DISKCHARGE Diskcharge is used to assign an account or charge number to a disk file or files. It is also used to display the account numbers on files in a directory (or directory tree), replace existing charge numbers with a new one, and display current summary usage. System Management uses the program to generate summary files for entry into a Resource Accounting System. During initial setup, and subsequently when the System Manager records usage, un-tagged files will be set to the account number specified in the user's authorization record in SYSUAF. AUTHORS: This is a total re-write of software originally implemented at Westinghouse Sunnyvale by Rick Naras based on discussions with Marty Adkins and Al Sorrell of Westinghouse, Baltimore. This rewrite was done by: Al Sorrell and Shari Dishop at Westinghouse ESG, Baltimore ----------------------------COPYRIGHT NOTICE--------------------------------- "(c) Copyright 1989 Westinghouse Electric Corporation, All Rights Reserved" Software Registration Number: DSC-080-89SW/A, July 26, 1989 Approved for release to DECUS 1989 Fall VAX SIG Tape, Walter G Sutcliff, ESG Baltimore Patents & Intellectual Property 9/13/89 Ronald G. Clanton, Manager, Software & Information Services 9/19/89 Westinghouse grants a limited license to use and copy this software but retains all rights to reproduce and commercially distribute this software. This software is subject to change without notice and should not be construed as a commitment by Westinghouse. This software is supplied "as-is" and no warranty is given or implied. Neither the authors, nor their employer Westinghouse assume any responsibility for the use or reliability of the software. However, we would be interested in any problems you might encounter or suggestions for improvement. You may contact the authors at: Westinghouse Electric Corporation VAX Support Group PO Box 746, MS 1615 Baltimore, Maryland, 21203 ------------------------------------------------------------------------------ This program will probably NOT be directly usable as it stands, but is intended to serve as a framework for modification and enhancements (although it will execute as provided and will allow you to place the ACES on the files, etc.) The principal problem you're likely to encounter is that it does not interface with your particular account authorization scheme. A PostScript copy of the Fall 89 VA130 presentation slides are available in this directory as DISKCHARGE_HANDOUTS.PS Page 2 A SCA-generated "called-by" tree is included in CALLED_BY.TXT. This illustrates the relationship between the different routines making up the package. For a complete list of options, consult the help file DISKCHARGE.HLP. One of the key elements that each site will need to supply is a routine called FVALIDATE. This performs the account validation, i.e., is this account valid, and is this user permitted to charge it. We've provided a dummy copy as FVALIDATE_DUMMY.FOR which always returns success. Additional dummy routines are provided in MISC_DUMMY.FOR. These include: OPEN_AAF_READ which opens (Read/Only) an Account Authorization File which shows what accounts a user may charge OPEN_ACC_READ which opens (Read/Only) an Account file which shows what accounts are currently valid READ_AAF_USER which checks to see if a user may charge a given account On our systems, DISKCHARGE resides in a directory with the logical name ACC$. It expects the DISKCHARGE_ACC_FILE.FDL file which is used in creating the data file to reside in ACC$ as well as a message file ACC$:DISKCH.MSGTXT which is sent to users who attempt to charge invalid accounts. There are also a number of references to this in the two message files, ACC_ERRORS.MSG and DISKCHARGE_ERR.MSG. DISKCHARGE is implemented as a DCL verb through the use of DISKCHARGE.CLD. The program needs to be LINKed /NODEBUG/NOTRACE and INSTALLed with SYSPRV. The reason for the SYSPRV privilege is that's what's required to access the files in which we have the account authentication info. The module PRIVS.FOR defines the privileges necessary for all functions within DISKCHARGE and contains several routines which grant privileges as needed to access files. You may wish to change what privileges are necessary to perform certain functions. This is the place to *CAREFULLY* make those changes. Two command procedures are provided to compile/assemble and link the source files: COMPILE.COM and LINK.COM. They each take a P1 for optional qualifiers to the FORTRAN or LINK commands respectively. There is also a command procedure RUN_DISKCHARGE_SCAN.COM which we run once a week. This is run on each node of a cluster and kicks off batch jobs into queues named BATCH$SYSTEM or BATCH$DISKCHARGE to use the /SCAN/REPAIR options to collect usage information and "tag" files which have not had an account number set or propagated. It looks for all disks on a system and determines whether they are candidates for data collection. A disk is not checked if it is 1) A floppy (RXxx) 2) A CD (RRDx) 3) A RAM disk (ESExxx) 4) Served from a node other than the one on which the procedure is running 5) A member of a shadow set (unless it is the shadow master) Page 3 6) A member of a disk volume set (unless it is the root volume) We introduced the concept (and logical name) CLUSTER_MASTER to be used to designate one machine in a (NI, CI, or MI) cluster to perform those functions which you only want done once per cluster. Normally, the actual DISKCHARGE batch jobs would only be run on the CLUSTER_MASTER - unless it is a CI/MI cluster and there are multiple machines which are CI-attached. In that case, if a generic queue named BATCH$DISKCHARGE exists, it should feed execution queues on each machine. The DISKCHARGE jobs are then fed to that generic queue to spread the load. The reason for all the local/HSC checking is that the high volume of I/Os would be intolerable over a NI-served disk path. When DISKCHARGE/SCAN/REPAIR is completed, MAIL is sent to each user with files that have bad accounts and to all the holders of identifiers for which no entry in ACCAAF is found. The text of this message is found in ACC$:DISKCH.MSGTXT and a "subject" line is created from within the module SEND_MAIL indicating the nature of the complaint. Note that SETting an account on a directory will cause all new files created under it to have the same account applied, since the ACE has the "propagate" flag set. ========> [VAX89B2.DSPQM]AAAREADME.TXT;1 <======== This submission consists of files needed to manage large numbers of DECserver-based print queues. It is part of a talk given at Spring DECUS, 1989 entitled "Management of DECserver-based Printer Queues". The handout from the talk is included. It also contains a bunch of .TXT files containing escape sequences for various devices, especially the LN03 printer. The files included are: SETUP_LAT_DEVICES.COM This command file reads the definition file LAT_PRINTERS.DEF, and defines all the queues and LAT ports. See SETUP_LAT_DEVICES.DOC and SETUP_LAT_DEVUICES.OVERHEADs for further information. Some user editting might be needed in the RESET sequences in the queue initialization commands; and in the SET TERMINAL settings. CHECK_QUEUE.COM This command file checks all aspects of a DECserver based queue. In particular, it goes out to the DECserver and verifies that its name and port are setup properly. It REQUIRES that TSM (Terminal Server Manager) be installed. MAINT.COM This command file maintains the entries in SYS$LIBRARY:SYSDEVCTL.TLB. As of VMS V5.2, the infamous 'library already open' bug is still in LATSYM. Do a SHOW DEVICE/FILE/NOSYSTEM SYS$SYSDEVICE: and you'll see that the symbiont(s) all have the library open. Hence, you can't touch it. To make changes, you'll have to STOP/NEXT each queue, use @MAINT, then START the queues. I've also included all of my setup escape sequences. The names should be self-explanatory. The ones which might be confusing are: LN03_80COL_PORTRAIT_3HOLE.TXT LN03_132COL_LANDSCAPE_3HOLE.TXT These leave room for a 3-hole punch. LN03_200_80.TXT Used for landscape printing at 200 characters by 80 lines. This is about as tight as can be, and still be readable. LN03_BOX.TXT Draws a box around the page. LN03_TCS_LANDSCAPE.TXT LN03_TCS_PORTRAIT.TXT Page 2 Used for documents containing Technical Characters. The author listed below welcomes any questions or suggestions: Pat Scopelliti Corning Incorporated MP-RO-01-1 Corning, New York 14845 607-974-4496 ========> [VAX89B2.DTRSIG]AAAREADME.TXT;1 <======== Revision VS0059 DATATRIEVE / 4GL SIG Library collection Version: Fall 1989 Author: Members of the DTR/4GL SIG Submitted by: Bart Z. Lederman, System Resources Corp., c/o DOT Transportation Systems Center Cambridge, MA 02142 Operating System: VAX/VMS V4.7 through V5.2, RSX-11M-Plus V2.1, P/OS V2.0. Source Language: DATATRIEVE, FORTRAN, BASIC, C, MACRO-32, RALLY, ACCENT-R. Software Required: Most portions require only DATATRIEVE, ACCENT-R or RALLY as is appropriate: some portions require Macro-32, FORTRAN, BASIC, or C. Keywords: DATATRIEVE, RALLY, ACCENT-R, Graphics, System Accounting - VMS, System Management - VMS, ALL-IN-1. Abstract: This is a combined effort by the DATATRIEVE / Fourth Generation Languages SIG to produce a library of items related to or using DATATRIEVE, RALLY, or ACCENT-R (** indicates new material for Fall 1989) The directory structure has been changed from the previous version because we now have more 4GL material. [.ACCENT-R] ** This contains two collections of ACCENT-R 'stuff', collected by Winston Tellis, the SIG's Accent-R User Group Liason. [.DATATRIEVE] Most of the previous collection, including [.ALLIN1] ALL-IN-1 V2.0 to .2 definitions ** [.FUNCTIONS] DTR functions. New functions include calling utilities like FDL and CONVERT, sending MAIL directly, getting queue names, and others. [.MAGIC] some programs from Magic sessions [.PLOTS] extra DTR plots [.RECALL] program demonstrating DTR call interface [.RSX_ACCOUNTING] read accounting with DTR [.SYSMGR] VAX system management stuff with DTR [.GENERAL] Below this are sections which are of general interest: [.ACCOUNTING] program to convert VMS Accounting records [.NEWSLETTERS] machine-readable copies of past newsletters [.SESSIONS] transcripts of Symposia sessions. [.RALLY] We have two Rally examples here [.DATE_FORMATTING] 'universal' date format handler [.EXTERNAL_LINK] how to call system functions particularly DCL / LIB$SPAWN. [.SIXEL] Don Stern's program to convert ReGIS to SIXEL lets you print DTR or other graphs on LN03 and other DEC printers. Page 2 Changes and Improvements: ACCENT-R submission, more DTR functions. B. Z. Lederman DTR/4GL SIG Library Representative ========> [VAX89B2.HUNTER]AAAREADME.TXT;2 <======== This submission (hurriedly thrown together after DECUS Fall '89) contains the source files for several of my VAX PROFESSIONAL articles over the last couple of years (sort of a "Best of" collection). This submission courtesy of VAX Professional and Hunter Goatley. I hope you find them useful. The following modules have been included in this short submission: CMD.MAR Save, Restore, Flush, and List your DCL command buffer. First appeared in VAX PROFESSIONAL. DCLKEYS.MAR File containing the various modules for "DCL Key Definition Routines", VAX PROFESSIONAL, Feb. 1988. Note: This file needs to be broken up into several files. DCL_RECALL_PATCH.TXT Instructions for the following patch files (first appeared in VAX PROFESSIONAL, December 1988). DCL_RECALL_V5_0.PATCH A PATCH file to patch DCL.EXE for VMS V5.0 so that more than 20 commands can be recalled. DCL_RECALL_V5_2.PATCH A PATCH file to patch DCL.EXE for VMS V5.2 so that more than 20 commands can be recalled. HG$GET_INPUT.MAR Callable routine that can be called instead of LIB$GET_INPUT to allow command recall (first appeared in VAX PROFESSIONAL, February 1989. See comments for calling sequence. LOGIN.MAR A VMS LOGIN program that defines symbols, logicals, and a bunch of other things to replace LOGIN.COM. First appeared in VAX PROFESSIONAL (April 1989) and was the subject of DECUS Fall '89 Session VA113 in Anaheim. SET_DCL_PROMPT.MAR A callable routine to let you change your DCL prompt. Extracted from LOGIN.MAR. I welcome any comments or suggestions you may have. Hunter Goatley Senior Systems Programmer Clyde Digital Systems 371 East 800 South Orem, Utah 84058 (801) 224-5306 ========> [VAX89B2.KOOKER]AAAREADME.TXT;1 <======== Programs submitted to the DECUS library by Don Kooker Manager of Data Processing American Board of Internal Medicine 3624 Market St. Phila. PA 19104 (215) 243-1564 All software developed under VAX PASCAL and compiled under VMS 5.0.2. Known to run on VMS 4.6 & 4.7 if you recompile. Most of the software requires terminals that accept VT100 escape codes (VT220 etc.). Info specific to the programs can be found in the .COM and .STARTING files. [.GAMES]TREK Single user star trek game. Play against the VAX. [.GAMES]TREK_CLIENT Multiuser network version of star trek. Play against [.GAMES]TREK_SERVER other users anywhere on your decnet network. [.UTILITIES]SHEET A simple spread sheet program [.UTILITIES]CAL A simple calendar program [.MONITOR]MONITOR.COM Gather system performance data for analysis [.MONITOR]FORMAT_MONITOR Extract monitor data from monitor.com, perform analysis, and store for future use. Rule based system allows you to produce summary reports of system performance and needed sysgen changes. [.MONITOR]CHART Display graphs of various monitor data across time and/or nodes (requires VWS software and workstation) [.MONITOR]QUERY Perform analysis of a node on a given day. [.MONITOR]CORR Generate correlation analysis between all monitor components (see whats related to what). ========> [VAX89B2.LEVINE]AAAREADME.TXT;1 <======== Submission for Fall 1989 (Anaheim) VAX Sig Tape Michael N. LeVine Naval Weapons Center China Lake, Ca 93555 levine%fidler.decnet@nwc.navy.mil (619) 939-2614 avn 437-2614 [LEVINE.CHECK] Utility routine to check system files for changes. Makes more checks than the CHECKSUM utility. See document in sub dir. [LEVINE.COMPAND] Data compression/expansion utility based on the DEC VMS DCX utility routines. Document included in subdir. [LEVINE.INDEX] INDEX-FORTRAN Cross referencer and flow chart generator V3.29 for more information see the document generated by the command file @DOCUMENT in the subdirectory. [LEVINE.MACRO] Macro preprocessor. Documentation in sub dir. [LEVINE.NEWS] Updated version of previously submitted newsd utility. Documentation included in sub dir. [LEVINE.NET] Revision of my show net utility previously submitted. Provides a compact listing of nodes with user selectible display and sort order options. Version available that works on non-routing nodes.Document supplied in sub dir. [LEVINE.VT300] VT3xx utilities and demos. See documentation in the subdirectory VT300. ========> [VAX89B2.LOMASKY]AAAREADME.TXT;2 <======== AAAREADME.TXT 10/31/89 Brian Lomasky c/o TERADYNE, INC. 321 Harrison Ave., Mail Stop H87. Boston, MA 02118 (617) 482-2706, x3259 DEC's AUTHORIZE utility has two reporting options for the SYSUAF.DAT file: 1) Too little (AUTHORIZE LIST/BRIEF) 2) Too much (AUTHORIZE LIST/FULL) This is almost useless for meeting the system manager's requirements of maintaining and monitoring the SYSUAF and its users. -------------------------------------------------------------------------------- SYSUAF V3.02 is a reporting program for the SYSUAF and RIGHTSLIST data files. Simply turn on READALL (or equiv) privilege and run SYSUAF.EXE. (Do NOT install this program with privilege; otherwise, any user could execute it). A menu of 18 reporting options (listed below) will be displayed. The best way to see what is available is to try them and see what data is displayed. Then use the ones that suit your purpose. You can print reports either to the screen (formatted for 80 columns) or to a data file (SYSUAF.LIS; formatted for either 80 or 132 columns, depending on which report option is selected). (Note that some of the options create SYSUAF.LIS as a DCL command procedure which can then be easily edited and then executed). SYSUAF.EXE will try to open SYS$SYSTEM:SYSUAF.EXE and SYS$SYSTEM:NETUAF.EXE (or SYS$SYSTEM:NETPROXY.DAT), unless the logical name of SYSUAF and/or NETUAF (or NETPROXY) is defined, in which case the SYSUAF.EXE program will try to open the SYSUAF and/or NETUAF (or NETPROXY) files pointed to by the logical name(s), respectively. << List of SYSUAF Report Options: >> SYSUAF REPORT PROGRAM V3.02 --- Report Type: (Except for options B and T, all DIS-USER'ed accounts will be omitted) A) Owner, Username, UIC (including sort by UIC) (incl Default Dir if to a file) B) Username, Flags (incl sort by UIC) (incl Acct Expire + PW Dates if to a file) C) Wsdefault, Wsextent, and Wsquota (incl ENQLM, FILLM, ASTLM, BIOLM, DIOLM, BYTLM, PBYTLM if to a file) D) Usernames only (No report headings are printed) E) Usernames, dates, and UICs who have ever logged in (No report headings) F) Usernames who have never logged in (No report headings are printed) G) Usernames and dates who have not logged in within the past 6 months H) Privileges (Default AND Authorized) (132-columns) I) Fill Bytes Report (to a file) J) Username, UIC, Default Dev/Dir, LGICMD (ACCT if file) (incl sort by UIC) K) Same as J) but also lists all identifiers held by each user (sorts by IDENT) L) Creates AUTHORIZE command file of: REVOKE/IDENTIFIER identifier(s) username M) AUTHORIZE "MODIFY username/" command file of all usernames N) AUTHORIZE "MODIFY username/LGICMD=file-spec" command file of all usernames Page 2 O) AUTHORIZE "MODIFY username/DEVICE/DIRECTORY/PWDMIN" cmd file of all users P) AUTHORIZE "MODIFY username/WSDEFAULT=value/WSQUOTA=value/WSEXTENT=value /ENQLM=value/FILLM=value" command file of all usernames Q) DISKQUOTA "ADD [uic]/PERM=999999/OVER=500" cmd file for all users for DUA0: R) Report of all accounts having any user-data S) Highly-privileged users, privileges, UICs, and privileged proxies T) Usernames who have been DISUSER'ed (No report headings are printed) U) Usernames and dates who have logged in within the past 6 months V) AUTHORIZE "MODIFY username/PGFLQUO=quota/BYTLM=quota" command file W) AUTHORIZE command file to dupl a user's account + identifiers (less Password) X) AUTHORIZE command file to dupl a user's encrypted password info on a node: ------------------------- The VM.FOR source code demonstrates how to use the run-time library routines to write and read sequential lists of data to virtual memory in your program region. VM.EXE is the compiled and linked executable of the source code, which can be executed to see the action of writing and reading virtual memory lists. This code was discussed at the Fall 1989 DECUS Symposium held in Anaheim, CA on 11/8/89. The session code was "VA072" and was called "Accessing Virtual Memory From High-Level VMS Languages". ----------------------- DUMP_VMSMAIL_PROFILE.EXE is a reporting program which will display the contents of the SYS$SYSTEM:VMSMAIL_PROFILE.DATA file. DUMP_VMSMAIL_PROFILE.BAS is the source code (written in VAX BASIC V3). ========> [VAX89B2.MEADOWS]AAAREADME.TXT;1 <======== The files in this submission represent a snapshot of the files offered via the BITNET fileserver (VMSSERV@FHCRCVAX). They are offered here for the benefit of the many people who do not have access to the "Internet". If you do have access to BITNET (either directly or via a gateway on the Internet), then you can send mail to the account VMSSERV@FHCRCVAX containing the line HELP. You should then be sent a file which describes how to use the file server. The file MAKE-ALL.COM will build the MAKE utility, and then procede to build the rest of the utilities. Many of the utilities are set up to be defined as either real commands, or as foreign commands. These generally have a file with a name similar to utility_CLD.CLD. This file can be copied to something like utility.CLD and then edited, so that you may do a SET COMMAND on that file to define the command. Alternatively, you may use a symbol of the form "utility := $wherever:utility". All of these files were compiled and linked under VMS V5.2. The C compiler used is the VAX C V3.0 compiler, everything was compiled with /NOOPTIMIZE. To be honest, I haven't had a chance to test all of these utilities as compiled with this version of the compiler. [.BITNET] This package contains two short programs. GRAB is an example program that captures broadcast messages and simply outputs them to a file pointed to by the logical SYS$OUTPUT. LPUNCH is a program that converts files in listserv punch format. It accepts a list of wildcarded filenames, and converts the files that are in lpunch format. [.DECNET] This package contains some examples of using the QIO interface to NETACP to retrieve information. Included is a short program that displays a list of known nodes (similar to NCP SHOW KNOWN NODES), and one that displays a list of links. A commented version of NFBDEF.H is included. [.FILE] File is a utility which allows you to display and or change header information about a file. It is most usefull when you have somehow transferred a file from a non-VAX/VMS system to a VAX/VMS system (or vice versa), and you need to change characteristics of the file, such as changing the record size, or putting fortran carriage control back on a file. This utility does not create a new version of a file, it changes the information stored in the file header, making it quite fast. A good knowledge of RMS is usefull (necessary) when using this tool. Requires headers from [.HEADERS]. [.FIND] FIND allows you to search very quickly through the file system for files based on a wide variety of criteria. By mapping the index file into memory it performs The Fastest searches of any utility like it. Basically you can search based on any attribute found in the file header (creation date, amount of fragmentation, logical block numbers, whatever), given a minimum and maximum value. You can perform AND or OR searches on multiple criteria. You can Page 2 also control what information will be displayed about the file. Requires headers from [.HEADERS]. [.HEADERS] This contains various headers used by the utilities. These files were all made with UNSDL, so if you have UNSDL, you don't really need this. Note that the other utilities look for these header files via the logical name UTIL$HEADER. [.KFE] KFE is a short example program for accessing the known file database (installed images). Currently it simply lists the known images. [.MAIL] MAIL contains a few example programs using the callable mail interface of VMS V5.0. Included are CHECKMAIL, which checks for and gives a brief display of new messages, FIXCOUNT which scans the mail database and fixes everyones new mail account according to how many new messages they Really have, and LISTUSERS which simply lists a little info about all the records found in the mail database. Requires headers from [HEADERS]. [.MAKE] This is the MAKE utility that I use to build these utilities. [.MENU] This is a simple single column or free flow menu program. It has quite a few nice features, including hidden commands, ability to force commands, ability to add new internal commands, plus many others. [.OBJECT] OBJECT is an example program for getting information out of object files. It's a rewrite of an old program which I use to get simple dumps of symbol tables (.STB files). [.SD] SD is a simple SET DEFAULT. One feature this has that most others don't is the ability to specify a wildcarded filespec and it will find the file and move to the directory where the (first matching) filespec is found. [.STATUS] STATUS is a fancy cluster/network wide SHOW USERS type of program. You can specify what you want to see, and how you want to see it. It can display any GETJPI item, several GETSYI items, plus several other things. You can select which processes you want displayed. It is also very easily modified. If you do make modifications, I would be happy to try and add them to this distribution in the future. Requires headers from [HEADERS]. [.UAF] UAF does for SYSUAF.DAT what FIND does for INDEXF.SYS. It allows you to search for users based on multiple criteria. Almost any field found in the UAF can be used for selection and/or display. [.UNMESSAGE] UNMESSAGE decompiles message files. Note, the decompiled Page 3 message file will not be exactly the same as the original, as certain information is not stored in these files. However, the message text files created can be rerun through the message compiler (MESSAGE) and the resulting file will produce the same results as the original. [.UNSDL] UNSDL is a utility to aid in creating include files from the system definitions given in the text library SYS$SHARE:STARLETSD. It works in conjunction with the SDL/NOPARSE/LANGUAGE=language command to generate include files for any language you have a language generator for. Currently I have written a 'C' language generator. There is a lengthy description included to aid people in writing other language generators. [.VERB] VERB is a utility to make it possible to modify (or simply look at) command definitions. If you have suggestions, bugs/complaints, feel free to contact me. Joe Meadows Jr. Fred Hutchinson Cancer Research Center 1124 Columbia St. Seattle Wa. 98104 voice - (206) 467-4970 bitnet - JOE@FHCRCVAX arpa/internet - JOE%FHCRCVAX.BITNET@OLY.ACS.WASHINGTON.EDU ========> [VAX89B2.MNOTES]AAAREADME.TXT;1 <======== MICRONOTES from one of DEC's internal conferences ========> [VAX89B2.MPCALC]AAAREADME.TXT;3 <======== Infinite Precision Calculator This program comes from an old RT-11 submission to DECUS, namely DECUS #11-369, and implements a VERY extended precision calculator (it will calculate numbers up to about 100 digits long as built). I modified it slightly and pulled out the original ADD, MUL, and DIV routines in FORTRAN from the CALC.ORIG file (which contains the documentation and the original version listing) so that MPCALC runs in native mode on VMS. It supports many trig and other "Scientific" functions, though it is not particularly fast for heavy batch use. The original program was written by Markku Heikkinen, from Finland. Glenn Everhart ========> [VAX89B2.NFREED]AAAREADME.TXT;1 <======== DELIVER - Programmable delivery interface for VMS MAIL Written by Ned Freed, 10-Oct-1985, modified 30-Apr-1986 and again 26-Sep-1986 and again 17-Dec-1986 and again 14-Jul-1989 DELIVER is an adjunct to VMS MAIL which makes it possible for incoming mail messages to be handled and processed automatically based on information provided in a user-supplied file. Different actions can be taken based on a message's address, subject or contents. These actions include delivering the message, forwarding the message or even invoking a DCL command script to perform some complex operation. Any actions taken occur immediately upon receipt of the message; the user does not need to log in for DELIVER to operate. ========> [VAX89B2.NIELAND]AAAREADME.TXT;1 <======== This program checks users passwords against some common words and names that are often used as passwords and against an on-line dictionary. The "idea" for this is based on the Arpa Internet Worm that made the news this past year. A report on the INFO-VAX Mailing list (see WORM.MES) talked about how the worm broke into accounts. The idea of checking passwords, for security reasons, came from that report. To run the programs you need to have enough privlige to read the information on the users to be checked from the UAF file using SYS$GETUAF functions. Both primary and secondary passwords are checked if they exist. The users to be checked are listed in the file USERS.DAT. The first line in USERS.DAT is the minimum password length for a password (read from the various source files) to be tested. The program allows up to 500 users to be listed. All the usernames are read in at the start of the program and the appropriate data read from the UAF. If a passwordis found it is stored in a data array and written out in a report after all the words in the dictionary and passwords files have been tested for all users. ========> [VAX89B2.NSWC]AAAREADME.TXT;1 <======== This is the Fall 1989 DECUS VAX SIG Tape submission from Alan L. Zirkle Naval Surface Warfare Center Dahlgren, Virginia 22448 (703) 663-8023 The submission includes: 1 -- An update to NSWC RUNOFF, with changes since the last sub- mission (Spring 1989), along with a DOCUMENT. NSWC RUNOFF is based on, and derived from, Bonner Lab Runoff (VAX version) from the VAX86C VAX SIG Tape. The files for this are in subdirectory [.RNO]. See [.RNO]000README.1ST. NSWC RUNOFF (RNO) is an alternative to VMS RUNOFF (DSR). It has many capabilities not in DSR, including the ability to use macros and the means of easily using the features of whatever output devices are available (i.e. RNO understands escape seq- uences and uses them in a structured manner). 2 -- MAILUAF, a procedure to maintain SYS$SYSTEM:VMSMAIL_PROFILE.DATA, which controls the receiving and forwarding of VAX MAIL. Some system managers are not aware that removing users from SYSUAF.DAT does not remove all traces of them; they still have entries in VMSMAIL_PROFILE.DATA until you manually remove them. DIGITAL provided an 'example' procedure SYS$EXAMPLES:MAILUAF.COM in VMS Version 4, on which mine is based. My version provides additional functions and can be used in noninteractive situations. There is no longer an example in SYS$EXAMPLES, because some of the functions can be done within MAIL (SET FORWARD/USER for example). I like my way better. See notes in MAILUAF.COM for details. If you have any problems with this submission, give me a call. ========> [VAX89B2.PAVLIN]AAAREADME.TXT;1 <======== DISM-32 Native Mode Disassembler, V4.4 DISM32 is a program that runs on VAX/VMS systems and has the function of converting executable, shareable, and system images created by the VAX/VMS Linker back into MACRO-32 source files. ETHERMON Ethernet monitor ETHERMON is a software implementation of an Ethernet line activity monitor. It uses any VAX/VMS DEC-compatible Ethernet interface to collect the data, and reports statistics in a form similar to the VMS MONITOR utility. It also can collect Ethernet data for post-processing by a user-supplied offline program. ETHERMON can determine symbolic identifications of remote nodes automatically, or have them defined manually; these symbolic identifications are used in ETHERMON's displays and reports. ETHERMON can also recognize equipment other than DEC's on the Ethernet. Andrew Pavlin General Electric Company Government Electronics Systems Division Court Street Plant, Bldg. 3, Rm. 11 P.O. Box 4840 Syracuse, NY 13221 phone: (315)456-1087 ========> [VAX89B2.POTTER]AAAREADME.TXT;4 <======== Decus Submission to the Fall 1989 VAX SIG Symposium Tape. Andrew W. Potter Information Systems and Computing Ross Memorial Building Rochester Institute of Technology P.O. Box 9887 Rochester New York, 14623-0887 (716) 475-6994 Internet: awpsys@ultb.isc.rit.edu Bitnet: awpsys@ritvax.bitnet All files in this directory are VMS save sets backed up with /group:0 to keep the size down. Example of how to restore a kit. $ Create/dir [.net_what] $ backup net_what.bck/save [.net_what] 1) DCL_PIPE This is a resubmission of a simple unix like pipe facility. I'm sure there are better ones. This one creates two subprocesses and pipes the output of one process to the input of the other via a mailbox. 2) DECNET_COPY A preprocessor for COPY to allow you to securely type the password into the decnet the access control string. 3) LAT_HOST_HELP This is an example of what you can do with lat dedicated application ports. We use it to provide a service called HELP on the LATs that users can connect to for more detailed info 4) NET_WHAT The newest version of NETWHAT. A network wide show users, finger-like, system status reporting facility. Works to VMS 5.2. A small bug is that VMS 5.2 stopped reporting NULL as a process in $GETJPI. This means that WHAT drops the first process after the swapper. Its an easy fix. NETWHAT would like to have (not required) the Load Average Driver written by Dave Kashtan and submitted to the info-vax mailing list by Ken Adelman. Page 2 Page 2 5) RENAME_BY_FID A simple utility to rename a file by its file id. This is very handy if you have an orphaned file on a disk and you don't want to lock up the disk with ANAL/DISK/REPAIR for 30 minutes. What you do is ANAL/DISK /NOrepair the disk which does NOT lock the volume, but WILL report the file ids of lost files. You then use RENAME_BY_FID to enter the file into a directory again. 6) SETUSER The ever present SET Username facility. This one changes the Username, UIC, default directory and device and Job Table ownership. It uses a kluge to find the VMS kernal routine LMN$SEARCH_LOG. It works fine through VMS V5.2. 7) TAIL A Fast tail utility for VMS. ex: Tail/Last=30 filename will dump last 30 lines of "filename". It does NOT read the entire file so it is VERY fast. 8) VMS_COMPRESS A VMS file compression facility based on the P.D unix "compress" program. It can UNcompress files compressed on Unix. It can compress any RMS File format except for Indexed. 9) WHERE_AM_I A simple report of system status of the machine you are on, where you came from and what the loads. 10) ACL_SCRUB A very handy utility that will scrub a disk volume of any acl entrys on any files that no longer point to a valid identifier. This is very useful to run on a disk after you have removed a lot of user accounts. Do NOT run this program on a system where you do not have a VMS RIGHTSLIST file. If you do, you will nuke all your UIC based ACLs. Page 3 This program also REPORTS any files belonging to a UIC that does not have an identifer. This program is a modification of the INDEX program written by Joe Meadows and submitted to previous decus tapes. ========> [VAX89B2.RANKIN]AAAREADME.TXT;1 <======== Miscellaneous VMS software for the DECUS Fall'89 SIG tapes. Pat Rankin Nov'89 Calif. State Legislature Internet: rankin@eql.Caltech.EDU Bitnet: rankin%eql@CITiago.bitnet SPAN/HEPnet: EQL::RANKIN (EQL==5.970) ----- Programs: EXTRACT -- utility program to select records from the beginning of a file, via /HEAD, from the end of a file, via /TAIL, or from the middle, via /RECORD=(START=m,END=n,COUNT=k). Can also select specified columns, via /COLUMN=(m:n,...), perform various modifications such as upper/lower case conversion and blank stripping or compression (/EDIT), and translate to or from EBCDIC. Wildcard support is provided; uses standard DCL syntax. XSHOW -- "extended show": utility program(s) to implement some missing SHOW options. Implemented as a 'native' DCL command (requires SET COMMAND to operate). Includes an alternate queue display (XSHOW QUEUE) with greater flexability in selecting and screening queues and jobs than V5.x SHOW QUEUE. Works on V4.x as well as VMS V5. [XSHOW.EXE, XSHOQUE.EXE, VERB.EXE, XSHOFILES.EXE] ETHERNET -- program to monitor packets transmitted on an Ethernet local area network. Rewritten for higher throughput and more versatility than the original, which was posted to comp.os.vms by the author, Michael Dorl. (PHY_IO privilege required.) SXLPS -- filter program to convert a file containing sixel graphics (for example, the result of VWS "Print Screen" on a VAXstation) into Postscript[tm]. Optimized for better performance over the original, which was posted to comp.os.vms by the author, George J. Carrette. RC -- program to count and display the number of records in a file; quite fast, using RMS from MACRO-32. Supports wildcards. SMG_SUPPORT -- short program to create a logical name table containing entries for all types of terminals supported on the system. Can simplify terminal recognition from DCL. UNO -- simulation of the card game "Uno"; screen-oriented; [.EXE only] user plays against one to five opponents controlled by the computer. Instructions are built-in; typical game lasts 15 minutes. Runs on VMS V4.x and V5.x. ========> [VAX89B2.RUCKER]AAAREADME.TXT;1 <======== ^ ^ / \ / \ / \ / \ / O \ / \ --------------- This submission from Medtronic, Inc. contains the following utilities. They were discussed in the session "So Much To Do, So Little Time ..." at the regional DECUS symposium in Minneapolis, MN on September 28th, 1989. 1. MAINT. This provides a user-friendly interface to general system management tasks. Its features include adding/deleting a user or UIC group from the system, reenabling a user's signon, modifying a user's diskquota, displaying all active signons, making a user's signon captive / uncaptive with respect to using All-in-1, and giving our production fiche library world read access (needed for our batch production environment below). Its intended audience is system managers and "Help Center" (trouble desk) personnel. *** NOTE: Full documentation is provided in OPERDOC. *** 2. BACKUP/RESTORE. These utilities provide a user-friendly interface to backing up and restoring disks. Using online journal files created during the backup, restores are performed by first verifying the file (or files) was backed up and then performing the actual restore. *** NOTE: Full documentation is provided in OPERDOC. *** 3. OPLOGEXTRACT. (This is in [.OPLOG].) This program provides a summary of all events in the SYS$MANAGER:OPERATOR.LOG files, with usually 1 line per event to save space. At our shop, this is appended to historical files and then retained indefinitely. Used in coordination with the "SET AUDIT" command, this is useful for tracking changes to the UAF, when breakins were attempted, etc. A summary report of selected events (the actual selection is under site control) is also created and sent to system manager. As we cycle our OPERATOR.LOG files nightly during backup, I automatically get a summary report of the previous day's activities first thing the next morning. The versions included are for clustered and non-clustered environments between VMS 4.7 and 5.2. Since we just installed VMS 5.2 and substantial changes were made to the format of the OPERATOR.LOG file, the 5.2 version formats most messages correctly, but hasn't been thoroughly tested. This will be resubmitted at a later time with an updated version. 4. Performance Monitor. (This is in [.PMON].) These programs are based on MONITOR, a free alternative to VPA and SPM. They provide a flat file for input to a customized capacity planning and performance database, which is not included. It also produces an exception report for those items which exceed a given tolerance. 5. DECnet Monitor. (This is in [.DNMON].) The purpose of these programs is to gather statistics about the DECnet environment and summarize them into historical files for later manipulation by a capacity planning and Page 2 performance system, which is not included. Samples of the output reports are included. These programs work whether the lines are synchronous DECnet, asynchronous DECnet, or Ethernet. 6. Batch Production Environment. (This is in [.BPROD].) We have a need for scheduling large batch jobs during non-prime hours. The jobs must follow a schedule and certain order, like a traditional mainframe production environment. We also need to charge back for system resources. 7. Q Utility. This allows all users to get basic information about all batch and print queues on the system. Certain queues may be excluded. There is usually 1 line per entry. This is an updated version of the original submitted on the 1987 Fall VAX SIG tape. 8. FTNLIB. This FORTRAN library contains callable subroutines that include number conversion between display and binary formats with options for left- or right-justification, sign overpunch (a la COBOL), leading, or trailing, and space- or zero-filling; banner page subroutine, to simulate a VAX banner page (used by our Xerox interface program); and sending and receiving operator messages. 9. Operator Documentation. (This is in [.OPERDOC].) These files are all of the documentation that we use in house. It includes information about normal system operations as well as documentation of our utilities, all of which are included in this saveset. 10. Miscellaneous. (This is in [.MISC].) These include programs to convert from carriage return carriage control to FORTRAN carriage control; a BRIDGE utility to exchange large amounts of data via tape between our VAXes, IBM S/38 and AS/400, and Sperry 1100 systems; shared printer routing between the Sperry, Prime, and VAX systems; and an interface to our Xerox 8700 laser printer. October 31st, 1989 Roger G. Ruckert Senior Software Analyst Medtronic, Inc. Mail Stop B100 7000 Central Ave. Minneapolis, MN 55432 (612) 574-4742 ========> [VAX89B2.RXS]AAAREADME.TXT;2 <======== lt_routines : LAT Application Port maniulation routines. Submitted by Robert Simon Network Equipment Technologies Santa Barbara, CA November 6, 1989 Abstract: When a program wants to utilize a serial port on a terminal server for general purpose communication, it uses LAT Application Ports. Before a program can use use the application port, it must successfully connect the application port to the appropriate terminal server port. The routines in this submission provide a simple interface for programs written in C, FORTRAN, or almost any VMS programming language to manipulate LAT application ports. These routines hide the QIO interface provided by VMS and provide user friendly procedure calls. Some C and FORTRAN examples are included. ========> [VAX89B2.SESSINDEX]AAAREADME.TXT;1 <======== The text file in this directory contains an index of many DECUS symposium sessions and their titles. ========> [VAX89B2.SIT]AAAREADME.TXT;1 <======== From: Computer Center Stevens Institute of Technology Castle Point Station Hoboken, NJ 07030 201-420-5479 By: Peter Roome PROOME@VAXA.STEVENS-TECH.EDU David L. Stevens DSTEVENS@VAXA.STEVENS-TECH.EDU other former Computer Center Staff Disclaimer: The following software is being distributed in only source form to eliminate the concern of viral infection. We do not certify the accuracy of this software, nor do we intend to offer support for any of the products contained herein. We would however appreciate that any modifications be sent back to us so that we may incorporate them into the original source code. Contents: Directory [SIT.CLUSTER_UTILS] [.BATCH_CHAINING] Command procedure to allow chaining of batch jobs without modifying the original command procedure [.CHECK_SOFTWARE_STARTUP] Utility used to load software in a heterogeneous cluster at startup time. [.LIBRARY_EXTRACT] Utility to perform a complete extraction of a library. [.LOGIN-CHECK] Utility that does some basic checking on the account before allowing the user to login in. [.NET_COPY] Prompting utility for network copying, similar to DEC-10 NFT. [.PRINTER_SYMBIONT] Modifications to the default VMS Print Symbiont. This program implements a different Burst & Flag page than defaulted by the standard VAX Print Symbiont. Page 2 Directory [SIT.GENERAL_C_MODULES] A collection of generic VAXC modules and Include files used to create an easy and convenient interface to tasks that are often required, but difficult to accomplish. Directory [SIT.LSE] Mail Environment definition for use of LSE as ones default VAXMail editor. Directory [SIT.MIC] Command file activation utility. Procedure that allows user to store names of commonly used command procedures and a command word to start them, but not create a large process symbol table to hold all the symbols. Directory [SIT.QMS] Queued Mail System interfacing DECnet (SMTP & Mail 11), BITnet and CMU TCP/IP. Utility internally determines what network the mail message is destined for and routes it to the specific network mail queue for delivery. The Mail System requires very limited set up and initialization info to be specified. ========> [VAX89B2.SJBROWN]AAAREADME.TXT;2 <======== From: ----- Simon Brown Freelance Computer Consultants Isle Of Man Two submissions, 1) Total rewrite and update to SWING, written in C, called C_SWING (This is an excellent directory maintenance utility) 2) A very basic Queue Monitor, Q_MONITOR For both pieces of software manuals are included. Regards, Simon ========> [VAX89B2.SNAP]AAAREADME.TXT;1 <======== DOCUMENTATION FOR snap BY DANIEL J. GRAHAM SNAP is a process control program for the system manager. It allows many different kinds of viewing and manipulations on user or system processes. SNAP is a very fancy SHOW USERS. it gives a useful screen of information about each user process on the system. (Optionally, it also gives the same stuff about system processes.) You can get a bunch of statistics on the process, you can view what is going on on a terminal or write to that terminal's buffer, you can delete a process, force an image exit on a process, change priority, suspend or resume a process. WARNING: Do not install this program with privs. It is very dangerous and could seriously compromise your system's security if used by someone with intent to do damage. Do not make it available to any but trusted systems people. ----------- Dan Graham Dynamics Research Corporation, Andover, Ma (508) 475-9090 x2352 Internet address: graham@drcvax.af.mil ========> [VAX89B2.SWAN]AAAREADME.TXT;6 <======== Submission to the Fall 1989 (Annaheim) DTR/4GL Sig Tape David M. Swan Aurora Software Development Unit CFB Greenwood Greenwood, Nova Scotia, CANADA B0P 1N0 (902) 765-3391 (lcl) 2197 [.DFI...] DFI (Datatrieve Forms Interface) and DMI (Datatrieve Menu Interface) DFI is a FMS-like interface for Datatrieve that allows sites without FMS to support screen based forms and field editing for their Datatrieve applications. Also supports print-to-form with user definable forms. DMI is a menu driver for Datatrieve. Each menu item either translates to a Datatrieve command or brings up another menu. Menus are fully user definable. These features can be built & used by an unprivleged user or can be installed system wide. [.DFI.SOURCES] FORTRAN sources (DFI and DMI combined) [.DFI.DOCUMENTS] documentation [.DFI.BUILD] build procedures [.BANNER...] Short, brute force program to produce banners for inclusion in source code or for output. NOTE: Although useful in and of itself, this program is included specificly because it demonstrates the technique to use when you want to have full CLI parsing from a foreign command thus avoiding the overhead of doing a SET COMMAND. Fortran source, objects included. [.MAGIC] Text for two magic session submissions (DTR/4GL and VMS). ========> [VAX89B2.SXES_SOURCE]AAAREADME.TXT;1 <======== DTC and CALENDAR These are updates to DTC (Desk Top Calendar) and a calendar print routine to go with it to print appointments. ========> [VAX89B2.TEDDER]AAAREADME.TXT;1 <======== These programs are used as a handy way to find either the holders of a specific Identifier, or to find the Identifiers held by a certain user. They are written in COBOL, and make use of calls to $FIND_HELD and $FIND_HOLDER. We have set up symbols to run these as follows: $ find_holder :== $find_holder $ find_held :== $find_held To run them, simply type: $ FIND_HOLDER rights-identifier-name to get the holders of the rights identifier or $ FIND_HELD username to get the identifiers held by that username To build the executables, $ cobol find_holder $ link find_holder $ cobol find_held $ link find_held These have been tested and used on a VMS V4.7 system. I have not had the time to test on a V5.* system, but I would think that they would work. ========> [VAX89B2.UALR]AAAREADME.TXT;1 <======== ******** ******** ***** ****** *********** * * * * * * * * * * * * * * * * * * * * **** * * * * * * * * * * * * * * * * * * * * * * * * * * **** * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * ***** * * * * * * * * * * * * * * * * * * * * * * * * ******* * * * * * * * * * ******* * * * * * * ************ * * * * * * * * * * * * * * * * ************ ****** ****** **************** ****** **** Submissions by: Dale Miller University of Arkansas at Little Rock Data Center 2801 S. University Little Rock, AR 72204-1099 (501) 569-8714 DOMILLER@UALR.BITNET To further your computing experiences, the following directories are enclosed for your inspection and use: [.ETAPE] - The latest version of an old favorite. This ETAPE has a few fixes in since the last one on DECUS. Converts to/from EBCDIC, non-standard ASCII and Honeywell GCOS BCD tapes. Added in this version: Packed decimal support, bug fixes, reformatting records while translating. [.GETUAI] - An AUTHORIZE - SHO {username} clone. [.POSTERS] - The latest supplement to the UALR poster collection. 55 new printer posters for your consideration. [.SQUEUE] - SHOW QUEUE with a few more qualifiers. Badly (actually non-) documented, but useful. Permission is given to all DECUS members to copy, distribute, and use all files contained in this submission. Not to be sold! ========> [VAX89B2.XMODEM]AAAREADME.TXT;1 <======== This is USERLIB subdirectory .CPM.XMODEM Here is a Fortran version of XMODEM for CP/M file transfer using Ward Christensen protocol, runable on VAX/VMS V3.0 and higher. This directory is served out by BITNET and by Internet MAIL. You can MAIL commands in the body of an Internet MAIL message to VMSSERV@PHAST.PHYS.WASHINGTON.EDU or BITNET SEND a command to VMSSERV@UWAPHAST. Try HELP or DIR. Current version XMODEM 5.70 Nov 2, 1989 Error status returned to DCL on exit, opens outputs SHARED. Faster CRC in MACRO, fewer QIO's, all timeouts implemented, supporting BATCH (multiple file transfer) and internal TEXT conversion 'on the fly' without temporary files. See XMODEMFOR.DOC and XMODEM.HLP . See ULIB:[MACINTOSH.MACX] for macintosh version to use with MacTerminal This has been proven to work in SPAWNed and LIB$SPAWNed subprocesses. The normal file format received by XMODEM is 128 byte fixed length records (unless the T option is used for automatic text file conversion). These files may PRINT and TYPE reasonably, but to edit them on your VAX they must be converted to ordinary VAX text files by FROMXMOD. If you forget which files have been converted by TOXMOD or FROMXMOD, just do a DIRECTORY/FULL to see the file format on the VAX. Similarly XMODEM will only send text files reasonably using the TEXT option or if they have been converted to CP/M form by TOXMOD, otherwise the FORTRAN input statements in XMODEM will append lots of blanks to each line of text and no carriage returns will be sent. Problems: Batch mode: Long VAX filenames are truncated at 8 characters before the type. CP/M filename characters converted to "A" if invalid on VAX. Sometimes it may be advisable to DEFINE SYS$ERROR filename to get error messages that may not go into XMODEM.LOG when XMODEM crashes due to unexpected system error such as divide by zero, file open failure, etc. during a file transfer. Since XMODEM.LOG is kept in current directory, S *.* will crash XMODEM when it tries to send XMODEM.LOG since it is open for write already. A version of MODEM7 for the VAX is also available. If anyone hears of XMODEM or MODEM7 available for other MAINFRAMES I would like to hear about them. Send mail to me at the address below. History: I translated TMODEM.C ( a Unix C language version of XMODEM ) into Fortran then used the XMODEM.ASM version 5.0 8080 source code as a guide for timeouts and error handling, and translated the specific CRC algorithm used there to Fortran. Richard Conn added my CP/M - VAX text conversion routines to XMODEM.FOR . I speeded up SEND by making Page 2 it do a single QIO per block. Steve Gill completed timeout implementation. Converted to faster CRC from Byte Magazine Nov.1987 P.339 by Bela Lubkin & Jerry LeVan (translated to Macro by Gordon Davisson). The program has been in use for many years here and on several other VAXes scattered across the country. An old version is VAX-96 in the DECUS (DEC User's Society) library. Various versions are on various DECUS Symposium VAX tapes. Especially Fall. A very old version on SIG/M library. J. James (Jim) Belonis II Computer Cost Center Manager Physics Hall FM-15 University of Washington Seattle, Washington 98195 (206)-545-8695 BELONIS@UWAPHAST via BITNET belonis@phast.phys.washington.edu via Internet Description of of the files in this directory. AAAREADME.DOC This document ABSTRACT.DOC DECUS Library abstract BATPROT.COL This is a description of the batch protocol for XMODEM. BINXMOD.FOR Converts arbitrary record size binary files to 128 byte records. CRC.C Two fast versions of CRC calc routine in "C" language. CRC.FOR Obsolete CRC routines in FORTRAN replaced by TABLE.MAR . EXETOXMOD.FOR Converts .EXE file (512 byte fixed length) to 128 byte records. FROMXMOD.FOR Similarly converts CP/M file from the form received by XMODEM.FOR to a VAX text file. MODMPROT.COL Describes the Christensen protocol (by Christensen) QIO.DCK Obsolete include file. TMODEM.C A Unix C version of XMODEM (basis for FORTRAN version) TOXMOD.EXE This is the executable for the TOXMOD program. TOXMOD.FOR Converts VAX text file (variable length records with no CRLF) into CP/M compatible file for transfer by XMODEM (fixed length 128 byte records with CRLF at ends of lines). VMODEM.DIR A version of XMODEM off a DECUS tape (no CRC). (part of VAXNET) XBUILD.COM FORTRAN and LINK the programs XMODEM.$PACKAGE list of files for use by VMSSERV@UWAPHAST.BITNET and VMSSERV@PHAST.PHYS.WASHINGTON.EDU XMODEM.BUG Known bugs in XMODEM. XMODEM.COM A VAX command procedure file defining XMODEM,TOXMOD,FROMXMOD, XSEND,XREC as foreign commands. XMODEM.CRC Failed attempt to use LIB$CRC to calculate CRC failure is related to "big-endian" Z80 vs. "little-endian" VAX according to Gordon Davisson XMODEM.EX A transferable version of XMODEM. (128 byte blocks.) XMODEM.EXE This is the executable for the XMODEM program. XMODEM.FOR Equivalent to CPM's XMODEM 5.0: binary files, TABLE.MAR with checksum or CRC, most timeouts, and with BATCH, in VAX MACRO & Fortran (special I/O dependency encapsulated in two subroutines so it should be translatable to other Fortrans that can do 8-bit I/O with timeouts). Page 3 Works up to 9600 baud on a moderately loaded VAX 11/780 running VMS version 3.0 or higher. See CRC.FOR too. XMODEM.HLP HELP file about the three programs. XMODEM.OLD Old version of XMODEM.FOR. XMODEMF.DOC mail message about new xmodem text features from POTTER XMODEMFOR.DOC Another version of this document XMODTOEXE.FOR Converts 128 byte record file to .EXE file (512 byte records) You should probably COPY/CONTIGUOUS the .EXE file afterword so it is not too fragmented. XMODTOSCR.FOR converts 128 byte record file to a FORTH screen file for PDP-11 compatability mode FORTH. XMODTODVI.FOR converts TEX .DVI files from 128 byte record file to 512 byte like VMS TEX likes and pads last record with DF hex . [.*] subdirectories containing other people's versions of XMODEM some based on mine, others not. I typically have not yet integrated these versions capabilities into mine, and have not necessarily tested them. DOC*MO*.TXT documents from Compuserve about XMODEM & YMODEM on Compuserve XMODEM_7_BIT.DIF differences to make XMODEM receive files successfully even if 8-bit connection not available. Sending is still a problem unless the remote computer program has been modified similarly. ========> [VAX89B2.YMODEM]AAAREADME.TXT;1 <======== This is a modified version of the YMODEM program that has appeared on past tapes. This version uses a command procedure to parse out the commands and decide whether to send or receive and then start the proper program. It looks more like the odl XMODEM.EXE program. Earle Ake SAIC