1986 VM Workshop at the University of Kentucky

Contents of the VM Workshop tools tape for 1986

These files are in VMARC format. Download from here, then transfer to your mainframe in binary fix 80 format.

They are provided in good faith, but there is no support expressed or implied. Use them at your own risk!

M0085: PFKDIAL
Abstract:
This package allows an installation to have its users dial
to guest virtual machines by hitting PF keys.  Once the VM
Logo is cleared, a menu is displayed showing the PF key
number and associated guest virtual machine name.  The user
then hits the desired PF key and a CP DIAL is issued to
the corresponding guest.  This mod is for VM/SP 3.06,
VM/HPO 3.2.
Author: Anne-Marie Marcoux
 McGill University Computing Centre
 805 Sherbrooke St. West, Montreal, Quebec H3A 2K6
 (514) 392-4636
    DMKRGB   PFKDIAL  B1 F         80          4          1
    DMKLOG   PFKDIAL  B1 F         80         13          2
    DMKGRF   PFKDIAL  B1 F         80          4          1
    DMKGRC   PFKDIAL  B1 F         80        118         10
    DMKDIB   PFKDIAL  B1 F         80          9          1
    DMKDIA   PFKDIAL  B1 F         80          9          1
    DMKBLD   PFKDIAL  B1 F         80         77          7
    M0085    DOCUMENT B1 F         80         33          4
    MMKDIC   ASSEMBLE B1 F         80         49          4
Date: 85 05 03
Blocks: 9
M0085.VMARC
M0086: 3270MODL
Abstract:
This modification to DMKGRAF allows the system to determine the
type and model for local 3277s and 3278s when they are powered
on.  Normally this information is fixed in DMKRIO at sysgen
time, and a sysgen (or an I/O gen) would be necessary if
different terminals were moved from one location to another or
if cables were switched, causing a terminal to have a
different real address associated with it.  With this mod, any
local 3277s or 3278s attached to the system need only be
coded as 3277s in DMKRIO and the system will alter the
RDEVBLOK to indicate the true device type and model when
the terminal is powered on.  For VM/SP 3.06, VM/HPO 3.2.
Updated M0051 mod.
Author: Anne-Marie Marcoux
 McGill University Computing Centre
 805 Sherbrooke Street West, Montreal
 Quebec  H3A 2K6
 (514) 392-4636
    DMKGRF   3270MODL B1 F         80         73          7
    M0086    DOCUMENT B1 F         80         45          4
Date: 85 05 07
Blocks: 2
M0086.VMARC
M0087: WRAPLIST
Abstract:
This modification to CP reduces the overhead associated with
polling a remote 3270 cluster to see if there is any input
from a terminal.  CP is modified so that the channel program
will poll continuously until there is data to be sent, thus
eliminating CP overhead associated with issuing SIOs and
handling I/O interrupts.  For VM/SP 3.06, VM/HPO 3.2.
Updated mod M0052.
Author: Anne-Marie Marcoux
 McGill University Computing Centre
 805 Sherbrooke St. West, Montreal, Quebec H3A 2K6
 (514) 392-4636
    DMKRGB   POLL     B1 F         80         22          3
    DMKRGA   POLL     B1 F         80          6          1
    M0087    DOCUMENT B1 F         80         32          4
Date: 85 05 07
Blocks: 3
M0087.VMARC
M0088: CLUST
Abstract:
These macros CLUST and TERM are simplified versions of the
standard macros CLUSTER and TERMINAL used in DMKRIO to define
clusters of remote 3270 terminals.  The simplified macros
have fewer required parameters and there is therefore less
chance of coding errors causing problems which could have
been prevented.  These macros can be used with any VM/370
or VM/SP.  Updated M0053 mod.
Author: Anne-Marie Marcoux
 McGill University Computing Centre
 805 Sherbrooke St. West, Montreal, Quebec  H3A 2K6
 (514) 392-4636
    TERM     MACRO    B1 F         80         42          4
    CLUST    MACRO    B1 F         80         22          3
    M0088    DOCUMENT B1 F         80         33          4
Date: 85 05 07
Blocks: 3
M0088.VMARC
M0089: XSHOW
Abstract:
A command that uses TRAPIUCV (Mod 90) to allow you to get the
output from a vm command as an xedit active file.
Author: Richard (Dick) Johnson
 Stanford Linear Accelerator Center, P.O. Box 4349, Mail Bin 97
 Stanford, California  94305
 (415) 854-3300
    XSHOW$   XEDIT    B2 V         70         60          2
    XSHOW    XEDIT    B2 V         73        114          4
    XSHOW    HELPCMS  B1 V         62         73          2
    XSHOW    EXEC     B2 V         73         84          3
    M0089    DOCUMENT B1 F         80          1          1
Date: 85 07 15
Blocks: 5
M0089.VMARC
M0090: TRAPIUCV
Abstract:
A command that allows trapping iucv interrupts from
the cp system message service in a cms virtual machine.
For sp3.
Author: Richard (Dick) Johnson
 Stanford Linear Accelerator Center, P.O. Box 4349, Mail Bin 97,
 Stanford, California 94305
 (415) 854-3300
    TRAPIUCV MODULE   B2 V       8192          3          9
    TRAPIUCV HELPCMS  B1 F         80        141         12
    M0090    DOCUMENT B1 F         80          1          1
    TRAPIUCV ASSEMBLE B5 F         80       1313        103
Date: 85 07 15
Blocks: 4
M0090.VMARC
M0091: IEBCOPY
Abstract:
The IEBCOPY program is designed to facilitate to load or list
member(s) of partitioned datasets previously created on tape
by the IEBCOPY  Utility Program (OS version). For SP2 and SP3.
Updated M0073 mod.
Author: Luc Lepine
 University of Ottawa, System Group, 275 Nicholas Street
 Ottawa, Ontario K1N 6N5
 (613) 231-6580
    IEBCOPY  MODULE   B1 V       3504          3          4
    IEBCOPY  HELPCMS  B2 F         80         55          5
    M0091    DOCUMENT B1 V         62          6          1
    IEBCOPY  ASSEMBLE B1 F         80        625         49
Date: 85 07 17
Blocks: 4
M0091.VMARC
M0092: IOINT
Abstract:
To process IOINT commands which will force I/O interrupts for a
specific device.
Author: Bill Weeks
 Stanford Linear Accelerator Center, P.O. Box 4349 Stanford
 California, 94305
 (415) 854-3300  x2909
    DMKCFC   MKV1M145 B1 F         80          4          1
    DMKIOI   ASSEMBLE B1 F         80        335         27
Date: 85 11 13
Blocks: 2
M0092.VMARC
M0093: Q SLOTS
Abstract:
A CP QUERY SLOTS COMMAND. This command makes it possible to easily display
the actual amount of PAGING/SPOOLING and TDISK space in use by the system
Author: Bill Weeks
 Stanford Linear Accelerator Center, Stanford, California 94305
 (415) 854-3300  x2909.
    DMKCM1   MKV3M037 B1 F         80        386         31
    DMKCFJ   MKV1M061 B1 F         80         14          2
    DMKCFJ   MKV1M037 B1 F         80          4          1
    DMKCM1   ASSEMBLE B1 F         80        293         23
Date: 85 11 13
Blocks: 4
M0093.VMARC
M0094: IPWTOOLS
Abstract:
A group of tools that access CKD file managed byVSE/POWER Version 2
with shared spooling. The group includes:
IPWREAD - Routine that accesses the POWER files.
IPWQUEUE - A program that uses IPWREAD to scan the queue file for
          jobs as per an SMSG request.
          Responses are sent to requesting user via msgnoh.
IPWSTACK - A program that uses IPWREAD to extract file information
and data records from the POWER queue and data files, and places
the resulting records in the program stack.
IPWPEEK - An exec that invokes IPWSTACK to stack data records and
invokes XEDIT to allow the user to examine them.
IPWPEEK1 - XEDIT profile for IPWPEEK.
IPWLIST - An exec that invokes IPWSTACK to place file information
records in the program stack and invoke XEDIT to allow the user to
examine them. The user may then invoke IPWPEEK via PF key depression
to examine data records contained in the files listed. The overall
function is much like RDRLIST.
IPWLIST1 - XEDIT profile for IPWLIST.
Author: Micheal Tanzer
 Australian Bank Limites, 395 Collins Street, Melborne
 Victoria 3000, Australia.
 (03) 618 9200
    IPWPEEK1 XEDIT    B2 V         63        105          3
    IPWLIST1 XEDIT    B2 V         83        175          4
    IPWSTACK TEXT     B5 F         80         49          4
    IPWREAD  TEXT     B5 F         80         47          4
    IPWQUEUE TEXT     B5 F         80         69          6
    IPWSTACK MODULE   B2 V       7736          2          8
    IPWQUEUE MODULE   B2 V       8624          3          9
    M0094    MEMO     B1 V         73         44          3
    IPWSTACK HELPCMS  B1 V         74        141          6
    IPWPEEK  HELPCMS  B1 V         73        112          4
    IPWLIST  HELPCMS  B1 V         73        126          5
    IPWPEEK  EXEC     B2 V         63         26          1
    IPWLIST  EXEC     B2 V         63         29          1
    M0094    DOCUMENT B1 V         79        136          8
    IPWSTACK ASSEMBLE B5 F         80        685         54
    IPWREAD  ASSEMBLE B5 F         80        939         74
    IPWQUEUE ASSEMBLE B5 F         80        643         51
Date: 85 11 13
Blocks: 17
M0094.VMARC
M0095: PLISEG
Abstract:
This program shares PLI Optimizer Resident and Transient Libraries.
There are no mods to CMS or to CP (except DMKSNT). Some of the
PLI/CMS Task Force points are also answered. Performance is
substantially improved; 20-40% is tipical, 90% has been observed.
CPU, IO, module size, load and genmod times are all reduced.
This modification is based on work done by Ed Haines of Lincoln Labs
and the OS PLI Shared Library.
Author: Dave Gomberg
 ucs
 (415) 666-4525
    STUBLIB  TXTLIB   B1 F         80       3909        306
    PL1SEG   TRAILER  B1 F         80          2          1
    SORTDIR  TEXT     B1 F         80         80          7
    RESLIB   TEXT     B1 F         80          5          1
    PL1SEG5  TEXT     B1 F         80         66          6
    PL1SEG4  TEXT     B1 F         80        118         10
    PL1SEG3  TEXT     B1 F         80         99          8
    PL1SEG2  TEXT     B1 F         80         87          7
    PL1SEG1  TEXT     B1 F         80         87          7
    PL1SEG0  TEXT     B1 F         80         86          7
    PLISVC   TEXT     B1 F         80          8          1
    PLIDIAG  TEXT     B1 F         80          7          1
    IBMBLIB  TEXT     B2 F         80         32          3
    EDITMAP  TEXT     B1 F         80         92          8
    CMSCMD   TEXT     B1 F         80         44          4
    SORTDIR  PLI      B1 F         80         70          6
    EDITMAP  PLI      B1 F         80        220         18
    CMSCMD   PLI      B1 F         80         37          3
    PLIDIAG  OLDTXT   B1 F         80          7          1
    SORTDIR  MODULE   B1 V      17656          3         20
    EDITMAP  MODULE   B1 V      15432          3         18
    MNNNV00  MEMO     B1 F         80          7          1
    PL1SEG   MAP      B5 F       1024         16         16
    PL1SEG   HEADER   B1 F         80          4          1
    WATTAPE  EXEC     B1 V         27         27          1
    WATCARD  EXEC     B1 V         24         23          1
    TEMP     EXEC     B1 V         68         22          1
    SETLOG   EXEC     B1 F        130          1          1
    S        EXEC     B1 V         26          1          1
    RESLIB   EXEC     B1 F         80        188         15
    PRTFILE  EXEC     B1 V         27         19          1
    PLOAD    EXEC     B2 V         64         15          1
    PLILIB   EXEC     B1 F         34        321         11
    NAMELIST EXEC     B1 F         80          1          1
    JUNK     EXEC     B1 V         72         68          2
    GENTAPE  EXEC     B1 V         27         29          1
    GENSTUB  EXEC     B1 V         68         74          2
    GENSEG   EXEC     B1 V         76         14          1
    GENMEM   EXEC     B1 V         72         68          2
    GENDMSIB EXEC     B1 V         66         35          1
    GENASM   EXEC     B1 V         75         22          1
    EDITMAP  EXEC     B1 V         68          5          1
    COPYAPP  EXEC     B1 V         29          2          1
    BLDTEXT  EXEC     B1 V         70         20          1
    AS       EXEC     B1 V         56          2          1
    $ASMTABS EXEC     B1 V         57          7          1
    VERSION  DOCUMENT B1 F         80          6          1
    INSTALL  DOCUMENT B1 F         80         45          4
    DEPEND   DOCUMENT B1 F         80         17          2
    PLICMS   CNTRL    B1 F         80          3          1
    RESLIB   ASSEMBLE B1 F        800          1          1
    PL1SEG   ASSEMBLE B1 F         80        601         47
    PLISVC   ASSEMBLE B1 F         80         66          6
    PLIDIAG  ASSEMBLE B1 F       1024          2          2
    IBMBLIB  ASSEMBLE B1 F         80        525         42
Date: 86 03 13
Blocks: 55
M0095.VMARC
M0097: USR
Abstract:
This command returns the size of a virtual machine. Used by fortran
programmers.
Author: Kenneth D. Chamberlain
 Allied Automotive, Four Seagate, Toledo,Ohio 43691-0904
 (419) 249-7600
    USR      MEMO     B2 F         80          5          1
    USR      DOCUMENT B2 F         80         27          3
    USRSTR   ASSEMBLE B2 F         80         23          3
    USRRDV   ASSEMBLE B2 F         80         31          3
    USRDVT   ASSEMBLE B2 F         80        100          8
Date: 86 04 07
Blocks: 5
M0097.VMARC
M0098: JSCAN
Abstract:
Scans cms files for some particular character string.
Author: Kenneth D. Chamberlain
 Allied Automotive, Four SeaGate, Toledo, Ohio, 43691-0904
 (419) 249-7600
    JSCANPR  MODULE   B2 V       2384          3          3
    JSCAN    MODULE   B2 V       6992          3          7
    JSCAN    MEMO     B2 V         48         14          1
    JSCAN    EXEC     B2 F         80         28          3
    JSCAN    DOCUMENT B2 F        132         83         11
    JSCANPR  ASSEMBLE B2 F         80        196         16
    JSCAN    ASSEMBLE B2 F         80        382         31
Date: 86 04 08
Blocks: 7
M0098.VMARC
M0099: CLUST
Abstract:
Displays remote cluster information in a format easier to use than
the IBM Network command.
Author: Kenneth D. Chamberlain
 Allied Automotive, Four SeaGate, Toledo, Ohio  43691-0904
 (419) 249-7600
    CLUST    MODULE   B2 V      12288          3         13
    CLUST    MEMO     B2 V         48         11          1
    CLUST    DOCUMENT B2 F         80         23          2
    CLUST    ASSEMBLE B2 F         80        490         39
Date: 86 04 08
Blocks: 4
M0099.VMARC
M0100: SUPERMSG
Abstract:
This command retreives data from the IUCV  *MSG system service. Through
judicious use of options on the CP SET command, some or all virtual machine
console traffic can be directed to the *MSG system service and subsequently
processed by an exec or program.
Also handels output of virtual machine commands (e.g.  LISTDS, MACLIB, TSTLIB
etc.) which do not provide a stack option.
Author: Barry Leiba
 IBM Corporation, Building 181, 2p23, F.S.D. 18100 Frederick Pike
 Gaithersburg, MD. 20879
 (301) 840-6247
    SUPERMSG SCRIPT   B1 V         68         40          2
    SUPERMSG MODULE   B2 V       3832          3          4
    SUPERMSG MACLIB   B2 F         80        454         36
    SUPERMSG LISTING  B1 F        121       3445        408
    SUPERMSG HELPCMS  B1 F         80        211         17
    MH       EXEC     B2 V        119        144          4
    CPSET    EXEC     B2 V         53         29          1
    SUPERMSG ASSEMBLE B1 F         80        634         50
Date: 86 04 08
Blocks: 8
M0100.VMARC
M0101: CARD
Abstract:
An extremely fast replacement for the CMS DISK or DM SDDL command. Card
can deal with multiiple files using either wild card notations (* or % like
LISTFILE) or continuous spooling. This version is release independent.
Card Help CMS describes the syntax.
Author: Ben Schwarz
 Cornell University, Ithica, New York
 (111)-111 -1111
    CARD     TEXT     B1 F         80        169         14
    CARD     SP254V02 B1 F         80        121         10
    CARD     HELPCMS  B5 V         79        183          9
    CARD     AUXCUN   B1 F         80          1          1
    CARD     ASSEMBLE B1 F         80       2322        182
    CARD     ABSTRACT B1 F         80          6          1
Date: 86 05 08
Blocks: 6
M0101.VMARC
M0102: FCOPY
Abstract:
A disk to disk copy program which is much faster than the standard
Copyfile command but does not permit formatting. FCOPY handles multiple files
with wildcards ( * and % like Listfile).  WARNING!! FCOPY always replaces
existing files. This version is release independent.
Author: Ben Schwarz
 Cornell University, Ithica, New York
 (111) - 111 - 1111
    FCOPY    TEXT     B1 F         80        133         11
    FCOPY    SP254V01 B1 F         80         32          3
    FCOPY    HELPCMS  B5 V         79        141          7
    FCOPY    AUXCUN   B1 F         80          1          1
    FCOPY    ASSEMBLE B1 F         80       1990        156
    FCOPY    ABSTRACT B1 F         80          7          1
Date: 86 05 08
Blocks: 6
M0102.VMARC
TapeMap Distribution
June 1986
 
This is TapeMap.  TapeMap can tell you a lot of things about a tape.
Like density, labels, block sizes, etc.  My goal was to take any tape
(in an unknown format) and describe it.  We use this for things like
identifying mysterious tapes we receive from other installations, and
identifying the even more mysterious tapes we get from IBM PID.
 
TapeMap recognizes VMFPLC2 and TAPE dumps, and describes the files.
It estimates the length of tape used, but the estimates tend to be
high (particularly with small blocks and particularly at 6250).
 
TapeMap is currently running under VM/SP 3 CMS, OS/MVT 21.8D (under
VM), and MVS/SP 1.3.2 with ACF2 (also under VM).  The MVS support is
relatively new, but seems to work.
 
TapeMap was written for an IBM 3081 with 3420-6 (with 3803-2
controller), and 2401-2 and 2401-5 (with 2803-2 controller) tape
drives.  (The 7-track support is a little flaky, and is no longer
supported.)  We are now using TapeMap with Memorex 3288 drives and the
only problem is in the length estimates - the IBG seems to be
different, and the estimates are too high.
 
The source, user's manual, and everything you need should be here.
TAPEMAP MODULE is the CMS version that we are running.  TAPEMAP SCRIPT
(and TAPEMAP LISTING) is the manual.  More information is contained in
INSTALL NOTES.
 
If you have any problems, have any suggestions, or make any
enhancements please let me know.  There is, of course, no warranty.
 
Dave Elbon
University of Kentucky
Computing Center
72 McVey Hall 0045
Lexington, KY  40506
USA
 
Phone: 606/257-2900
BITNET: SYSDAVE@UKCC
VMSHARE: UKY
M0103.VMARC
1986 VM Workshop
June 1986
 
This is UKSLIB, a subroutine library and a macro library for writing
CMS commands.  Most are to be called from assembler, but some are for
PL/I Optimizer or FORTRAN.  Some are documented (see the HELPUKSL files).
 
Most of these were written by me.  Some I have collected from a variety
of sources and modified for use at UK.
 
Some of the undocumented routines and macros don't work.
 
There is, of course, no warranty.
 
Dave Elbon
University of Kentucky
Phone: 606/257-2900
BITNET: SYSDAVE@UKCC
M0104.VMARC
1986 VM Workshop Tools Tape
June 1986
 
This is a collection of REXX programs and CMS commands, many useful for
REXX (and probably EXEC 2) writers.  Each command includes source (with
updates usually), a module or EXEC, and a help file.  Most require the
UKSLIB libraries (elsewhere on this tape).  I don't think any of our
local mods are required, but don't quote me on that.
 
We are currently running CP HPO 4.0 and CMS SP 3.
 
The help files are for YHELP and may contain UK-specific information.
 
There is, as usual, no warranty.
 
If you find any bugs or make any improvements, please let me know.
 
 
What's here:
 
ACCEPT        Copy reader file to disk - supports most formats
BACKUP        Experimental minidisk backup & restore
CHECKBUF      Return number of lines in last stack buffer
CLOCK         Digital clock
ENVIRON       Check current environment
FPRINT        Print a CMS disk file (replacement for PRINT)
GETFMODE      Get an available file mode letter
GETVADDR      Get an available virtual device address
GRAB          Link and access a minidisk
INPUT         Copy reader file to disk, stack, or XEDIT
IPLTIME       Display last CP IPL time & running time
JULIAN        Return julian day number
LDEV          Display information about logical devices
LOOK          Look at a reader file
LWDEST        Example of use of NETNODE
LWNAMES       Example of use of NETNODE (via LWDEST)
NETNODE       Extract information from SYSTEM NODES file
OPTIONS       Set options for some CMS commands (replacement for DEFAULT)
              Note: OPTIONS requires XMENU
PRESERVE      Preserve CMS and CP settings
RESTORE       Restore CMS and CP settings (part of PRESERVE)
SPEED         Estimate MIPS for your processor
STKID         Stack info about userid and system
STKTERM       Stack info about terminal
STORAGE       Define virtual storage and IPL CMS
TDISK         Define and format t-disk - device independent
USERS         Display list of users - an FLIST for userids
              Note: USERS requires XMENU
VMBLOK        Display and modify VMBLOK's
              Note: VMBLOK requires XMENU
XDEVICE       Command to query, enable, etc. real devices
XTAPE         Example of use of XDEVICE
X1270         Example of use of XDEVICE
X3270         Example of use of XDEVICE
X7171         Example of use of XDEVICE
 
Dave Elbon
University of Kentucky
Phone: 606/257-2900
BITNET: SYSDAVE@UKCC
 
M0105.VMARC
University of Kentucky Spelling checker
Allan Hetzel (SYSAL@UKCC.BITNET)
 
This is the file $$ITIS$$ MEMO on
the distribution tape for the UKCC Spelling Checker.
The Spelling Checker has been tested under VM/CMS Rel 3.0.
 
Approximately 4500 1K blocks are needed to restore all the files.
 
The lexicon files currently contain over 95,000 unexpurgated words.
 
Our discontiguous shared segment (DCSS) size is 512K.
About 497K of that is being used by the present checker.
 
Some of the EXECs and XEDIT macros may need modification to work
properly at other installations.
All EXECs are currently written in EXEC2 or REXX.
 
The "University of Kentucky: Subroutine and Macro Libraries" and
possibly the "University of Kentucky: Assorted" files will also be
needed.
Hopefully everything needed is on the tape.
 
A brief summary of the files follows:
.heading LEXICON files:
 
These 27 LEXICONs are built into the MODULE:
 
x^LEXICON^contains words starting with the letter "x".
 
COMMON^LEXICON^The file which was used to create the common (lex-c)
LEXICON used by SPELLCHK.  File is in frequency of use order as
determined by the Brown Corpus.
 
The following files are loaded at execution time if called in with
the USER option (see the HELP files).
Depending on the filetype of the file being SPELLFIXed, some of these
may be included by the EXEC without the user having to specify them.
For instance, if the filetype is SCRIPT then the SCRIPT LEXICON would be
loaded.
 
JARGON LEXICON
SCRIPT LEXICON
ABBR LEXICON
$EXEC LEXICON
$XEDIT LEXICON
ASSEMBLE LEXICON
EXEC LEXICON
HELPCMS LEXICON
 
ASSEMBLE files:
 
The source files are liberally sprinkled with useful comments.
By applying the update files a complete source file of the current
version of the Spelling Checker can be generated.
 
LEXGEN^reads LEXICON files and produces TEXT files which
are to become part of SPELLMOD MODULE.
A large number of unsupported flag messages are generated
when running this program.  This is normal.
Called by the GENLEX EXEC.
 
SPELLMOD^main part of the code for the spelling checker.
 
SCANLEX^routines which look up words in the two internal
lexicons, common (lex-c) and other (lex-o), and
the optional user lexicon (lex-u).
 
DCSSLOAD^a general purpose transient command which will
load a shared segment or a load module and
branch to it.  This is used to produce the
SPELLCHK (production) and XPELLCHK (testing)
modules.
 
TABLEXO1
 
TABLEXO2
 
TABLEXO3
 
tables of addresses for the other lexicon (lex-o).  There
are three files because of the number of external references involved.
 
TRYTABLE^Spelling guessing substitution table.
 
Update
 
AUX
 
CNTRL
 
These are files for updating the various source files.  They
need to be applied to make the source current with the TEXT decks.
 
MODULEs:
 
By loading all the EXEC, XEDIT,
and MODULE files along with the user lexicons and HELP files
a working copy of the Spelling Checker should be generated.
 
SPELLMOD
XPELLMOD
SPELLCHK
XPELLCHK
SORTF
LEXGEN
 
Generation EXECs:
GENALL^calls GENLEX EXEC once for each letter.
 
GENLEX^calls LEXGEN and generates TEXT files from LEXICON files.
Then updates the SPELLCHK TXTLIB with the new files.
 
GENLMOD^generate the SPELLMOD and XPELLMOD modules.
 
GENXMOD
 
GENSEG^generate the production and test segments.
 
GENXSEG
 
GENSPE^generate the SPELLCHK and XPELLCHK modules.
 
GENSPEX
 
SPELLCHK TXTLIB:
Contains the TEXT files produced by LEXGEN.
 
xxxxx TEXT:
Assorted text files:
SPELLMOD, SCANLEX, TABLEXO1, TABLEXO2, TABLEXO3, TRYTABLE, DCSSLOAD,
and LEXGEN.
 
HELP files:
Most of the HELP files have been preformatted for the Yale
HELP system.  Their filetypes start with HELP...
 
Support files:
UKSLIB^MACLIB^needed for assembling and loading.
 
UKSLIB^TXTLIB
 
OPTANAL^EXEC^Option analyzer for SPELLFIX EXEC.
 
SORTF^MODULE^Improved sort from Waterloo Mods tape.
 
EXECs and XEDIT macros:
SPELL^These first two are most useful to users.
SPELLFIX^See the HELP files for function.
 
SPELLFIZ^Improved SPELLFIX but much more costly.
SPELLDEF^support EXEC.
SPELLSRT^support EXEC.
SPELLXED^support Macro
 
How to implement:
We have a userid called SYSSPELL on which all the
spelling related work is done.
Allocate a disk with at least 4500 1K blocks,
attach a tape drive and mount the TOOLS tape,
postion the tape then VMFPLC2 LOAD the needed
files.
At this point, you have all the files (and more) that you need
for testing the program.
 
When you decide to make it available to users, only the following files
need be made public.
 
SPELL EXEC
SPELLDEF EXEC
SPELLFIX EXEC
SPELLSRT EXEC
OPTANAL EXEC
SPELL HELPFILE
SPELLCHK HELPFILE
SPELLDEF HELPFILE
SPELLFIX HELPFILE
OPTANAL HELPFILE
SORTF HELPFILE
PFKEYS HELPSPEL
SPELL HELPXEDI
$EXEC LEXICON
$XEDIT LEXICON
ASSEMBLE LEXICON
EXEC LEXICON
HELPCMS LEXICON
SCRIPT LEXICON
SORTF MODULE
SPELLCHK MODULE
SPELLMOD MODULE
SPELL XEDIT
SPELLFIX XEDIT
SPELLXED XEDIT
 
For production, the Spelling Checker should really be kept in a DCSS
since performance suffers greatly otherwise.
If you choose to modify the LEXICONs you're pretty much on your own,
although just about everything you need should be on this tape.
Both the source code for the checker and the EXECs and XEDIT macros
are sprinkled with helpful comments.
M0106.VMARC
Apple Laserwriter Support
University of Kentucky
 
This is a collection of files which consitute the Apple Laserwriter
support at the University of Kentucky.
The Laserwriter is connected to an IBM 7171 and is driven from RSCS
by a DMTRPT modified with DMTS1T and DMTALWE mods.
 
A locally written post-processing program called POSTS is included which
works with Waterloo SCRIPT 85.1.
It converts SCRIPT output into Adobe Postscript.
 
Several EXECs are included for formatting with Waterloo
SCRIPT, printing files, and plotting files originally destined for a
ZETA pen plotter.
 
There are a number of locally written commands which are executed in
the EXECs.
These commands can be found in the "University of Kentucky: Assorted"
file.
The "University of Kentucky: Subroutine and Macro Libraries" are also
needed for assembly and loading.
M0107.VMARC
SCRIPT and PostScript files
University of Kentucky
 
The following files contain Adobe PostScript programs for printing
various things used by the 1986 VM Workshop, a conference held at UK,
and some error handling files.
 
ARROW    P+SCRIPT -- prints an arrow
BADGE3A  P+SCRIPT -- prints Workshop badges (has problems with copypage)
BADGE5B  P+SCRIPT -- prints Workshop badges
BADGE5D  P+SCRIPT -- special Workshop badges for Adesse (upside down e)
DIAGNOSE P-SCRIPT -- untested error handler (from a student)
HANDL    P+SCRIPT -- prints a hand pointing left
HANDL45  P+SCRIPT -- prints a hand pointing left at 45 degrees
HANDR    P+SCRIPT -- prints a hand pointing right
HANDR45  P+SCRIPT -- prints a hand pointing right at 45 degrees
KHECC-BB P+SCRIPT -- prints blank conference badges (8/page)
KHECC-B4 P+SCRIPT -- prints conference badges (8/page)
LOGO9L   P+SCRIPT -- full page Workshop logo
PRTFONT  P-SCRIPT -- print encoded characters from many fonts
RECCOVR  P+SCRIPT -- print the cover of a receipt book
RECEIPT  P+SCRIPT -- receipts for Workshop (4/page)
RECEIPTC P+SCRIPT -- copies of receipts for Workshop (4/page)
SERVER   P-SCRIPT -- primitive error handler
VMWK-BOF P+SCRIPT -- prints Workshop BOF sheets
VMWK-BOF SCRIPT   -- Waterloo SCRIPT source for BOF sheet
VMWK-EVL P+SCRIPT -- prints Workshop evaluation forms
VMWK-EVL SCRIPT   -- Waterloo SCRIPT source for evaluation forms
VMWK-LO  SCRIPT   -- Workshop logo for embedding in SCRIPT source
VMWK-REG SCRIPT   -- Workshop registration form source
VMWK-TAP P+SCRIPT -- prints Tools Tapes form
VMWK-TAP SCRIPT   -- Waterloo SCRIPT source for Tools Tapes form
XRTFONT  P-SCRIPT -- prints encoded characters from a font
M0108.VMARC
1986 VM Workshop Tools Tape
 
Kermit is a file transfer protocol that has been implemented on many
kinds of computers.  I've included versions for CMS (version 2.01 with
some additional mods and fixes) and for the Apple Macintosh (version
0.8(34)).
 
Many additional versions are available from Columbia University.  The
files here with names beginning with "AA" describe the versions that
are available and how to get them.  Start with the file AAAREAD ME.
 
If you are on BITNET you can access the Kermit file server.  Send
KERMSRV@CUVMA a message containing a question mark for more information.
 
 
The relevant files for executing CMS Kermit are:
 
   KERMIT EXEC      Not required.  Uses STKTERM and PRESERVE commands
                    available elsewhere on this tape.
   KERMIT MODULE    This is it.
   KERMIT HELPFILE  Help file (for YHELP)
   SYSTEM KERMINI   System-wide initialization file.  Sets the packet
                    size to a value that will work through a 7171 at
                    19.2Kb.
 
Source for CMS Kermit is included also.
 
MacKermit includes the following:
 
   MACKERM  HQX     Kermit executable in BinHex format
   MAC3278  HQX     Configuration file in BinHex format
   MACONFIG HQX     Kermit configuration program in BinHex format
 
These must be downloaded to a Macintosh and then converted with BinHex
before they can be used.
 
MacKermit is configured for use through a 7171 using our Mac3278 terminal
table.  This table and some related help files are included:
 
   MAC3278 TRM       7171 terminal table file
   MAC3278 HELPA327  Help files (YTERM format)
   MACKERM HELPA327
   MACTERM HELPA327
 
M0109.VMARC
DOCLIB
University of Kentucky
M0110.VMARC
                      CMSUPDATE
 
  Our shop was having problems with people accidently updating the
production copy of a file and not having a backup copy to fall back on.
To alleviate the problem, I created an EXEC which renames the production
copy and places you in XEDIT of a copy of the production file.  This
EXEC will allow you to have 10 generations of backups for the production
file before it asks the user to erase some of the files. It makes a good
replacement for the XEDIT pfkey on userids where production jobs or
programs are stored.  The procedures EXEC follows are:
 
1.  CMSUPDAT does a rename of your current production file, by prefixing
    the filetype with an O and suffixing with a number from 0 to 9.  If
    the filetype contains more than 6 characters it only uses the first
    6 during the rename.
 
2.  It xedits the renamed file and changes the filetype back to the
    production filetype.
 
3.  This is where you make your updates and file it.
 
4.  CMSUPDAT will generate a FLIST of all the generations of this file.
 
5.  Do a PF9 to sort by date and your new file will be on top.
 
+---------------------------------------------------------------------+
|CMSUPDAT |                                                           |
|         |     +          +          +                               |
|         | filename | filetype | filemode                            |
|         |     +          +          +                               |
+---------------------------------------------------------------------+
 
 
    where:
 
filename      is the filename of the file you want edited.
 
filetype      is the filetype of the file you want edited.
 
filemode      is the filemode of the file you want edited.
 
Examples:
    CMSUPDAT TEST JOB A         ;will generate the following:
                                ;TEST JOB A
                                ;TEST OJOB0 A
 
    CMSUPDAT PROD PRODUCTN A    ;will generate the following:
                                ;PROD PRODUCTN A
                                ;PROD OPRODUC1 A
 
 
                              GARY JENKINS
                              SYSTEMS PROGRAMMER
                              UNIVERISITY OF KENTUCKY MEDICAL CENTER
                              (606) 233-6044
M0111.VMARC
                   MVS IOGEN IN MINIMAL TIME
 
overview:
  The steps that IBM gives you on doing an IOGEN was not written for a
person which has never done an IOGEN for an OS/VS system before.  The
steps they give will also take about a day to complete.  We checked what
other shops were doing and incorporated some of there ideas with ours
into the following steps and jobs.  These steps were set up for a shop
running MVS as a guest under VM, but with some minor alterations they
can be used in a MVS native shop.  It takes me 3 hours start to finish
with these procedures and running the jobs in a low priority address
space.
 
 
1.  Run NEWFILES IOGEN A1 to create the SYS3 files the iogen
    works off of and to copy the members of the SYS1 files to their
    corresponding SYS3 files.
 
2.  Update your stage1 sysgen file with the following two steps:
    a.  Change the GENTYPE=ALL option to GENTYPE=(IO,1) and change the
        INDEX=SYS1 to INDEX=SYS3 option which are located in the
        GENERATE macro of your stage1.
    b.  Remove the SGGIMSMP macro, because you do not want to regenerate
        smpe.
 
3.  Run the the modified stage1 job to create the stage2 jcl.  There
    will be two files produced, one will be the jcl from the stage1 run
    and the other will be the stage2 jcl.
 
4.  Read in the STAGE2 deck onto a minidisk, it is a large deck and
    must be updated so you must have enough disk space for the update.
 
    READ STAGE2 JCL A
 
5.  Define storage to 16M and IPL CMSL.
 
6.  Issue the following command to remove the steps using IEHPROGM and
    and put JOBCAT statements pointing to the GEN librarys in each job:
 
    STAGE2 STAGE2 JCL A
 
7.  This exec will ask you for the catalog name where files like
    sys1.aoso0 are cataloged in.  It will be a catalogs on one of your
    distribution packs.  The exec will leave you editing the newly
    created file.  All that you should need to change would be the
    parameters on the five job cards to fit your installation.  File
    and submit this file to MVS.
 
8.  Check the return codes of the four jobs that will return.  If they
    are okay release the fifth job whose name is SYS35.
 
9.  Run any other locally applied zaps against the SYS3 files.  SMPE
    patches can be ran with the REAPPLY option and the library pointers
    pointing to the SYS3 files.
 
***********************************************************************
*     To put into production                                          *
***********************************************************************
 
10.  Run the job NEWMVS IOGEN A1 to rename the SYS1 files to SYS2 and
     rename the SYS3 files to SYS1.
 
11.  IPL MVS with the CLPA option.
 
***********************************************************************
*    If problems should arise, run OLDMVS IOGEN A1  to go             *
*    back to the old version by renaming the SYS1 files to SYS3 and   *
*    renaming the SYS2 files to SYS1.                                 *
***********************************************************************
 
conclusion:
  These steps give us the following advanages over the IBM approach:
     a.  The new nucleus can be backed out easily, because it is on the
            same volume with the old nucleus.
     b.  You do not have to update catalog pointers to point to new
            volumes housing the updated nucleus.
     c.  The time required for an iogen is reduced to an amount that
            can easily be justified for once or twice a month updates.
 
 
                               GARY JENKINS
                               SYSTEMS PROGRAMMER
                               UNIVERISITY OF KENTUCKY MEDICAL CENTER
                               (606) 233-6044
 
M0112.VMARC
                      FULLDISK SYSTEM
 
EXECS:
DIRECT EXEC A1
VM DIRECT A1
GET EXEC A1
GET HELPUHS A1
FREE DISK A1
HARDWARE HELPUHS A1
FULLDISK EXEC A1
 
objective:
  This system was designed so that a link could be done to any online
disk pack and VM utilities could be used against them easily.
 
description of files:
HARDWARE HELPUHS A1 - This file contains a layout of our disks and other
                      hardware.  It contains the volid, real address,
                      and the FULLDISK number. The FULLDISK number is
                      the address that the disk packs were linked to the
                      userid FULLDISK.
FREE DISK A1        - This file contains a list of all of the possible
                      volids which an unused volume would labeled.
DIRECT EXEC A1      - This EXEC front ends the module that updates the
                      directory.  It creates links to all of the disks
                      displayed in the HARDWARE HELPUHS A1 and the
                      volids listed in FREE DISK A1.  This is done by
                      creating a userid called FULLDISK which all it
                      does is have MW access to all of the disks packs
                      in the shop.  The actual directory update is done
                      by a temporary file created by this exec with the
                      links inserted under the FULLDISK userid state-
                      ment.
VM DIRECT A1        - This is our VM directory source, it contains only
                      the userid statement for FULLDISK and it also
                      contains all of the macros for our other userids.
GET EXEC A1         - This EXEC simplifies the links to userids and to
                      disk volumes.  It gets information on disk volumes
                      from HARDWARE HELPUHS A1.
GET HELPUHS A1      - This is the help file on the use of GET EXEC A1.
 
FULLDISK EXEC A1    - This exec will tell you what the FULLDISK number
                      is by searching HARDWARE HELPUHS and FREE DISK.
 
overview:
  Most of these files are stored on our EXECs disk, the only exceptions
are VM DIRECT A1 and DIRECT EXEC A1 which are kept on MAINT.  This
scheme allows our users to link and look at disk information without
interruption from the SYSTEMs staff moving volumes around.
 
 
                             GARY JENKINS
                             SYSTEMS PROGRAMMER
                             UNIVERSITY OF KENTUCKY MEDICAL CENTER
                             (606) 233-6044
 
 
M0113.VMARC
   DMKSEC ASSEMBLE is being provided as a sample IUCV System Service.
If you are interested in a copy of the entire *SECURE package, please
contact either of the authors:
 
The CP code was written by:
 
Arty Ecock
CUNY/UCC - 16th Floor
555 West 57th Street
New York, New York  10019
 
(212) 903-3656
 
 
The CMS server machine was written by:
 
Serge Goldstein
Cuny/UCC - 16th Floor
555 West 57th Street
New York, New York  10019
 
(212) 903-3680
M0114.VMARC
Use the IUCVTRAP command to trap specified CP and/or CMS responses
for subsequent viewing or stacking onto the CMS program stack.
 
syntax: IUCVTRAP { ON 
                 | OFF
                 | TYPE nnn
                 | GRAB <( WAIT  <)> > }
                 | EXTRACT <( WAIT  <)> > }
 
Use the CP SET command to select the responses to be intercepted
by IUCVTRAP. The following CP SET commands have explanations provided:
 
 CP SET MSG IUCV     - specifies interception of incoming CP MESSAGES.
 CP SET WNG IUCV     - intercept incoming CP WARNING messages.
 CP SET EMSG IUCV    - intercept Error messages.
 CP SET ACNT IUCV    - intercept Accounting messages.
 CP SET IMSG IUCV    - intercept Informational messages.
 CP SET SMSG IUCV    - intercept incoming Special Messages.
 CP SET VMCONIO IUCV - intercept CMS generated console output.
 CP SET CPCONIO IUCV - intercept CP generated console output.
 
Type HELP CP SET for more information on the above mentioned command.
 
When any of the above options are set to IUCV, IUCVTRAP may be used
to intercept and save the trapped text in an internal stack. This
stack can be interrogated with the IUCVTRAP TYPE  command, or
the IUCVTRAP GRAB <( WAIT <)> > command. IUCVTRAP TYPE will dump
the entire contents of the internal stack to the CMS console. The nnnn
operand specifes the number of lines to be typed at the console. This
is useful if there are many internally stacked lines.
 
IUCVTRAP GRAB will stack LIFO the first trapped message that appears
on the internal queue. Using the WAIT option, an exec can be used to
wakeup whenever a message is received. If the WAIT option is not used
and a GRAB is attempted with an empty internal stack, the message
"* No messages available" is stacked. WAIT followed by a 3 digit number
specifying a wait interval (in seconds) may also be used. When the timer
expires, a return code 3 will be returned. If the WAIT is ended by a
console attention, a return code 2 will be returned.
 
IUCVTRAP ON initializes IUCVTRAP. IUCVTRAP ON ALL initializes IUCVTRAP
for use with all classes of IUCV messages.
 
IUCVTRAP EXTRACT works the same as GRAB, except that the message is
placed in a EXEC2 or REXX variable named IUCVMSG.
 
A full 255 characters will be stacked for each stacked line,
although EXEC2 may only access
the first 130 characters of each line.
Rexx may access all 255.
M0115.VMARC
Module:     XL
 
Purpose:    Loads EXECs into FREE storage, and optionally saves the
            core images in a DCSS.
 
Syntax:     XL ATTACH 
               DETACH
               DROP   filename 
               LOAD   filename   <(options <)>>
               MAP        <( LIFO|FIFO <)>>
               RESET
               SAVE   
               STATe  filename 
 
Author:     Arthur J. Ecock
 
Date:       06/14/85
 
References: SC24-5219 VM/SP EXEC 2 Reference (pages 73 thru 75)
            SC24-5239 VM/SP System Product Interpreter Reference
                                             (pages 118 thru 126)
            SC19-6209 VM/SP CMS Command and Macro Reference
                                             (pages 6-5 thru 6-10)
            SC19-6224 VM/SP System Programmer's Guide
                                             (pages 381 thru 384)
M0116.VMARC
Use the SESSION command to create multiple virtual terminal sessions for
use with a single 3270 type terminal. SESSION supports the 3277 model 2,
and the 3278 models 2,3,4 and 5. Support for the 3278 model 2A and 3279
Extended Color Support is available via a local CP modification.
 
                                        Explanation:
  SESSION   userid   <nn>    Creates a virtual session
                                        (16 maximum).
 
             ?                          Displays a SYNTAX message.
            QUERY|Q  <(STACK      Displays the current sessions
                                  with the last ACTIVE session
                                        displayed in HIGH intensity and
                                        and an asterisk on the right.
                                        The STACK option places the
                                        results in the CMS program stack.
                                        FIFO is the default.
            RESET                       Resets all logical devices.
            DROP     userid             Terminates the specified SESSION.
 
Example:
             SESSION VMUSER1 PF3
 
will cause a Logical Device to be created for VMUSER1 and the VM logo
to be directed to the user's virtual console. In order to facilitate
identification of the Active SESSION, a CP Release 2 dependent function
will issue a QUERY USERID to determine the Nodeid, and if found, it will
replace the Nodeid appearing in the 3270 status area with the Active
SESSION name (ie. VMUSER1). The user can continue the session by logging
on with another VM userid or by DIALing a VM server machine.
 
The specified Program Function key is used for the Temporary
Disconnect function. This key may be changed by specifying the
new value upon a SESSION reconnection. There is NO default value
for this function. The key may be specified as a 1 or 2 digit number,
optionally prefixed by the letters "PF". This key may have a value
from 1 to 24. The key need only be specified on the first invocation
of SESSION for a particular userid. For example, if a user types
SESSION VMUSER1 PF6, signs on, and uses PF6 to temporary disconnect,
he need only type SESSION VMUSER1 to reconnect with PF6 as the
Temporary Disconnect key.
 
The QUERY operand of the SESSION command will display all active
virtual terminal sessions along with their logical device
address and their Temporary Disconnect PF key setting. The last
ACTIVE session is displayed in high intensity. Entering the
SESSION command with no operands will cause resumption of the
last active SESSION (this is the one displayed in high intensity
on a SESSION QUERY). If an active session did not exist, a syntax
message will be displayed.
 
The RESET operand will terminate ALL active logical devices and
clear the Active Session Table. The virtual machine userids that
were associated with any of these logical devices will be placed
in a CP DISCONnect state, or will be dropped from a dialed host.
 
The DROP userid command is used to terminate a specified named SESSION.
This is a convenient way of terminating a session that was DIALed to
a server machine, since it is sometimes difficult to get dropped from it.
 
Please report any difficulties to:
 
 Arthur Ecock
 Senior VM Systems Programmer
 CUNY/UCC
 555 West 57th Street
 New York, New York 10019
 
Telephone: (212) 903-3656
 
BITNET address: ECKCU@CUNYVM
M0117.VMARC
                             TRACK MEMO
 
Installing TRACK
----------------
 
*
* IF YOU ALREADY RUNNING TRACK, PLEASE READ THIS MEMO ANYWAY FOR DETAILS
* ON THE MODIFIED INSTALLATION PROCEDURE.
*
 
*
* New as of 05/23/86 --
*
*     TRACK should now work with remote devices and with model 5's -
*     it should also work on 3290's if they are genned with an 80
*     column screen and 20 to 43 rows.
*
*     There is a new UNDOCUMENTED command - BITS ON|OFF|ALL.  Try
*     it from the VMB screen; it changes the format of the display of
*     flags.
*
 
TRACK is distributed as a set of ASSEMBLER routines, along with support
EXEC's, loadlists, CNTRL files and documentation.  To generate the TRACK
module you have to assemble all of the ASSEMBLE files, build a text deck,
and finally generate the module via the GENMOD command.
 
 
I recommend that you use the supplied TRACK CNTRL file to assemble the modules.
Before doing this, you have to modify the first line of the TRACK CNTRL file
to list the CP macro libraries used in your VM gen.  The easiest way to do this
is to copy the TEXT MACS line from your current CP control file, prefixing
TRAMAC to the list of macros. TRAMAC contains macros used by the TRACK modules.
Otherwise, TRACK uses standard CP and CMS macros.
 
 
You will run into a problem (as I did) if you already have 8 macro libraries
listed on the TEXT MACS line of your CP control file.  If this is the case,
you will have to figure out some way to make all of these macro libraries,
plus TRAMAC, available to the assembler.  All of the assembler routines
will assemble using the standard CMS assembler, as well as the H level
assembler.
 
Before you assemble TRAVMB, you should make a small mod to it. TRAVMB needs
to know the maximum number of virtual machines that are allowed to create ldevs.
The vanilla IBM code value is 8.  At CUNY, we have changed this to 32, and this
is a common mod.  If you are using the vanilla IBM code, or if you have
modified the max number of ldev hosts to something other than 32, modify this
line in TRAVMB:
 
MAXHOST  EQU   32    ******==>>* Set to max number of ldev hosts
 
 
Simply change the 32 to whatever value is used on your system.  If you are
using the TRACK CNTRL file, create a TRAVMB AUXLCL file, put in a line with
the name of an update, and create the update via XEDIT.  You can then
apply the update at assembly time via VMFASM. If you are bypassing the
update scheme, simply modify TRAVMB ASSEMBLE directly.
 
 
There is another small mod you may wish to make, to TRAUSR. TRACK has
a (new) command which toggles the display of the RETRIEVE buffer on the
VMB screen.  By default, the RETRIEVE buffer is shown.  You may wish
to change this default.  If so, find the following line in TRAUSR:
 
         OI    USERXFLG,RETDISP        * Display RETRIEVE buffer
 
This line occurs shortly after lable INITUSER.  If you want to change
the default so that the RETRIEVE buffer is NOT displayed, then change
the above line to:
 
         NI    USERXFLG,255-RETDISP    * Don't display RETRIEVE buffer
 
You will still be able to see the retrieve buffer once you are in
TRACK via the RETRIEVE ON|OFF command. If, in addition, you want to
take away the ability to display the retrieve buffer, comment out the
following line in TRAUSR (after label COMTAB):
 
         DC    CL8'RETRIEVE',X'02',AL3(ISRET)
 
By commenting out this line, you will cause TRACK to treat RETRIEVE as
a CMS SUBSET command (TRACK will pass the command to CMS). If you
want to make more refined mods, look at the code starting at label
ISRET in TRAUSR.
 
TRACON is shipped along with an aux file (TRACON AUXCNY) and some
update files. Please apply the updates before assembling TRACON
(e.g., use VMFASM with the TRACK CNTRL file).
 
TRAUSR is shipped along with an aux file (TRAUSR AUXCNY) and some
update files. Please apply the updates before assembling TRACON
(e.g., use VMFASM with the TRACK CNTRL file).
 
 
You may get assembly errors when assembling TRADMI - if so, simply
ignore the errors.  I will be shipping out a corrected version shortly.
 
There are a number of mods to track available on VMSHARE.  Please
do NOT apply the vmshare fixes to TRACON before trying out the
ones provided.
 
 
 
To assemble the routines, you can use VMFASM with the modified TRACK CNTRL
file.  The TRAASM exec contains the names of all the ASSEMBLER routines,
and you can use this to VMFASM all the files.
 
 
After you have assembled all of the ASSEMBLER routines, you should use the
PRELOAD command to build your TRACK text deck.  PRELOAD works like VMFLOAD -
you give it the name of a CNTRL file and a loadlist.  In this case, you would
use the TRACK CNTRL file, and the TRALOAD EXEC loadlist; i.e.,
 
                  PRELOAD TRALOAD TRACK
 
The TRAGEN EXEC does this for you -- it also renames the resulting text
and map files from TRALOAD to TRACK. TRAGEN then goes on to build the
TRACK module by issuing the commands:
 
             LOAD   TRACK
             GENMOD TRACK
 
If you are not using the TRAGEN exec, issue the PRELOAD TRALOAD TRACK command,
then issue LOAD TRALOAD and GENMOD TRACK.
 
 
That's it.  TRACK does not require an auxilliary files. You may want to look
at the TRACK HELPFILE before invoking the module.  Remember that you need
class E privilidges to do anything with TRACK.
 
Modifying TRACK
---------------
 
The simplest mod you can make is to modify the TRALOAD EXEC loadlist to
remove modules that you don't need.  This exec is commented -- certain
of the routines are marked OPTIONAL.  For example, the routines that build
the PSA, NAMES and HELP screens are optional.  Simply comment these out
of TRALOAD EXEC and rebuild the TRACK module via TRAGEN (or the PRELOAD
TRALOAD TRACK command, followed by LOAD TRALOAD and GENMOD TRACK).
 
For more complex mods, I suggest you use the CMS update scheme. You could
use your CP control file to apply updates, except that you would have to add
TRAMAC to your list of macro libraries, or copy the macros in TRAMAC into
a maclib that is already globalled by your CP control file. The TRACK CNTRL
file is supplied for updates, and you can always use that.
 
If you want to make big mods to TRACK, you will need to know a lot about
its internals.   Rather than take up room for that here, I will distribute
a seperate INTERNALS file as soon as I get a chance.
 
If you have any questions, call me:
Serge Goldstein, bitnet address SJGCU@CUNYVM
212-903-3680
CUNY UCC, 555 West 57th St., 16th floor
New York, NY 10019
M0118.VMARC
 
Note:
The current version of TRACK can be found here:
Track for z/VM
PHONE
 
The PHONE command provides a messaging environment suitable for on-line
conversation.  Both incoming and outgoing messages are stored in a
buffer which scrolls as it grows to exceed the dimensions of the screen.
 
The format of the PHONE command is:
 
-------------------------------------------------------------------------------
|           |                                                                 |
|           |  +-                     -+                                      |
|  PHONE    |  | (nickname) | (userid) |                                      |
|           |  +-                     -+                                      |
|           |                                                                 |
-------------------------------------------------------------------------------
 
This program offers a full screen environment capable of sending
messages to both local users and those on other systems.  In addition to
its ability to send messages to one of three users, PHONE features the
following options: automatic logging to disk of all messages, a provision
for modifying your NAMES file, and the help facility you are presently
using.  These and all other functions are PF-key driven as follows:
 
PF01:^^^^^Invokes the help facility and displays the panel you are
presently reading.  If, however, the word 'pf' is on the command line,
the settings of the function keys will be displayed in the message area,
and the help screen will not be invoked.
 
PF02:^^^^^Places you in the CMS subset environment where you may execute
CMS and CP commands.  Incoming messages are still trapped by PHONE, and
will be displayed upon your exit from CMS subset.  However, PHONE will
only trap 255 messages.  Any messages in excess of this number which
arrive while you are in subset will be displayed on your screen in the
normal (CMS) fashion.
 
PF03:^^^^^Will have you exit the PHONE full screen environment and
return to CMS.
 
PF04:^^^^^Will toggle the PHONE TAP.  When the phone tap is on, all
messages, whether incoming or outgoing, are written into a disk file
called 'PHONE TAP A'.  The current setting of the phone tap toggle is
displayed in the upper lefthand corner of the screen.  If the tap is
active, the word 'Tap' is displayed there.
 
PF05:^^^^^Assumes that a nickname or userid is present on the command
line, in one of the following forms: 'nickname', 'userid',
'userid@nodeid', or 'userid AT nodeid'.  If the nickname or userid is
alone on the command line, it is entered into the nickname list
(displayed in the top right-hand corner of the screen), and the userid
and nodeid are displayed left of the command line (if a nickname was
given, your names file will be searched for the corresponding userid and
nodeid).  The active nickname or userid is the leftmost, highlighted
entry in the nickname list.  This user will receive whatever is typed
on the command line.  If the nickname or userid is followed by text, a
single message will be sent to this user who will not be added to the
nickname list.
 
PF06:^^^^^Rotates the 3 userids in the nickname list, allowing you to
quickly switch from one to the other.  Keep in mind that the active
nickname or userid is the leftmost, highlighted one.
 
PF07:^^^^^Having set scroll off, will move back in the message buffer
maintained by PHONE.  The last one hundred messages are remembered.
If less than that number have been received, you will back up only as
far as the oldest message.  To return to the end of the buffer and
resume reception and scrolling of incoming messages, use PF12 to toggle
the scroll setting.
 
PF08:^^^^^Will move forward in the message buffer described above.
This key will not alter the setting of the scroll toggle.  If presently
scrolling, this key is ignored.
 
PF09:^^^^^Will execute the CMS command 'NAMES', placing you in an full
screen environment suitable for the creation and modification of
nicknames.  For more information, type 'HELP NAMES'.
 
PF10:^^^^^Will retrieve your last message line.  Repeated invocation
of this function will retrieve up to the last four message lines, and
then loop back to the first.
 
PF11:^^^^^Will toggle the setting that determines whether the node IDs
associated with the displayed messages are to be visible.  When these
are not displayed, the screen may contain more messages.  An indicator
of the current setting of this toggle is located to the left of the word
'P H O N E' on the top line of the screen.
 
PF12:^^^^^Will toggle the scroll setting.  When scrolling is off, the
messages displayed on your screen will remain undisturbed (except for
movement within the message buffer using PF07 (back) and PF08 (forward))
until scrolling is resumed.  When this happens, your screen will display
the most recent messages.  An indicator of the current scroll setting
is located immediately to the left of the word 'P H O N E' on the top
line of the screen.
 
PA2:^^^^^^Will clear the message buffer; the screen will become blank.
 
Notes:^^^^PF13-PF24 duplicate PF01-PF12, respectively.
 
To avoid the display of the Function Key layout upon entering
phone, issue the following command from CMS:
 
GLOBALV SELECT PHONE SETP PFKMSGS OFF
 
Return^codes:^^^^^^^rc =    1 => IUCV error.
                    rc =    2 => I/O error to the terminal.
                    rc =    3 => I/O error to 'PHONE TAP A' file.
                    rc =    4 => IDENTIFY command error.
                    rc =    5 => HNDIUCV macro error.
                    rc =  159 => insufficient memory.
M0119.VMARC
Help Evaluation
M0120.VMARC
Brown University HELP Command Replacement & Related Files
5/29/86 for the 1986 VM Workshop Tape
 
These files contain a complete replacement for IBM's HELP command in
VM/SP Release 3, and related commands which you might find useful by
themselves.  Also included is the SCRIPT source and listing for my
paper, "SP CMS Release 4 Help: An Evaluation at Brown University", which
I presented at the Workshop.
 
I will be updating HELP for Release 4, including the changes mentioned
in the paper, when I'm back at work after the Workshop.  The Release 4
version should be finished some time in June or July.  I'll announce
its availability to everyone on my BITNET mailing list for HELP (send
mail if you want to be added), and on VMSHARE.  If neither of those
ways will work for you, you'll just have to call me and ask how its
coming.
 
Included in the files are temporary updates to the current HELP (for
Release 3) to handle the Release 4 HELP file.  Those updates are
included in the version of HELPPGM, the main HELP program, on this
tape.  Also, "HELP HELPCMS" has been updated to take into account
the updates.  See the file "R4UPD MEMO" for a description of what the
updates do.  The affected subroutines are: HELPFMT, SCANCMMD, and
TSCRIPT.  To remove the Release 4 changes, re-assemble them without
the updates and generate a new HELPPGM MODULE.  The files "R3HELP SCRIPT"
and "R3HELP HELPCMS" are the previous version of "HELP HELPCMS".
 
Although the user documentation for HELP is up-to-date, the installation
instructions are still for Release 2.  (I'm sorry about this mess; it
will all be corrected with the Release 4 distribution.)
Here are the differences you should be aware of:
 
1. In Release 3, IBM has included the HELP bootstrap loader, DMSHLL,
   in the nucleus, and added an entry equating HELP to DMSHLL in the
   function table, DMSFNC.  This makes it relatively difficult to
   install a complete replacement for HELP.  The options are:
     a. Remove the entry for HELP from DMSFNC, and remove DMSHLL
        from the nucleus load EXECs.  Then HELP can be installed
        as it was for Release 2, as described in the current
        installation manual.
     b. Replace DMSHLL by HELPLDR.  Update the HELP entry in DMSFNC,
        update the nucleus load EXECs, and put HELPLDR TEXT on the
        S-disk.  This is what I did, and works quite well, since
        HELPLDR is re-entrant (as is all of HELP).  In this case,
        when following the Release 2 installation steps, omit copying
        HELP MODULE and HELPLDR MODULE onto the S-disk.  (This change
        is in the section "Final Installation".)
 
2. HELP now supports 20 different attributes codes, which may be
   customized in HELPPROF ASSEMBLE.  A new file, "ATTRTEST HELPCMS", is
   provided for testing the attribute codes.
 
3. In step 5 of the section "Help Disk Preparation", the new file
   "PFKEYS HELPHELP" must be copied to the HELP disk, and an
   abbreviation size must be set for it.  This is the file which is
   displayed when PF9 is pressed from HELP.
 
The file LOCHELP HELPCMS describes how this HELP differs from IBM's.
The biggest differences are speed, much improved searching to match
what the user entered, and menu generation at run time from the
available files on all accessed disks.  My paper goes into the
differences between the versions of HELP in detail.
 
Complete directions for installing HELP (at the Release 2 level)
are contained in the print file INSTALL LISTING, which also
describes what all the other files are.
 
Some programs supplied with HELP which are also useful by themselves are:
 
CMX       Executes a command from a program, as if it were entered
          at the console.  Written by Serge Goldstein at CUNY.
 
WSF       Executes Write Structured Field - Query Reply for a terminal
          and types what is returned in a readable form.
 
CVTMEMO   Interprets carriage control in a LISTING file in order to
          create a MEMO file.
 
Also, you might find HELPDISP a useful starting point for writing
low-level code to do full-screen I/O.
 
Feel free to contact me with any questions, problems, suggestions,
etc.
 
        Peter DiCamillo
        Brown University Computer Center
        Box 1885
        Providence, RI 02912
        (401) 863-2221 (secretary)
        (401) 863-1530 (office, worth trying at night)
        BITNET: CMSMAINT at BROWNVM
M0121.VMARC
***********************************************************************
*                                                                     *
*                      MODULE SPECIFICATION                           *
*                                                                     *
*                  Jon Gilbert (JON at BROWNVM)                       *
*                        June 12, 1984                                *
*                                                                     *
*  NAME:                                                              *
*       LEDIT                                                         *
*                                                                     *
*  FUNCTION:                                                          *
*       LEDIT is  an editor with  limited capabilities which  can be  *
*       used to edit files which are too large to edit with standard  *
*       editors.   LEDIT works  by reading in only the  lines of the  *
*       files which will be displayed immediately,  thereby reducing  *
*       its storage requirements drastically.    Any changes made to  *
*       the file in LEDIT are saved on disk as soon as the user hits  *
*       ENTER.  Thus, there is no way to quit or undo once the ENTER  *
*       has been pressed.                                             *
*                                                                     *
*  CALLING SEQUENCE:                                                  *
*       LEDIT filename                            *
*                                                                     *
*  ERROR CONDITIONS:                                                  *
*       Many errors may arise,  see the error message section of the  *
*       code for more information.                                    *
*                                                                     *
*  EXTERNAL PROCEDURES CALLED:                                        *
*       LEDIT routines:  CHARNUM, CONVERT, SUBSET,  LOCATE,  CMDCHK,  *
*       HEXCMD                                                        *
*       CMS routines:  LINEDIT, DMSFREE,  DMSFRET,  ESTATE,  RDTERM,  *
*       ERASE, RENAME, WRBUF, RDBUF, WRTERM, FINIS                    *
*                                                                     *
*  EXTERNAL DATA REFERENCED:                                          *
*       NUCLEUS data: ADT info, FST info                              *
*                                                                     *
*  ATTRIBUTES:                                                        *
*       Loaded in the user area, GENMODed with the SYSTEM option.     *
*                                                                     *
*  STORAGE UTILIZATION:                                               *
*       From free storage:  1-8K screen buffer,  1 lrecl sized rdbuf  *
*       input buffer,  1-screensize x lrecl  buffer for changes made  *
*       on screen  (not absolutely  necessary),  and  1 100  x lrecl  *
*       buffer  for   re-writing  the  file  (also   not  absolutely  *
*       necessary).                                                   *
*                                                                     *
***********************************************************************
M0122.VMARC
Brown University 7171 Terminal Definitions
 
Notes:
   TYPETERM must be included.
   This file must begin with the TERMTYPS list.
 
Patches after installation:
   Remove "L" from ADM3AL, ADM31L, IBM3101L, TVI912L, TVI920L,
                   TVI950L, VT100L  (already done in TERMS.IMG)
   Mixed case for "Enter terminal types" and "Valid types are"
   Set 9600 to maximum rate for write optimization
   Patch NV-RAM size in word at location 0002  (2.0 utilities do this)
   Disable XOFF termination of transparent read: patch system control
     flag at location 8 to X'1000'  (requires new ROMs)
 
Peter DiCamillo, 3/86
M0123.VMARC
Test *CCS Facility for Line Mode Sessions
M0124.VMARC
This is Brown University's BBOARD, a bulletin board system.
It is not supported (yet) by Brown in any way.  That is to
say if you find a problem, let us know; we may be able to work
on it, but no promises or guarantees.
 
The files are separated by the disk-mode-number.  Mode _1 files
are from the LIBRARY BBOARD, i.e. the files the user's virtual
machine accesses to run BBOARD (these files assume the server
machine is named BBOARD); mode _2 files should be on the 191 disk
of the disconnected virtual machine that is the BBOARD server
(which expects a 193 disk for storage of postings); mode _5 files
are additional files (source, documentation, etc.) that I thought
might be helpful.
 
The file BBDRIVE SCRIPT _5 is the driver file for the User's Guide.
It was written for Waterloo SCRIPT (V 82.2) on the Xerox 9700 laser
printer.  When I went to SCRIPT it, I got non-terminal informational
error messages about the ".cs" control word.
 
For the life of me, I could not find the proper source to the EXPAND
module, so we re-created it.
 
Also, I just noticed that VMACCT is used by BBOARD.  VMACCT is a
Brown-specific program that converts a userid to an account number,
or a named virtual machine to its 'cloneid'.  I am not sure what
BBOARD uses this for, but I am sure you will have to alter the
code slightly.  Let me know if there are questions.
 
Syd Bauman
Brown University Computer Center
Box 1885
Providence, RI 02912
(401) 863-2221
BITNET: SYD@BROWNVM
 
Alternate contact: Peter DiCamillo, CMSMAINT@BROWNVM
                   (same address & phone)
M0125.VMARC
'PRTLIST' IS A COMMAND WE CREATED AT IUPUI SO THAT OUR USERS WILL HAVE
AN EASY WAY TO ACCESS THEIR VIRTUAL PRINTER FILES.
 
THE FOLLOWING COMPONENTS WILL BE SENT FOLLOWING THIS FILE:
 
   PRTLIST  EXEC
   PRTRECV  EXEC
   PRTPEEK  EXEC
   PROFPLST XEDIT
   PRTEXEC  XEDIT
   PRTLIST  HELPCMS
M0126.VMARC
This contribution to the Workshop tape contains three tools as
follows:
 
COMPREXX:
     This is a utility that will take a REXX EXEC as input and
strip out blanks and comments and put as many REXX statements
per line as will fit (up to 32K bytes).  This is based on the
EXEC written by Michael Coffin and placed on VMSHARE.
VWRITE is a module called by COMPREXX to write long records.
The files comprising this are:
 
     COMPREXX $RXEXEC
     COMPREXX AUXME
     COMPREXX EXEC
     COMPREXX HELPCMS
     COMPREXX MM043M0S
     COMPREXX MM046M0S
     COMPREXX MM049M0S
     VWRITE   ASSEMBLE
     VWRITE   HELPCMS
     VWRITE   MODULE
 
 
DMTSLV
     DMTSLV is a line driver for RSCS release 3 that emulates a
3780/2780.  It is usefull for connecting to systems that will talk
to a 3780/2780 but not NJI/VMB/VMC/SML or what ever.  It is also
usefull for debugging mods to DMTNPT.  This is the RSPSLV line driver
from RASP converted to run on RSCS.  The files comprising DMTSLV are:
 
     DMTSLV   ASSEMBLE
     DMTSLV   AUXM30
     DMTSLV   MEMO
     DMTSLV   MM013C0T
     DMTSLV   MM013C1T
     DMTSLV   MM013C2T
     DMTSLV   TXTR312
 
 
DMELOAD/DMEIPL
     This utility allows you to place multiple CP nuclei and stand
alone utilities (DDR, DSF etc.) on a CMS disk and be able to IPL
them on a bare machine or from a virtual machine.  It is particularly
usefull on systems maintained from a remote site.  The files
comprising this utility are:
 
     DMEIPL   ASSEMBLE
     DMEIPL   AUXPTF
     DMEIPL   IPLTXT
     DMEIPL   MODULE
     DMEIPL   UPDT001
     DMELOAD  ASSEMBLE
     DMELOAD  AUXPTF
     DMELOAD  TEXT
     DMELOAD  UPDT001
     DMELOAD  UPDT002
     DMELOAD  UPDT003
     DMELOAD  UPDT004
     DMESAL   CNTRL
     DMESAL   LISTING
     DMESAL   MEMO
     DMESAL   SCRIPT
     IPL$     PROG$
     TEXTIFY  EXEC
M0127.VMARC
I have written an exit to the USEREXT routine provided with VM/CMS LISP
which allows messages sent via a SMSG command to be received by a LISP
routine and stored in a LISP character vector.  I have included the
following files.  The calling syntax is documented in the prolog
for the ATTN and VMCFR routines in USEREXT.
 
         LISPCMS MODULE      LISP to CMS interface module
         LISPCMS ASSEMBLE    Source for LISP to CMS interface
         USEREXT ASSEMBLE    K.U.'s LISP User Extention module
 
Jerry Kendrick
University of Kansas
Office of Information Systems
Sunnyside & Illinois
Lawrence, Kansas 66044
BITNET ID - TS06@UKANVM
 
I have written a program which allows special 3270 order streams for the
IBM 7171 to be entered in hex for transmission to the 7171 port a
user's terminal is connected to.  This is useful for testing and problem
determination when using the IBM 7171.  The program is called SET7171
was written in WATERLOO "C" and calls an subroutine which was written in
IBM 370 assemble language. The program is used by entering the following
at the CMS prompt level when logged on to VM/SP:
 
     SET7171 {Hexidecimal characters for special 3270 order sequence}
 
The following files are included:
 
         SEND7171 ASSEMBLE   Source for a routine to write to the IBM717
         SET7171  C          "C" source for SET7171 program
         SET7171  MODULE     Executable code of program
 
Please address any questions or problems to:
 
Jerry Kendrick
University of Kansas
Office of Information Systems
Sunnyside & Illinois
Lawrence, Kansas 66044
Telephone 913-864-4326 Extension 224
BITNET ID - TS06@UKANVM
 
M0128.VMARC
 Files in this entry include:
-MAXUSED - Use the MAXUSED utility to to find the peak utilization of a
 disk DURING a command.  "QUERY DISK" can be issued before and after the
 command is run, but won't tell you how much disk space was used for
 WORK FILES that were created and erased by the command.  MAXUSED, on the
 other hand, keeps track of this information and displays it upon
 request.
-QLOCK - for each real page that is locked, QLOCK lists the real and
 virtual page numbers and the owning userid.
-SHOWSTAK - a debugging tool that types every line in the program and
 console stacks without changing them.
-ADTFTYPE - Inhibits reading of files with a specific filetype on a
 specific accessed disk.  A sample of this utilities use is to avoid
 accidentally executing execs from user's disks.
-CLUSTERS - For each cluster, lists the real device address, cluster
 address, and number of resources.
-RETLOOK - Displays formatted retrieve buffers.
-XTAPEIO - A program which, when loaded up as a nucleus extension called
 TAPEIO, allows encryption/decryption of data.
-DISKDATE - A utility to display the date and time an EDF disk was last
 updated and when it was formatted.
-PRIVIDS - A utility to scan the directory and display all non-class G
 userids and their priv classes in an easy to read format.
-EXTENDS - A simple program to display the number of extends, unextends,
 & extended pages.
-CLOSECON - A nucleus extension that uses the clock comparator to
 automatically close the user's console a specific interval.
-PFK - An XEDIT macro to execute PF keys.
 
 The following are not my originals
-TAPERASE - A simple program to erase a tape at address 181.
-ID - A program to type a sorted list of selected userids.
-CMDEDIT - A program which, when loaded up as a nucleus extension called
 WAITRD, allows for the CMS ? and = commands.
 
 Notes on regeneration of these utilities:
 Most programs contain regeneration notes.  MAXUSED, ADTFTYPE, SHOWSTAK,
 CLOSECON, CMDEDIT, XTAPEIO, ID, and TAPERASE can be assembled with only
 DMSSP and CMSLIB maclibs globaled.  CLUSTERS, QLOCK and EXTENDS require
 DMPREAD.  DMPREAD is on this tape, a few physical files further on.  Use
 the DMKDMP CNTRL file, and GLOBAL TXTLIB LCLTXT before loading.  If you
 have any problems, feel free to call.
 Help files or the ? facility (or both) work for all utilities.  Programs
 work on VM/SP 1, 2, and 3.
 Nico Mak, (203) 722-5211
M0129.VMARC
CMSTYPO
M0130.VMARC
CMS Command Monitor
M0131.VMARC
This contribution contains a number of cp mods and some useful CMS
programs. BSMODS DATA and BHMODS DATA list the specific titles.
These are basically the same with BSMODS describing the mods to
VM/SP3 at 8505 and BHMODS describing the HPO3.4 verision of that
same release.
 
There are some major things which people have asked for:
1.  Mods to SPTAPE which allow DUMP/RESTORE of multiple tapes
    simultaneously.
2.  Mods to the spool system to install Xerox 8700/9700.
3.  Mods to the spool system to install DatagraphiX COM.
4.  Mods to the spool system to improve the operator interface.
5.  Make RDR files be PUN files.
6.  Show % spool utilization by total, queue, file.
7.  Fix BACKSPACE/FOREWARDSPACE commands to work with or without
    appropriate skip to channel 1 commands.
8.  Archive print files after printing instead of deleting them.
9.  Allow search for spool files by Name or Dist.
10. Allow secondary user to be disconnected.
11. Allow SPOOL, TRANSFER TO option to specify userid@nodeid.
12. Allow output devices to be named.
 
The useful tools include:
1. An IPLer program to execute a bunch of CP commands.
2. A DCSS dump/restore utility.
3. An exec callable routine to place data on input line.
4. A utility to dump a reader in CP spool format.
5. A CMS abend recovery utility.
6. A random password generator.
7. Some service machine primetives to handle sleeping until some event
   happens and for setting the TOD clock comparator as an event.
 
The structured programming macro library which was used for most of
the assembly routines is included.
 
Steve Howes     
(801)378-6182
167 TMCB
Brigham Young University
Provo, Utah  84602
M0132.VMARC
                                         JUNE 2, 1986
 
    SPREADSHEET IS A SIMPLE UTILITY THE WORKS VIA THE XEDIT FULL SCREEN
  COMMANDS.    IT PERFORMS MANY OF THE FUNCTIONS OF LOTUS, ETC.
  UNFORTUNATELY, THERE ARE A NUMBER OF HANDY FUNCTIONS, SUCH AS RANGES,
  THAT IT DOES NOT PERFORM (YET).
 
    THIS TOOL WAS DEVELOPED FAIRLY RECENTLY, AND HAS BEEN DISTRIBUTED TO
  A FEW KEY FOLKS FOR BETA TESTING ONLY.    SO EVEN THOUGH IT'S NOT
  TRULY 'READY', THE VM WORKSHOP IS, AND HERE YOU ARE READY OR NOT.
 
    I THINK YOU'LL FIND IT USEFUL, AND AT THE VERY LEAST, A STARTING
  POINT FOR YOUR OWN SPREADSHEET.
 
    A FAIRLY BRIEF EXPLANANTION OF HOW TO USE THIS, CAN BE OBTAINED VIA
  PF1 AFTER INVOKING VIA THE COMMAND 'SPREAD FNAME', WHERE FNAME IS
  THE FILENAME TO BE CREATED.
 
    TWO FILES ARE NECESSARY:
 
       (1) SPREAD EXEC - NEEDED TO INVOKE THE XEDIT MACRO
       (2) SPREAD XEDIT - THE MACRO
 
    ANY QUESTIONS AND/OR SUGGESTIONS (PLEASE NO COMPLAINTS), CAN BE
  DIRECTED TO THE PERPETRATOR:
 
       RAY SILVEY
       ROCKY MOUNTAIN NEWS
       400 WEST COLFAX AVE.
       DENVER, CO  80206
       (303) 892-2640
 
M0133.VMARC
CONSOLE MEMO - VM OPERATOR console enhancement -                  ABB 01/16/86
______________________________________________________________________________
GENERAL INFORMATION
___________________
This facility has several design objectives:
 - provide a method for console operators to re-display the VM console.
 - reduce the probability for loss of the console log
 - collects log information by day
 - elimimate the bother and expense of printing the console log.
The feature is implemented with a disconnected VM userid "CONSOLE" and several
 EXECs.  The console log is spooled to user CONSOLE and when the log is closed
 it goes to the CONSOLE userid where it is added to that days console log.
 Two EXECs under the VM OPERATOR's id allow the operator to control the
 closing (and transfering) of the console log, as well as display ability into
 console logs which have been transfered.
EXEC      userid    Description and purpose
________  ________  _______________________
CONCLOSE  OPERATOR  Close console log, transfer to "CONSOLE userid
CONLOG    OPERATOR  brings up FILELIST display for all console logs, so
                    Operator can BROWSE the log for any specific day
PROFILE   CONSOLE   "wakes up" when a log file arrives in virtual reader
CONREAD   CONSOLE   Processes console log from reader.  Creates a new
                    file or adds to existing file for the specific day.
OLD       CONSOLE   internal; creates list of files from oldest to newest.
REDUCE    CONSOLE   internal; purges oldest files when disk utilization is
                    more than 70%
OPERATIONAL INFORMATION
_______________________
Shortly after midnight, Operators should run the "CONCLOSE" Exec to close out
that days console log and start a new log.
When the CONSOLE userid has completed the processing of a console log, it
returns a message to the OPERATOR indicating how many records were processed,
and the name of the console file created.
When the Operator desires to browse the current log, the CONCLOSE command
should be issued first.  Then wait for the informational message from CONSOLE,
indicating that the console log has been processed.  At this time issue the
CONLOG command.  PF10 is used to browse the selected log.  It may also be
printed if desired.
If a VM shutdown is planned, the CONCLOSE command should be issued first.
Do not issue SHUTDOWN until the confirmation message has been received.
M0134.VMARC
ES
 
Use the ES (Empty stacked) command to clear the CMS console input
buffers at the end of the current command.  Preventing the commands
stacked from being executed.
 
The format of the ES command is:
       ES
 
Usage Notes:
 
1.^^ES clears all console input buffers that are active at the end of
the current command, it will not clear the stack immediately.
M0135.VMARC
SUBCMAP
 
The SUBCMAP command will map all subcommand processors defined at the time
of its invocation.  It accepts the same parameters as NUCXMAP, and provides
a similar display.
 
The format of the SUBCMAP command is:
 
    SUBCMAP        
 
where:
 
ALL^^^^^^indicates that all Subcommand environments should be displayed
including any look-aside entries.  The default is to display only
non-lookaside subcommand environments.
 
Currently CMS does not have any lookaside subcommand environments (Rel 3),
but this is provided to make the syntax compatibile with NUCXMAP and in
case any are added in the future.
M0136.VMARC
EXECMOD is a method of turning EXECs into MODULEs.  It is certainly NOT
a compiler, but can dramatically speed up EXECs under some circumstances.
See the EXECMOD help file for details.
 
Included is a cute example, designed to take advantage of the fact
that EXECMODed EXECs can become nucleus extensions and hence take service
calls.  XEDABND REXX provides a means of saving files being XEDITed
during an ABEND.  XEDABND MODULE was generated from XEDABND REXX by the
following commands:
 
    EXECMOD XEDABND REXX (SYSTEM SERVICE
    A XEDABND
    LOAD XEDABND (ORIGIN TRANS
    GENMOD XEDABND (SYSTEM
 
You can skip all that, because the module is provided.  XEDABND must first
be activated by entering 'XEDABND'.  NUCXMAP should show XEDABND as a
nucleus extension.  Now to test it, enter:
 
    XEDIT PROFILE EXEC  (or whatever file is handy)
    CMS                 (Enter CMS subset)
    HX                  (Cause an ABEND)
    BEGIN               (Give SOME command to force cleanup)
 
XEDABND will sent all files being edited to your reader, in NETDATA format.
 
Cute, huh?
 
Of course, during ABEND processing doing all those commands is not supported,
and may not always work.
M0137.VMARC
This file contains the source code and documentation to the transparent
write/read subroutines.
 
The files are:
   WR7171 ASSEMBLE -- the source code to all the subrs,
   WR7171 TEXT     -- object code in case you don't want to assemble,
   WR7171 LISTING  -- 4 documentation files with carriage control,
   RD7171 LISTING     suitable for printing.
   CK7171 LISTING     (Careful if you assemble WR7171 -- you'll wipe
   CL7171 LISTING     out the LISTING.)
   WR7171 HELPUSLI -- 4 documentation files for use with CMS Release 3
   RD7171 HELPUSLI -- HELP.  The information is the same as the
   CK7171 HELPUSLI -- LISTING files.
   CL7171 HELPUSLI --
 
 
NEIL ERDWIEN 
KANSAS STATE UNIVERSITY COMPUTING ACTIVITIES
CARDWELL HALL
MANHATTAN, KS  66506
(913) 532-6311
M0138.VMARC
NDSU7171 MACLIB
M0139.VMARC
                CPI ( CHESEBROUGH-POND'S INC. ) TRUMBULL MIC
 
       DATE    : 860226
       FROM    : L. MANCINI
 
       SUBJECT : VM CONSOLE SPOOL PROCEDURE
                 ( VMOPB008     - REVISION 04 )
 
       THIS PROCEDURE IS TO BE USED TO SPOOL THE VM CONSOLE FILE
       ---------------------------------------------------------
 
       THIS PROCEDURE SHOULD BE USED AS A REFERENCE WHEN NECESSARY. IF ANY
       CHANGES ARE REQUIRED PLEASE CONTACT TECHNICAL SERVICES PERSONNEL
 
       A CONSOLE FACILITY HAS BEEN WRITTEN TO CLOSE, VIEW AND MAINTAIN OPERATOR
       LOG FILE(S) ON-LINE. LOG FILES WILL KEPT FOR A DURATION OF ONE MONTH,
       AT WHICH TIME THEY WILL BE PURGED.
 
 
       TO USE THIS FACILITY THE OPERATOR SIMPLY ENTERS: ===> CONSOLE
 
 
       THIS UTILITY CAN BE EXECUTED ANYTIME DURING THE DAY.
       THE CONSOLE FILE WILL BE PRINTED AS SUCH:
 
                      FILE NAME = USERID
                      FILE TYPE = MMDDTTXX     MM = MONTH
                                               DD = DAY
                                               TT = TIME
                                               XX = UNIQUE NUMBER.
 
       THIS NAMING CONVENTION WAS TO USED TO KEEP ALL THE CONSOLE FILES UNIQUE.
 
 
       HOW TO VIEW CONSOLE FILES:
       --------------------------
 
       ON OPERATOR CONSOLE ENTER :
 
              ===> 'FILELIST OPERATOR * D': A FULL SCREEN OF CONSOLE FILES
                                            WILL BE DISPLAYED.
                                            TO SELECT A CONSOLE FILE FOR VIEWING
                                            SIMPLY MOVE THE CURSOR NEXT TO THE
                                            FILE AND DEPRESS PF11.
M0140.VMARC
 
SUBMITTED TO KSU VM/WORKSHOP 1985
---------------------------------
 
XLIST  IS WHAT I CONSIDER A MIX BETWEEN FLIST AND FILELIST. I HAD LEFT A
COMPANY THAT HAD FLIST AND WENT TO A COMPANY THAT DIDN'T HAVE  IT.  ONCE
YOU  GET USE TO USING FLIST IT IS VERY HARD TO GIVE IT UP. I DIDN'T LIKE
THE WAY THAT IBM HAD WRITTEN FILELIST SO  I  DECIDED  TO  WRITE  MY  OWN
UTILITY FROM A SKELETON THAT WAS FIRST WRITTEN BY BRUCE MARSHALL. IT WAS
PRETTY BARE BONES, SO I REWORKED THE LOGIC AND ENDED  UP  REWRITING  THE
WHOLE  FACILITY.  DURING  THE  REWRITE  I  INCORPORATED  THE  FACILITIES
AVAILABLE IN FLIST AND ADDED SOME LOGIC THAT I  THINK  FLIST  SHOULD  OF
HAD.  THE FACILITY ALLOWS EASY PERSONAL CUSTOMIZATION WHICH IS EXPLAINED
IN THE HELPFILE. ANY QUESTIONS OR PROBLEMS FEEL FREE TO CALL OR WRITE.
 
SUBMITTED TO UK VM/WORKSHOP 1986
--------------------------------
XLIST HAS BEEN RE-WRITTEN IN REXX AND MORE MODULARIZED THAN THE LAST
VERSION RESULTING IN WHAT I THINK IS A FASTER XLIST. SOME QUIRKS EXIST
BUT WILL NOT CAUSE TRAGIC RESULTS. I AM SORRY BUT I RUSHED THIS.
 
 
RICHARD HOYT
NORTHEAST UTILITIES
INFORMATION RESOURCES GROUP
9 SELDEN ST. RM E044
BERLIN, CT. 06037
(203) 665-3643
M0141.VMARC
STC 4305 / 3380 IMAGE - 12 MEG MODULE
 
CNU001DK - WRITTEN IN CONJUNCTION WITH STC CORP.
-------- - DMKCPK, DMKPAG, DMKVDG, RDEVICE ( MODULES - MACRO AFFECTED )
 
THESE MODS WILL ALLOW YOU TO SPECIFY THE SOLID STATE HARDWARE AS
FIXED-HEAD 3380'S. THIS IS BENEFICIAL DUE TO THE FACT THAT YOU CAN
SPECIFY THESE MODULES IN 'DMKSYS' UNDER THE 'SYSORD' MACRO AS 'SYSFH'.
 
WITHOUT THIS MOD THE 4305/3380 MUST BE SPECIFIED AS 'SYSMH' WHICH DOES
NOT ALLOW YOU TO DRIVE THESE MODULES AS FAST AS POSSIBLE. THEY END UP
IN THE ROUND-ROBIN ROUTINE FOR MOVING-HEAD PAGING. AS SOON AS THEY ARE
GENNED AS 'SYSFH' THEY WILL BE USED FIRST BEFORE ANY OTHER PAGING
DEVICE. THEY ALSO TAKE ADVANTAGE OF PAGE MIGRATION WHICH WILL CLEAR OFF
INACTIVE PAGES ON THE DEVICE ALLOWING THE DEVICE TO CONTINUE WORKING.
 
CNU002DK - WRITTEN IN-HOUSE
-------- - DMKPGT ( MODULES - MACROS AFFECTED )
 
AFTER WE INSTALLED THE MOD ABOVE, WE DIDN'T LIKE THE IDEA OF PAGE
MIGRATION GOING TO 'SYSTEMP' SPACE FILLING UP SPOOL SPACE AREA AND
BANGING AGAINST THE I/O THAT IS ALREADY HEAVY ON OUR SPOOL SYSTEM. WE
CAME UP WITH THIS MOD THAT WILL MIGRATE PAGES OFF THE 4305/3380 TO THE
'SYSMH' DEVICES AND NOT TO THE 'SYSTEMP' DEVICES.
 
 
NOTE:
-------
 
WE HAVE THE MODS INSTALLED ON A 3081K RUNNING VM/SP3.1 HPO3.2
 
WE ARE GOING TO HPO3.4 SHORTLY AND INTEND TO REMOVE THESE MODS DUE TO
THE NEW 'SYSPAG' MACRO SPECIFICATIONS UNDER HPO3.4. THE 4305/3380 WILL
THEN BE USED AS 'TYPE=PP'. I HAVE BEEN TOLD THAT THE IBM 3380'S ARE
BEST SUITED FOR SWAPPING DEVICES AND THAT THE SOLID-STATE SHOULD BE USED
FOR PRIMARY PAGING DEVICES.
 
 
RICHARD HOYT
ASSOCIATE COMPUTER SCIENTIST
NORTHEAST UTILITIES SERVICE COMPANY
9 SELDEN STREET RM. E044
BERLIN, CT. 06037
(203) 665-3643
M0142.VMARC
The following is a brief abstract of the items to follow in this file.
They are contributed by:
                  Rich Greenberg
                  Xerox Computer Services (XXC)
                  5310 Beethovan Street
                  Mail Stop MA-21
                  Los Angeles
                  Ca, 90066
                  213-306-4000 ext 2248 (office) or 2518 (computer rm)
As is usual:
 
"The enclosed software, documentation, and materials are without
explicit or implicit warranty of usefullness or safety. All are
used entirely at the risk of the user. Xerox Computer Services,
its employees, and contractees make no guarantees."
 
and;
 
"These materials have been made available at no cost for public
distribution. Neither the author(s) nor any employer or client
thereof accept any responsibility for any problems or costs
incurred as a result of these programs. Use or sale of these
programs for profit is prohibited without the prior consent of the
author(s)."
 
 
Furthur note:
 
Some of these items have appeared in previous workshop tapes or
on VMSHARE, or on the Waterloo Tapes.   In most cases,
the versions here have been updated (I hope for the better).
 
Everything here has been tested and is in use on VM/SP rel 3 8506=slu317.
 
Most of the assemble files need macros which are in USERMAC MACLIB.
(Which is included here.)
                                     Rich
 
 
 
The items are:
 
 CCTYPE   ASSEMBLE
 CCTYPEV  ASSEMBLE
 
These programs take a disk file which has ASA carriage control characters
and print it on a typewriter terminal honoring the carriage control.
CCTYPEV is for VTAM connected typewriters coming in through VCNA,
and gets around a VTAM limitation on record length.   (Tested only on a
VTAM connected 3767.)
 
 CKTAPE   ASSEMBLE
 
This program will examine and dump a tape in many ways. O/p to printer
or terminal.  Has scan mode which will just count records or just count
tape marks.
 
 CSTAK    ASSEMBLE
 
This is a handy program for debugging EXECs that stack things.  It dumps
the entire stack to the console, optionally displaying a scale line.
 
 LABELS   ASSEMBLE
 
This routine is intended to print gummed lables on a typewriter terminal.
 
 PRTRCVR  ASSEMBLE
 
This routine combines the IPF routines DEPRINT & REPRINT.
It takes a print spool file from your reader and either makes a listing
file on disk, or sends it to the printer retaining carriage control.
 
 TT       ASSEMBLE
 
This program will duplicate a tape up to a double tape mark.
It reports the number of records in each file and the total on the tape.
 
 AMIDISC  EXEC
 
This exec is for use in service machines and others to determine if
the V.M. is disconnected or has a terminal.
 
 CALC     EXEC
 CALC     XEDIT
 
This exec is a general purpose calculator with two modes:
 Mode 1: CALC expression
         Where expression is anything that can be on the
         right side of an = in REXX.
 Mode 2: Enter CALC with no operand.  It will do a VM READ and will
         accept any valid REXX statement.  If it is an assignment,
         i.e  var = expression, the value of var will be displayed.
CALC XEDIT does the same thing from within XEDIT.
 
 CLDEV    EXEC
 SLDEV    EXEC
 LDEVS    EXEC
 STKCPQN  EXEC
 
Execs used to diagnose possible LDEV problems.
LDEVS goes through the VMBLOKS of all users looking to see if they have
logical devices, and if so, displays what and where.
SLDEV queries (almost) all possible LDEV addresses, and displays the ones
that come back with other than 'NOT LOGGED ON'.
CLDEV runs both and reports on discrepancies.
STKCPQN is called by LDEVS.  It stacks the userid and terminal address
of all logged on users.
 
 CPCMFI   EXEC
 CPCMFI   XEDIT
 
This exec issues a CP command and puts the result into a file (the exec),
or into the file you are xediting (the macro).
 
 DIRMAP   EXEC
 
This exec will get the directory from DIRMAINT and map it with the IPF
utility DIRMAP.
 
 DIRMGET  EXEC
 
This exec will get a users directory entry fron DIRMAINT and bring it
into xedit.  When you file it there are several options you can select
such as replace in directory, erase, keep,......
Uses a local mod for CP TERMINAL MORETIME & HOLDING, which you may want
to change or remove.
 
 DRDEV    EXEC
 
This exec displays the RDEVBLOK for a device.   DRDEV ccu
 
 DVMB     EXEC
 
This exec displays the VMBLOK of a user.   DVMB user_id
 
 EDATE    EXEC
 
Edate is a Rexx function that enhances the capability of the built in
function "Date" by allowing an optional date parameter. Edate will
perform exactly as the Date function if invoked with one of the
options supported by Date only. (see Date function in Rexx Reference)
Edate will accept an optional date parameter which can be either
a U.S. date (mm/dd/yy) or a Julian date (yyddd). It will use this
date instead of todays date as "Date" does.
 
 FLISTS   EXEC
 
This exec is to be used with FLIST (Part of IPF).  It is used when you
have used the "USE" option of FLIST, and you want to sort the list with
/SN etc.  It should have been included with IPF but was not.
 
 INUSE    EXEC
 INUSE    MEMO
 INUSE    XEDIT
 
This exec, macro, and memo will show an "IN USE" display on a terminal.
 
 IPL      EXEC
 
This exec allows you to enter "IPL CMS", "IPL 190", or "IPL FMT"
with the same syntax.  If the file "IPL xxxx *" exists, it will be
punched to your reader and IPL'd.  If the file can't be found, a
CP IPL command will be executed.  A filename-type may optionally
follow the s/a program's name, and if present, that file will also
be punched before the IPL 00C is done.
 
 IPLSYS   EXEC
 
This rexx function will return the name of the CMS system that was IPL'd,
or "190" if the IPL was not a saved system.
 
 LASTIPL  EXEC
 
This exec is useful to put into the sysprogs profile exec, to let him/her
know when the VM system has been IPL'd.
NOTE: There are several explicit refrences to filemode "W",
which you will need to change.
Note: This exec assumes that the alternate nucleus mod is installled
along with my addition to that mod which is included as: DMKCQY WVV0010.
These assumptions could be removed if you don't have the alt nuc mod.
 
 LOGMSG   EXEC
 
This exec simplifies changing or setting the CP logmsg.
 
 MDISA    EXEC
 MENAB    EXEC
 MULTTERM EXEC
 
MENAB & MDISA allow you to enable/disable a range of terminal addresses.
Either MENAB ccu-ccu or MDISA ccu ccu is accepted.  Multterm is an inner
exec for the other two.
 
 PB       XEDIT
 PB       EXEC
 
This exec and macro assist in converting FBA blocks to CP pages and
vice versa.  Both inside and outside of xedit, entering PB followed
by one or more numbers will give both eight times each number and
one eighth of each number.
 
 PURET    EXEC
 RETPUN   EXEC
 
These execs will transfer files from the system punch queue
back to the reader of the owner.  Handy in systems which do not
have a real punch.   (Two variations on one theme.)
 
 SCREX    EXEC
 
SCRipt and EXamine a file.  Will call DCF and put the result into
Xedit to examine the results.
 
 SECUSER  EXEC
 
This exec will make a user the secuser for another id,
or clear the secuser for an id.
 
 SEEKS    EXEC
 
This exec will allow seek analysis by volume (somewhat crudely).
Requires a CP mod (included) to allow sleep in milliseconds,
which is included as:  DMKCFJ XVV0017.
 
 STORIPL  EXEC
 
This rexx exec will define storage to a supplied size and then IPL
a system in one operation.
 
 VMCLASS  EXEC
 VMCLASS  XEDIT
 
This exec/macro will examine 'USER DIRECT', and give a list of
those users that have a specific privledge class.
 
 WHO      EXEC
 
This exec will get the user, system, and terminal id,
and tell the user what they are.
It assumes that a 3 character termid is a real address, a 4 character
termid is a logical device, and a longer termid is a vtam LU.
 
 ALLFILE  XEDIT
 ALLGOWAY XEDIT
 ALLSAVE  XEDIT
 
These macros will issue a 'FILE', a 'GOWAY' (which see), or a
'SAVE' for each file in the xedit ring.
 
 BLOKLTR  XEDIT
 BLOKLTR- XEDIT
 BLOKLTR# XEDIT
 BLOKLTRA XEDIT
 BLOKLTRB XEDIT
 BLOKLTRC XEDIT
 BLOKLTRD XEDIT
 BLOKLTRE XEDIT
 BLOKLTRF XEDIT
 BLOKLTRG XEDIT
 BLOKLTRH XEDIT
 BLOKLTRI XEDIT
 BLOKLTRJ XEDIT
 BLOKLTRK XEDIT
 BLOKLTRL XEDIT
 BLOKLTRM XEDIT
 BLOKLTRN XEDIT
 BLOKLTRO XEDIT
 BLOKLTRP XEDIT
 BLOKLTRQ XEDIT
 BLOKLTRR XEDIT
 BLOKLTRS XEDIT
 BLOKLTRT XEDIT
 BLOKLTRU XEDIT
 BLOKLTRV XEDIT
 BLOKLTRW XEDIT
 BLOKLTRX XEDIT
 BLOKLTRY XEDIT
 BLOKLTRZ XEDIT
 BLOKLTR0 XEDIT
 BLOKLTR1 XEDIT
 BLOKLTR2 XEDIT
 BLOKLTR3 XEDIT
 BLOKLTR4 XEDIT
 BLOKLTR5 XEDIT
 BLOKLTR6 XEDIT
 BLOKLTR7 XEDIT
 BLOKLTR8 XEDIT
 BLOKLTR9 XEDIT
 BLOKTXT  XEDIT
 
This collection of macros will generate block letters/numbers in the
file you are xediting.  To use:
        BLOKLTR col_number character
        BLOKTXT col_number char_string
 
 CAP      XEDIT
 
This macro will capitalize the first letter of the word the cursor is
positioned on.  (Usually set to a PF key.)
 
 CMPR     XEDIT
 
This macro will compare two or more files (in multiple xedit logical
screens), and stop when a difference is found.
Can also compare different portions of one file.
 
 FIXOPT   XEDIT
 
This macro will undo the mess that VMFOPT makes of variable labels.
 
 FLIP     XEDIT
 
This macro accepts an xedit command as an operand, and will issue that
command in every logical screen (same or different files).
 
 GOWAY    XEDIT
 
This macro will remove all traces of a file that you are xediting.
The file on disk, and any autosave files will be erased.
 
 II       XEDIT
 
For those who like their xedit current line to be in the middle of
the screen, this will move it to the top of the screen and go into
input mode to give a full screen for inputting.  When you get out
of input, the current line will be restored to where it was.
 
 PRINTIT  XEDIT
 
This macro, when called from inside PEEK, will transfer the subject
file to your print queue.
 
 PRIVUSR  XEDIT
 
This macro will examine 'USER DIRECT', and give a list of those users
that have more than class 'G' privledges.
 
 SCROLL   XEDIT
 
An xedit macro to scroll by half or quarter screens.
 
 SOS      XEDIT
 
A macro that adds an option "LINEDEL" to SOS in XEDIT.
 
 WORDCNT  XEDIT
 
This macro will count the number of words in a file.
 
 WORDTR   XEDIT
 
This macro will translate the letters of a word, from the cursor
position to the next blank, to either upper case or lower case.
    WORDTR L     (lower case)
    WORDTR U     (upper case)
(Usually set to a PF key.)
 
 XCASE    XEDIT
 XNULL    XEDIT
 XSCALE   XEDIT
 
These macros will take the current setting of CASE, NULLS, or SCALE and
reverse it.
 
 USERMAC  MACLIB
 USERMAC  SCRIPT
 
This maclib contains macros that are needed to assemble most of the
BAL programs in this file.  The script file contains documentation
for most of the macros.
 
 DMKSND   XVV0001
 
Under normal conditions, a send can only be done if the sendee is
disconnected.  This mod bypasses this requirement if the sender is
a sysprog, i.e. has class C privledges.
 
 DMKGRC   XVV0006
 
This mod will test for running second level CP.  If so, the screen status
area and nodeid will be made lower case as an indication.
 
 DMKDIA   XVV0012
 
If doing a 'DIAL' with no target vaddr specified, default
instead to the same vaddr as the terminal raddr.
Also checks if the dial is from a logical device, and if so
backtracks to the real terminal and uses its address.
 
 DMKDMP   XVV0014
 
The translate table used for DMCP, DUMP, and DISPLAY is extended to the
full character set available on the T11 or TN print trains.
Characters X'41' -> X'BF' are affected.
 
 DMKCFT   XVV0016
 DMKCQR   XVV0016
 DMKGRF   XVV0016
 
This mod will allow the user to specify:
            TERMinal MOREtime STD/OFF/n1 STD/OFF/n2
      and   TERMinal HOLDing ON/OFF
 
 DMKCFJ   XVV0017
 
This update allows a sleep interval to be specified in milliseconds.
It also sends out a reminder of 'ZZZzzz',
unless a parm of "QUIET' is specified.
 
 DMKCFC   XVV0020
 DMKLOG   XVV0020
 
If the issuer of an AUTOLOG command is class A or B, No password will be
needed.   Class G users can autolog with the proper password.
 
 DMKMNT   XVV0028
 
For DASD devices which are on an alternate channel, but have been defined
to CP as two seperate devices, CP will give a series of DMKCPI954E
messages, one per device.  This mod eliminates the message and leaves
both RDEVBLOKS online provided:
   1) The volume is not CP owned.
   2) The two addresses are the same except for the channel.
 
 PROFILE  EXEC
 ROUTER   EXEC
 ROUTER   TABLE
 ROUTTABL XEDIT
 
The preceeding files make up a complete replacement for the ROUTER code
that comes with IPF.  I wanted extra function, and to understand what the
execs were doing.  You will want to change the userids listed in the
variable "owner" at line 25.
This lists the users who can SMSG privledged commands to ROUTER.
The table of prefixes and userids can be queried and updated online.
See the exec for details.
You will still need IPF, as this exec uses WAKEUP.
 
 DDRLOG   EXEC
 FREEXT   EXEC
 FREEXT   LOG
 FREEXT   XEDIT
 HI       EXEC
 KICK     EXEC
 LOGPRT   EXEC
 PROFILE  EXEC
 SPLCLEAN EXEC
 VMUTIL   EXEC
 VMUTIL   LOG
 VMUTIL   PARMS
 SPOOLSTK MODULE
 
The preceeding files make up a complete replacement for the VMUTIL code
that comes with IPF.  I wanted extra function, and to understand what the
execs were doing.  You will want to change the userids listed in the
variable "owner" at line 25.
This lists the users who can SMSG privledged commands to VMUTIL.
You will still need IPF, as this exec uses WAKEUP.
The other files in this group are various execs that are triggered either
automagically by the VMUTIL PARMS file, or that can be requested by SMSG
from users.  In most cases, they will not be of general use, but are
included to serve as examples.
One that will be of general use is SPLCLEAN, which cleans old files
out of the spool system.  This exec needs EDATE EXEC which is supplied
on this tape file, and SPOOLSTK, donated by Nico Mak on an earlier
workshop tape and included again here for your convienience.
One thing which may not be obvious from the code
and comments is that there are 3 catagorys of commands that can be
requested by SMSG.  They are:
   1) Built in functions such as CMSC and SHUT.
   2) External execs:
      a) If the filemode is A0, they can only be requested by userids
         in the "owner" list.  (No A0 execs are supplied here.)
      b) If the filemode is A1, they can be requested by anybody.
         (See the execs HI and KICK.)
 
M0143.VMARC
 This tape file contains a collection of EXECs and DMS panels which
 comprise a system we use to generate PROFS nickname files from a
 system-wide CMS nickname file.
 
      CMSNICK  PCB      T1 F        629          1          1
      CMSNICK  PANEL    T1 F         80         33          1
      PROFNICK PANEL    T1 F         80         33          1
      PROFNICK PCB      T1 F        669          1          1
      HELP1    PANEL    T1 F         80         27          1
      HELP1    PCB      T1 F        434          1          1
      CMSPROC  EXEC     T1 V         77         55          1
      GETNICK2 EXEC     T1 V        105         68          1
      PROFPROC EXEC     T1 V         80        187          2
M0144.VMARC
This file has some utility execs and xedit macros. They are:
 
KWS EXEC - Searches all files on a minidisk for given keywords.
CALC EXEC - Quick and Dirty desk calculator exec
CP XEDIT - Executes a CP command from inside XEDIT and displays the outp
           in the XEDIT MSGAREA.
PHONE EXEC - Looks up telephone numbers in a fixed format sequential fil
BUCKET EXEC - Generates the Auxfiles needed to apply all fixes on a put
              bucket from the put tape itself. Documentation included in
M0145.VMARC
The files on this tape are  essentially a took kit for REXX programmers.
The first  tape file is,  of course, the file  you are now  reading. The
second file is a rewrite of the LISTFILE program, borrowing heavily from
modifications developed at  the Universities of Maine  and Waterloo. The
third file consists of a package  of REXX Extensions. All this stuff has
been  tested  under VM  Releases  3  and  4.  Enhancements to  the  REXX
extensions have not yet  been made for VM/HPO 4.2. Some  of the REXX Ex-
tensions use  the modified  LISTFILE. Some also  use EXECSERV,  which is
available on the SHARE tape;  TAPEINFO, USERINFO, and related extensions
require a modification I  made to EXECSERV, which I can  send you if you
need them. Several (e.g., GETPRINT)  are provided here only as examples,
and  their use  requires  several other  files I  have  not bothered  to
include.  Finally,  some  of  them,  (e.g.,  INITIALS)  make  use  of  a
system-wide  NAMES file:  at our  site, in  addition to  IBM's tags,  we
maintain tags  for INITIALS,  ACCOUNT, AGENCY, PROJECT,  SUPERVISOR, and
SUPERPHONE.  These are  used at  one time  or another  by various  menu-
driven facilities  such as  online service  requests and  our home-grown
PROFS (named EMMA). Feel free  to call 505-982-0955 with your questions.
(--Albo P. Fossa, State of New Mexico Highway Department, Santa Fe)
 
Summary of space occupied (3350 1K blocks, 450 per cylinder):
Total for all files on the tape:    1985
Tape file 1:                          22
Tape file 2:                         283
Tape file 3:                        1680
All HELP files:                      825
All EXEC files:                      825
 
TAPE FILE 1: ABSTRACT ABSTRACT
TAPE FILE 2: DMSLST   ASSEMBLE
             LISTFILE HELPCMS
TAPE FILE 3: REXXEXT  DOCUMENT
             REXXEXT  HELPMENU
             ACCESSED EXEC
             ACCESSED HELPREXX
             ACCOUNT  EXEC
             ACCOUNT  HELPREXX
             ACNT     EXEC
             ACNT     HELPREXX
             ADDR     EXEC
             ADDR     HELPREXX
             AFFINITY EXEC
             AFFINITY HELPREXX
             APL      EXEC
             APL      HELPREXX
             APU      EXEC
             APU      HELPREXX
             ASSIST   EXEC
             ASSIST   HELPREXX
             ATTNSET  EXEC
             ATTNSET  HELPREXX
             AUTOPOLL EXEC
             AUTOPOLL HELPREXX
             AUTOREAD EXEC
             AUTOREAD HELPREXX
             AVERAGE  EXEC
             AVERAGE  HELPREXX
             BIGGEST  EXEC
             BIGGEST  HELPREXX
             BITNOT   EXEC
             BITNOT   HELPREXX
             BLIP     EXEC
             BLIP     HELPREXX
             BLKSFREE EXEC
             BLKSFREE HELPREXX
             BLKSIZE  EXEC
             BLKSIZE  HELPREXX
             BLKSUSED EXEC
             BLKSUSED HELPREXX
             BLOCKS   EXEC
             BLOCKS   HELPREXX
             BOSS     EXEC
             BOSS     HELPREXX
             BREAKIN  EXEC
             BREAKIN  HELPREXX
             BREAKKEY EXEC
             BREAKKEY HELPREXX
             BRKKEY   EXEC
             BRKKEY   HELPREXX
             B2C      EXEC
             B2C      HELPREXX
             B2D      EXEC
             B2D      HELPREXX
             B2X      EXEC
             B2X      HELPREXX
             CALCLOG  EXEC
             CALCLOG  HELPREXX
             CALENDAR EXEC
             CALENDAR HELPREXX
             CAW      EXEC
             CAW      HELPREXX
             CHANNELS EXEC
             CHANNELS HELPREXX
             CHARDEL  EXEC
             CHARDEL  HELPREXX
             CIRCLE   EXEC
             CIRCLE   HELPREXX
             CLOCK    EXEC
             CLOCK    HELPREXX
             CMSDISK  EXEC
             CMSDISK  HELPREXX
             CMSDOS   EXEC
             CMSDOS   HELPREXX
             CMSINFO  EXEC
             CMSINFO  HELPREXX
             CMSLEVEL EXEC
             CMSLEVEL HELPREXX
             CMSNAME  EXEC
             CMSNAME  HELPREXX
             CMSREL   EXEC
             CMSREL   HELPREXX
             CMSTYPE  EXEC
             CMSTYPE  HELPCMS
             CMSUBSET EXEC
             CMSUBSET HELPREXX
             CODEWORD EXEC
             CODEWORD HELPREXX
             COLOR    EXEC
             COLOR    HELPREXX
             COMPANGL EXEC
             COMPANGL HELPREXX
             CONNECT  EXEC
             CONNECT  HELPREXX
             CONSADDR EXEC
             CONSADDR HELPREXX
             CONSDISC EXEC
             CONSDISC HELPREXX
             CONSPOOL EXEC
             CONSPOOL HELPREXX
             CONSRADR EXEC
             CONSRADR HELPREXX
             CONSTYPE EXEC
             CONSTYPE HELPREXX
             CONSVADR EXEC
             CONSVADR HELPREXX
             COS      EXEC
             COS      HELPREXX
             COT      EXEC
             COT      HELPREXX
             COUNTPOS EXEC
             COUNTPOS HELPREXX
             COUNTSTR EXEC
             COUNTSTR HELPREXX
             CPCONIO  EXEC
             CPCONIO  HELPREXX
             CPDATA   EXEC
             CPDATA   HELPREXX
             CPINFO   EXEC
             CPINFO   HELPREXX
             CPLEVEL  EXEC
             CPLEVEL  HELPREXX
             CPSCREEN EXEC
             CPSCREEN HELPREXX
             CPU      EXEC
             CPU      HELPREXX
             CPUID    EXEC
             CPUID    HELPREXX
             CPUINFO  EXEC
             CPUINFO  HELPREXX
             CPULOAD  EXEC
             CPULOAD  HELPREXX
             CPUMODEL EXEC
             CPUMODEL HELPREXX
             CPUSERNO EXEC
             CPUSERNO HELPREXX
             CPUTYPE  EXEC
             CPUTYPE  HELPREXX
             CSC      EXEC
             CSC      HELPREXX
             CSW      EXEC
             CSW      HELPREXX
             CSYNONYM EXEC
             CSYNONYM HELPREXX
             CYLS     EXEC
             CYLS     HELPREXX
             C2B      EXEC
             C2B      HELPREXX
             DAY      EXEC
             DAY      HELPREXX
             DAYNAME  EXEC
             DAYNAME  HELPREXX
             DAYS     EXEC
             DAYS     HELPREXX
             DAYSECS  EXEC
             DAYSECS  HELPREXX
             DCSSEND  EXEC
             DCSSEND  HELPREXX
             DCSSLOAD EXEC
             DCSSLOAD HELPREXX
             DCSSSTRT EXEC
             DCSSSTRT HELPREXX
             DCSSUSER EXEC
             DCSSUSER HELPREXX
             DEGREES  EXEC
             DEGREES  HELPREXX
             DEVADDR  EXEC
             DEVADDR  HELPREXX
             DEVNAME  EXEC
             DEVNAME  HELPREXX
             DEVTAB   EXEC
             DEVTAB   HELPREXX
             DISKADDR EXEC
             DISKADDR HELPREXX
             DISKDATE EXEC
             DISKDATE HELPREXX
             DISKEXTN EXEC
             DISKEXTN HELPREXX
             DISKFORM EXEC
             DISKFORM HELPREXX
             DISKINFO EXEC
             DISKINFO HELPREXX
             DISKLABL EXEC
             DISKLABL HELPREXX
             DISKMAX  EXEC
             DISKMAX  HELPREXX
             DISKMODE EXEC
             DISKMODE HELPREXX
             DISKRW   EXEC
             DISKRW   HELPREXX
             DISKTIME EXEC
             DISKTIME HELPREXX
             DISKUSED EXEC
             DISKUSED HELPREXX
             DISTCODE EXEC
             DISTCODE HELPREXX
             DO       EXEC
             DO       HELPCMS
             DOS      EXEC
             DOS      HELPREXX
             DRG      EXEC
             DRG      HELPREXX
             DSKQUERY EXEC
             DSKQUERY HELPREXX
             D2B      EXEC
             D2B      HELPREXX
             E        EXEC
             E        HELPREXX
             ECMODE   EXEC
             ECMODE   HELPREXX
             EMSG     EXEC
             EMSG     HELPREXX
             ESCAPE   EXEC
             ESCAPE   HELPREXX
             EXECLVL  EXEC
             EXECLVL  HELPREXX
             EXECTRAC EXEC
             EXECTRAC HELPREXX
             EXIST    EXEC
             EXIST    HELPREXX
             EXPAN    EXEC
             EXPAN    HELPREXX
             EXPONENT EXEC
             EXPONENT HELPREXX
             EXTHI    EXEC
             EXTHI    HELPREXX
             FACT     EXEC
             FACT     HELPREXX
             FACTOR   EXEC
             FACTOR   HELPREXX
             FACTORS  EXEC
             FACTORS  HELPREXX
             FHPAGES  EXEC
             FHPAGES  HELPREXX
             FILEDATE EXEC
             FILEDATE HELPREXX
             FILEFIND EXEC
             FILEFIND HELPREXX
             FILEID   EXEC
             FILEID   HELPREXX
             FILEINFO EXEC
             FILEINFO HELPREXX
             FILELOC  EXEC
             FILELOC  HELPREXX
             FILEMODE EXEC
             FILEMODE HELPREXX
             FILENAME EXEC
             FILENAME HELPREXX
             FILENLOC EXEC
             FILENLOC HELPREXX
             FILES    EXEC
             FILES    HELPREXX
             FILETIME EXEC
             FILETIME HELPREXX
             FILETYPE EXEC
             FILETYPE HELPREXX
             FINDABBR EXEC
             FINDABBR HELPREXX
             FINDWORD EXEC
             FINDWORD HELPREXX
             FLENGTH  EXEC
             FLENGTH  HELPREXX
             FMAXLPI  EXEC
             FMAXLPI  HELPREXX
             FOUND    EXEC
             FOUND    HELPREXX
             FPLENGTH EXEC
             FPLENGTH HELPREXX
             FREELOWE EXEC
             FREELOWE HELPREXX
             FREELOWR EXEC
             FREELOWR HELPREXX
             FREEMODE EXEC
             FREEMODE HELPREXX
             FREEVDEV EXEC
             FREEVDEV HELPREXX
             FWIDTH   EXEC
             FWIDTH   HELPREXX
             GETCHARS EXEC
             GETCHARS HELPREXX
             GETCLASS EXEC
             GETCLASS HELPREXX
             GETCOPY  EXEC
             GETCOPY  HELPREXX
             GETFCB   EXEC
             GETFCB   HELPREXX
             GETFORM  EXEC
             GETFORM  HELPREXX
             GETITEM  EXEC
             GETITEM  HELPREXX
             GETMNAME EXEC
             GETMNAME HELPREXX
             GETMODIF EXEC
             GETMODIF HELPREXX
             GETPRCTL EXEC
             GETPRCTL HELPREXX
             GETPRINT EXEC
             GETPRINT HELPREXX
             GETUSER  EXEC
             GETUSER  HELPREXX
             GLOBALED EXEC
             GLOBALED HELPREXX
             GRADS    EXEC
             GRADS    HELPREXX
             HEXWIDTH EXEC
             HEXWIDTH HELPREXX
             HILIGHT  EXEC
             HILIGHT  HELPREXX
             HYP      EXEC
             HYP      HELPREXX
             IMESCAPE EXEC
             IMESCAPE HELPREXX
             IMPCP    EXEC
             IMPCP    HELPREXX
             IMPEX    EXEC
             IMPEX    HELPREXX
             IMSG     EXEC
             IMSG     HELPREXX
             INITIALS EXEC
             INITIALS HELPREXX
             INPUT    EXEC
             INPUT    HELPREXX
             INSWORD  EXEC
             INSWORD  HELPREXX
             INTFRACT EXEC
             INTFRACT HELPREXX
             INTGFRAC EXEC
             INTGFRAC HELPREXX
             INVERSE  EXEC
             INVERSE  HELPREXX
             IPLDATE  EXEC
             IPLDATE  HELPREXX
             IPLTIME  EXEC
             IPLTIME  HELPREXX
             ISAM     EXEC
             ISAM     HELPREXX
             JULIAN   EXEC
             JULIAN   HELPREXX
             LARGEST  EXEC
             LARGEST  HELPREXX
             LASTCHAR EXEC
             LASTCHAR HELPREXX
             LASTWORD EXEC
             LASTWORD HELPREXX
             LDRTBLS  EXEC
             LDRTBLS  HELPREXX
             LEAPYEAR EXEC
             LEAPYEAR HELPREXX
             LINEDEL  EXEC
             LINEDEL  HELPREXX
             LINEDIT  EXEC
             LINEDIT  HELPREXX
             LINEND   EXEC
             LINEND   HELPREXX
             LINKS    EXEC
             LINKS    HELPREXX
             LOG      EXEC
             LOG      HELPREXX
             LOGGEDAT EXEC
             LOGGEDAT HELPREXX
             LOGGEDON EXEC
             LOGGEDON HELPREXX
             LPI      EXEC
             LPI      HELPREXX
             LRECL    EXEC
             LRECL    HELPREXX
             MACLIBS  EXEC
             MACLIBS  HELPREXX
             MAINHIGH EXEC
             MAINHIGH HELPREXX
             MANTISSA EXEC
             MANTISSA HELPREXX
             MAXDATE  EXEC
             MAXDATE  HELPREXX
             MAXNUM   EXEC
             MAXNUM   HELPREXX
             MAXRW    EXEC
             MAXRW    HELPREXX
             MAXWORD  EXEC
             MAXWORD  HELPREXX
             MEAN     EXEC
             MEAN     HELPREXX
             MEDIAN   EXEC
             MEDIAN   HELPREXX
             MEMEXIST EXEC
             MEMEXIST HELPREXX
             MERGE    EXEC
             MERGE    HELPREXX
             MHPAGES  EXEC
             MHPAGES  HELPREXX
             MIH      EXEC
             MIH      HELPREXX
             MINDATE  EXEC
             MINDATE  HELPREXX
             MINNUM   EXEC
             MINNUM   HELPREXX
             MINWORD  EXEC
             MINWORD  HELPREXX
             MONTH    EXEC
             MONTH    HELPREXX
             MOON     EXEC
             MOON     HELPREXX
             MSG      EXEC
             MSG      HELPREXX
             NAME     EXEC
             NAME     HELPREXX
             NAMEINFO EXEC
             NAMEINFO HELPREXX
             NETID    EXEC
             NETID    HELPREXX
             NETUSERS EXEC
             NETUSERS HELPREXX
             NEWEST   EXEC
             NEWEST   HELPREXX
             NICKNAME EXEC
             NICKNAME HELPREXX
             NODEID   EXEC
             NODEID   HELPREXX
             NOTRAN   EXEC
             NOTRAN   HELPREXX
             NUCEND   EXEC
             NUCEND   HELPREXX
             NUMBCYLS EXEC
             NUMBCYLS HELPREXX
             NUMSORT  EXEC
             NUMSORT  HELPREXX
             OLDEST   EXEC
             OLDEST   HELPREXX
             OS       EXEC
             OS       HELPREXX
             OUTPUT   EXEC
             OUTPUT   HELPREXX
             PACKED   EXEC
             PACKED   HELPREXX
             PAGERATE EXEC
             PAGERATE HELPREXX
             PAGEREAD EXEC
             PAGEREAD HELPREXX
             PAGEWRIT EXEC
             PAGEWRIT HELPREXX
             PAGEX    EXEC
             PAGEX    HELPREXX
             PAGING   EXEC
             PAGING   HELPREXX
             PCHCOUNT EXEC
             PCHCOUNT HELPREXX
             PF       EXEC
             PF       HELPREXX
             PHONENUM EXEC
             PHONENUM HELPREXX
             PI       EXEC
             PI       HELPREXX
             PITCH    EXEC
             PITCH    HELPREXX
             PROCESSR EXEC
             PROCESSR HELPREXX
             PROTECT  EXEC
             PROTECT  HELPREXX
             PRTCLASS EXEC
             PRTCLASS HELPREXX
             PRTCOUNT EXEC
             PRTCOUNT HELPREXX
             PRTFORM  EXEC
             PRTFORM  HELPREXX
             PSW      EXEC
             PSW      HELPREXX
             Q1       EXEC
             Q1       HELPREXX
             Q2       EXEC
             Q2       HELPREXX
             RANGE    EXEC
             RANGE    HELPREXX
             RDEVADDR EXEC
             RDEVADDR HELPREXX
             RDEVCLAS EXEC
             RDEVCLAS HELPREXX
             RDEVFEAT EXEC
             RDEVFEAT HELPREXX
             RDEVINFO EXEC
             RDEVINFO HELPREXX
             RDEVMODL EXEC
             RDEVMODL HELPREXX
             RDEVTYPE EXEC
             RDEVTYPE HELPREXX
             RDRCOUNT EXEC
             RDRCOUNT HELPREXX
             RDRINFO  EXEC
             RDRINFO  HELPREXX
             RDYLMSG  EXEC
             RDYLMSG  HELPREXX
             RDYMSG   EXEC
             RDYMSG   HELPREXX
             RDYSMSG  EXEC
             RDYSMSG  HELPREXX
             READFLAG EXEC
             READFLAG HELPREXX
             READS    EXEC
             READS    HELPREXX
             RECFM    EXEC
             RECFM    HELPREXX
             RECORD   EXEC
             RECORD   HELPREXX
             RECORDS  EXEC
             RECORDS  HELPREXX
             REDTYPE  EXEC
             REDTYPE  HELPREXX
             REGISTER EXEC
             REGISTER HELPREXX
             RELPAGE  EXEC
             RELPAGE  HELPREXX
             REPLACE  EXEC
             REPLACE  HELPREXX
             REPWORD  EXEC
             REPWORD  HELPREXX
             RESPAGES EXEC
             RESPAGES HELPREXX
             REVWORD  EXEC
             REVWORD  HELPREXX
             RFCLASS  EXEC
             RFCLASS  HELPREXX
             RFCOPIES EXEC
             RFCOPIES HELPREXX
             RFDATE   EXEC
             RFDATE   HELPREXX
             RFDIST   EXEC
             RFDIST   HELPREXX
             RFHOLD   EXEC
             RFHOLD   HELPREXX
             RFLRECL  EXEC
             RFLRECL  HELPREXX
             RFNAME   EXEC
             RFNAME   HELPREXX
             RFNUMBER EXEC
             RFNUMBER HELPREXX
             RFORIGIN EXEC
             RFORIGIN HELPREXX
             RFRECS   EXEC
             RFRECS   HELPREXX
             RFSPTYPE EXEC
             RFSPTYPE HELPREXX
             RFTAG    EXEC
             RFTAG    HELPREXX
             RFTIME   EXEC
             RFTIME   HELPREXX
             RFTYPE   EXEC
             RFTYPE   HELPREXX
             ROMAN    EXEC
             ROMAN    HELPREXX
             ROOM     EXEC
             ROOM     HELPREXX
             ROOT     EXEC
             ROOT     HELPREXX
             RSCSID   EXEC
             RSCSID   HELPREXX
             RUNSET   EXEC
             RUNSET   HELPREXX
             RWSTAT   EXEC
             RWSTAT   HELPREXX
             SAY      EXEC
             SAY      HELPCMS
             SBADATA  EXEC
             SBADATA  HELPREXX
             SCOLUMNS EXEC
             SCOLUMNS HELPREXX
             SCREEN   EXEC
             SCREEN   HELPREXX
             SCRNSAVE EXEC
             SCRNSAVE HELPREXX
             SEC      EXEC
             SEC      HELPREXX
             SECUSER  EXEC
             SECUSER  HELPREXX
             SIN      EXEC
             SIN      HELPREXX
             SIOCOUNT EXEC
             SIOCOUNT HELPREXX
             SLINES   EXEC
             SLINES   HELPREXX
             SMALLEST EXEC
             SMALLEST HELPREXX
             SMSG     EXEC
             SMSG     HELPREXX
             SORTED   EXEC
             SORTED   HELPREXX
             SPMODE   EXEC
             SPMODE   HELPREXX
             SPOOLED  EXEC
             SPOOLED  HELPREXX
             STACKED  EXEC
             STACKED  HELPREXX
             STACKS   EXEC
             STACKS   HELPREXX
             STBYPASS EXEC
             STBYPASS HELPREXX
             STDDEV   EXEC
             STDDEV   HELPREXX
             STEAL    EXEC
             STEAL    HELPREXX
             STGUTIL  EXEC
             STGUTIL  HELPREXX
             STMULTI  EXEC
             STMULTI  HELPREXX
             SUM      EXEC
             SUM      HELPREXX
             SUPPANGL EXEC
             SUPPANGL HELPREXX
             S370E    EXEC
             S370E    HELPREXX
             TABCHAR  EXEC
             TABCHAR  HELPREXX
             TAN      EXEC
             TAN      HELPREXX
             TAPEINFO EXEC
             TAPEINFO HELPREXX
             TAPEOWNR EXEC
             TAPEOWNR HELPREXX
             TAPERING EXEC
             TAPERING HELPREXX
             TCPU     EXEC
             TCPU     HELPREXX
             TCPUMINS EXEC
             TCPUMINS HELPREXX
             TCPUSECS EXEC
             TCPUSECS HELPREXX
             TERMADDR EXEC
             TERMADDR HELPREXX
             TEXT     EXEC
             TEXT     HELPREXX
             TIMEDIFF EXEC
             TIMEDIFF HELPREXX
             TIMER    EXEC
             TIMER    HELPREXX
             TOGGLE   EXEC
             TOGGLE   HELPREXX
             TRANSAR  EXEC
             TRANSAR  HELPREXX
             TRANSEND EXEC
             TRANSEND HELPREXX
             TXTLIBS  EXEC
             TXTLIBS  HELPREXX
             TYPEFLAG EXEC
             TYPEFLAG HELPREXX
             UNABBREV EXEC
             UNABBREV HELPREXX
             UNPACKED EXEC
             UNPACKED HELPREXX
             USAGE    EXEC
             USAGE    HELPREXX
             USAGEPCT EXEC
             USAGEPCT HELPREXX
             USERAREA EXEC
             USERAREA HELPREXX
             USERINFO EXEC
             USERINFO HELPREXX
             USERS    EXEC
             USERS    HELPREXX
             VCPU     EXEC
             VCPU     HELPREXX
             VCPUMINS EXEC
             VCPUMINS HELPREXX
             VCPUSECS EXEC
             VCPUSECS HELPREXX
             VDEVADDR EXEC
             VDEVADDR HELPREXX
             VDEVCLAS EXEC
             VDEVCLAS HELPREXX
             VDEVINFO EXEC
             VDEVINFO HELPREXX
             VDEVTYPE EXEC
             VDEVTYPE HELPREXX
             VMCONIO  EXEC
             VMCONIO  HELPREXX
             VMSAVE   EXEC
             VMSAVE   HELPREXX
             VOLSER   EXEC
             VOLSER   HELPREXX
             VSTORAGE EXEC
             VSTORAGE HELPREXX
             VURCOUNT EXEC
             VURCOUNT HELPREXX
             WCGMS    EXEC
             WCGMS    HELPREXX
             WEEKS    EXEC
             WEEKS    HELPREXX
             WNG      EXEC
             WNG      HELPREXX
             WORDAT   EXEC
             WORDAT   HELPREXX
             WORDSORT EXEC
             WORDSORT HELPREXX
             WORKSET  EXEC
             WORKSET  HELPREXX
             WRITABLE EXEC
             WRITABLE HELPREXX
             WRITES   EXEC
             WRITES   HELPREXX
             X2B      EXEC
             X2B      HELPREXX
             YEAR     EXEC
             YEAR     HELPREXX
             370E     EXEC
             370E     HELPREXX
M0146.VMARC
LISTFILE rewrite mentioned in M0146.
M0147.VMARC
REXX extensions mentioned in M0146.
M0148.VMARC
***********************************************************************
***                                                                 ***
***   Copyright (C) 1986 by Don Johnson, Storage Technology Corp.   ***
***                                                                 ***
***   This software may be freely copied and disseminated for non-  ***
***   commercial purposes, if and only if this entire copyright     ***
***   statement and notice is included intact.                      ***
***                                                                 ***
***   Notice:  This software has been made available at no cost for ***
***            public distribution on the VM Workshop tools tape.   ***
***            Neither the author nor any employer thereof can      ***
***            accept any responsibility for any problems or costs  ***
***            incurred as a result of the use of this program.     ***
***                                                                 ***
***********************************************************************
 
  If you have any questions or comments concerning the following
  programs or modifications, feel free to call me at (303) 673-5383.
 
                 Don Johnson
                 Storage Technology Corporation
                 2270 S. 88th St. M.D. AA
                 Louisville, Colorado 80028
 
Note: All of the CMS commands use S.J. Golin's syntax analyzer and a
      structured macro system I wrote. The macro system, PROCLIB
      maclib, "forces" the use of a structured programming technique.
      It also manages addressability, saving of registers and the
      passing of parameters. All the assemble files need to be
      re-assembled with both the PROCLIB and UTILITY maclibs globaled,
      in addition to the normal CMS and CP maclibs. The UTILITY
      txtlib may be needed to load some of the programs.
 
Current software level: VM/SP 3 HPO 3.4 Put 8601
 
 
(1) Local CP mods: STCFSRD provides a fast path for remote 3270 full-
    screen read operations. STCNOWNG, STCNOHDR, and STCOPMSG are minor
    mods to the CP MSG command. STCRC12 and STCNORUN are required by
    the tape management system.
 
  CP installation maintenance disk:
DMKCPB   AUXSTC    A1  F        80       2       1  86/06/02 20:44:44
DMKCPB   STCRC12   A1  F        80       2       1  86/06/02 20:44:23
DMKCFC   AUXSTC    A1  F        80       2       1  86/06/02 18:53:14
DMKCFC   STCNOWNG  A1  F        80       2       1  86/06/02 18:52:59
DMKHVC   AUXSTC    A1  F        80       2       1  86/06/02 18:47:35
DMKHVC   STCHVSTC  A1  F        80       7       1  86/06/02 18:47:37
DMKHVS   ASSEMBLE  A1  F        80     278      22  86/06/02 18:43:36
DMKHVS   AUXSTC    A1  F        80       2       1  86/06/02 18:44:07
DMKHVS   STCHVSTC  A1  F        80      34       3  86/06/02 18:44:12
DMKMSG   AUXSTC    A1  F        80       4       1  86/06/02 18:48:43
DMKMSG   STCNOWNG  A1  F        80      21       2  86/06/02 18:48:47
DMKMSG   STCOPMSG  A1  F        80      14       2  86/06/02 18:48:47
DMKMSG   STCNOHDR  A1  F        80      14       2  86/06/02 18:48:47
DMKRGC   AUXSTC    A1  F        80       2       1  86/06/02 18:46:39
DMKRGC   STCFSRD   A1  F        80      30       3  86/06/02 18:46:41
DMKVCN   AUXSTC    A1  F        80       3       1  86/06/02 18:51:24
DMKVCN   STCFSCNT  A1  F        80      49       4  86/06/02 18:45:50
DMKVCN   STCFSRD   A1  F        80      30       3  86/06/02 18:45:50
DMKVDC   AUXSTC    A1  F        80       2       1  86/06/02 18:49:51
DMKVDC   STCNORUN  A1  F        80      14       2  86/06/02 18:50:08
DMKVDD   AUXSTC    A1  F        80       2       1  86/06/02 18:50:08
DMKVDD   STCNORUN  A1  F        80      15       2  86/06/02 18:50:08
DMKVDR   AUXSTC    A1  F        80       2       1  86/06/02 18:50:09
DMKVDR   STCNORUN  A1  F        80      23       2  86/06/02 18:50:09
 
 
(2) Maclibs and program tools: PROCLIB and syntax analyzer.
 
  CMS installation maintenance disk:
SYNTAX   ASSEMBLE  A1  F        80     506      40  86/06/02 19:23:05
PROCLIB  MACLIB    A2  F        80    1157      91  86/06/02 19:22:16
UTILITY  MACLIB    A2  F        80     387      31  86/06/02 19:22:32
UTILITY  TXTLIB    A2  F        80      80       7  86/06/02 19:22:33
 
 
(3) CMSLINK: Link and access program. It will acquire virtual addresses
    and disk modes that are available. Many other options.
 
  Public disk:
CMSLINK  ASSEMBLE  A1  F        80     431      34  86/06/02 19:47:44
CMSLINK  HELPSTC   A1  V        79      95       3  86/06/02 19:44:31
 
 
(4) MCSTRIP: System programmer tool to strip the console session of
    a user. It requires that you collect class 1 response records on
    tape. It prefers a labeled (VOL1) tape.
 
  Sysprog tool disk:
MCSTRIP  ASSEMBLE  A2  F        80     837      66  86/06/02 19:47:59
MCSTRIP  HELPSTC   A2  F        80      79       7  86/06/02 19:38:19
 
(5) Online syslog facility: consists of PROP, optional PROP modification,
    BROWSE modification, and "SYSLOG" exec. This gives software support
    and operations real-time access to the operator log.
 
  Sysprog tool disk:
SYSLOG   EXEC      A2  V        70      29       1  86/06/02 19:40:45
DMSPOP   STCFIXES  A1  F        80     101       8  86/06/02 19:39:40
DTRYBRW  AUXSTC    A1  F        80       2       1  86/06/02 20:37:18
DTRYBRW  STCPRINT  A1  F        80      72       6  86/06/02 19:39:15
DTRYBRW  STCSTACK  A1  F        80      32       3  86/06/02 19:39:18
 
(6) Automatic scheduling system. AUTOMON is a disconnected virtual
    machine and a program that allows users to specify a date/time
    for a command/exec to be executed (on the AUTOMON userid).
    The files with filetype "AUTOEXEC" should be copied to AUTOMON's
    191 mdisk as filetype "EXEC". AUTOMON requires the SMSGWAIT module
    and the CQS exec. CQS help file has more details.
 
  Public disk:
CQS      EXEC      A2  F        80       4       1  86/06/02 19:29:40
SMSGWAIT ASSEMBLE  A1  F        80     343      27  86/06/02 19:48:31
CQS      HELPSTC   A1  F        80     126      10  86/06/02 20:05:28
SMSGWAIT HELPSTC   A1  F        80      37       3  86/06/02 19:30:15
 
  AUTOMON's 191:
AUTOMON  ASSEMBLE  A1  F        80    1868     146  86/06/02 19:21:57
AUTOMON  COMMANDS  A1  F       128       2       1  86/06/02 19:34:56
ACTNLOG  AUTOEXEC  A1  V        72       7       1  86/06/02 19:35:31
AUTOLOG  AUTOEXEC  A1  V       117      11       1  86/06/02 19:35:33
AUTOLOGR AUTOEXEC  A1  V       102       6       1  86/06/02 19:35:34
CHKAUTH  AUTOEXEC  A1  V        16       3       1  86/06/02 19:35:40
CKMONACT AUTOEXEC  A1  V        55      10       1  86/06/02 19:35:45
CMS      AUTOEXEC  A1  F        80       1       1  86/06/02 19:35:47
CMSCMD   AUTOEXEC  A1  V        71       9       1  86/06/02 19:35:51
CMSREAD  AUTOEXEC  A1  V        23       4       1  86/06/02 19:36:03
MSG      AUTOEXEC  A1  V        94       3       1  86/06/02 19:36:19
MSGNOH   AUTOEXEC  A1  V       102       3       1  86/06/02 19:36:21
PRIVLEGE AUTOEXEC  A1  V       186      79       3  86/06/02 19:36:24
PRIVUSER AUTOEXEC  A1  V       101       4       1  86/06/02 19:36:26
RENAMLOG AUTOEXEC  A1  V        40       4       1  86/06/02 19:36:35
REPEAT   AUTOEXEC  A1  V       100      10       1  86/06/02 19:36:40
REPLACE  AUTOEXEC  A1  V        62       9       1  86/06/02 19:36:42
RESTART  AUTOEXEC  A1  V        92       5       1  86/06/02 19:36:49
RETRY    AUTOEXEC  A1  V       132      13       1  86/06/02 19:36:53
SECUSER  AUTOEXEC  A1  V        68      10       1  86/06/02 19:37:02
 
(7) Another tape management system. This system has served me very
    well for a number of years. The documentation is a bit sparse;
    but the best documentation is the source anyway.
 
 
  TAPEMON's 191:
TAPEMON  ASSEMBLE  A1  F        80    4135     324  86/06/02 19:25:58
VMTMS    CATALOG   A1  F       128       1       1  86/06/02 19:33:26
VMTMS    CONFIG    A1  F        80      87       7  86/06/02 19:32:49
 
  Public disk:
SMSGWAIT ASSEMBLE  A1  F        80     343      27  86/06/02 19:48:31
SMSGWAIT HELPSTC   A1  F        80      37       3  86/06/02 19:30:15
TMS      EXEC      A2  F        80       3       1  86/06/02 19:30:46
ADD      HELPTMS   A2  V        79      56       2  86/06/02 20:19:10
CANCEL   HELPTMS   A1  V        72      49       2  86/06/02 20:19:15
CHANGE   HELPTMS   A1  V        79      83       3  86/06/02 20:19:16
CMS      HELPTMS   A2  V        72      34       1  86/06/02 20:19:16
DELETE   HELPTMS   A2  V        79      36       1  86/06/02 20:19:17
EXPIRE   HELPTMS   A2  V        79      42       2  86/06/02 20:19:17
GLOBMOVE HELPTMS   A2  V        72      45       2  86/06/02 20:19:17
LABEL    HELPTMS   A2  V        72      36       1  86/06/02 20:19:18
MOUNT    HELPTMS   A1  V        77     173       6  86/06/02 20:19:18
MOVE     HELPTMS   A1  V        72      53       2  86/06/02 20:19:19
QUERY    HELPTMS   A1  V        77      78       3  86/06/02 20:19:19
SCRATCH  HELPTMS   A1  V        72      44       2  86/06/02 20:19:20
SET      HELPTMS   A2  V        75      50       2  86/06/02 20:19:20
SWAP     HELPTMS   A2  V        77      45       2  86/06/02 20:19:20
VERIFY   HELPTMS   A2  V        72      40       2  86/06/02 20:19:21
M0149.VMARC
No abstract. Here are the archive contents:
  RECEIVE  LISTING
  SENDFILE LISTING
  PEEK     LISTING
  RDRLIST  LISTING
  EXECUTE  LISTING
  DMSRDR   AUXCSC
  DMSRDR   CSC02
  DMSDDL   CSC02
  DMSDDL   AUXCSC
M0150.VMARC
 This is a summary of the files on the Jervis B. Webb Company "tools"
 supplied to the 1986 VM/370 Workshop:
 
 XEDIT Macros:
   COPYC    XEDIT    A1  Column copy and move within a file - no replace
   COPYCR   XEDIT    A1  Column copy and move within a file - replace
   GMACRO   MEMO     A1  Memo for G and GT XEDIT macros
   G        XEDIT    A1
   GT       XEDIT    A1
   GETFILES XEDIT    A1  Use CMS EXEC to build a file
 
 "OS" catalog reading utilities for use from CMS:
   OSCATLK  MEMO     A1
   OSCATLK  EXEC     A1
   SSCATRD  ASSEMBLE A1
   SSOSCATL MEMO     A1
   SSOSCATL EXEC     A1
   SSOSCATL TABLE    A1
 
 VMCENTER files:
   VMSIBKUP EXEC     A1  VMCENTER backup.
   VMXGRWA  EXEC     A1  -
   VMXGRWE  EXEC     A1  |- VMRGRW driver execs
   WEEKLY   EXEC     A1  -
   ADDRWK1  VMRGRW   A1  -
   ADDRWK2  VMRGRW   A1  |
   ADDRYTD1 VMRGRW   A1  |
   ADDRYTD2 VMRGRW   A1  |- VMRGRW control files
   SPECADDR VMRGRW   A1  |
   SPECUSER VMRGRW   A1  |
   WEEKLY   VMRGRW   A1  -
   TTARCH   MEMO     A1
   TTARCH   EXEC     A2  TTARCH files- we needed a way to copy the
   TTARCH   MODULE   A1   VMARCHIVE tape for an offsite copy.
   TTARCH   ASSEMBLE A1
 
 CP MOD to trap part of TRANSFER command:
  (We needed to prevent users from transferring files "from"
   BATCHx machines.)
  DMKCSV   WEBBTRAP A1
M0151.VMARC
This modification will allow selected commands to be journaled
to a PROP machine for asynchronous or synchronous processing for
security and control purposes.
 
Enclosed are the following:
 
1. Mods to DMKCFC
2. REXX Execs that run under PROP ID
M0152.VMARC
 
 Since we had a kinda hectic year, and since most/all of the goodies
 we've installed over the past year came off last years workshop tape,
 or other 'goodie' tapes...we don't have any local goodies to contribute
 this year.
 
 So I thought I'd share some of our trip reports with you. We think they
 are kinda interesting and they'll give you an idea of some of the
 user group meetings you may have missed.
 
 They contain our thoughts/impressions at the time...they may have
 changed since...they may have been wrong in the first place...they may
 be tainted by VM bigotry (as opposed to MVS)...and they're only 1 to
 4 people's impressions...so feel free to ignore what you don't like.
 
 I've found that one good way to get someone to read your trip reports
 is to add a touch of humor and other little zingers, as is evidenced in
 the reports.
 
 Hope you enjoy them.....Jay Koonz  (TIMEX)
M0153.VMARC
Monday June 2, 1986
 
Hello and  welcome to  the Fidelity Systems  Company contribution  to the
1986  VM Workshop  Tools Tape.  I've included  a variety  of programs  of
which I hope you'll find something useful. Some of the programs that I've
included  on the  tape are  from other  public sources.  I hope  that the
respective authors  do not mind  my redistributing their code  here. I've
included  these  programs in  order  to  provide  a complete  package  to
complement the  programs that I'm  supplying. All of these  programs were
tested on an HPO Release 3.4 system. The XF assembler was used.
 
If you  have any questions,  comments, criticisms or  suggestions, please
contact me at:
 
   Will Williams
   Fidelity Systems Company (FMR)
   82 Devonshire St.
   Boston, Ma. 02109
   Mail Zone F2D
   (617) 570-6681
 
And now here is a brief description of what is on the tape:
 
FMR-VM86 READ-ME  - you're looking at it now
 
COMX     XEDIT    - displays the output of a CP or CMS command in the
                    XEDIT message area (use while in XEDIT)
 
COMY     XEDIT    - displays the output of a CP or CMS command in a
                    2nd XEDIT screen (use while in XEDIT)
 
CPSYMBOL MODULE   - returns address from CP Symbol Table. I seem to
                    have 'misplaced' the source for this one.
 
CPUSER   ASSEMBLE - checks for existence of a specified userid in the
CPUSER   LISTING    current CP directory via Diagnose x'84'
CPUSER   MODULE
CPUSER   TEXT
 
CURROPEN EXEC     - displays the current buffer of a specified user's
                    open spool file (uses READOPEN)
 
DDRTAPE  ASSEMBLE - reads and displays information (date and time) from
DDRTAPE  LISTING    a tape created by DDR
DDRTAPE  MODULE
 
DISKDATE ASSEMBLE - This program is from the '84 Tools Tape. I've added
DISKDATE AUXFMR     a STACK option. (used by the DM EXEC below)
DISKDATE FMR00001
DISKDATE LISTING
DISKDATE MODULE
DISKDATE TEXT
 
DM       EXEC     - is an unfinished 'Disk Manager'. This EXEC was an
                    attempt to allow CMS files to be viewed by filetype
                    group. A fair amount of the EXEC works and is worth
                    trying if you are at all interested. However there
                    is quite a bit of function that I would like to add
                    which I have not gotten around to yet. Please note
                    that scrolling on the 2nd (filetype) screen does not
                    work.
 
FMR      CNTRL    - control file needed for reassemblies
 
FTYPES   ASSEMBLE - returns a list (which can be sorted via SORT option)
FTYPES   LISTING    of the filetypes found on a specified minidisk. The
FTYPES   MODULE     S-disk (190) seems to produce an extra garbage
FTYPES   TEXT       filetype that I've not yet been able to track down.
 
INTERTYP ASSEMBLE - 'front-end' for TYPLIN. This program (which loads
INTERTYP LISTING    as a Nucleus Extension) allows replacement of CMS
INTERTYP MODULE     ready messages (R;, CMS, CMS SUBSET etc). There is
INTERTYP TEXT       also some code that detects DISCONNecting and
                    reconnecting. Currently, the replacement ready
                    messages are 'hard-coded' in the program. I hope to
                    allow changing them from the command line some time
                    in the future.
 
IUCVTRAP MODULE   - this program was written by Arty Ecock at CUNY. I've
                    included it since several of my programs use it.
 
LNKSAMPL ASSEMBLE - used by MAKELINK EXEC
 
LOADFREE MODULE   - this program was written by Peter DiCamillo at Brown
                    University. I've included it so READOPEN can be
                    loaded as a Nucleus Extension.
 
MAKELINK EXEC     - creates a MODULE which provides a moderate level
MAKELINK XEDIT      of security for LINKing to minidisks. The MODULE
                    will only LINK to a specific minidisk and can only
                    be executed from a specific userid. The resulting
                    MODULE is called LINKMOD MODULE. If you are
                    generating the MODULE for use by PASSLIST, rename
                    LINKMOD to LINKDIRM MODULE.
 
MATCHIT  ASSEMBLE - is a simple pattern matcher that allows the use of
MATCHIT  LISTING    the wildcard characters '?' and '*'.
MATCHIT  MODULE
MATCHIT  TEXT
 
MORE     MODULE   - places the screen of a 3270 in 'MORE...' status
                    (seems like a strange thing to do, no?)
 
NUMFILES ASSEMBLE - tells you how many files of a specified filetype
NUMFILES EXEC       exist on a specified minidisk. The EXEC is just
NUMFILES LISTING    a simple front-end to the MODULE.
NUMFILES MODULE
NUMFILES TEXT
 
OPENLIST EXEC     - provides a full-screen list of all of the currently
OPENLIST HELPCMS    open spool files. Different PF keys allow you to
                    view the open file or write it to disk (uses
                    READOPEN).
 
OPRLOG   EXEC     - displays the open console file for the OPERATOR
                    (may need to modified for local installation).
                    (uses READOPEN)
 
PASSLIST EXEC     - generates a password listing based on the current
PASSLIST XEDIT      USER DIRECT. It expects to find a LINKDIRM MODULE
                    to use to gain access to the minidisk that contains
                    the source directory. LINKDIRM is created by the
                    MAKELINK EXEC. The call to LINKDIRM can be
                    commented out if not needed.
 
PRESERVE MODULE   - this program is from the '85 Tools Tape. It allows
                    many 'settings' to be saved and restored.
 
PROFOLST XEDIT    - used by the OPENLIST EXEC.
 
QCLASS   ASSEMBLE - returns the CP privilege classes for a specified
QCLASS   LISTING    logged on userid
QCLASS   MODULE
QCLASS   TEXT
 
QINFO    EXEC     - return information about reader, printer or punch
                    files. Command syntax allows you to specify something
                    such as: QINFO R (Last 4 or QINFO P (All
 
QOPEN    ASSEMBLE - I'm not sure where this came from. Probably the '83
QOPEN    AUXFMR     Tools Tape. I've added a change that allows the
QOPEN    FMR00001   command output to be placed on the stack. If the
QOPEN    FMR00002   MODULE needs to be regenerated, ASSEMBLE (VMFASM) and
QOPEN    LISTING    load QOPEN and then GENMOD as QOPENSTK. (used by
QOPEN    MODULE     OPENLIST EXEC)
QOPEN    TEXT
QOPENSTK MODULE
 
QORDER   EXEC     - saves and restores the current order of reader,
                    printer and punch files. This is handy before a call
                    to something like PEEK if you don't like the file
                    order being rearranged.
 
RDRCHECK EXEC     - checks to see if any new reader files have shown up
                    since the last time that the EXEC was invoked. Must
                    first be called with SAVE option to remember current
                    number of files.
 
RDRTYPE  EXEC     - types out a specified reader file. Useful for small
                    reader files.
 
READOPEN ASSEMBLE - reads entire open spool files. Used by several other
READOPEN HELPCMS    programs on this tape. In addition to needing CP
READOPEN LISTING    privilege class C or E, you also need a full-pack
READOPEN MODULE     read-only link to each CP volume that contains
READOPEN TEXT       spool (TEMP) space. Look at the HELP file for further
                    information. If you want to be able to run this
                    program as a Nucleus Extension (and thus from CMS
                    Subset), use the LOADFREE command to load it.
 
REFLECT  EXEC     - executes a command and displays the output on your
                    terminal as well as the terminal of a specified
                    user
 
RXFNCMGR MODULE   - from '85 Tools Tape.
 
RXUSERFN MODULE   - from '85 Tools Tape.
 
STATX6   ASSEMBLE - from '84 Tools Tape. Checks integrity of a specified
STATX6   AUXFMR     minidisk. I've added 3380 support. STATX6 is used
STATX6   FMR00001   by the UNERASE EXEC below.
STATX6   LISTING
STATX6   MODULE
STATX6   MOD12
STATX6   MOD13
STATX6   MOD14
STATX6   TEXT
 
TEMPCHEK EXEC     - simple EXEC to show the percentage full of the system
                    TEMP space.
 
TERMSTAT ASSEMBLE - displays the status of a specified terminal (such as
TERMSTAT LISTING    MORE..., HOLDING etc. This can be useful for deter-
TERMSTAT MODULE     mining whether or not a user has seen a message that
TERMSTAT TEXT       you have just sent. Please note that there is no
                    support for VCNA connected terminals.
 
TERMWAIT ASSEMBLE - simple program that waits for terminal I/O to
TERMWAIT LISTING    complete
TERMWAIT MODULE
TERMWAIT TEXT
 
UNERASE  ASSEMBLE - 'brings back' a CMS file that you have just ERASEd.
UNERASE  EXEC       It can only bring back the most recently ERASEd
UNERASE  LISTING    file. The STATX6 program is called from the UNERASE
UNERASE  MODULE     EXEC to 'straighten out' the minidisk after the
UNERASE  TEXT       UNERASE operation.
 
UNIQUE   ASSEMBLE - generates a unique file id of the form
UNIQUE   LISTING    'T$seqnum mm$dd$$yy fm'. This can be useful for
UNIQUE   MODULE     creating the names of work files.
UNIQUE   TEXT
 
VMBLOK   ASSEMBLE - returns VMBLOK addresses. A specific userid or
VMBLOK   LISTING    group of userids can be specified using the
VMBLOK   MODULE     wildcard characters '?' and '*'.
VMBLOK   TEXT
 
WHW      MACLIB   - contains members needed for reassembly of certain
                    ASSEMBLE files
 
XMSGRST  ASSEMBLE - resets the XEDIT message count. Take a look at
XMSGRST  LISTING    the block comment in the ASSEMBLE file for more
XMSGRST  MODULE     info. I don't think that this program will work
XMSGRST  TEXT       under Release 4 and I do not currently have a
                    bypass.
 
 
* * * End of FMR-VM86 READ-ME * * *
M0154.VMARC
There does not appear to be an abstract or README for this archive.
It seems to be a bunch of tools and games for CMS.
The contents are below.
$SORRY   $FILE
ADMPIC   ASSEMBLE
ADVENT   EXEC
ADVENT   MODULE
ADVENTUR EXEC
ADVENTUR MODULE
APIC     MODULE
ARTILLER BASIC
ARTILLER EXEC
BATTLE   BASIC
BATTLE   EXEC
BENCH3   EXEC
BLAKJACK MODULE
BSCCOM   MODULE
BSCRUN   MODULE
BSE      EXEC
BTHELLO  BASIC
BTHELLO  EXEC
BULLSEYE BASIC
BULLSEYE EXEC
B2D      EXEC
B2O      EXEC
B2X      EXEC
CALCX    MODULE
CAVES    BASIC
CAVES    EXEC
CAVES1   BASIC
CAVES1   EXEC
CHASE    EXEC
CHASE    MODULE
CHECKERS EXEC
CHECKERS MODULE
CHERYL   ADMSAVE
CRAPS    BASIC
CRAPS    EXEC
DIRMAP   EXEC
DRILL    BASIC
DRILL    EXEC
DUKEDOM  MODULE
DUM      EXEC
D2B      EXEC
D2O      EXEC
FCOPY    ASSEMBLE
FCOPY    AUXSP
FCOPY    MODULE
FCOPY    TEXT
FCOPY    UPDT0001
FOOTBALL BASIC
FOOTBALL EXEC
FORTUNE  MODULE
FREEMODE EXEC
FRUITN   MODULE
GAMES    EXEC
GBASIC   MODULE
GOLF     BASIC
GOLF     EXEC
HAMURABI BASIC
HAMURABI EXEC
LINKCHK  EXEC
LOAD     MAP
LOGMSG   EXEC
LOGMSG   HELP
LOGMSG   STD
LUNAR    BASIC
LUNAR    EXEC
LUNAR2   BASIC
LUNAR2   EXEC
MAZE     BASIC
MAZE     EXEC
MISSLE   BASIC
MISSLE   EXEC
MONCLEAN OLDEXEC
MOO      BASIC
MOO      EXEC
MOONSHOT BASIC
MOONSHOT EXEC
MSTRMIND EXEC
MSTRMIND MODULE
MUGWUMP  BASIC
MUGWUMP  EXEC
NIM      BASIC
NIM      EXEC
NX$$$$   $READ$ME
NXASM    EXEC
NXCMSCMD ASSEMBLE
NXCMSCMD LISTING
NXCMSCMD TEXT
NXCOMM   ASSEMBLE
NXCOMM   LISTING
NXCOMM   TEXT
NXCPCMD  ASSEMBLE
NXCPCMD  LISTING
NXCPCMD  TEXT
NXDTCVT  ASSEMBLE
NXDTCVT  LISTING
NXDTCVT  TEXT
NXLIB    MACLIB
NXMAIN   ASSEMBLE
NXMAIN   LISTING
NXMAIN   MODULE
NXMAIN   TEXT
NXMSAVE  ASSEMBLE
NXMSAVE  LISTING
NXMSAVE  TEXT
NXMSGPRT ASSEMBLE
NXMSGPRT LISTING
NXMSGPRT TEXT
NXMSGS   ASSEMBLE
NXMSGS   LISTING
NXMSGS   TEXT
NXNUC    ASSEMBLE
NXNUC    LISTING
NXNUC    TEXT
NXPUNCHN ASSEMBLE
NXPUNCHN LISTING
NXPUNCHN TEXT
NXPURCHN ASSEMBLE
NXPURCHN LISTING
NXPURCHN TEXT
NXREADM  ASSEMBLE
NXREADM  LISTING
NXREADM  TEXT
NXREADN  ASSEMBLE
NXREADN  LISTING
NXREADN  TEXT
NXSCNSUB ASSEMBLE
NXSCNSUB LISTING
NXSCNSUB TEXT
NXSFBSCN ASSEMBLE
NXSFBSCN LISTING
NXSFBSCN TEXT
NXSPLRD  ASSEMBLE
NXSPLRD  LISTING
NXSPLRD  TEXT
NXSSAVE  ASSEMBLE
NXSSAVE  LISTING
NXSSAVE  TEXT
NXSYS    EXEC
NXTAGSAV ASSEMBLE
NXTAGSAV LISTING
NXTAGSAV TEXT
NXTGRSTR ASSEMBLE
NXTGRSTR LISTING
NXTGRSTR TEXT
NXTRCCOM ASSEMBLE
NXTRCCOM LISTING
NXTRCCOM TEXT
NXTRCE   ASSEMBLE
NXTRCE   LISTING
NXTRCE   TEXT
NXVALUSR ASSEMBLE
NXVALUSR LISTING
NXVALUSR TEXT
OTHELLO  MODULE
O2B      EXEC
O2D      EXEC
O2X      EXEC
PAGING   GAME
PARACUTE BASIC
PARACUTE EXEC
POKER    BASIC
POKER    EXEC
RACE     BASIC
RACE     EXEC
RANDOM   EXEC
RESETPW  EXEC
REVERSE  BASIC
REVERSE  EXEC
RTSVM    EXEC
SHOOT    MODULE
SHOPPING BASIC
SHOPPING EXEC
SKULL    ADMGDF
SLOTS    BASIC
SLOTS    EXEC
STARS    BASIC
STARS    EXEC
STARTREK EXEC
STARTREK MODULE
STARTRK1 MODULE
STICKS   BASIC
STICKS   EXEC
STOCK    BASIC
STOCK    EXEC
STREKB   EXEC
SUPRTREK MODULE
TAXMAN   BASIC
TAXMAN   EXEC
TEDYBEAR SAS
TEMP     EXEC
TICTAC   BASIC
TICTAC   EXEC
TICTACTO MODULE
TIKTACTO EXEC
TIKTAKTO MODULE
TMAA     EXEC
TMAC     EXEC
TORO     BASIC
TORO     EXEC
TPCHK    EXEC
TRAP     BASIC
TRAP     EXEC
TURKEY   ADMSAVE
UNERASE  ASSEMBLE
VADER    ADMGDF
VENTURE  EXEC
VENTURE  MODULE
WAR      BASIC
WAR      EXEC
WARNED   BASIC
WARNED   EXEC
WIRE     BASIC
WIRE     EXEC
X2B      EXEC
X2O      EXEC
M0155.VMARC
Contributions from VM Systems Group
 
WHERESEG is a REXX program which takes the name of a DCSS or IPLable
system as its one argument, and displays the starting/ending addresses of
the DCSS/system, and notes whether the DCSS/system is currently loaded.
A Release 3 HELP file and its original SCRIPT file is included.
 
WORKNEW is an EXEC2 program which inserts
consecutively numbered items into a file, using data lines at the
end of the file to remember the last number used in several independently
numbered groups of items.
It is submitted to ILLUSTRATE
how XEDIT can read, process, and update data in a file
to automate a data entry task (tracking sequential items).
It inserts a heading line (from file 'WORKNEW HEADER', supplied) below
the current line in the file.
Use WORKNEW by positioning yourself in test file 'WORKPROB MEMO'
(supplied) above the data lines at the end of the file, and issuing
the WORKNEW command with one of the valid prefixes (CO, TM, etc.).
The data lines contain a (hopefully) unique character string identifying
them as data lines, indicate which number series they record, and
show the last number used and the date it was changed.
If you position yourself so that the data lines are displayed, you will
see the appropriate data line change at the same time the heading
line is inserted in the file.
 
Gabe Goldberg
VM Systems Group
703 685-1314
5/31/86
M0156.VMARC
VM/Workshop
D. C. Kleine
Peabody Holding Co. (PBD)
301 N. Memorial
St. Louis, Mo. 63102
(314) 342-3400 x3769
 
These are some execs and xedits macros which make use of name files
and the NAMEFIND command in different ways.
 
Setup    Exec     , Setup disks for products
Setup    Names    , Names file use by Setup exec
Getdisk  Exec     , Link and access disks
Route    Exec     , Spool and tag print
Route    Names    , Used by the route exec for spool and tag info
Xedit    Names    , used by profile xedit for xedit commands
Profile  Xeditn   , xedit profile
Sentrys  Assemble , returns number of entries in program stack
Sentrys  Module   ,
M0157.VMARC
Wichita Public Schools - VM Workshop - 1986
 
The Wichita Public Schools contribution to the VM Workshop tools
tape consists of a new CP module (DMKDIX) which will process commands
to maintain DIAL command userid synonyms, a modification to DMKDIA to
use the table created by DMKDIX, a CICS command processor to issue
the VM reset command to a dialed terminal, a DOS/VSE user exit phase
to set up the environment for the CICS command, and a CMS module which
supports batch job submission with included files. The contents of this
file and a brief description of each follows.
 
      $SYSOPEN ASSEMBLE      VSE phase to provide hook for resetcp.
 
      DMKCFC   AUXLCL        Update to add DMKDIX to CP command table.
      DMKCFC   LCL00002
 
      DMKDIA   AUXLCL        Update to allow dial command to support
      DMKDIA   LCL00001         abbreviations.
 
      DMKDIX   ASSEMBLE      Program to set up DIAL command extensions.
 
      RESETCP  ASSEMBLE      CICS transaction to drop a 'dialed' term.
 
      SUBMIT   ASSEMBLE      Program to facilitate batch job submission.
      SUBMIT   AUXLCL
      SUBMIT   LCL00001
      SUBMIT   MODULE
      SUBMIT   SEQUENCE
 
$SYSOPEN - This is a program which fakes out VSE into thinking OLTEP
is running.  When this is the case there is a SVC instruction which will
allow a program to execute a priveleged instruction. In particular, the
RESETCP program can execute a console function diagnose to issue the VM
reset command.
 
DMKCFC   - Updates to install the SDIAL and QDIAL commands from
DMKDIX.
 
DMKDIA   - Updates to the VM/SP DIAL command processor which allows it
to use abbreviations set up by DMKDIX.  For example, the user may issue
the command 'D C' or 'D CICS' instead of having to spell out the entire
userid as in 'D MVSPRODX'.  It also offers an ability to force a local
terminal to connect to a vaddr graf address which corresponds to the
raddr of his terminal on the system. This capability is there because
we went from stand alone VSE to VSE under VM and discovered much to our
horror that all of the security and accounting we had in place under our
CICS system was dependent on the CICS terminal ID instead of the userid
signed on with.  We needed to keep that correspondence between the
physical terminal address and the port dialed into without dedicating
the terminal exclusively to CICS. Note that if this feature is used, as
well as forcing the user to a specific port it will prevent both
remote 3270 users and logical devices
from using the dial command to the virtual machine it is in place for.
For more information read the program headers in DMKDIX.
 
DMKDIX   - A CP resident module which contains command processors for
the SDIAL (SET DIAL) and the QDIAL (QUERY DIAL) CP commands and a table
referenced by the updated DMKDIA module. The SDIAL command allows the
installation to set up userid synonyms or abbreviations so the end user
may issue a short command like 'D C' to access a system, optionally at
a specific port address, instead of 'D VSEIPO BB9'.  A complete
description may be found in the DMKDIX ASSEMBLE file.
 
SUBMIT   - This is a CMS module which facilitates sending batch runs to
a GVM without having to manually spool the punch and remember to specify
noheader on the punch command. It supports 'include' file processing for
as many levels as it can build control blocks for without running out on
storage while checking for 'recursive' include statements.
 
If you have any questions or comments please feel free to contact
me at:
 
Bill Goering
Wichita Public Schools
432 West Third
Wichita, Kansas  67203
(316) 263-0325
M0158.VMARC
No README.
Assorted from Dan Fisher, University of Toledo
Archive contents:
  DMKCFZ   R0075UOT
  DMKDIR   R0075UOT
  DMKEMA   R0075UOT
  DMKLOH   R0075UOT
  DMKMSG   R0077UOT
  DMKQCN   R0077UOT
  DMKQCO   R0077UOT
  DMKSND   R0077UOT
  DMKUSQ   R0077UOT
  DMSCPY   R0049UOT
  DMSFNC   R0049UOT
  DMSPRT   R0004UOT
  DUR      EXEC
  UDIRECT  R0075UOT
  VMBLOK   R0075UOT
  VMBLOK   R0077UOT
M0159.VMARC
No README.
Jerry Brennan, Union Carbide: Miscellaneous XEDIT macros
Archive contents:
  BUILDUP  HELPXEDI
  BUILDUP  XEDIT
  COPYCOLS HELPXEDI
  COPYCOLS XEDIT
  DAC      HELPXEDI
  DAC      XEDIT
  DBL      HELPXEDI
  DBL      XEDIT
  DEBLANK  HELPXEDI
  DEBLANK  XEDIT
  DEDUP    HELPXEDI
  DEDUP    XEDIT
  DEDUPALL HELPXEDI
  DEDUPALL XEDIT
  DLB      HELPXEDI
  DLB      XEDIT
  FBL      HELPXEDI
  FBL      XEDIT
  FD       HELPXEDI
  FD       XEDIT
  IAC      HELPXEDI
  IAC      XEDIT
  IBL      HELPXEDI
  IBL      XEDIT
  IF       HELPXEDI
  IF       XEDIT
  LIMIT    HELPXEDI
  LIMIT    XEDIT
  NDEDUP   HELPXEDI
  NDEDUP   XEDIT
  NEWNAME  HELPXEDI
  NEWNAME  XEDIT
  NUMBERS  HELPXEDI
  NUMBERS  XEDIT
  PARTCOPY HELPXEDI
  PARTCOPY XEDIT
  PARTMOVE HELPXEDI
  PARTMOVE XEDIT
  PARTPROP HELPXEDI
  PARTPROP XEDIT
  PERUSE   EXEC
  PERUSE   HELPCMS
  PERUSEX  XEDIT
  RAC      HELPXEDI
  RAC      XEDIT
  RBL      HELPXEDI
  RBL      XEDIT
  RJ       HELPXEDI
  RJ       XEDIT
  SEARCH   HELPXEDI
  SEARCH   XEDIT
  SEARCHUP HELPXEDI
  SEARCHUP XEDIT
  SEEK     HELPXEDI
  SEEK     XEDIT
  SLICE    HELPXEDI
  SLICE    XEDIT
  XOS      EXEC
  XOS      HELPCMS
  XOS      XEDIT
M0160.VMARC
config -- report i/o configuration
 
ABSTRACT
 
The CONFIG program is designed to provide a printed report summarizing
the address, type, and status of I/O devices attached to a computer.  It
operates equally well as a command under CMS, as a stand-alone deck
in a virtual machine, and as a stand-alone program in a real CPU.  AP and
MP systems are supported; I/O devices on an MP are identified with the
CPU address in addition to the traditional 3-digit I/O address.
 
The major intended function of the program was to provide verification
of the I/O configuration of a real system when the machine is returned
to the customer by the engineers after performing a reorganization of
the I/O equipment, and in particular provides information which shows
which devices have multiple exposures to the CPU.  The initial
impetus for this program was an incident in which cables to a
multiply-exposed 3380 disk were connected incorrectly in a manner
which would have resulted in the device being treated as two
independent volumes.
The code in addition will provide a verification that the UCW's  in
the CPU are set up to cover the desired devices.  Please note that
this does NOT indicate that the UCW options are properly set.
 
The CONFIG program is a self-contained package which will examine the
I/O environment in which it finds itself and will publish a report
summarizing the devices found, including their addresses, control unit
and device types if possible, volume serials (for DASD devices) and
device serial numbers (for tape drives), and if present any alternative
addresses which may be used to access the device.  Except for
the use of DMSFREE and DMSKEY if the program finds itself
executing as a CMS command, it uses no outside services in its execution.
 
The program identifies devices it finds by any of a number of
techniques.  If the device responds to the SENSE ID CCW (X'E4'), the
data received from the control unit are used to identify the
control unit and (if provided) the device.  If this fails to identify
the device, a canned list of address-to-device data is used to
identify the unit; failing that, some brute-force guesses are made.
 
For disk drives, alternate exposures are detected by matching the
volume serial read from the device.  For tape drives, the
device serial number (in the sense data) is used as the match.
 
REQUIREMENTS AND RESTRICTIONS
 
The program will operate in any real or virtual machine with more than
32K bytes of memory and a 3215-type console (at address 009 or 01F) or a
1403-type printer (at 00E).  Other addresses and device types may
be provided for by modifying the console search table at CONLIST, and
if necessary the device type recognition code in PRINTHDR and PRINTRPT.
 
Although status bits are defined for use with UCS and FCB load functions
for the printers, there is no support for these functions in the
code.  This means that if the printer has been powered off since the
last time its UCS or FCB buffers have been loaded, they must be reloaded
by some other program before CONFIG is run.
 
3270 consoles are NOT supported, except that consoles running
in printer-keyboard mode are supported as 3215's.
 
A device found to be not ready is ineligible for use as an output
device.  This means that a printer at 00E may exist, while
CONFIG is putting its output on the printer-keyboard at 01F.
 
Each installation using this program should review the list of wired-in
device addresses at TDCUU to provide for its particular environment.
 
FBA disk drives are NOT supported, although it should be relatively
easy to add the code to the read-label routine near TDCKIR.
 
If the Time-of-Day Clock is not set, the report will be flagged to
indicate that.  If it is valid, it will be used to publish the
GMT time of the report.
 
If a disk drive is not ready, or for any other reason a volume serial
cannot be read, multiple exposures for that disk will not be
recognized and each will appear independently.  Also, there will
be "phantom" devices reported where the control units are plugged
to recognize more devices than physically exist.
 
EXECUTING THE PROGRAM
 
No special handling is required to execute the program under CMS.  Load
the text deck, GENMOD it if desired, and start execution.  Remember that
the code as distributed looks for a printer at 00E first, so if the
code is running in a virtual machine it would probably be a good idea
to issue the command NOTREADY E before executing CONFIG.
 
When running in a stand-alone environment (either under VM or in a clear
machine) the program is intended to be loaded by the code in
file 3CARD LOADER from the CMS S-disk.  An IPL-able magnetic tape
may be created by the following:
 
         TAPE REW
         FILEDEF OUT TAP1 (LRECL 80 BLKSIZE 80 RECFM F PERM
         FILEDEF IN1 DISK 3CARD LOADER S
         FILEDEF IN2 DISK CONFIG TEXT A
         TAPE REW
         MOVE IN1 OUT
         TAPE BSF
         MOVE IN2 OUT
 
wait state codes
 
X'000001'\--\The program cannot find a valid output device
 
X'000111'\--\This non-IPL processor has completed its execution
 
X'101010'\--\CONFIG is waiting for I/O to complete
 
X'00F00x'\--\An unexpected interrupt has occurred.  This is most
likely if the START button on the console is pressed on an AP or MP
system before CONFIG can begin processing on the non-IPL processor.
 
X'FFFFFF'\--\CONFIG is finished.
 
OUTPUT FORMAT
 
A typical output from CONFIG might look like this:
 
I/O Device Environment Report -- CPU Model 4381 (MP)
     Serial Number 123456   05/14/86    23:45 GMT
 
CPU CUU   CTL UNIT   DEV TYPE   VOLSER   RDY   2CH   ALTADDR
 
 0  01F     4281       3215
 0  160     3880       3380     SYSRES          *     1-360
 0  242     3880       3380     DATABA
 0  580     3803       3420      04432    N     *
 1  3A0     3880       3380     TESTVM
 
This report says that:
 
*\The report was produced on a uniprocessor 4381, serial number
123456, on 14 May 1986 at 23:45 GMT.
 
*\Six devices were found for which a TEST I/O instruction did not return CC=3.
Four of them were on processor zero of this MP system; two were on processor
1.
 
*\There are three disk drives, including one which has two
legs of an alternate path structure available to the computer.  These
legs appear at address 160 on processor zero, and at 360 on
processor 1.
 
*\The tape drive at address 580 carries a serial number whose low four
digits are 4432.  The control unit to which it is attached supports
at least two channel interfaces, but only one is attached to this
computer.  The tape drive is not ready.
 
The 3880 control units which service disks at addresses 242 on processor zero
and 3A0 on processor 1 do not have the 2-channel switch feature.
 
Notice that the entry for the alternate port (360 on processor 1) does not
appear on a line by itself.  A device will never appear both as an alternate
address and as a primary.  In all cases the lowest-addressed exposure of
a device with multiple access paths will appear as the primary address.
 
If the computer on which the program is running is a uniprocessor, the
CPU address data will not appear on the output listing.
 
SOURCE ISSUES
 
The entire program is a single assembler file, and is compatible with
the XF assembler shipped with VM.  Macro libraries are the usual
CMSLIB, DMSSP, and OSMACRO.  There are no private macros, inline
or otherwise.  The output of the program, with 3CARD LOADER placed
in front, is the entire stand-alone load deck.
 
The origin of X'6000' for the assembly controls only where it is
loaded as a stand-alone program.  Note that 3CARD LOADER cannot
handle a load address on any card in excess of X'7FFF'.
The code will load at X'20000' when used under CMS.
 
problem areas
 
The SENSE ID command (X'E4') fails for a not-ready device, so disk drives
which are not ready (or do not exist) will return false addresses which the
program presently reports as tape drives.
 
Series/1 channel attachment features will claim to be control unit type
4950, with unknown device type.
 
Tape drive serial numbers will match only the low four digits of the
serial number stamped on the drive frame.  The high digit represents the
model number of the device as shipped from the factory, which cannot be
determined except by looking at the original shipping documents...a task
beyond the capabilities of CONFIG.
 
CONFIG will hang if it encounters an interface control check.
If and when time becomes available to work on it the IFCC will be reported
and/or ignored.  As the code stands, an IFCC has probably occurred if the
STOP button on the CPU console does not immediately result in INSTRUCTION
STOP status on the display.  Examining register 10 should disclose the
address being investigated at the time of the failure.
 
Please send any comments, questions, or suggestions to me at:
 
Joe Morris
The MITRE Corporation (MTW)
Mail Stop W130
7525 Colshire Drive
McLean, VA 22102
 
(703) 883-5672
 
-or-
 
via VMSHARE or PCSHARE
 
-or-
 
jcmorris@mitre
 
-or-
 
M15254%MWVM@mitre
M0161.VMARC
Author:        Paul Smith
Company:       American Olean Tile
Address:       1000 Cannon Ave.  Lansdale, Pa. 19446
Function:      Estimates 3375 & 3380 disk utilization given input of
               number of records for either VSAM or SAM.
Included:      DASD EXEC
               DASDCALC EXEC
               DASDFLIS EXEC
               DASDUSE EXEC
               DASDUSE MACLIB
Prereqs:       VM/SP r2 & up; ISPF; access to FLIST MODULE
Installation:  Add all the execs and maclibs to an mdisk.  The primary
               exec to issue is 'EXEC DASD'.  This one will attempt to
               to a link to the ISPVM (ISPF) machine 192 disk, which
               should contain the ISPF maclibs, etc.  This line of
               the exec should be edited for password and any other
               standards at your shop.
Specific:      The exec calls a primary screen, from which two options
               can be selected.  Selecting option 1 (DADCALC) takes
               the user into a relatively self-explanatory screen
               requesting input.  Eg:
 
  ********************************************************************
  *                      D A S D C A L C  F A C I L I T Y            *
  *            ** TYPE IN EXIT AT COMMAND LINE TO EXIT               *
  *   NOTE1:  THIS FUNCTION CURRENTLY SUPPORTS 3375'S & 3380'S       *
  ********************************************************************
 
                          PROCESSING INFORMATION
                          ======================
 
              ENTER FREE SPACE CI ==>               (DEFAULT IS 00)
              ENTER FREE SPACE CA ==>               (DEFAULT IS 00)
              BLOCK OR CI SIZE IS ==>               (DEFAULT IS 512)
              NUMBER OF RECORDS   ==>               (DEFAULT IS 1)
              RECORD SIZE         ==>               (DEFAULT IS 1)
              ENTER V FOR VSAM S FOR SAM ==>        (DEFAULT IS V)
              ENTER 8 FOR 3380, 7 FOR 3375 ==>      (DEFAULT IS 7)
 
              -------------------------------------------------
              ||| TOTAL CYLINDERS IS          ==>           |||
              ||| IF FULL FREE BYTES IN CI IS ==>           |||
              -------------------------------------------------
 
               All the input parameters have a default, and for VSAM,
               the exec will attempt to calculate a valid CI size
               according to the rules in the VSE/VSAM R3 Commands &
               Macros manual (eg. a CI size > 8192 must be a multiple
               of 2048, etc.).  The exec displays an error message
               if the CI size or free space parms are invalid.  There
               is no help facility in this exec.  Selecting Option 2
               displays a panel where flist can be used, and is there
               only for those who must do a lot of calculations and
               don't want to keep exiting ISPF to enter the calculations.
Note:          The exec uses the EXEC2 interpreter, and the calculations
               of space utilization are based on the 3375 & 3380
               user guide formulaes.  Although I can't guarantee the
               calculations to be totally accurate in all cases due
               to the many variables involved especially in VSAM
               variable length records, I have found that with the
               rounding up to cylinder boundaries the exec is
               extremely accurate (even being checked against
               VSAM managed SAM space that is allocated using the
               DLBL method, and checking against a listcat).
M0162.VMARC
POP and PUSH are complementary commands which save and restore TXTLIBs,
MACLIBs, DOSLIBs, and LOADLIBs. The number of libraries that can be
saved is dependent on the amount of storage available.
 
PUSH syntax is:
   PUSH librarytype - adds it to the  'stack'
 
POP syntax is:
   POP librarytype - pops the most recent 'librarytype' PUSHed onto the
                     stack.  If one doesn't exist, the current settings
                     are not altered.
 
Author: Louis Lang
        Purdue University Computing Center
        W. Lafayette, IN
        BITNET: LANG@PURCCVM
M0163.VMARC
File 2 contains various handy EXECs that are resident here - thought
they may be of interest (even tho the documentation is somewhat lacking)
I'll give a brief description here:
   TELL - a rewrite of IBM's TELL - this breaks up lines so they don't
          wrap around onto a new line, can also prefix messages with a
          time stamp.  Issue 'TELL (HELP' for more info.
 
   NQ   - network query - see if a user is logged on.
 
   FILTER - (still in a development stage, but somewhat useable)
            ignore messages coming from people.
 
   REXXREF - a REXX exec formatter and cross-referencer. A nasty piece
             of code which has grown beyond my capacity to maintain it.
             (not really, but it's getting close)
 
   BATCH - The Purdue Batch system developed at Purdue / LARS and
           previously maintained and updated at SAS Institute.  It has
           now come back to Purdue to roost.
 
 
Any comments, suggestions, etc (flames will be read and then proper
action taken (like forgetting about it!! :-)   ) should be sent to the
author (mainly me, since I don't want to saddle anyone else with it)
 
BITNET: LANG@PURCCVM.  If its a problem report, please be complete with
            information pertaining to the problem. (Be sure MSGLEVEL=(1,
            1) before calling me for program support.  :-)   )
M0164.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (1 of 9)
M0165.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (2 of 9)
M0166.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (3 of 9)
M0167.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (4 of 9)
M0168.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (5 of 9)
M0169.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (6 of 9)
M0170.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (7 of 9)
M0171.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (8 of 9)
M0172.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.1 (9 of 9)
M0173.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (1 of 10)
M0174.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (2 of 10)
M0175.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (3 of 10)
M0176.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (4 of 10)
M0177.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (5 of 10)
M0178.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (6 of 10)
M0179.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (7 of 10)
M0180.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (8 of 10)
M0181.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (9 of 10)
M0182.VMARC
Louis Lang, Purdue University: Purdue Batch System 2.2 (10 of 10)
M0183.VMARC
Installing MAIL/MAILBOOK
 
Richard A. Schafer
ICSA - Rice University
P.O. Box 1892
Houston, Texas 77251
 
BITNET address:
SCHAFER@RICE
 
May 28, 1986
 
First things first:
 
If your copy of the distribution came over the network
then you should have received the following files:
 
MAIL     INSTALL     - You're reading it now.
CARD     MODULE      - The Cornell CARD command.  Used to load the
                       rest of the files.
CARD     HELPCMS     - The HELP file for the CARD command.
MAIL     PACKAGE1    - The files which comprise MAIL and MAILBOOK,
MAIL     PACKAGE2    - dumped with CARD DUMP * *.
 
If your copy of the distribution came on tape, the MAIL PACKAGEn file
will be replaced with a VMFPLC2 DUMP copy of the rest of the MAIL
and MAILBOOK system.  Use VMFPLC2 LOAD * * to load the entire tape
onto disk for customization.
 
The MAIL PACKAGEn files consist of the following:
 
EXECs and XEDIT macros:
 
MAIL     EXEC        - Entry point into MAIL
MAILBOOK EXEC        - Entry point into MAILBOOK
MAILB00K XEDIT       - Main processing for MAIL and MAILBOOK
MAILREAD XEDIT       - Reads mail from virtual reader onto disk
MAILOPTS XEDIT       - Initial setting of global options
MAILSYS  XEDIT       - Installation (site) profile
MAILUSER XEDIT       - Sample user profile
SETMAIL  XEDIT       - Macro for easier setting of profile options
PROFMBOK XEDIT       - Modified version of PROFFLST for use by MAILBOOK
 
Files used for MAIL and MAILBOOK maintenance:
 
MAIL     $EXEC
MAILBOOK $EXEC
MAILB00K $XEDIT
MAILREAD $XEDIT
MAILOPTS $XEDIT
MAILSYS  $XEDIT
SETMAIL  $XEDIT
MAIL     CNTRL
DCOMMENT XEDIT       - Macro to remove comments from REXX execs
REXXCOMP XEDIT       - Macro to compress REXX execs
MAILUPDT EXEC        - Cover execs for EXECUPDT to allow easy
                       maintenance to MAIL/MAILBOOK.
MAILUPDT XEDIT       - XEDIT macro used by MAILUPDT EXEC
MAIL     SCRIPT      - The Waterloo SCRIPT source for MAIL INSTALL
 
Modules:
 
IUCVTRAP MODULE      - Arty Ecock's IUCV message handler.
 
Data files:
 
NEWMAIL  CHANGES     - List of the changes between this version and
                       the previous
OBSOLETE FILES       - Files from the previous version of MAIL
                       that are no longer needed and may be erased.
 
HELP files:
 
MAIL     HELPCMS
MAILBOOK HELPCMS
IUCVTRAP HELPCMS
 
MAIL     HELPMENU
MAILBOOK HELPMENU
MAILMENU HELPMENU
MAILREAD HELPMENU
MAILSEND HELPMENU
 
AFTER    HELPMAIL
BEFORE   HELPMAIL
COPY     HELPMAIL
COPYALL  HELPMAIL
DELETE   HELPMAIL
DISPLAY  HELPMAIL
EXCLUDE  HELPMAIL
FORWARD  HELPMAIL
HELP     HELPMAIL
INCLUDE  HELPMAIL
LOG      HELPMAIL
MENUMODE HELPMAIL
MOVE     HELPMAIL
MOVEALL  HELPMAIL
ON       HELPMAIL
OPTIONS  HELPMAIL
PRINT    HELPMAIL
PRINTALL HELPMAIL
PROFILE  HELPMAIL
QQUIT    HELPMAIL
QUERY    HELPMAIL
QUIT     HELPMAIL
READ     HELPMAIL
REPLY    HELPMAIL
REPLYTO  HELPMAIL
SELECT   HELPMAIL
SEND     HELPMAIL
SORTDOWN HELPMAIL
SORTUP   HELPMAIL
SUSPEND  HELPMAIL
SWITCH   HELPMAIL
UNDELETE HELPMAIL
 
If for some reason you did not receive these files, contact me immediately.
 
Loading files onto disk:
 
From a network distribution:
The first thing to do is to load this file and read it, which you
have obviously already done.  The next is to load CARD MODULE.
If you already have a working version of CARD, you can continue to
use it, although I advise checking the timestamps, and replacing
your version if it's older than the one I've shipped you.
 
I then suggest that you obtain a separate minidisk for the other files.
They will take up slightly more than half of a 5 cylinder 3350 minidisk,
blocked with 2K blocks.
 
Once you have a minidisk, use CARD LOAD to load the files onto your disk.
That's all you HAVE to do.  MAIL and MAILBOOK will work as is.  However,
you should take a look at the default profile options and change
MAILSYS XEDIT as appropriate.
 
From a tape distribution:
You will need to get a minidisk for the files.
They will take up slightly more than half of a 5 cylinder 3350 minidisk,
blocked with 2K blocks.
 
To load the files, have the tape attached to your virtual machine and
do a
 
VMFPLC2 LOAD * *
 
That's all you HAVE to do.  MAIL and MAILBOOK will work as is.  However,
you should take a look at the default profile options and change
MAILSYS XEDIT as appropriate.
 
Not all of the files need to be on a publicly available disk.  The files
required are:
 
All of the HELP files
IUCVTRAP MODULE
MAIL     EXEC
MAILBOOK EXEC
MAILB00K XEDIT
MAILOPTS XEDIT
MAILREAD XEDIT
MAILSYS  XEDIT
PROFMBOK XEDIT
SETMAIL  XEDIT
 
You may very well wish to put the CARD MODULE (and HELP file) out for
public use, but it's not required for use of MAIL/MAILBOOK.
 
The MAILUSER XEDIT file is just a sample user profile; it can be put
on a public disk, but is not required for use of MAIL/MAILBOOK.
 
IUCVTRAP
 
The IUCVTRAP included with MAIL and MAILBOOK is the same
program that you may have already installed as part of GONE or some
other package.  MAIL/MAILBOOK require some functions that have been
recently added to IUCVTRAP, so you may need to replace your old
copy of IUCVTRAP with this one.  If your copy does not contain
support for the EXTRACT operand, you will definitely need to use
this copy.
 
The two profiles: MAILSYS XEDIT and MAILUSER XEDIT
 
The previous version of MAIL and MAILBOOK used a single profile.
If a user wanted to change a default option setting, he or she had
to make a copy of the installation's standard profile and make
changes.  This version of MAIL and MAILBOOK supports 2 levels of
profiles.  MAILSYS XEDIT is available for tailoring by your
installation, and MAILUSER XEDIT can be used by your users to
change options or screen displays to their heart's content.
MAILSYS XEDIT can be used to override the defaults I have set, and
MAILUSER XEDIT is always called after MAILSYS XEDIT, so users can
override your standard option settings.
 
For a complete description of the available options, see the
PROFILE HELPMAIL file.  Options are set via the GLOBALV command; to make
setting of options easier (let's face it, the GLOBALV syntax is not what
I'd call user friendly), you can use the SETMAIL macro.
 
SETMAIL name value == GLOBALV SELECT MAIL SETL MAIL_OPTION.name value
 
In addition to setting
MAIL/MAILBOOK options, the profile(s) are used to
define how the screens are to be displayed.  If you want the command line
somewhere other than where I've put it, you can move it.  If you want
to change the PF key assignments, you can change them.  Note that
if you change PF key assignments, you must retain the convention
that PF keys that refer to XEDIT subcommands are prefixed with @XEDIT,
and that PF keys that refer to MAIL/MAILBOOK subcommands are prefixed
with @MAIL.  Other than that, you can set them any way you want.
 
When the profile is called (MAILSYS or MAILUSER), a single argument
will be passed.  This argument, which will be either INITIAL, MENU,
READ, or SEND, can be used to determine what the mode you are in.
The INITIAL call is done prior to any display mode, and is primarily
used to determine what the value of the UNREAD.NOTEBOOK option is.
Besides the MAIL_OPTION. variables which may be set, there are 4
other variables which may be interrogated:
 
MAIL_OPTION.NOTEBOOK - the name of the notebook you are working with
MAIL_OPTION.SENDTYPE - SEND, REPLY, or FORWARD (only in SEND mode)
COMMAND - either MAIL or MAILBOOK
COMMAND_LINE - the operands on the MAIL command (blank for MAILBOOK)
 
Sample MAILUSER XEDIT
 
The sample MAILUSER XEDIT file sent sets the PSEND option on, which will
require confirmation before actually sending off a message.  I set
this on myself to avoid accidentally sending a message before I am ready.
 
MAILER
 
For those of you not running a mail transport agent such as the
Columbia MAILER, you should set the DIRECT option to YES in your
MAILSYS XEDIT.  I strongly urge you to consider running such an
agent.  The Columbia MAILER is available from Alan Crosswell,
EACUS@CUVMA.
 
Redistribution
 
As I have always said, you may feel free to pass MAIL and MAILBOOK
on to another site if you wish.  However, I prefer that if you do so,
you tell me about it and give me a contact at that site, so that I
may add the new site to my mailing list for updates.
 
Maintaining MAIL and MAILBOOK
 
Maintenance to MAIL and MAILBOOK EXECs and XEDIT macros
will be distributed in the form of updates; the HELP files will be sent
as replacements.  I will never send an update to MAILUSER XEDIT, since
the user has total control over that file; I may send updates to
MAILSYS XEDIT.
 
To deal with updates, 2 copies of the EXECs and XEDIT macros will be
maintained:  "filename EXEC" (or XEDIT), which will be the executable
form, and "filename $EXEC" (or $XEDIT), which will be a sequence
numbered form of the same file.  The MAILUPDT exec is used as a cover
for IBM's EXECUPDT to apply the maintenance, and optionally strip
comments and compress the file into a V-format, LRECL 255 file with
multiple statements per line.  All of the operands of EXECUPDT are
supported, and a default CNTRL file of MAIL CNTRL is used if the CTL
operand is omitted.  When the EXECUPDT COMPRESS option is specified, in
addition to the usual EXECUPDT removal of comments which contain "/*!"
in the first 3 columns, MAILUPDT makes use of the DCOMMENT macro to
remove all lines whose first non-blank characters are "/* " plus all
blank lines.  The COMPRESS option also calls the REXXCOMP macro to do
the compression.  These macros may be used outside of MAILUPDT, although
REXXCOMP does not change the record format or LRECL of the file, so you
may will need to do that before calling REXXCOMP outside of MAILUPDT.
 
When I ship an update to a file, I will send along a corresponding
AUX file named "filename AUXMAIL", which can be used along with the MAIL
CNTRL file to control the updates.  If you wish to make local updates,
I suggest adding a AUXLCL line (or something like it) to a copy of
MAIL CNTRL.
 
To make things as easy as possible, if you call MAILUPDT without
a fileid (whether or not you specify any options), MAILUPDT will
update every MAIL/MAILBOOK system file which has an AUXMAIL file.
Thus you can say:
 
MAILUPDT
 
and update everything, and
 
MAILUPDT (COMPRESS
 
and update and compress everything.
The original distribution executable
files are all in compressed format.
I strongly urge you to keep your executable files compressed: this will
have a major impact on the amount of memory used by the execs.
However, for making it easier for your users to know what defaults you
have set in MAILSYS XEDIT, you may want to consider leaving it
uncompressed.
 
The TRACE subcommand and command line option
 
An undocumented option and subcommand provide the ability to trace
the workings of the MAIL and MAILBOOK system.  The TRACE option
(and subcommand) have the same syntax as the REXX Trace statement,
and produce exactly the same output.
M0184.VMARC
             LINK and LOGON SECURITY
 
OVERVIEW
 
   The module DMKSEC has been added to maintain security tables, and
to provide security subroutines for DMKLNK and DMKLOG.
   The entry point DMKSECCK takes an 8 character userid, pointed to
by R3, and performs conversion to SYS (system account), OPR (operations
account), OPRDISC (operations disconnected virtual machine), or USR (user
services account). This subroutine uses an internal security table that
contains a list of names for each class (SYS, OPR, OPRDISC, or USR) of
userid.
   The entry point DMKSECLN contains the LOGON security subroutine.
This routine limits SYS, OPR and OPRDISC accounts to certain access
lines. It calls DMKSECCK to convert the userid to the class code SYS,
OPR, or OPRDISC. If not class code SYS, OPR, or OPRDISC the LOGON is
allowed to continue.  Otherwise, the userid's access line (terminal
address) is checked against the access line security table to determine
if this userid is allowed on this access line.
   The entry point DMKSECLK contains the LINK security subroutine.
This routine limits LINKs to SYS, OPR and OPRDISC accounts only from
other SYS, OPR and OPRDISC accounts (unless the link password is ALL).
It calls DMKSECCK to convert the userid to the class code SYS, OPR or
OPRDISC and then determines if link should be allowed.
   The changes to DMKLOG and DMKLNK provide for calls to DMKSEC.
   The change to DMKHVC provides a new DIAG 108 that calls DMKSECCK
to check for a SYS or OPR account. This DIAG is required for the
DIRMAINT security.
 
INSTALLATION PROCEDURE
 
1. Load the following files from the tape:
   DMKSEC ASSEMBLE
   DMKSEC AUXLCL
   DMKSEC JRL
   DMKSEC UPDTLCL
   DMKLNK AUXLCL
   DMKLNK UPDTLCL
   DMKLOG AUXLCL
   DMKLOG UPDTLCL
   DMKHVC AUXLCL
   DMKHVC DMKSECCK
 
2. Make changes to the userid and terminal address tables in the
   file DMKSEC ASSEMBLE to meet your installation requirements.
   (Be sure to SET SERIAL OFF when in XEDIT).
 
3. Make sure the AUXLCL entry is in your CNTRL file, and assemble
   DMKSEC, DMKLNK, DMKLOG, and DMKHVC
 
4. Add entry for DMKSEC to the resident nucleus part of your
   load exec.
 
5. Build the new nucleus, test, and put online if test is successful.
 
                    DIRMAINT SECURITY
 
OVERVIEW
 
The following installation changes have been made to provide
additional security to DIRMAINT, specifically to prevent the
Administrator (ADMIN) from access to Systems and other privileged
accounts. For additional information concerning these changes, refer to
the comments in the modules themselves.
1.  Commands SEND, FILE, CP, and CMS are allowed only by OWNER.
    (Change to DVHCMD).
2.  The WITHPASS option on the USER command is removed. (Change to
    DVHDMB).
3.  The general user command MDPW is removed. (Change to DVHCMD).
4.  Userid class privilege and SYS/OPR classifacation security added
    to the commands:
      ADD, AMDISK, ASSIGN, CHNGID, CHVADDR, CMDISK, GET, LOCK, PRIOSET,
      PURGE, REPLACE, SETPW, TMDISK, and UNLOCK. (Changes to DVHDMA,
      DVHDMB, DVHDMC, and DVHDMF).
5.  Password is removed from HISTORY file message M194 for commands
    SETPW and CHNGID if invoker was OWNER. (Change to DVHDMA).
6.  For Update-in-place, message M076 is modified to remove password
    and other secure information in HISTORY file, if request was for
    SYS or OPR account. (Change to DVHMCB).
 
INSTALLATION PROCEDURE
 
NOTE: It is recommended that DIRMAINT not be available to users
      during installation and testing.
 
1. Load TEXT, UPDTLCL, and AUXLCL files for DVHCMD, DVHDMA, DVHDMB,
   DVHDMC, DVHDMF, and DVHMCB to a holding area.
2. Check all UPDTLCL mods for your installation. If changes are required
   make sure the AUXLCL is in your CNTRL file and re-assemble the module.
3. Shutdown DIRMAINT
4. Rename TEXT files on DIRMAINTs 191 for DVHCMD, DVHDMA, DVHDMB, DVHDMC,
   DVHDMF, and DVHMCB to OLDTXT. Copy new TEXT files from holding area
   to DIRMAINTs 191.
5. Determine where to keep UPDTLCL and AUXLCL files, and move them there.
6. IPL DIRMAINT and test.
M0185.VMARC
INTRODUCTION
 
This facility manages the loan of pre-formatted CMS T disks which
can be borrowed and used across terminal sessions and remain
available when switching CPU's. There are are two main parts which
make up the system; the disconnected virtual machine and the user
interface. An overview of the function and requirements of each
will be given, including security measures built into the facility.
There are also two sets of commands which will be described;
the general user commands and those available to privileged
users. Possible error codes and messages are listed.
 
OVERVIEW
 
TDM is functionally similar to the IBM VM/SP program product
File Storage Facility as it pertains to tdisks. Communication between
the disconnected machine and the user is via CP SMSG (VMCF),
rather than IUCV, with a user-interface on the common Marist Disk.
The interface exec provides abbreviations and checking of syntax, and
formats messages and commands exchanged with the disconnected machine.
WAKEUP is used to facilitate communication between the manager and
the user, and is documented in the Interactive Productivity
Facility Systems Reference (SC24-5228).
 
The facility has several features that insure the security of mini-disks
under its control. It has the capacity to force users off the system if
they are found to have a link to a disk which has not been previously
authorized. Periodic scans of all disks are made looking for illegal
users.
They are warned via CP WARNING
that they will be forced off
during the next scan if they do not detach the disk. If they are still
linked during any subsequent scan (until the next facility
initialization), a force command is issued.
(If TDMCNTRL is not privileged for CP WARNING command, then CP MSG
is used.
The FORCE is performed via a call to EXEC FORCE.)
 
The user interface, TDISK EXEC, makes use of two modules which
must be available to the user; WAKEUP and TDSKLINK.
The latter module performs a CP LINK command when the TDISK USE command
is issued. The appropriate password necessary to complete the link is
encoded in the SMSG from the manager and decoded by the module.
The SMSG itself, should it be examined by a general user, would be
unintelligible. The encoding is just a simple translation of the
bits.  It would not be difficult to decipher the encoding scheme,
it is therefore recommended that passwords be changed regularly.
The EXEC CHGPW is called for an installation dependant
changing of link passwords.
Therefore, given the possible security exposure, only
the TDSKLINK MODULE should be available to the general user.
Since TDM protects its own 191 and 192 disks, either of these would be
good locations for the TDSKLINK source code.
 
The interface itself is written in REXX and uses basic CP and CMS
commands. It can be invoked from the command line or
from a user written exec. It displays a brief help if no argument or
an argument of '?' is issued. There is also a more detailed help screen
available via the CMS HELP facility.
 
The main REXX exec which drives the disconnected T Disk Manager, requires
191 (A) and 192 (D) disks, several control files and WAKEUP.
The 191 and 192 disks should be on two different packs,
since each contains a copy of the disk control file. This file describes
each disk available for loan, and the terms of the loan for any
borrowed disk. The 191 disk copy is updated as the exec is running,
while the 192 disk copy is replaced at initialization,
restart and shutdown. The administrator control file identifies
the administrators and their passwords to the facility.
Since the T Disk Manager uses the CP commands WARNING and MSGNOH,
it requires class B privileges. Without Class B privileges, both
WARNING and MSGNOH will be issued as CP MSG.
If TDMCNTRL is to issue CP FORCE, then Class A privileges are
needed, or it could issues the command through a PROP machine.
M0186.VMARC
No README.
Harry Williams, Marist College: Assorted
Archive contents:
  APL      EXEC
  APL2     EXEC
  DCF      EXEC
  ISITHERE EXEC
  MAIL     EXEC
  RUNIT    EXEC
  SAS      EXEC
  SCRIPT   EXEC
  SLABEL   ASSEMBLE
  SLABEL   CNTRL
  SLABEL   MODULE
M0187.VMARC
                               D A S D L I S T
 
DASDLIST provides a means for querying and manipulating the DASD
attached to a Virtual Machine, in a full screen environment.
It displays information about each mini-disk which is a summary of both
the CP Q V DASD and CMS Q DISK commands. In the full-screen mode,
mini-disks can be easily ACCESSED, RELEASED and DETACHED as required:
 
    UIRD     DADSLIST A1  F 90  TRUNC=90 SIZE=8 LINE=1 COL=1 ALT=18
  Cmd  Mode  Addr Label    Acc  Type   Files    Disk capacity   Used
 
       A     191  MY 191   R/W  3380     114       930 Kbytes   90 %
       B/A   19D  MNT19D   R/O  3380      12     12555 Kbytes   43 %
       D     192  MY 192   R/W  3370       3      2000 Kbytes    1 %
       S     190  MNT190   R/O  3380     207     19995 Kbytes   66 %
       T     399  MARIST   R/O  3380     110      2790 Kbytes   68 %
       Y/S   19E  IPF      R/O  3380     338     12555 Kbytes   20 %
             1A0  SCR1A0   R/W  3370    ----       100 BLK
 
 
 
  1-Help    2-Refresh  3-Quit      4-Sort(Mode) 5-Sort(CUU) 6-Sort(Label)
  7-Forward 8-Backward 9-Sort(Acc) 10-Filelist  11-Q Links  12-Cursor
 ====>
 
The Cmd area on the left will accept 3 commands:
 
ACCess
 
The access command has several different uses. The most straightforward
is of the form:
ACCESS / mode_letter
This will access the disk on that line at the mode specified as if the
virtual address was substituted for the '/'.
If ACCess is issued in the command area without any arguments it will
have one of two effects. If the disk is already accessed, it will be
re-accessed at the same disk mode. If un-accessed, it will be accessed
at the first free disk mode.
 
RELease
 
The release command will release CMS access to the minidisk on the line
where it is entered. The command can aslo be entered as:
RELease / (DET
to force the disk to released and detached. The same effect can be
obtained by the next command.
 
DETach
 
The Detach command releases CMS access if the disk is currently linked,
the issues the CP DETACH command which completely severs acces to the
disk.
 
M0188.VMARC
Installation note: line 43 contains an EXECIO.  This should be for the
BITNET LINKSxxx file.  At Marist it is available in an HELP file.
 
  This EXEC is designed to show the BITNET paths between any 2
nodes.  The format is:
 
   BITTRACK node1 node2
 
node2 defaults to the current node.
 
  Written by A. Harry Williams
             Marist College
             Poughkeepsie, NY 12601
             (914) 471-8644
M0189.VMARC
* THIS PROGRAM TAKES A READER SPOOL FILE WITHOUT CARRIAGE CONTROL
* CHARACTERS AND CONVERTS IT TO A PRINTER SPOOL WITH CARRIAGE
* CONTROL CHARACTERS.
*
* Author: Charles B. Favell
*         Marist College Computer Center
*         82 North Road
*         Poughkeepsie, NY  12601
*         914/471-3240 x252
M0190.VMARC
The SYSFILE virtual machine is designed to process spool files.
Three copies are run at Marist.
One copy waits for console spool files to arrive from
disconnected server machines, and reads them onto disk, where
systems personell can later browse them online.
A second copy performs the same function for the VM account data.
The third copy runs in a virtual machine called RSCS, and
transfers the spool file to the appropriate virtual machine
running the RSCS program product, RSCSA or RSCSB.
 
The power of SYSFILE comes from its use of IUCVTRAP,
written by Arty Ecock.
 
SYSFILE is written entirely in Rexx.
The EXECs are:
 
CMDxxx   - Process SMSG command xxx
DEBUG    - Formatted a msg for debugging
DISKFULL - Process to cleanup disk when full
GETHOLD  - Get the next command that was held
GRABBER  - Get next item off stack.
HNDLSMSG - Handle SMSGs
HOLDCMD  - Used by GRABBER to hold a hold for later execution
LOGIT    - Log an action to log file
MSG      - Send a message to a user
MSGMAINT - Send a message to the maintainer of SYSFILE.
NOAUTH   - Process an unauthorized command request.
OLDEST   - Subroutine of DISKFULL to determine oldest files
PROCSPL  - User exit. Call after every interrupt to process whatever.
READALL  - Read all spool files onto disk, uses READIN.
READIN   - Read in 1 spool file onto disk.
SPOOLRD  - Main routine.
 
The file AUTH USERS holds the list of authorized users, people
allowed to issue SMSG commands.
M0191.VMARC
Harry Williams, Marist College: RSCS printer managers
grfprt package-------
  ADMOPUV  MODULE
  ADMUCIMV EXEC
  BFUCDPF  MODULE
  FIND_DOT EXEC
  GET_DOT  EXEC
  GRF_RDR  EXEC
  GRFCNTRL EXEC
  GRFPRT   DIRECT
  GRFPRT   DOC
  IUCVTRAP MODULE
  PROC_MSG EXEC
  RTN_DOT  EXEC
  SEP_3287 MODULE
  SEP_4250 MODULE
  WAKEUP   MODULE
M0192.VMARC
University of Guelph: METIS, NETMON, DISKEDIT, Assorted tools
Archive contents:
  DIRUSER  ASSEMBLE
  DIRUSER  HELPCMS
  DIRUSER  MODULE
  DISKEDIT DOC
  DISKEDIT EXEC
  DISKEDIT HELPMENU
  DISKEDIT XEDIT
  DOIO     ASSEMBLE
  DOIO     MODULE
  FIND     HELPDISK
  FINDALT  HELPDISK
  GET      ASSEMBLE
  GET      HELPCMS
  GET      MODULE
  LOCALPRS ASSEMBLE
  LOCALPRS MODULE
  METIS    ASSEMBLE
  METIS    CNTRL
  METIS    HELPCMS
  METIS    MODULE
  METISDBG MODULE
  METISMAC MACLIB
  METISTMR ASSEMBLE
  NETMON   DOC
  NETMON   HELPCMS
  NETMON   XEDIT
  PACKAGE  HELPCMS
  PKG      EXEC
  PROFILE  NETMON
  RENAME   EXEC
  REXX     EXEC
  REXX     HELPCMS
  REXXFREE MEMO
  REXXLIST ASSEMBLE
  REXXLIST MODULE
  REXXVARS ASSEMBLE
  REXXVARS MODULE
  TOOLS    DOC
  TRACE_F  XEDIT
  TRIMTEMP XEDIT
  UNPKG    EXEC
  UOG      DOC
M0193.VMARC