========> [VAX87C.ANLJOHNO]AAAREADME.TXT;1 <======== FALL 1987 VAX SIG TAPE SUBMISSION John Osudar Electronics Department Argonne National Laboratory 205 A-051 9700 South Cass Avenue Argonne, IL 60439-4837 Phone numbers: FTS: 972-7505 (312) 972-7505 Electronic mail addresses: Bitnet: B35049 at ANLCMT MFENET: B35049@AN2 This directory tree contains the following software: (1) A DCL interface for simple submission of single-command batch jobs, with preservation of current environment (logical names, symbols, default directory) -- defines a BATCH command that's similar to SPAWN but creates a batch job instead of a subprocess (2) A new version of the general, multi-threaded VMS "executive" server symbiont (EXECSYMB) that originally appeared on the Spring 1987 tape. This version contains some bug fixes, and provides support for "permanent" queue servers. (3) A DECnet object that is a $GETxxI server, along with some programs that use it to implement cluster-wide status display (e.g. SHOW SYSTEM/CLUSTER) (4) A memory disk driver that is faster and more efficient than the one that comes with VMS All directories have their own AAAREADME.TXT files, which provide more complete documentation of their contents. DISCLAIMER All software in this directory tree is provided "as-is". This software represents "work in progress", not completed products, and as such, may contain bugs or other "undesirable features". No guarantee of functionality is expressed or implied. My employer, Argonne National Laboratory, and I make no commitment to provide any type of support for any of this software. However, as time permits and for mutual benefit (since I use this stuff too), I will respond to phone calls, hardcopy mail or electronic messages regarding bugs, enhancements, or questions about this software, and I will try to submit corrected or enhanced copies of this stuff to future VAX Sigtapes. ========> [VAX87C.ARC]AAAREADME.TXT;1 <======== * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Access Research Corp. This contains information regarding the submissions to DECUS Symposium Tape. ---[Directory]---- ----- Comment ----------------------- [.LASER_PRINT] Directory contains command procedure, LPRINT.COM that prints files on HP Laserjet's and Laserjet Plus. Included are the files for inclusion into SYSDEVCTL.TLB for form setups. Also included is a listing of the forms. [.TPU] Directory contains various TPU procedures - some are revisions of EVEPLUS procedures and others are are own design. [.VAX_2_IBM] Directory contains our version of a program and command procedure that convert VAX ASCII files to IBM EBCDIC or visa versa. All inquires regarding these programs and procedures should be directed to: Steven MacNeil Access Research Corp. 9655 Towne Centre Dr. San Diego, CA 92121 (619) 535-1070 Any improvements, suggestions, comments or updates to any of the submissions would be greatly appreciated. ========> [VAX87C.BASSETT]AAAREADME.TXT;1 <======== [.jgb]Stuff Author: Fred Bassett JG Boswell Co PO Box 457 Corcoran, CA 93212 (209)992-2141 Software: Vax VMS - V4.6 Basic - V3.1 CDD - V3.4-1 Cobol - V3.3-47 Datatrieve V4.1 FMS - V2.3 TDMS - V1.6 Fortran - V4.6-244 RDB/Vms - V2.3 ------------------------------------------------------------------------------ 1. [.bassett] submissions by Fred Bassett A. [.business] a collection of loan and investment programs they contain their own menu system (see [.menu_fortran]) B. [.games] Not included C. [.golf] revised June 1987 a pretty neat golf handicap/information system originally written in fall 1984 as an exercise in using the then new Vax Rdb/Vms product D. [.kill] our slightly modified version from the decus kill program as in watchdog this one gives the option of $forcex or $delprc system services E. [.menu_fortran] a slightly modified version of a menu system written in fortran using the Screen Management Facility from a previous decus symposium tape our version does scrolling F. [.misc] a collection of miscellaneous things 1. VT241 Regis Color Selection 2. Terminal Type Identification revised June 1987 3. Autodial 4. Print By Number revised Nov 1987 5. DCL Menu 6. TALARIS Font Library 7. Functions to add to dtr$library:dtrfnd.mar Page 2 8. various tpu things G. [.news] our slightly modified version of the decus news programs also included here for more exposure to decus members as we feel this is an excellent user news/message distribution program H. [.reminder] our slightly modified version from the decus VPW programs for use outside of VPW, program has been modified to reflect sysuaf.dat file changes of Vms V4 I. [.users ] yes another show users program, this one written in cobol J. [.watchdog] our modified version of the decus standard watchdog program this one checks to see if user is in an image then does a $forcex system service if in an image or a $delprc system service if not in an image (at dcl) this sure helps if you have some sort of transaction journaling in your applications ------------------------------------------------------------------------------ ========> [VAX87C.BATTELLE]AAAREADME.TXT;1 <======== BATTELLE The submissions on this tape include: 1) ARGNUM - Short routine to return the number of arguments passed to a subroutine 2) BATUSS - Pair of user-written system service to (temporarily) change a process uic to the uic of an image file. 3) FID - Program to display file name given file id. 4) FILES - Program to quickly locate files based on size, uic, etc. 5) PASENVS - Pascal environment files. 6) PWD - Program to save and restore "hashed" password in UAF. 7) SMAC - Strucutred MAcro Library 8) TPU - TPU procs to show/set directory, expand number of function keys in an "EMACS-like" fashion, encode/decode text. More information on each submission is included in the AAAREADME.TXT file in each subdirectory. Questions and comments are invited. Address your responses to: Mark Oakley Battelle Memorial Institute 505 King Ave Columbus, Ohio 43201 614/424-7154 ARPAnet: oakley@battelle.arpa ========> [VAX87C.BZL]AAAREADME.TXT;1 <======== This submission contains various items (other than those related to Datatrieve, which will be found in the DTR/4GL SIG Library collection elsewhere on this tape). [.LSE] Language Sensitive Editor templates for RUNOFF (and LSE) [.PSI] A sample program on how to make an outgoing connection with X.29 (PAD) services: I'm hoping someone can add this to Kermit, VAXNET, etc. (The DEC supplied example is for incoming connections only.) Also a "C" header file for PSI definitions. [.ERLANG] A re-submission of a program which solves Erlang Blocking formulas (and some text showing why it's used). [.SPEED] Some VAX updates on programs which directly measure CPU instruction execution speed. Maybe we can really find out how fast one VAX processor is versus another. B. Z. Lederman ITT World Communications 67 Broad St. 28th Floor New York, NY 10004-2464 ========> [VAX87C.CI]AAAREADME.TXT;2 <======== SUBMISSION: VARIOUS SOFTWARE ITEMS FROM COMPASSION INTERNATIONAL Submitted by: Ken Richardson Compassion International PO Box 7000 Colorado Springs, CO 80933 (303) 594-9900 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'd cheerfully discuss any questions or comments you may have. However, I'm not easy to get by phone, nor am I likely to return a call if there's no message; (I'd assume it was a sales call, and I always let salesmen do the calling). This submission contains my "standard" DECUS contribution. Many of the items have been upgraded since the last Fall DECUS tape. A few 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. 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. 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, and we use the same lines both for dialing in and for dialing out (I only mention that because I saw someone complain in the pageswapper that you can't do it). However, when the modems power up, they default to sending useful information to VMS (like "RING" and "CONNECT") every time someone dials in. Page 2 The only problem is that VMS doesn't find it all that useful. So we run DIALUPINI.EXE to tell the modems not to be quite so useful; they're much more useful that way. 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. (I'm also not telling which language it's written in; no, it's not BASIC.) However, it runs quite 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. ENPAGE.DOC This documentation file describes the ENPAGE utility to some non-zero degree. For more info, see ENPAGE.EXE or read ENPAGE.DOC. (I just realized that I'm documenting documentation. This might be the first meta-documentation that I've ever written.) 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. In naming ENPAGE, I was inspired by the writer of that venerable and ever-useful ENTAB utility, which we use extensively for on-line reports. 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 imbedded 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 have a dedicated letterhead printer). 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 Page 3 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 an 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. 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 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 Are you using the REMINDER utility that has been on recent DECUS tapes? (If so, there's a rumor that you'd better patch out the timebomb that limits the useful life of REMINDER to about one year). Well, we needed more flexibility in printing out reminders, so we wrote a 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 REMINDER is that it deletes old reminders automatically, even if you never got to see it. Well, every Page 4 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. SYSTATUS.EXE Here's SYSTATUS version 4.7. It's a somewhat flexible system status monitor. We'd be lost without it. To use it, you just type RUN SYSTATUS at the $. All commands are one-character (no ). On-line help is available by typing the letter "H" while it is running. Changes since version 4.4 (on the Fall '86 DECUS tape): Automatic sensing of 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. At program initialization, an internal table of process info is initialized more efficiently than before. This is done by relying on the maximum process count that you have specified in SYSGEN. The highest MAXPROCESSCNT that SYSTATUS can handle is 256. The ability to process commands before displaying the first screen of info. One way that I use this feature is when I dial into the system and just want to see the "active" processes (command "A"). By typing the "A" before the first screen of info, I avoid seeing the other umpteen inactive processes at 1200 baud. New DEBUG messages. You won't ever see them unless you toggle debug mode on. I rarely do. If SYSTATUS can't display its buffer with one QIO, it tells you why and exits. It used to ignore the problem. 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 6000 for our systems. The ability to get a clean display of your own processes without GROUP or WORLD privilege. Also, the ability to display other processes in your group with GROUP privilege. Originally, SYSTATUS was designed to require WORLD privilege for a clean display. New PAGEFILE/SWAPFILE/NODE info. Also, a new "P" command to toggle this info on/off. Page 5 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 with these privileges can watch other users' processes. 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. SYSTATUS3.EXE This is an older version of SYSTATUS for VMS version 3. VMSDOWN.COM VMSDOWNUP.COM We run a fairly secure site. For example, the computer operators don't have many privileges. They do backups from a captive account. They can't read system backup tapes without a special captive account that restores files back where they came from originally. And as a side effect of this kind of security, they can't take VMS down. (Actually, this is a side effect of the granularity of privileges granted by VMS privilege bits, but that's another story.) However, I want my underprivileged operators to be able to take VMS down, or to take VMS down and bring it right back up. This is useful when I've changed a system parameter during prime-time and I want it to take effect ASAP, but the first window for downtime is after my bedtime. VMSDOWN.COM and VMSDOWNUP.COM satisfy this need. They are submitted to a batch queue on hold (submit/hold), and the operator releases them when it is convenient (set queue/entry=#/release). USING COMPASSION INTERNATIONAL SOFTWARE If you use any of the software in this submission, you will probably need to edit our command procedures or define logical names to account for the conventions that we use at Compassion. The items you will probably need to change or define include: LOGICAL NAMES: ci$command The directory that holds our local command procedures. ci$dialup_n The dialup ports at our site (n = 1, 2, 3, etc.). ci$games The directory that holds games and related files. ci$images The directory that holds our local images. ci$input The primary input device for a program. ci$output The primary output device for a program. ci$output_2 The secondary output device for a program. Page 6 ci$workfiles The intermediate directory commonly used at our site. QUEUE NAMES: laser$print_1 The name of our plain-bond print queue. laser$print_2 The name of our letterhead print queue. FORM NAMES: letter1 The form type normally mounted on laser$print_2. plain_bond The form type normally mounted on laser$print_1. ========> [VAX87C.CLEMENT]AAAREADME.TXT;1 <======== BONNER LAB RUNOFF Page 1 AUTHOR: ------- --- VMS/RSX --- John Clement T. W. Bonner Lab Rice University P.O. Box 1892 Houston, Tx, 77251 Tel (713) 527-8101x2037 Arpanet: CLEMENT@PHYSICS.RICE.EDU Bitnet: BONNER@RICE --- Rt-11 --- Robert Walraven Multiware, Inc. 437 F Street Davis, CA 95616 ABSTRACT Bonner Lab Runoff (RNO) Bonner Lab Runoff is a text formatter that, when used with your favorite editor, makes a complete word processor. Its syntax is almost a complete emulation of DSR (Digital Standard Runoff) and it is very compatible with previous versions of Runoff. The document and help file for this version can also be used for DSR. The intent of this program is to support com- plete scientific word processing to produce publication quality output. It has been used to produce thesis, progress reports, and scientific pa- pers here at Rice University. This version allows complete control of any special printer available via user definable escape sequences. In addition a macro facility allows text or sequences of commands to be abbreviated to a single label. If the printer has the correct features, then variable spacing,subscripting, superscripting, and equation formatting are possible. By properly defin- ing escape sequences the user can support different printers in a tran- sparent fashion. In other words the same input text will print in identical fashion on different printers with different control codes and escape sequences. Table of contents, indexing and sub-indexing are all supported. A variety of LAYOUT and STYLE commands can completely change the look of the pages. Table layout is simplified by right justified and 'decimal' justified tabs. Permanent margins that apply to the page headers are available. These simplify the setting of header and text margins. All special characters are redefinable. The user can define new com- Page 2 mands, and text macros. By defining commands you can make this program resemble other text formatters, or other versions of RUNOFF. You may de- fine numeric symbols to facilitate constructing lists of arbitrary items. These allow page and section references. A 2 pass option allows forward references to symbols defined later in the text. This program runs under VMS-native mode, RSX, IAS, RT11, TSX, P/OS, and RSTS. It occupies a minimum of 30 to 37 kbytes depending on the operat- ing system. Complete documentation, help files, and test files are sup- plied with the program for all operating systems. SPY This is a little program you may install that performs some of the same functions as SHOW PROCESS. It however allows you to select the process to show by USER, IMAGENAME, NAME, Terminal name, or MODE. It produces either a continuous display, or a single display. If installed with WORLD privelege, then all users may use it. You must SET COMMAND SPY before using it. If you wish to make it available to all users: $ @DCLTABLES SPY To generate the documentaion an help files: $ @DOCUMENT spy The help file may be put into SYS$HELP: $ LIBRARY SYS$HELP:HELPLIB/help spy ========> [VAX87C.CLIB]AAAREADME.TXT;1 <======== Please note that the C library contained herein expects that the main function provided by the user program is ZMAIN rather than MAIN. This is because the DEC compiler treats the symbol MAIN as a special case and this library does not support any special entry points that the DEC compiler generates. The change is simple: just change the name of your main to zmain. The following program is then included in your link file, .title main ;needed for dec c compiler .ident /main01/ .entry main,^m<> jmp zmain+2 .end and you link as follows, $ here := SYS$DISK:'F$DIRECTORY()' $link/exe=grep/nouserlib/map='here'grep.map sys$input/opt,- 'here'cheader,main,- 'here'grep, - runtime/lib !sys$library:runtime99.exe/shareable=nocopy $!end The symbol HERE is just shorthand for the current default directory. Note "cheader,main" precedes your module(s) and runtime/lib follows. The module cheader has a transfer address (making it a true main program) which calls an internal routine to parse the command line followed by a call to main(argc,argv). The program main.mar (as shown above) just transfers control to zmain. This allows us to avoid declaring main in a C program which causes some extra code to be generated that we do not want. Note the line !sys$library:runtime99.exe/shareable=nocopy this may be added (remove comment) if you build the library as a shared library. Then, runtime99.exe (the 99 is added to avoid collisions since libraries go into sys$library). The file makelib.com is used to build it. Feel free to distribute this library as you wish. It contains public domain objects only. This library is also an update to a prior library that was on a DECUS tape a few years back. Eric Levy 6-11-84 ========> [VAX87C.COSTELLO]AAAREADME.TXT;10 <======== Cornell University Submissions Coordinated by: Dennis P. Costello National Nanofabrication Facility G02 Knight Lab Cornell University Ithaca, NY 14853-5403 607-255-2329 TPC - Author: Dennis Costello VAX Native Mode replacement for the TPC utility. This version fixes one small bug in the version submitted to the Spring 86 (Dallas) tape, where the tape drive specified on the command line was required to be MS:. Turns out that the string 'MS:' appeared in one spot in the code, but I only noticed this very recently, because I had defined MS (and MSA, MS0, MSA0) to be logicals which translate to MUA0: when I got a TU81. My apologies to any who were confused. New versions of TPCIN.COM and TPCOUT.COM are also enclosed. Source, object and executable files are included. Simply change the appropriate line in TPC.CLD to point the correct location of the image file, then issue the following commands (the compiles and link were performed under VMS 4.6): $ pas tpc ! optional $ for tapeio ! optional $ mar read ! optional $ link tpc, tapeio, read ! optional $ set command tpc $ libr /insert sys$help:helplib/help tpc To use TPC to copy a tape using a TU81 (TU81+, TK50) tape drive, issue the following commands: $ mou mu:/for/cache=tape_data/nowrite $ tpc mu: disk:[directory]file.tap $ dism mu: $ mou mu:/for/cache=tape_data $ tpc disk:[directory]file.tap mu: $ dism mu: TPCIN.COM and TPCOUT.COM (included on the tape) have been set up to do the two sides of the copy operation automatically. I usually submit these as batch jobs. Note that the /CACHE=TAPE_DATA speeds up TPC by a factor of about 4, in that TPC does not perform overlapped I/Os and therefore has no other hope of getting the tape to stream. If the output tape should be 6250, include /DENS=6250 on the MOUNT command for the output tape. This has not been tested with long file names (I usually use .TAP as a filetype with TPC). The output tape need not be the same density, nor written on the same drive, as the input tape, but note that there is no attempt to handle premature end-of-tape or other I/O errors with any element of grace at all. ========> [VAX87C.CSDHBO]AAAREADME.TXT;1 <======== [.filter] The filter program is intended to run in a cluster environment. Run as a subprocess on every operator's console in the cluster it will filter out most broadcast messages from other nodes in the cluster. This will save much aggravation, headaches from beeping consoles, and wasted paper. [.syslib] This area contains useful routines which make using system services easier or perform functions not available as system services or run-time library procedures. Print userlib.mem for more detailed information. Jonathan Welch Vax System Programmer HBO & Co. Amherst, MA. 01002 (413) 549-7100 Bitnet: JHWELCH@amherst ========> [VAX87C.DJM]AAAREADME.TXT;2 <======== On the other hand, I am always glad to talk about my work. You can contact me by US Mail: D.J.Maus Fermilab P.O.Box 500 MS306 Batavia, IL 60510 or telephone: (312) 840-2431 or Bitnet: MAUS@FNALAD [DJM]0CATALOG.LIS;3 6/6 Document giving some details on contents of this submission. [DJM]COM.DIR;1 4/6 Directory of various command procedures. Electronic telephone book, invoke Authorize in any directory; define VT2xx keys; invoke editors; improved directory; info re identifier; tell what files would be purged; see who uses a command procedure; ASCII list; list of VMS docset. [DJM]LIB.DIR;1 1/3 Directory of various refernce material. [DJM]WHO.DIR;1 1/3 Directory containing the files for the WHO utility. ========> [VAX87C.DOLGEN]AAAREADME.TXT;1 <======== Submissions by: William L. Baker Dollar General Corp. 427 Beech St. Scottsville, Ky. 42164 (502) 237-5444 x 214 Directory [*.DOLGEN.DECALC] contains a few command procedures to make the conversion to DECALC version 3 a little easier: CLEANUP.COM This procedure generates delete commands for all decalc version 2 related files. CONVERTER.COM Convert all the users on a given pack and continues when severe errors are detected. Allows you to determine which grids will not convert and send a pre-conversion action listing to each user. DECAL2.COM This is our command file for starting a user DECALC session. It is set up to run: Version 2 and version 3 in parallel. Accept passwords for the conversion. Allow the user to convert one grid at a time for testing. CALC$CONVERT_GRIDS.COM is a hog! NULL_KILLER.COM This command will find any users with version 2 private directories without a grid or name file. SHOW_V2_NAME.COM This procedure will display grid names from a version 2 name file. Directory [*.DOLGEN.DISKREO] contains a command procedure to reorganize a disk: DISK_REO.COM This procedure will create a copy of the input disk. The copy will be divided into three zones to minimize head contention: Zone 1: Places INDEXF.SYS, all directories, [SYSTEM], and user files in the middle logical blocks. The user files are selected and ordered according to a parameter file. Places one half of the free space on each side of zone 1. Zone 2: Places short life files around the zone 1. Program ZONE.BAS determines which files are included in zone 2 and zone 3. Zone 2 will have .LIS files for example. The files are copied in sorted order by file extension and size. Zone 3: Places long life, low access files around the zone 2. Page 2 DISK_REO_DATA_CHECK.COM A procedure to assist with the maintenance of the zone 1 user file placement parameter files. HEAD_ANAL2.COM A procedure to list a file(s) retrieval pointer logical block numbers and allocated size. LOGIN.COM A captive command file to run the disk reorganization. ========> [VAX87C.DOWN]AAAREADME.TXT;3 <======== DOWN Utility BRIEF DESCRIPTION OF THE UTILITY ================================ The DOWN utility provides an easy means to "move around" in your directory tree. This utility allows you to move deeper in your directory tree or up through your directory tree or even to change the directory tree you are in even if it exists on another device. You do not have to specify a path name as you would have to use with the SET DEFAULT command. All that is needed is the file name portion of the directory that you wish to make your default. This utility will find a directory that matches that specification regardless of where that directory is located in your directory tree. INTENDED USE ============ To be used as an aid to or a replacement for the DCL SET DEFAULT command. This program uses 100% VMS normal syntax but also allows for abbreviated syntax (including wildcards). This utility can be used like the set default command (i.e. specifying the desired directory on the command line). If you do not specify a directory it will list all of your directories and allow you to choose one by moving the cursor to it or by specifying it by its number as indicated on the screen. This utility IS device independant. Written in VAX BASIC V3.1 Comments are welcome: Send any questions, comments, enhancements, bug reports and wish lists to: Michael W. Wheeler ( Bitnet address: mww@tntech.bitnet ) Systems Programmer Tennessee Technological University Box 5071 Cookeville, TN 38505 (615) 372-3977 ========> [VAX87C.DTREDIT]AAAREADME.TXT;2 <======== December 1987 If you can't afford to buy FMS or TDMS, you know how frustrating modifying long Datatrieve fields can be. This program can be installed "into" the datatrieve image to give a crude but effective editing capability. It requires VT100 or compatible terminals (see comments in code for what features are used) and is most effective used from procedures, thus: DTR> NAME=FN$STR_EDIT(NAME) DTR> READY PERSONNEL MODIFY DTR> FIND PERSONNEL WITH LAST_NAME="SMITH" DTR> SELECT DTR> MODIFY USING ADDRESS=FN$STR_EDIT(ADDRESS) Editing keystrokes are the same as for VMS line recall editing, with one extension; CNTRL/W for advancing one word. I have included a help file. Use LIBRARY/CREATE/HELP to put it together and assign the logical name HELP$LIBRARY (or HELP$LIBRARY_1, HELP$LIBRARY_2, or whatever your system is not using) to it so that help will be available from datatrieve. Comments, questions, improvements should be sent to : David M. Swan Box 322 Greenwood, Nova Scotia CANADA B0P 1N0 ** NOTE ** There is one outstanding bug. With a large field (234 characters at last try), put the cursor at the last position then hit backspace (^H) to go to beginning of line. >CRASH!< I haven't got around to looking for this one, yet. dms ========> [VAX87C.DTRSIG]AAAREADME.TXT;1 <======== This is a combined effort by the DATATRIEVE / Fourth Generation Languages SIG to produce a library of items related to or using DATATRIEVE. (** indicates new material for Fall 1987) [.ACCOUNTING] Programs to convert System Accounting and PSI Accounting data to a normalized form readable by Datatrieve (and other languages) with record definitions. ** Also has a procedure to measure terminal useage (an Erlang traffic study on terminal sessions). [.ALLIN1] Contains DTR definitions to work AI1 logging and data files. The document database also works with WPS-PLUS/VMS. ** Contains some revisions and improvements for Fall 1987 [.CORPHONE] DTR replacement for the AI1 corporate phone directory, which also works quite well on it's own. [.FUNCTIONS] User defined functions including SPAWN and FN$STR_LENGTH, Datatrieve procedures for cataloging, defining, and generating functions. ** Some new functions for Fall 1987 [.NEWSLETTERS] Past issues of the Wombat Examiner Newsletter. [.PLOTS] Additional PLOTS and articles on adding your own plots. [.RECALL] Use SMG to give you command line recall while using DTR. Plus DAB definitions in "C", Macro-32 [.RSX_ACCOUNTING] Process RSX-11M-Plus system accounting with DTR, also RSX console logs, and a routine for all 11s to convert the DTR (and VMS) DATE types to/from ASCII (without DTR). [.SESSIONS] Transcriptions of some Symposia sessions. [.SYSMGR] ** Datatrieve definitions for Disk Quotas, SYSUAF, rightslist, network proxy logins, etc. Plus a method of processing an INSTALL/LIST/FULL listing to find out which are the most used images, shared images, etc. (Also a FORTRAN program to do this if you don't have DTR). B. Z. Lederman DTR/4GL SIG Library Representative ========> [VAX87C.ELLIS]AAAREADME.TXT;1 <======== Note: These programs are at least rudimentarily debugged, however errors may still exist in pïrtions of the code. I do not get paid to support or write code and as such will accept no phone calls regarding this software. If yïu locate any bugs you may write the following address: Bruce Ellis Independent Consultant 16263 W. 70th Place Arvada, CO 80004 Upon acceptance of this software it is assumed that these tools will be used in a non-profit personal use fashion. NOTE: THESE PROGRAMS TYPICALLY RUN IN KERNEL MODE AND RUN WITH THE ASSOCIATED RISKS. Description of tools: ADDRESS_TRANSLATION.MAR;16: This program will perform address translation on any P0/P1/S0 space address entered in the context of the process designated (To the degree possible). This code is undocumented (see dallas session notes for documente version) DEADPT.MAR;3: This program lists the dead page table scans that have occured on the system since the last boot. It runs in user mode and as such will not cause any crashes. DEALO.MAR;3: This program deallocates a device allocated to another user. DUMP_BLOCK_COUNTS.MAR;27/LOAD_BLOCK_COUNTER.MAR;18/ UNLOAD_BLOCK_COUNTER.MAR;6: These programs may be used to obtain counts of reads/writes/size of reads/size of writes/ paging ios/swapping ios/split ios to a given spindle. LOAD_BLOCK_COUNTER is run to monitor the disks (it only handles one disk at a time). DUMP_BLOCK_COUNTS spills out all of the information logged since the counter was loaded. UNLOAD_BLOCK_COUNTER cleans up the pool and restores the start io entry point of the driver. SHOW_PROC_FILES.MAR;39/FIDTONAME.MAR;34/SPILL_FILE_INFO.MAR;24 SHOW_PROC_FILES.mar will locate and display all open files by a given process, including the number of reads and writes since the file was opened, the number of mapping pointers in the file. FIdTONAME converts the file id to file name. SPILL_FILE_INFO displays the info. These modules should be linked together. I do not believe that this will work on volume sets. GET_HIT.MAR;5: This is a subroutine when linked with a program will return the global buffer hit and miss rates on any file with a rab address passed as input. (see INDEX.FOR as an example of calling this routine. PFM.MAR;6/PFMFILWRT.MAR;9/PFM_FORMAT.MAR;8 Page 2 PFMFILWRT.EXE should be copied into sys$system:. PFM is linked in with any program and will enable pagefault monitoring. PFM_FORMAT will format the output. This is a fairly simplistic implementation and may require extensive modification. SHOWBASE.MAR;26: This program will show the base virtual addresses of all shareable images as well as the main line program, while a process is running the linked image. SHOW_SHARE.MAR;14; This program wil show the number of pages actually being shared in a given set of global sections with a section name of "name_". WSBLASTER.MAR;5: This program will purge another processes working set. FAULT.FOR;38: A simple exercise with ASTs. PERF.C;8: A c program to display performance stats. Link as follows: $link perf,sys$system:sys.stb,sys$input/opt vaxcrtl/share ^z ¤ Be carefull out there! be ========> [VAX87C.EROS]AAAREADME.TXT;1 <======== EROS DATA CENTER The following programs have been submitted by the USGS/EROS Data center; [EROS.BATCHACC] This directory contains Batchacc, a program that sets the account number of the current batch job to that of the submitting process at the time of submission. [EROS.HOGS] This directory contains a revised version of a very useful system monitoring utility found on a previous symposium tape. [EROS.LIMITER] This directory contains Limiter, a program which enforces a limit to the number of interactive sessions per usercode. It also gives the user a "barometer" of system performance. [EROS.NOPE] This directory contains Nope, a utility which lists files that would be purged if a purge were performed. Nope handles full wildcarding, and indicates filenames and sizes of files that would be deleted, along with a grand total. [EROS.PASS] This directory contains a re-release of Pass. This program disallows re-use of passwords. One bug is fixed, and several improvements have been made. [EROS.PCT] This directory contains PCT, a utility which allows users to monitor their CPU usage since login and since last run of PCT. [EROS.SYSTAT] This directory contains Systat and Memstat. Systat shows information about batch and interactive processes. Memstat shows information about memory usage by processes. NOTE: I have begun a total rewrite of the BOUNCER idle terminal killer. The new version should be very adaptable to most systems and will allow the system manager to select exempt users and terminals. Many other parameters will also be selectable and the code will be even more efficient. The new version should be ready well before the Spring 88 DECUS symposium. ******************************************************************************** Page 2 * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * Neither I nor the U.S. Geological Survey assume any responsibility whatsoever for any use, misuse or abuse of this software. This software is provided with the intent that system managers will use it wisely to enhance their systems. * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * ******************************************************************************** EROS stands for Earth Resources Observation Systems and is not related in any way with the skin mag of the same name. We are a government agency which primarily archives, enhances and sells products utilizing LANDSAT and other remote sensing data. Written and submitted by: Thomas Bodoh U.S.G.S. / EROS data center Mundt Federal Building Sioux Falls, SD 57198 (605) 594-6830 ========> [VAX87C.EVEUPDS]AAAREADME.TXT;1 <======== EvePlus 2 Abstract This is an upgrade to the EvePlus package that will extend the already powerful Eve editor based upon VMS 4.x TPU (Text Processing Utility). EvePlus provides a number of new commands to Eve, but more importantly it serves as a superb example of how to customize Eve much in the same way the EDTINI.EDT file customize the EDT editor. This specific addition adds a few new commands and also initiates a standard keyboard command assignment that should make it easier to move from one VMS system to another. Due to Eve's nature, refining and extending EvePlus and the proposed keyboard is highly desirable, yet a forum such as DECUS is needed to distribute 'the keyboard' is necessary. An internal SHIFT HELP buffer is created while the keyboard definations are being made so that it is easy to see the new assignments by hitting the SHIFT HELP key. A forward delete character is available on keypad 6, placeing the character in a seperate area than the INSERT HERE buffer. The seperate area is restore by hitting SHIFT INSERT. Delete word deletes from the current postion to the end/beginning of word and is kept in the same place as the forward delete character is saved. A ruler is quickly inserted into text to aid in counting characters and/or adjusting column alignments. Three profiles are defined; Text, Fortran, and Pascal (and others are easily added) so that rulers, margins, etc are changed together. For example, Fortran sets the right margin to 72 and the ruler is prefix with a C so if its left in by accident it is treated as a comment. A transpose last two characters command is added to help with my typing impediment. Setting left and right margins is easier by letting it default to the current column the cursor is in. Writting out files while remaining in the editor is easier by letting it default to the buffer's file name, also making it easy to update the currently edited file without exiting. A page command is added to make it easy to jump to the next form feed. When going to a line number or marker EvePlus remembers the last one that was refered to. ========> [VAX87C.FLECSVMS]AAAREADME.TXT;1 <======== 1STREADME.TXT MAO 2-Dec--87 The files on this tape are the sources for the FLECS and ALECS structured language preprocessors for DEC FORTRAN and MACRO respectively. On the VAX both preprocessors now run in native mode. FLECS now generates DEC F77 output code. NOTE Unlike previous versions of FLECS & ALECS, there are now two task images: FLE & ALE. The files and sources have been used under VMS V4.2-4.5; I have not tested them under any other systems. For a VMS version (native mode) of FLECS/ALECS: 1. Restore all files from the BACKUP tape. Common sources are under [.FLEALECOM], FLECS specific things are under [.FLEALECOM.FLECS], and ALECS specific things are under [.FLEALECOM.ALECS]. 2. Execute the file [.FLEALECOM.FLECS]FLEBLD.COM. This will compile the sources and link FLE.EXE. Do NOT answer "Y" to the question at this stage; because of the use of in-line comments in the .FLX sources on this tape, old versions of FLECS cannot properly translate the .FLX files on this tape. 3. Execute the file FLETST.COM. The file will tell if the new version of FLECS works correctly. 4. At this point you may wish to execute FLEBLD.COM and answer "Y" to the question; this will give you a completely new set of files for FLECS/ALECS (and destroy the distribution copies on the disk). This file is actually intended for use if you wish to modify FLECS/ALECS after you have a working version. 5. To get ALECS, use [.FLEALECOM.ALECS]ALEBLD.COM. 6. See files FLE.COM and ALE.COM for the method of running FLECS/ALECS under VMS. Below is a list of files on the tape: [.FLEALECOM]--Stuff common to FLECS and ALECS 1STREADME.TXT This file, an ASCII text file. A.FLX Source file, line analyzer subroutine. ASUB.FLX Source file, special ALECS code generation. FILDAT.INC Include file used by FILE, etc. FILE.FLX Upper level file IO routines. Page 2 FILERSX.MAC Lower level file IO for RSX-11M. FILEVMS.MAR Lower level file IO for VMS. FLECSUIM.MEM A copy of the UIM in text format for those who don't have DSR. FLECSUIM.RNO FLECS/ALECS User Instruction Manual in Digital Standard Runoff format. FLECSUIM_UPDATE.RNO/MEM Updates to the above manuals. FLECS_FUTURE.RNO/MEM My future plans for FLECS. FLERSX.MAC Source file, FLECS/ALECS MACRO routines (old code). FSUB.FFF Source file, FLECS/ALECS FORTRAN support routines. INCDAT.INC Include file for .INCLUDE statement. ISUB.FLX Source file, .IMPLICIT NONE processor. L.FLX Source file, listing subroutine. LAMPFI.FLX Source file, image initialization. M.FLX Source file, main routine. STRING.FLX Source file, string handling. *II.* Special versions of FLECS files that generate FORTRAN II code instead of DEC FORTRAN 77 (for use with some microprocessor Fortrans we have) [.FLEALECOM.FLECS]--FLECS specific A.FLL,.FTN,.LST Files from translating/compiling A.FLX. FILE.FLL,.FTN,.LST Files from translating/compiling FILE.FLX. FILE[VMS]/[RSX] Files from assembling FILE[VMS]/[RSX]. FLE.BLD Scratch file generated by FLETKB.COM FLE.CMD/COM Command file to use FLECS under RSX-11M/VMS FLE.EXE VMS V4.5, FOR V4.6 executable for FLECS. FLEBLD.CMD/COM Command file to compile and link FLE.TSK/EXE. FLECMP.CMD/COM Command file to compile FLECS/ALECS sources (used by FLEBLD.CMD/COM). FLEPRT.CMD/COM Command file to list all FLECS/ALECS command files and listing files on LP:. Page 3 FLETKB.CMD/COM Command file to taskbuild/link FLE.TSK/EXE (used by FLEBLD.CMD/COM). FLETST.CMD/COM Command file to test newly created FLE.TSK/EXE. FSUB.LIS,.OBJ Files from compiling FSUB.FFF. ISUB.FLL,.FTN,.LST Files from translating/compiling ISUB.FLX. L.FLL,.FTN,.LST Files from translating/compiling L.FLX. LAMPFI.FLL,.FTN,.LST Files from translating/compiling LAMPFI.FLX. M.FLL,.FTN,.LST Files from translating/compiling M.FLX. STRING.FLL,.FTN,.LST Files from translating/compiling STRING.FLX. TST*.FLX Used to test translation of FLECS keywords. [.FLEALECOM.ALECS]--ALECS specific files See the list for [.FLECS]--files are similar, but because of Conditional translations contain some differences. [.FLEALECOM.FLECSII]--FORTRAN II related stuff [.FLEALECOM.OLD]--Old compatibility mode version [.FLEALECOM.QLIB]--QLIB library sources Library QLIB contains subroutines called by FLECS/ALECS. Sources for these subroutines and a copy of the library are in this directory. [.FLEALECOM.TRAN]--Translate old FLECS to DEC F77 NOT completely debugged!!! Converts old FLECS statements (like WHEN/ELSE) into DEC F77 (like IF/THEN/ELSE). Internal procedures and FLECS directives (eg. .PASSIF) are left untranslated, due to lack of F77 equivalents. Michael A. Oothoudt (505) 667-4354 or (505) 667-5241 P.O. Box 1663, Mail Stop H828 Los Alamos, NM 87545 END OF FILE 1STREADME.TXT ========> [VAX87C.FLOWERS]AAAREADME.TXT;1 <======== CUSTOM COMPUTER APPLICATIONS - A subsidiary of Traveler's Express Fall 1987 DECUS Submissions Most of the submissions are DCL command procedures. Some I wouldn't be without and others are merely useful. Several are documented internally. A few of the procedures require VMS V4.4 or later (GOSUBs). At any rate, I suggest reading the command procedures before using them. As always, neither myself nor Custom Computer Applications 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 Custom Computer Applications 1780 Moriah Woods Blvd. #6 Memphis, TN 38117 Contents: AAAREADME.TXT This submission documentation file Disk Utilities COMPRESS.COM Gain wasted disk space from over-allocated files DELZER.COM Delete zero length files DISK.COM Show disk space - previous DECUS submission patched for longer disk names under VAXclusters Directory Utilities DOWN.COM Go down directory tree UP.COM Go up directory tree DRAWTREE.COM Draw the directory tree - previous DECUS submission patched to default to SYS$LOGIN File Utilities EDTINI.EDT A short but documented EDT initialization file EDTWILD.COM Wildcard file editing WIDE.COM 132 column TYPE UGLIFY.COM Upper cases, compresses, and trims a file (for DIFFERENCES) UGLYDIFF.COM Uses above command procedure and runs DIFFERENCES EVEPLUS.TPU$SECTION EVEPlus - See [VAX87B.RCAS87.EVEPLSPLS] for sources EVEMAN.TEX LaTeX version of original SCRIBE documentation for above EVEPLUS EVEMAN.LN3 LN03 (with a RAM cartridge) printable version of LaTeXed EVEMAN LaTeX Document Style MANUAL.STY -+A document style based on the "book" style, which supports MAN10.STY |page numbering by chapter, LaTeXing only selected pages, and MAN11.STY |always produces right-handed odd-numbered pages (chapters MAN12.STY -+start on right-hand pages). Details inside MANUAL.STY. Misc Useful Utilities VT2XXDEF.COM Download key defs to a VT200 series terminal - really nice for setting up terminal servers and for use within programs where there is no access to DCL DEFINE/KEY definitions (It's amazing what can be done with DCL) MAILUAF.PAS -+ Nice utility for maintaining VMS mail data. May be MAILUAF.OBJ | invoked as a foreign command ($ MAILUAF SHOW/ALL). MAIL_TABLE.CLD | This is NOT the previous DECUS version, and is more MAILUAF.HLP | powerful (SHOW/ALL/FULL is very helpful). MAILUAF.COM -+ Thanks to John Gill for writing this one. Page 2 MODEM.COM Invoke Kermit on an available dialout modem line DELQJOB.COM Delete jobs in a queue CHKPRI.COM Check process priorities LOOK.COM Look at process quotas SAFE.COM Create a "safe" non-privileged environment RESTORE.COM Restore file(s) from a backup tape Misc Not-particularly-useful Utilities DATIME.COM Date/Time display TOPROMPT.COM Silly screen-clearing DCL environment ========> [VAX87C.GAMES.HACK]AAAREADME.TXT;4 <======== This is the game HACK, a rogue style game ported from the UNIX operating system to VMS. I have converted it to use the "C" screen management routines (curses) instead of a termcap file under UNIX. Most of the information on HACK is located in the various README files in this directory. All readme files with a .unix extention are the original files I received. Most of the source files have only been renamed to fit the VMS file specifications, but I don't think this can be moved back to UNIX and built there. There seem to be some bugs in the screen management, and I have found that the best way to fix the screen is to reset the terminal, and redraw the screen. I am still working on the proper fix. In order to run, the logical name "hack_dir" must be assigned to the directory where the HACK files are. The executable must be there, as well as all the data files: record.lis,data.dat,hack.doc,help.,hh.,info.dat,perm.,rumors. To run, type "@hack_dir:run". I have included the source,object and the executable files. HACK may or many not have to be built depending on which version of VMS and C you are running. The most important command to know in HACK is "?". It will show you all the commands available. Happy HACKing !!! Any bug fixes or improvements can be addressed to me via E-mail at asl1.hac.com!grover@usc-oberon.usc.edu Or sent to: Dean Grover Hughes Aircraft Co. P.O. Box 902 EO/E52 MS D222 El Segundo, Ca. 90245 My thanks to Jim Moore of Purdue University, who transferred the files to our VMS system and assisted with the changes. He also spent many long hours testing our changes. ========> [VAX87C.GRC]AAAREADME.TXT;1 <======== [.GRC...] This set of subdirectories contains tools from General Research Corporation's Scientific Computer Network located in sunny Santa Barbara, California. Each subdirectory contains a tool with source, documentation and an AAAREADME.GRC file. The AAAREADME.GRC has a complete explanation of the tool and describes the files in the subdirectory, installation of the tool and any other important information. Listed below are the subdiectories with their corresponding tool and a short description. ------------------------------------------------------------------------ [.GRC]-----------[.DAVID]---------[.CALC2SMG] | |--[.EDTXLATE] | +--[.GREG]----------[.MODOBJ] |--[.TIMER] ------------------------------------------------------------------------ [.GRC.DAVID.CALC2SMG] CALC2SMG is an emulation of a Hewlett-Packard reverse polish calculator for video terminals. This is a resubmittal of our earlier version of calc2 which has been rewritten to use the screen management services making it useable on any video terminal recognised by the VMS operating system. ------------------------------------------------------------------------ [.GRC.DAVID.EDTN] EDTNSECINI.TPU is an EDT editor written in VAXTPU. This editor was built starting with the EDTEM editor and adding numerous features from EVE, EVEPLUS, EDTPLUS, various other editors, and a few features of our own. ------------------------------------------------------------------------ [.GRC.DAVID.EDTXLATE] EDT_XLATE is an enhancement of the EDT editor which allows the user to obtain a directory listing while in the EDT editor without spawning a subprocess. ------------------------------------------------------------------------ [.GRC.GREG.MODOBJ] MODOBJ is a program which modifies object files (modules). Reasons for wanting to modify object files, the exact modifications performed, and usage instructions can all be found in the source file MODOBJ.C. ------------------------------------------------------------------------ Page 2 [.GRC.GREG.TIMER] TIMER.MAR accurately times machine instructions on a VAX 11/780 or equivalent architecture. Instructions can be found in the source. ------------------------------------------------------------------------ Questions may be addressed to the corresponding contributors at the following address: CONTRIBUTORS: ADDRESS: David Deley General Research Corporation Greg Janée Scientific Computer Network P.O. Box 6770 Santa Barbara, CA 93160-6770 (805) 964-7724 ========> [VAX87C.GROVER]AAAREADME.TXT;1 <======== 1. Updated EDT plus extensions to EVEPLUS 2. SWING, useful graphically and screen oriented directory management program. ========> [VAX87C.HOWE]AAAREADME.TXT;4 <======== EVEX (EVE-Extended) is an extension of DEC's EVE interface. All extended features are documented in the online help library and in the manual. A brief description of EVEX features is given in the file EVEX_HELP.HLP. To install EVEX and to obtain a copy of the manual (LaTeX required), read the file INSTALL.DOC. Comments and suggestions to: Herb Howe 9201-2, Y-12 Oak Ridge National Laboratory Oak Ridge, TN 37830 MFEnet: HOWE@ORN ========> [VAX87C.JSCLUG]AAAREADME.TXT;1 <======== FORDENV.DIR;1 1/1 18-DEC-1987 13:05 FORD AEROSPACE & COMMUNICATION CORP. WILLIAM BAKER SYSTEM MANAGER 713-483-5353 ------------------------------------- SETUSER: PROGRAM TO CHANGE USERNAME TO THAT OF SOME OTHER USER ON THE SYSTEM. PROVIDES A GOOD UTILITY FOR SOME SYSTEM MANAGER FUNCTIONS. ------------------------------------- MAILUTIL: PROVIDES THE CLOSEST THING TO A VMS VERSION OF RETURN RECEIPT AVAILABLE. LET'S A USER SEE IF HIS MAIL HAS BEEN READ BY ANOTHER USER. PROXIES MUST BE ESTABLISHED FOR NETWORK FUNCTION. ------------------------------------- SPEEDLOGIN: SPEEDS UP THE DEFINITION OF THOSE SYMBOLS THAT ARE DEFINED GLOBALLY IN THE SYLOGIN.COM FILE. LABSTAR.DIR;1 2/2 18-DEC-1987 13:06 I JUST STARTED WORK ON THESE PROGRAMS FOR RUNNING A LABSTAR SYSTEM. THEY ARE NOT PROVEN, AND ARE STILL IN THE DEVELOPMENT STAGE. HOWEVER THEY ARE FAR ENOUGH ALONG THAT WITH A LITTLE EFFORT, THEY COULD BE OF BENEFIT TO SOMEONE. THE GENERAL IDEA IS THAT WHEN PERFORMING A/D IO (OR D/A IO) ON A LABSTAR, YOU DON'T WANT TO REWRITE THE IO ROUTINES EVERY TIME. YOU COULD USE A OBJECT LIBRARY TO GET AROUND THIS, BUT IN ESSENCE YOU'D STILL BE AT THE MERCY OF THE OBJECT LIBRARY FOR YOUR PARTICULAR TEST ENVIRONMENT. WHAT I'M TRYING TO DO HERE IS TO CREATE AN ENVIRONMENT THAT ALLOWS THE USER TO CONFIGURE THE A/D DEVICES ON HIS SYSTEM AND RUN A TEST WITHOUT THE NEED TO WRITE SPECIAL LIO$ CODE. I'VE CREATED A SHARED COMMON DATABASE THAT CONTAINS ALL THE CURRENT DATA, AND A BUFFER OF THE LAST 120 DATA POINTS RECEIVED. THEN I HAVE A MAINIO PROGRAM THAT PERFORMS ALL THE SETUP OF THE DEVICES AND THE IO TO THE SHARED COMMON. IN ADDITION I'VE CREATED TWO PROGRAMS WHOSE JOB IT IS TO FILE THE DATA TO DATAFILES WHEN THE BUFFERS BECOME FULL. FINALLY I'VE ATTEMPTED TO CREATE A MENU DRIVEN ENVIRONMENT FOR CONTROLLING THE A/D BOARDS, AND DISPLAYING ANY DATA RECEIVED IN THE COMMON. PRINT.DIR;1 1/1 18-DEC-1987 13:07 TPRINT ALLOWS THE USER TO PRINT TEXT FILES TO A LOCAL PRINTER ATTACHED TO HIS VT102 TYPE TERMINAL. TPRINT PROVIDES A COMMAND LANGUAGE INTERFACE FOR THE PROGRAM TO DETERMINE THE TYPE OF PRINTER ATTACHED TO THE TERMINAL. THIS IS VALUABLE FOR THOSE PEOPLE USING PC VT102 EMULATORS. ADDITIONAL FEATURES ALLOW FOR DIFFERENT STYLES OF PRINT. THE MOST COMMON STYLES OF PRINT ARE: NEAR LETTER QUALITY, BOLD, AND COMPRESSED. TAPECNTRL.DIR;1 1/1 18-DEC-1987 13:07 THIS PROGRAM WAS INTENDED TO BE A QUICK ROUTINE FOR LOADING FOREIGN TAPES WHERE YOU HAD WORKED OUT A PROCEDURE FOR LOADING, OR KNOW THE Page 2 THE CONTENTS OF THE TAPE AHEAD OF TIME. IT SEEMS TO WORK WELL WITH LITTLE SYSTEM IO OVERHEAD INVOLVED. IT SHOULD WORK ON ANY TAPE DRIVE ATTACHED TO A VAX SYSTEM. I HAVE NOT TRIED IT ON A TK50, BUT THAT SHOULD NOT BE A PROBLEM. I HAVE USED IT ON TU77'S AND TU78'S. TELEMAIL.DIR;1 1/1 18-DEC-1987 13:07 William Baker Ford Aerospace & Communication Corporation 1322 Space Park Drive MS: B2C Houston, Texas 77058 NASA Life Sciences Project NASA/JSC, Building 37 MS: SD Houston, Texas 77058 ========================================================================= GENERAL COMMENTS: The following set of command procedures and programs were written in order to support the NASA Life Sciences Division. There purpose is to provide an environment where mail on the GTE/TELENET system (or any system using the GTE/TELENET mail protocol) can be read via a batch program and delivered to the users VAX mail or A1 mail. As such, logical outcomes of the project were programs to send mail to the TELEMAIL system, and to read bulletin boards on the TELEMAIL system. The basic programs were written with the use of the DECUS VAXNET program as the seed program. In fact many of the major modules still maintain 100% integrity with the latest version of VAXNET, leaving on 2 or 3 main driving routines that were added to make the system work. As the source code is written now, only the modem control module needs to modified to allow this set of programs to be run outside the NASA/JSC telephone system. When the NASA/JSC phone system was recently brought into the 20th century, I decided not to try and support all the modem protocols that VAXNET currently supports. However, since the calls to the modem module from the main program are fairly standard (and I beleive the same as what VAXNET uses) you should have no difficult in just substituting the VAXNET version of MODEM.FOR for my MODEM.FOR. WATCH.DIR;1 1/1 18-DEC-1987 13:09 Short program to watch other processes... ========> [VAX87C.KETECH]AAAREADME.TXT;1 <======== This directory contains utility routines that allow you to present a standardized menu interface for applications. The same menu screen may be used from within an image OR from DCL command level. Two versions of the utility are provided, one requiring FMS support on the machine, and the second not requiring FMS. Both versions of the utility allow for a maximum of fifteen choices on the screen. Any more than this and you are overloading the user's desire to read anyway. There are four basic pieces that comprise the two versions of the utility. These are: menu.obj - Included in object module library MENU.OLB. This routine is written in fortran and can be called by a user image. The routine expects FMS to be supported on the machine. A conflict with assigned channels can appear if used by program images that also make calls to FMS. dclmenu.exe - Image to execute from DCL command level that provides the same menu interface (FMS support) as the subroutine in menu.obj. While use of this does require an image activation for the menu, performance can be enhanced by installing the image. menu1.obj - Included in object module library MENU.OLB. This routine is written in fortran and can be called by a user image. The routine requires no layered products on the machine. dclmenu1.exe - Image to execute from DCL command level that provides the same menu interface as the subroutine in menu1.obj. While use of this does require an image activation for the menu, performance can be enhanced by installing the image. Sample fortran programs that call each menu interface are included as SAMPLE-FMS.FOR and SAMPLE-NON-FMS.FOR. Sample command files are also included to demonstrate the proper use of the menus from DCL. Two other command files are included; (1) build.com to compile all modules and link, and (2) setup.com to define necessary dcl symbols. In addition to the menu utilities, one other program is included: setuser - Another in a long line of utilities to modify username, etc. This program allows the user (provided enough privileges are present) to set (1) username, (2) uic, (3) default privileges, and (4) default directory to that of another user. An opcom message is generated and sent to SECURITY operators when the program is executed. This program requires (CMKRNL .AND. SYSPRV) .OR. SETPRV. For those of you desiring extra credit assignments -- the setuser utility could be modified to be callable, combined with the menu utility, wrapped in a user written security module, installed with privileges and become a poor-man's ACMS. Comments, criticisms (caveat emptor), and expressions of undying Page 2 gratitude may be expressed to: Richard Snyder The KeTech Corporation 2626 Parrish Avenue, Suite 326 Owensboro, Kentucky 42301 502-686-7280 ========> [VAX87C.KKA]AAAREADME.TXT;1 <======== The following items are presented here for the benefit of the DECUS user community by the Multimission Image Processing Laboratory (MIPL) of the Jet Propulsion Laboratory (a NASA center): [MIPL.FOREIGN_TAPE_READER] -- The program TAPES which received rave reviews when posted to the INFO-VAX teleconference in September of 1987. [MIPL.EVE_EXTENSIONS] -- Three useful procedures for extending EVE: one to delete buffers, and two for processing the error message listings generated by compilers. [MIPL.VMS_SHAR] -- A popular and useful archive packing procedure, widely used on the INFO-VAX teleconference. Presented here by the courtesy of the author as he is unable to attend this symposium. All subdirectories have their own 000READ.ME files to provide details of the included files. Address any correspondence to: System Manager Multi-mission Image Processing Laboratory Jet Propulsion Laboratory, MS 168-427 4800 Oak Grove Drive Pasadena, California 91109 or, via network: Internet: Vicar@Mipl3.JPL.Nasa.Gov (128.149.1.28) SPAN: Mipl3::Vicar (5.153) ========> [VAX87C.LATSHAW]AAAREADME.TXT;1 <======== EDTEM ----- Introduction ------------ EDTEM is a versatile, TPU-driven text editor. It has the basic keypad configuration (and capabilities) of DEC's standard EDT, and some of the power of the more advanced EMACS series of editors. Included are the following features: - multiple windows (as many as is desired) - DCL command and output capture - subprocess spawning (without leaving the editor) - pattern searches - inline compilation of current buffer (FORTRAN, PL/I, RUNOFF, etc.) - simple language sensitivity The editor is intended for all types of users, from beginners who would use the basic EDT-like features, to advanced programmers who can take advantage of more powerful capabilities. History ------- EDTEM was first released on the fall 1986 DECUS tape. This is the second release, and it includes many new features, as well as improvements (I hope) and bug fixes to existing functions. Among the new features: - editing and replacing text / macro library modules - string searching (and replacing) can be limited to a range of columns - various control character aids - searching (and replacing) - displaying control characters - more versatile position remember/restoring capabilities - multiple markers are supported - inline compilation now supports an interactive repair mode for FORTRAN and PL/I - reframing of comment boxes made by F - improved word processing capabilities - simulated tab mode which employs spaces instead of tabs - free cursor mode - auto-wrap mode - text justification (as well as filling) - auto-indent mode - multiple mapping of application keypad Notable revisions include: Page 2 - toggling between insert and overstrike editing modes is now done by entering A. The old keystroke was W. - window sizes are automatically adjusted as windows are added and removed from the screen. - sequential selective search and replace has been greatly enhanced (at the expense of changing some of the keystrokes within the function). - IF THEN ELSE construct supported - learn mode now is invoked via R, and has been somewhat simplified - go to buffer (B) now uses a menu method The above lists are in no way exhaustive. You who are familar with the first release will note some differences, especially with R and B, but it is believed the benefits far exceed the temporary inconvenience of adpating to a different set of keystrokes in a few functions. One of three methods of adjusting window sizes (the and pair) is no longer available. Installation ------------ Refer to SETUP.DOC for help on installing the editor at your site. For More Information -------------------- TUTORIAL.DOC contains a first-session example on the use of some of the more basic functions. REFERENCE.DOC contains a more in-depth description of the editor, and a list of commands. EDTEM_TAB_SETTINGS.TXT is a sample user custom simulated tab stop settings definition file (described in REFERENCE.DOC). I am always interested in ideas for improvement to EDTEM. Constructive comments are welcome. As there are some 14000 lines of code in the present release, ample opportunity for bugs exists. And, unfortunately, ample time to write an exhaustive manual on the editor does not - all of the .DOC files were prepared by me in one week's time... Mike Latshaw Pacific Power and Light Company Room 300 PSB 920 S.W. Sixth Avenue Portland, OR 97204 (503)-464-6203