                   RSX/IAS SIG Tape Distribution - Spring 1989

                   ===========================================





          This is the RSX/IAS SIG Symposium Tape from the Spring 1989 DECUS

     Symposium at Atlanta.  The tape contains  material  submitted  by  the

     user community for the tape at that meeting.  



          The  programs  on this tape are from user submissions.  The DECUS

     staff, the RSX & IAS SIG staffs, and DEC are all in complete ignorance

     of  the  contents of the tapes.  No warranty of any kind is implied in

     the distribution of these tapes.  The programs may or may not be  well

     documented, they may or may not work, they may even crash your system.

     If you have a problem with the  contents  of  the  tape,  contact  the

     author  of  the program.  Do not contact DECUS, DEC, or the RSX or IAS

     SIGs.  



          The  tape  contains  about  2000 files requiring 37,000 blocks of

     disk space.  This will fit on a 2400 foot reel of tape in  BRU  format

     at  1600  BPI,  and  so is being distributed in this way.  To simplify

     distribution and production, the tape is a single BRU  container  file

     followed (for the LUG distribution only) by several extra files.  



          Directory  [300,1] contains the files documenting the contents of

     the tape.  The following files are present:  

     RSX88BTPE.DOC contains an abstract of the contents of the tape by UIC. 

     AAAREADME.89A  contains a concatenated list of all the README files on

        the tape.  

     RSX89ADIR.LIS  contains  a directory of all the files on the tape (BRU

        does not produce nice directories).  This is a brief  listing  with

        UICs and filenames only for space reasons.  

     SUBMIT.DOC contains guidelines for submissions to the RSX/IAS Sig Tape

        collection.  This is MUST  reading  for  everyone  who  desires  to

        submit a program to the SIG tape.  

     BEGIN89A.DOC has a copy of this text.  

     UICSET89A.CMD contains the UFD commands to create all the needed UIC's

        on a device whose name is asked for in the command file.   Edit  it

        to  match your needs before using BRU to extract the tape contents.

        A word of caution:  under at least  some  circumstances,  11M  V4.0

        BRU's  /UFD  switch  creates  directories  even when it doesn't put

        anything in them.  







                                        Glenn C. Everhart

                                        RSX/IAS SIG Tape Copy Coordinator

                                        GE Aerospace Technology Operations

                                        GE Corp.

                                        Bldg. 100, Room U3040

                                        230 Goddard Blvd.

                                        King of Prussia, PA 19406

                                        215-354-7610

                                        Everhart%Arisia.decnet@CRD.GE.Com

                                        Everhart@Arisia.GE.com


========> [005,001]AAAREADME.TXT;1 <========


      [5,1] Readme.1st
      DECUS C "scratch" update ([5,*] directories) master document.

      This version is based on DECUS-C Kit from RSX SIG Tape Fall 85,
      including the updates from  Spring 86 and 87 for I/D Space, RMS
      and DECnet.
      
        This area  contains  a  full  update  to  DECUS  C system for 
      enhanced  functionality  and   compatibility  with  evolving  C 
      language  standards.    TOTALLY  UNSUPPORTED  (DON'T  call  the 
      authors) but it is believed  the complete kit is here.  LOTS of 
      tools and support for all OSs.    To  obtain  a  working C, you 
      should look over the KIT.RNO file and  others  (redundant  .DOC 
      files have been deleted to make room for  the  whole  kit)  and 
      included  command  files.   Basically you need to assemble  the 
      compiler  and  assembler  and  then if the .OLB files here  are 
      inadequate  you  need to compile the runtime system.  The tools 
      here are  well  worth using even in VMS native mode VAX11C, for 
      which build files  also  exist.  This version has some enhanced 
      compatibility with U**x C  in  its  syntax and the preprocessor 
      has  been  enhanced  to  relieve  many  restrictions  of  older 
      versions.  Some work on floating math has supposedly been done, 
      but its degree of cleanliness is not  known.  Since none of the 
      authors has time to spend weeks putting the code in supportable 
      order,  this  submission  is  TOTALLY  unsupported  but is made 
      available to allow you to at least have something to  try.   It 
      is believed to work but testing has been quite spotty.   If you 
      find something that is broken and you can fix it, please do  so 
      and submit it to a later SIG tape.

        Original directory names follow with UICs on tape:

  [5,100] Ready built libraries for RSX11M-Plus V4.0
  [5,1] Top level directory [decusc]
  [5,2] BIN directory (.H files, libraries, and VAX .EXE's)
  [5,3] COMMAND directory. Documents, more .H files, some other stuff.
  [5,4] COMP directory. Sources for AS and CC, compiler and assembler.
        Also a readily built CC.TSK and AS.TSK for RSX11M-Plus V4.0.
  [5,5] CPP directory. C preprocessor.
  [5,6] CROSS directory. A variety of cross assemblers.
  [5,7] CTEXLIB directory. Part of P/OS version of DECUS C. Access to
                menus, etc.
  [5,10] DECNETRSX directory. RSX DECnet support.
  [5,11] FONT directory. Part of P/OS C kit, fonts for bitmapped display.
  [5,12] LEX directory. A lexical scanner generator for DECUS C
  [5,13] LIBC directory. C library items.
  [5,14] MISC directory. Odds and ends, some quite useful, but not part of
                the compiler proper. Includes a speller, file compress
                utility, and more.
  [5,15] OTSCOM directory. Common OTS routines for C runtime.
  [5,16] OTSIO directory. I/O areas for C OTS.
  [5,17] PML directory. Portable Math Library (in C)
  [5,20] POS directory. Executable DECUS C for P/OS with libraries.
  [5,21] POSCTEX directory. Later version (?) of CTEXLIB for POS C.
  [5,22] RMSPCLIB directory. RMS I/O support items. Used for POS flavor
                of DECUS C.
  [5,23] RSTSLB directory. RSTS (and RT) I/O support items for runtime.
  [5,24] RSXLIB directory. RSX I/O support items for runtime.
  [5,25] SPRSX directory. file I/O-free support for tiny "standalone" C
                programs. Also support's R. Denny's special ACP.
  [5,26] TOOLS directory. LOTS and LOTS of tools no programmer should be
                without. Also buildable with VAX11C. Tom Shinal has
                contributed a super enhanced GREP also.
  [5,27] USEFUL directory. Odds and ends that may be handy compiling C code
                from other systems.
  [5,30] VAXLIB directory. VMS I/O components for runtime.
  [5,31] COMP directory subset. Pre-built executables for RSX11M.
  [5,32] ZZDECUSC directory. H files needed (in a directory named ZZDECUSC)
                for P/OS DECUS C.

The [333,*] UIC's contain two set of useful DECnet tasks. 

        [333,102] - Contains a DECnet remote file access package.
                        Uses a special remote DECnet object, not
                        FAL.

        [333,103] - REX - a remote execution package. Allows
                        submitting command on a remote node
                        without losing the use of the local node.

========> [306,100]AAAREADME.TXT;1 <========



Submissions from
Brad Castalia
Planning & Systems
IDAEIM Corp. 
  Computer Imaging & Analysis
712 N. Seventh Ave.
Tucson, Arizona 85705
602-628 7737

These are "miscellaneous" items used at IDAEIM, mostly in libraries.
Each file has ample commenting on its purpose/use, but the pieces below
are especially comment-worthy:

TTP - Tape Transfer Program. This is a generic tape handling program
modified from one taken from an old RSX SIG tape.

ARG - Argument Processing. This collection has DOARGS as its root. It
provides a standard means of processing the argument vector provided to
main by the C language run-time system (or any string which is to be
treated as command arguments). The user provides a module that defines a
list of paired keywords-function names, and the definitions of the
functions of course. For each string in an argument vector (i.e., array
of string pointers) that matches a keyword (according to a default or
user supplied matching function) the ARGS module will direct program
control to the corresponding function. These "argument handlers" become
objects allowing dynamic modification of any keyword, associated
function, or swapping out of entire lists (which may be considered as
command environments).
  An associated module - ARGVALUES - will filldata vectors (of any
specified type) with values found in suffix qualifiers to an argument
string. Syntax checking (corresponding to the specified data type) and
error reporting handles are included. This module is called on by the
user's argument handler functions.
  Associated with this category are several string manipulation functions
that find common use.
  Whenever an argument string begins with the '@' character the remainder
of the argument string is taken as the name of a file containing command
lines (this provides another standard command line argument qualifier
character like the '<' and '>' characters that automatically redirect
stdin and stdout to the files named by the remainder of the string).
This command line indirection capability is in another module.

INDIRECT - Indirect command files. This module is provided the name of a
file and a pointer to a function that processes an argument vector. The
file is opened and command lines (string records) are read (into a
dynamically allocated buffer) and parsed into an argument vector (by
ARGPARSE) which is passed on to the specified function for processing.
  INDIRECT provides for recursion (obviously DOARGS is going to pass
INDIRECT a pointer to itself) by putting the interrupted command file (if
one is currently being processed) into a LIFO queue for resumption when
the new indirect command file has finished. This allows for virtually
unlimited nested indirect command files. This file queueing capability is
in another module.

QFILE - file processing LIFO queue. An open file is suspended and a named
file is put in its place. The open file's location pointer and name are
placed in a dynamically allocated LIFO queue and the named file is used
to reopen the currently open file. The user maintains the queue pointer
(several may be managed simultaneously). Queued files may be dequeued, in
which the last file queued (if any) is used to reopen the currently open
file specified and the file location pointer is set to its previous value
(allowing input to resume from its suspended point).

RECQUEUE - Record queue file management. A doubly linked queue of
arbitrary (but uniform) size data records may be created or reaccessed in
a named file. Records may be queued (FIFO), inserted (at any location),
dequeued, or removed (from any location) with the file's memory pool
being allocated and expanded as needed by the module. Since record queues
are expected to be shared by multiple tasks (for job spooling, for
example) the module only hoolds a file open while it needs it, and will
wait and try again (with a default or globally set delay and retry count)
if the file is busy. A standalone record queue manager is provided.

KEYBRD - keyboard character trap. Sets up a trap for an unsolicited
character (only one is buffered in this version) from the keyboard (a
FORTRAN version refers to logical I/O unit 5, a C version to unit 1, and
both default to TI:) without ingerfering with normal solicited input. The
trapped character, if any, may be tested at a synchronous point in the
program.


========> [350,300]AAAREADME.TXT;1 <========




RSX11-M Mailbox Driver --

        Patterned after VSDRV (see Fall '81 DECUS RSXSIG
        symposium tape, [300,120] submission by John Osudar) and the
        VAX/VMS Mailbox driver, this driver performs virtually the
        same functions with a new twist.  The driver maintains a set
        of named queues/mailboxes similar to VS: but rather than
        copying data buffers destined between tasks
        to its internal buffer pool, MB: re-links the I/O packets
        themselves and copies data directly from the writing task's
        virtual address space to the target task's address space.
        This can represent a significant performance improvement for
        large QIOs and is much more immune to running out of
        "pool" because the data is maintained in the requesting task's
        address space.

        There are, however, attendent disadvantages to this scheme.
        By necessity, write-QIOs NEVER complete until a corresponding
        read-QIO (or cancel) operation is issued for the mailbox, and
        tasks with outstanding I/O cannot be checkpointed or shuffled.

        Assemble and build the driver by executing MBDRV.CMD; RSXMC.MAC
        and RSX11M.STB must reside in current system UIC.
        Consult the comments in MBDRV.MAC and documentation in MBDRV.RNO
        for a full description of the driver's design, function codes, etc.
        Several test programs are also included to exercise various
        features of MBDRV; IOPAGE, TIMER and MBTSTn modules are required
        for the test programs.


                Paul R. Sorenson
                AEP/Engineering Computer Support Center
                1 Riverside Plaza
                Columbus, OH 43215
                

========> [355,221]AAAREADME.TXT;4 <========



This subdirectory contains routines from the Long Island Local Users' Group.


This directory contains an assembler routine for RSX-11M/M+ that retrieves a
radix-50 list of active tasks associated with the invoking terminal and a
program that aborts them all.  The list excludes cli's.  Submitted by Mitch
Nelson of Brookhaven National Laboratory.



========> [356,040]AAAREADME.TXT;2 <========



Kermit - 11
  This area contains Kermit-11, recently updated by Brian Nelson.
Also present are latest executables of MSDOS (IBM PC) and VMS Kermits.
    Updated 14-JUN-1985 09:22  Brian Nelson


Kermit-11 Edit history:  K11CMD.MAC
Kermit-11 Installation:  K11INS.DOC
Kermit-11 Documentation: K11HLP.HLP  (no separate user manual)
Kermit-11 Files:         K11FIL.DOC



Please note that while Kermit-11 uses RMS11 for all versions (RT11 excluded)
you do not need RMS on your system unless you opt to use the versions linked
to RMSRES (K11.TSK for RSTS/E and K11POS.TSK for M/M+ and P/OS).
For further information, please read K11INS.DOC
