========> [VAX83D.LBLTOOLS]AAAREADME.TXT;5 <========


     [VAX83D.LBLTOOLS]AAAREADME.TXT


                           submitted by: Joe Sventek


                          Lawrence Berkeley Laboratory
                                  MS 56B-3238
                               Berkeley, CA 94720


     Fall 1983 submission of  the  Lawrence  Berkeley  Labortory  Unix-like
     Software Tools.


     See [.DISTN]CHANGESRC.F83 and [.DISTN]CHANGEVMS.F83  for  descriptions
     of the changes made since the last distribution.


     See  [.DISTN]README.1ST  for   installation   instructions   and   for
     information  concerning duplicate files deleted to save space for this
     distribution.
========> [VAX83D.LISPMAN]AAAREADME.TXT;2 <========


     [VAX83D.LISPMAN]AAAREADME.TXT


                                 submitted by:


                                Dr. David Slater
                             ManTech International
                                 2320 Mill Road
                              Alexandria, VA 22314
                                 (703) 838 5600



          This is the handout which accompained Dr.  Slater's Pre-Symposium
     Seminar on LISP.
========> [VAX83D.MBM]AAAREADME.TXT;3 <========




[VAX83D.MBM]AAAREADME.TXT

                     M a i l B o x   M a s t e r


    The MailBox Master (MBM) program is a utility program providing 
access to the VMS system services manipulating mailbox devices.  One 
can use MBM to:

 o  Show mailbox device attributes
 o  Create mailboxes
 o  Delete mailboxes
 o  Set mailbox device protection
 o  Read a mailbox, transfering mailbox data to SYS$OUTPUT in one of
    three ways: "type", "dump", or "format"

    MBM is written in BLISS-32 using the Command Language Definition
(CLD) and Message utilities.

    See .HLP file for further details.


    Michael G. Mulligan
    The SADDLEBROOK Corporation
    101 Main Street
    Cambridge, Massachusetts   02142

========> [VAX83D.NIH]AAAREADME.TXT;3 <========


     [VAX83D.NIH]AAAREADME.TXT



          Contributions  from  National  Institutes  of  Health,  Arthritis
     Institute, Laboratory of Molecular Biology, Molecular Structure

     Author: Dr Gerson H Cohen
        NIH, Bldg 2, Room 312
        Bethesda, MD  20205


                          Subdirectory - ACCOUNTS

        This  is  a  set  of  command  files  and  programs  which  we  run
        periodically   to   analyse   our  system  usage  and  tune  system
        parameters.

      o Files:

        ACC.COM - This file analyses the system accounting file.

        ACCOUNTS.COM - This is the top level procedure.

        BIGFILES.DOC, BIGFILES.EXE, BIGFILES.MAR, FSPEC.MAR  -  These  four
        files  comprise  the  program BIGFILES found on the fall 1982 tape.
        They are repeated here due to an error which I found  in  the  file
        BIGFILES.MAR relating to the calculation of the header number for a
        given file.

        MONSTAT.EXE, MONSTAT.FOR - These files comprise the program MONSTAT
        which analyses the results from MONITOR (see that subdirectory) for
        the purpose of fine tuning some of the system parameters.



                           Subdirectory - CVTLOG

        The program CVTLOG converts a file in VFC format  such  as  a  .LOG
        file  or  a .LIS file from an execute (@) instruction output into a
        variable length  line  FORTRAN  carriage  control  type.   This  is
        frequently  usefull  because  the carriage control of such files is
        generally hidden  to  FORTRAN  users  (the  FORTRAN  User's  Guide,
        AA-D035C-TE,   sec   3.5.10,  implicitly  shows  how  this  may  be
        accomplished in FORTRAN, with the use of a USEROPEN  routine).   By
        defining  a  symbol  CVTLOG  ==  "@CVTLOG",  the  command procedure
        CVTLOG.COM will run the program in a manner similar to the use of a
        system utility.



                           Subdirectory - FETCH
                                                                     Page 2


        This subdirectory contains several files which we  wrote  to  learn
        how  to  use  private  section  files.  We have an application that
        wants to use 10**6 to 10**7 bytes of data, but  the  data  are  not
        necessarily  all referenced.  Since the larger amount would exhaust
        our data space and we reasoned  that  not  reading  data  which  we
        didn't  want  anyway  would  save  time,  we thought of the private
        section file with a read on reference.  The procedure proves to  be
        an  improvement  over the best fortran reads that we have been able
        to manufacture.  The paging rate is,  of  course,  down  since  the
        system doesn't have to write out "used" pages and we like the final
        implimentation, which is not just  exactly  what  is  here  but  is
        pretty  close.   Some  of  the structure in the subroutine FETCH is
        historical for compatibility with  the  ultimate  product  and  any
        applications  developed  based  on  this code should, of course, be
        tailored in a better way!

        The program TNUMRECS tests the subroutine NUMRECS which may  be  of
        some general utility, itself.  It is designed to enable the calling
        program to get the number of records in a fixed length file and was
        a step along the way in the thoughts about FETCH.

        The program JULDATE was a test to learn how to generate the  Julian
        date.  This form for the day-of-year is sometime usefull, as for an
        IBM tape label.  I have not yet  incorporated  the  code  into  the
        subroutine in [-.tape] but intend to.



                           Subdirectory - FLECS

        The   FLECS   (Fortran   Language   Extended   Control   Structure)
        preprocessor, version 22.69, of the University of Oregan is in this
        directory.  Both the FLECS source and the FORTRAN translations  are
        provided.  The source is presented in two parts:  the main - C, and
        the subroutines - SC.  The runoff files correspond  to  an  earlier
        RSX  version  of  mine  but  have  the  advantage  of being machine
        readable.  Just ignore the parts regarding MACRO sources  and  MCR,
        etc.  SC has been optimized somewhat to take advantage of the VAX's
        capabilities with character strings.

        The file FLECS.COM, if invoked via the symbol  FLECS  ==  "@FLECS",
        permits the use of FLECS to take on the characteristics of a system
        language processor.



                        Subdirectory - MONITOR.DIR

        Monitor is run as a detached process.  It is invoked by the command
        procedure  MONITOR.COM,  which  also contains the procedure itself.
        It is used to sample some system states  via  the  commands:   SHOW
        SYSTEM  and  SHOW MEMORY.  These are later tabulated by the program
        MONSTAT (see the subdirectory ACCOUNTS).
                                                                     Page 3


        The procedure is also used to  alter  the  state  of  some  of  the
        QUEUES,  depending  on time of day, to HOLD or RELEASE certain jobs
        (via MANIPQUE.COM) and to ensure that a single user  does  not  hog
        any  of  our longer QUEUES (see SHUFQUE.COM which alters the access
        priority of pending jobs in the specified QUEUES).

        Since we cannot FORCEX on DCL, instead of pausing  by  means  of  a
        WAIT  (which puts the process into an LEF state) we run the program
        SLEEPSOME which HIBernates a specified amount of time.  The time is
        variable  and  is  passed  to  the  program  by  means of a logical
        definition.  This also permits purging the working set.

        The FORCEX is executed by  the  program  CLEANSTOP  which  sends  a
        control-y  with  a warning severity so that the DCL can flag it and
        exit.



                          Subdirectory - PLOTQMAN

                              A Queue Manager

        This is a resubmission from fall  1981  due  to  an  error  in  the
        original  code.  The file PLOTQMAN.COR shows the corrections to the
        original code and has been included in the version of  the  program
        given here.

      o A package for managing a queue of requests to a special device.

        We have a Versatec printer/plotter which  is  used  as  the  system
        printer  as  well as a plotter.  Short of writing a proper symbiont
        for it which would handle both print  and  plot  requests,  a  task
        which  is  currently  beyond  my  capabilities,  I have developed a
        plotter_queue_manager.  The  queue_manager  sleeps  all  day  until
        hearing  a  request  via  a  mailbox,  whereupon  it  wakes  up and
        dispatches it in  a  reasonable  fashion  via  a  subprocess.   The
        facility  to  abort  an  active  subprocess (a plot actually coming
        out), cancel an entry in the queue and interogate the queue are all
        provided.  The queue_manager's log also receives a time stamp about
        once every hour.

        By  changing  the  nature  of  the  subprocess  scheduled  by   the
        queue_manager,  a queue for something other than our Versatec could
        be  maintained  and,  in  principle,  many  such  queues  could  be
        maintained by one such manager.

        The queue_manager itself is run in a detached process.

        Unlike the system queues, which persist across a  reboot,  anything
        pending  must  be rescheduled on reboot.  Other bells and whistles,
        like deferring a given entry in the queue, stopping the queue,  ...
        could be coded into the program.
                                                                     Page 4


        The system overhead for running this process  appears  to  be  very
        small.  It is a significant improvement over our previous method of
        having a process wake up every  5  minutes  to  examine  a  special
        directory for the presence of plot files.

      o Required files:

        PLOT.COM - The user interface.  Accepts commands from the world and
        composes  proper  messages for the Queue_manager.  This file is put
        in SYS$MANAGER.

        PLOTQMAN.* - The program and command files to link it.

        IFERR.MAR - a modified version of that on  the  spring  1981  DECUS
        contribution  in  the  subdirectory  NCAR.   It  repaires  the v3.0
        complaint about an addressing problem.

        PLOTIT.COM  -  The  command  procedure  which  gets  used  by   the
        subprocess  submitted  from the queue_manager.  This file is put in
        SYS$MANAGER.

        RUNPLTQMN.COM  -  The  procedure  by  which  the  queue_manager  is
        started.

      o Special symbols, definitions and directories:

        PLOT        :== @sys$manager:plot
        PHELP       :== @sys$manager:plot help
        PSTAT*US    :== @sys$manager:plot status
        PABORT      :== @sys$manager:plot abort
        PCANC*EL    :== @sys$manager:plot cancel

        SYS$MANAGER = 'f$logical("SYS$DISK")'[sysmgr]

        The directory DBA0:[PLOT] is used.

      o Other files:

        IOPKG.CHG - This file shows a merged list  of  differences  between
        our  version  of  the  Versatec  supplied  routine  IOPKG  and  the
        original.  The modifications permit the generation of plot files in
        any  directory,  passing  the relevant information to the plot file
        processor via logical names.

        IOPKG.SLP - This file is suitable for application to an  unmodified
        VERSAPLOT-7 source for IOPKG.

        PLOTS.CHG - This file shows a merged list  of  differences  between
        our  version  of  the  Versatec  supplied  routine  PLOTS  and  the
        original.  The modifications permit  the  modification  of  various
        plot  parameters, such as plot size, from a batch job.  The code is
        fully compatible with the default usage of the routine, as  in  the
        Versatec  supplied  examples,  and  also  permits  the  interactive
        alteration of these values if the variable NCHANGE is set to -1  in
        the call.
                                                                     Page 5


        PLOTS.SLP - This file is suitable for application to an  unmodified
        VERSAPLOT-7 source for PLOTS.

        USEPLOTS.EXM - This file gives an example  of  the  useage  of  the
        modified PLOTS routine.



                           Subdirectory - RESEQ

        The RESEQ program is a modification of the spring 1980  submission.
        We  found  certain cases which would not function properly with the
        original, in particular non-left-justified statement numbers.   New
        features  which we have installed include a properly working /RIGHT
        switch, permitted use of lower case and the  flagging  of  unpaired
        quotes, as in a direct access read.

        The runoff files have been updated to this version.   The  original
        author is noted in the source.



                             Subdirectory - SD

        This subdirectory contains what may be the successor  to  the  very
        first  of  the Set Default quickies.  I got it in December 1979 and
        have kept it functional, incorporating whatever  new  DCL  features
        were  relevant.   The TECO subroutine is completely replaced;  this
        one is from a PAGESWAPER (v.4, no.1, Aug, 1982).   It  remains  the
        simplest  that  I  have  seen and seems to do all that I would ever
        need.  Don't dismiss it without reading it to see its capabilities.

        Implimentation is with a symbol like SD == "@SYS$SYSTEM:SDD".

        LIBRARIAN'S NOTE:  Placed in the [.SETDEF] structure.



                            Subdirectory - TAPE

        This  subdirectory  contains  a   collection   of   tape   handling
        subroutines  and  two  programs  which we use to read and write IBM
        Standard Labelled or Unlabelled tapes, FB or VBS  type.   By  using
        the  program MLTAPE as a template, it is possible to read and write
        binary, VBS tapes as well.

      o Programs:

        CARDIN - This program reads ASCII or ECBDIC, FB or VBS, labelled or
        unlabelled  IBM  type  tapes.   A tape is considered to have EBCDIC
        codes if it is called labelled.  The program does  not  handle  IBM
        style   ASCII   tapes   or   tape  labels.   We  install  a  symbol
        CARDIN == "@CARDIN" to invoke the program via the command  file  of
        the  similar  name.   Files  are transferred singly and the tape is
        rewound after each transfer, a known  inconvenience  deriving  from
                                                                     Page 6


        lack of forsight 6 years ago.

        SPOUT - This program  writes  ASCII  or  ECBDIC,  FB,  labelled  or
        unlabelled  IBM  type  tapes.   A tape is considered to have EBCDIC
        codes  if  it  is   called   labelled.    We   install   a   symbol
        SPOUT == "@SPOUT" to invoke the program via the command file of the
        similar name.  Files may be strung  together  in  a  concattenation
        into  a  single  output file on the tape.  Each file on the tape is
        transferred singly and the tape is rewound after each  transfer,  a
        known inconvenience deriving from lack of forsight 6 years ago.

        The program MLTAPE may be used as a template  to  write  input  and
        output  programs  for  IBM binary VBS tapes.  The subroutine NUMCON
        contains the entry points for the  various  numerical  conversions.
        The  source is not mine but I have had it for so long that I can no
        longer remember to whom to attribute it.



                                File - XLIB

        This DCL command procedure was coded by Dr G Gilliland and began as
        an  exercise in DCL coding.  It started with an implimentation of a
        procedure from the FORTRAN User's course several years ago.  In its
        present  form,  it  presents a convenient way to handle both source
        and object libraries, hence its  name.   It  is  particularly  good
        during  development  coding.  For convenience, each project is best
        kept in a subdirectory of that projects name having  a  library  of
        the  same  name  and  a  main  of  the  same  name.  Otherwise, the
        procedure permits the user to reset these names as required.
========> [VAX83D.NSWC]AAAREADME.TXT;6 <========





[VAX83D.NSWC]AAAREADME.TXT



    USERS COMMAND
    -------------


        The  USERS  command resembles the VMS command SHOW USERS,  but
        shows more information.   For example,  The  display  updates,
        batch  processes  are  also shown, and the currently-executing
        image of each process is shown.

        For further information, see USERS.DOC.



    OWN COMMAND
    -----------


        The  OWN  command allows non-privileged users to  perform  the
        function of the VMS command:

                SET FILE /OWNER=PARENT

        on any files which are in directories which belong to them.

        For further information, see OWN.DOC and OWN.HLP.

        LIBRARIAN'S NOTE:  It has been pointed out that anyone can use 
        PIP with the /EN switch to point at a file and then use this 
        program to steal it.  Since the users at my installation who use 
        PIP also have privileged accounts I have set the protection on 
        PIP.EXE to WORLD:no access to make this process a little more
        difficult for an unprivileged user.



    KILL AND BKILL COMMANDS
    -----------------------


        The  KILL  command searches all output queues for jobs PRINTed
        by the calling user.  For each job found, information on it is
        displayed,  and  the user is asked if he/she wants to kill it.
        If 'YES' is entered, the job is deleted.  The BKILL command is
        identical, except it searches all BATCH queues.

        A job number or queue name can be specified to limit the queue
        searches.  Privileged users (OPER, WORLD, or GROUP) can delete
        other users' jobs.
                                                      Page 2



        For further information, see KILL.DOC and KILL.HLP.



    DAY PROGRAM
    -----------


        Sets the global DCL symbol TODAY to the name  of  the  current
        day of the week.   The program  can be modified to set a local
        symbol instead.  To execute, do '$ RUN DAY'.



    SD COMMAND
    ----------


        Yes, yet still another Set/Show Directory  command.   This one
        uses  the  VT100  line-drawing  set to draw a tree showing the
        subdirectory structure within the current default,  and allows
        you to use  EDT-like  keypad commands  to manipulate this dis-
        play.  For a quick example, enter:

                $ SET DEFAULT [VAX83C]

                $ @[VAX83C.NSWC]SD *

        For further information, see SD.DOC.

        LIBRARIAN'S NOTE:  Placed in the [.SETDEF] structure.



    AZLIBRARY.OLB
    -------------


        Object library used in building the above programs.  This lib-
        rary is built from AZLIBRARY.FOR and TERMINAL.FOR. Some of the
        routines  may  be  useful to you; they are documented, after a 
        fashion, by prologues in their sources.



    SUBDIRECTORY [.LANHAM]
    ----------------------


        A collection of VAX software from the DEC Educational Services
        Washington, D.C. Training Center (which is located  in Lanham,
        Maryland).

        For further information see [VAX83C.NSWC.LANHAM]AAAREADME.TXT.
                                                      Page 3




    ------------------------------------------------------------------

        Submitted by:  Alan L. Zirkle     Naval Surface Weapons Center
                                          Code K105
                       Fall 1983          Dahlgren, Virginia  22448



========> [VAX83D.NSWC.LANHAM]AAAREADME.TXT;11 <========





                        [VAX83C.NSWC.LANHAM]AAAREADME.TXT



        A collection of VAX software from the DEC Educational Services
        Washington, D.C. Training Center (which is located in  Lanham,
        Maryland).



        ACPCACHE.*      Program to calculate and display the hit rates
        GETCACHE.MAR    on the ACP caches (DIR, EXT, FID, and QUO).



        ADJUSTPRI.*     Routine to adjust priority of  running  inter-
                        active  processes when they exceed a threshold
                        of execution time for an image.



        CAL*.COM        Command procedures to print calendars.
        FLAGS.CAL
        PR*.COM



        CLASSIFY.*      Utility to mark a file  as  classified,  using
        CLASSPROC.MAR   unused space in the file header.   Also a sub-
                        routine to fetch the classification level of a
                        file.



        DISKUSG.*       Procedure to print a summary of blocks used in
                        every user directory  and  subdirectory  on  a
                        given disk.



        FLOPPYCPY.*     Program to copy the console floppy and restore
                        it.



        GETPAGE.*       Program to read virtual block 1 of a file  us-
                        ing only the  $QIO  system service,  given the
                        UFD name and the file name in that UFD.



        GIVE.*          Utility to display the device protection  code
                                                      Page 2


        GIVETIMER.CLD   of a specified terminal.



        INUSE.COM       Procedure to securely reserve a terminal  when
                        it must be left unattended.



        KEYDEBUG.*      Keypad debugger.  Maintains three  screen  re-
                        gions:  register display,  command input,  and
                        DEBUG/program output. (Appears to have trouble
                        on VT125 -- A.Z.)



        NETMAP.*        Utility  to draw a picture of the network top-
                        ology.



        POKE.*          Utility to modify the  privileges  of  another
        POKTXT.MSG      running process.  CMKRNL privilege required.



        SAY.*           Utility  to  allow  sending of messages to any
        BUILDSAY.COM    interactive user on the system.
        SAYSWITCH.*



        TIMER.*         Utility to display Process Timer Requests  and
        TIMERPROC.MAR   Scheduled Process Wakeups from the  VMS  Timer
        GIVETIMER.CLD   Queue.



        WATCHDOG.*      Program to prevent idle terminals; warns  user
                        at 10 minutes,  bumps  him/her  off at 20.  In
                        either case, sends message to operators log.



        Submitted by:  Alan L. Zirkle     Naval Surface Weapons Center
                                          Code K105
                       Fall 1983          Dahlgren, Virginia  22448

        On behalf of:  DEC Educational Services
                       Washington, D.C. Training Center
                       5900 Princess Garden Parkway
                       Lanham, Maryland  20706



========> [VAX83D.PAGESWPR]AAAREADME.TXT;1 <========


     [VAX83D.PAGESWPR]AAAREADME.TXT


                                 submitted by:


                             Lawrence J. Kilgallen
                              Box 81, MIT Station
                              Cambridge, MA 02139



          Copies of Pageswappers published since the last tape.
========> [VAX83D.PSDI]AAAREADME.TXT;2 <========




[VAX83D.PSDI]AAAREADME.TXT

                          Free software BY
                Project Software & Development, Inc.

 This  software  is  furnished  for  free and may be used and copied as
 desired.  This software or any other copies thereof may be provided or
 otherwise  made  available  to  any  other  person.  No  title  to and
 ownership of the software is hereby transferred or allowed. 

 The  information  in this software is subject to change without notice
 and  should  not  be  construed  as  a commitment  by PROJECT SOFTWARE
 AND DEVELOPMENT, INC.

 PROJECT SOFTWARE assumes no responsibility for the use or  reliability  
 of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

Please report any problems to Erik Husby, PSDI.  I will attempt to help
but no promises.

All this software works to the best of our knowledge.  Most of it has been
run on different machines so that there should not be any machine specific 
problems.

This directory contains the following subdirectories.

        [.vaxnet] -- A new version of the ever popular terminal communications
                        program.  This version includes support for 
                        auto-dial modes, auto-login, and command files.
                        This allows VAXNET to be run from a command procedure
                        and to transmit files automactily.

        [.vaxnet.rsxnet] - A version of VAXNET for RSX11M systems.  Not as
                        powerfull as the VAX version but still usefull.
        [.vaxnet.ref] - A program to reformat the log files produced by VAXNET.
        [.vaxnet.mish] - A program that will turn any VMS file into an ASCII
                        file that can be transmitted by VAXNET.  The file
                        then can be UN'MISH'ed on the receiving end.  All
                        file header information is encoded so that when 
                        unmished the file is exactly the same as the 
                        orignal.

        [.AUX]  --  An AUXillary Keypad DCL program.  Allows use of the
                        VT100 keypad to create and edit VMS command lines.

        [.VTL] -- A new version of LIST which allows split screen mode
                and all VMS wildcards in the file specifications.
========> [VAX83D.RESERVE]AAAREADME.TXT;3 <========




[VAX83D.RESERVE]AAAREADME.TXT

The files in this submission constitute an on-line terminal reservation
system for use under VMS V3.0 or higher. Full details of the system are
given in the Implementor's Notes (IMPLEMENT.TXT), the  descriptive file
(RESERVE.DOC) and the Help  Menus displayed by the system when running.

The program is written in VAX Pascal Version 2.2, with a single routine
coded  in  MACRO.  The  sources  are fully commented, and modifications
should be relatively trivial.

Author:         Mark Resmer
                Box 248
                Academic Computer Center
                Vassar College
                Poughkeepsie
                NY 12601

                (914) 452-7000 Ext 2437
========> [VAX83D.RESTRICT]AAAREADME.TXT;2 <========




[VAX83D.RESTRICT]AAAREADME.TXT

        TO:       All Vax Users.

        FROM:     James Greer and Bob Moe
                  K N Energy
                  Lakewood Colorado 80251
                  phone (303) 989-1740
        
        SUBJECT:  Image security or how to keep certain users from 
                  compiling fortran programs.

        EQUIP.:   VAX 11/780

        DATE:     20 OCTOBER 1983

____________________________________________________________________________

                This system allows the system administrator to regulate
        which of his users are allowed to use the fortran compiler. 
        With a few minor changes, this system can be expanded to other 
        compilers, editors, and commands.

                The flow of the system starts with SYS$MANAGER:SYSLOGIN.COM,
        all of the logins on the system use SYSLOGIN.COM when logging into
        the system. Therefore, this is a logical place to put in a security
        bug.  SYSLOGIN.COM runs the command procedure RESTRICT.COM. This
        command procedure checks a security list of the users who are
        and are not allow the privilege of using the fortran compiler.
        If the name of the user is found in the VMSUSER.TXT, the 
        logical F*ORTRAN :== @SYS$MANAGER:VIOLATION.COM is set for that
        persons login. Therefore not allowing that login to compile
        fortran programs.

                The command procedure VIOLATION.COM when run sends a
        message to the operator, that a violation has occured, and sends
        a message to the user that this is not an allow function.

                
        
========> [VAX83D.SEAFAC.CLEDIT]AAAREADME.TXT;2 <========




[VAX83D.SEAFAC.CLEDIT]AAAREADME.TXT

Program name: 
        CLEDIT
 
Abstract:
        This program and its related command procedure provide the capability
to perform simple editing of the command line as it is entered. Additionally,
the program permits the last entered command line to be recalled and edited to
correct errors or reuse the same basic command with modifications.  CLEDIT is 
an enhanced version which has has not been tested as much as the basic version
but provides a couple of additional features like user definition of keypad 
keys and saving of the last 16 commands.

Enviornment:
        This program runs in user mode under a VAX/VMS system and requires a 
VT100 type terminal in ANSI mode.

Written by:
        Fred Wilson
        ASD/ENASF
        Wright-Patterson AFB, OH 45433
        513-255-3586

        CLE.DOC,CLEDIT.DOC AND INSTALL.DOC contain installation and use 
instructions.
========> [VAX83D.SEAFAC.SETPRV]AAAREADME.TXT;2 <========




[VAX83D.SEAFAC.SETPRV]AAAREADME.TXT


       **************  Privilege On Demand Utility  ******************

              
    
                          SSgt. Michael D. Weaver
                    Directorate of Avionics Engineering
                                  ENASF
                   Systems Engineering Avionics Facility
                       Aeronautical Systems Division
                          United States Air Force
                 Wright-Patterson Air Force Base OH 45433
                         513-255-3586   Autovon 785-3586 
    
    
    
                This system provides an audit trail for the use
            of privileges in the form of an operator log and
            can be used as a direct pointer to image accounting
            when questions arise. Also justification for the use
            of privileges is obtained and is part of the message
            sent to the operator.


                Features of the Privilege on Demand Utility

                 1. Double passwords for privileges.
                   Because of the password associated with the use of
            this utility the password to an account should not be
            compromised. Also due to the password, privileges
            can be linked to a person rather than an account.

                 2. Transportability across accounts.
                With this system no privileges are required in
            the UAF. To free a "hung system" the system manager
            could use a normally unprivileged account stop the
            process which caused the hang and reset the system
            to normal. Privileges are only available until they
            are "RESET" or until "LOGOUT".

                 3. Forces awareness.
                   For system management personnell this system is
            a valuable training tool. Inexperienced users are
            forced to understand what the minimum privileges
            are to accomplish a specific task, and what some
            of the implications might be for using privileges.

    
    
    
========> [VAX83D.SETDEF]AAAREADME.TXT;1 <========


     [VAX83D.SETDEF]AAAREADME.TXT



          These directories contains five different ways of making the "SET
     DEFAULT"   command   easier  to  use.   [.CHANGE]  was  an  individual
     submission.  The others were a part of larger submissions.

     1.  [.BALL]SHOWDEF.COM

     2.  [.CHANGE]CHANGE.FOR

     3.  [.NIH]SDD.COM

     4.  [.NSWC]SD.FOR,SD.COM

     5.  [.USAE]SD.COM

========> [VAX83D.SFBRAUN.DTRPAT]AAAREADME.TXT;2 <========




[VAX83D.SFBRAUN.DTRPAT]AAAREADME.TXT

Someday, perhaps, the DTR32 people will realize that, whatever n/0 is,
it isn't negative one.  This directory contains a patch to DTRSHRxx.EXE
(the DataTrieve-32 V2.0 shared image) that forces divide by zero to
be a zero result, with no error message.

To use this, modify your DTRBLDxx.COM file in DTR$LIBRARY to include
the DTRSHRPAT.OBJ object module.  This provides a patch area for PATCH
to work in.  You also need to modify the link step for DTRSHRxx.EXE
to make the symbols "DTR$$EAR_DIVIDE", "DTR$$EAR_ADD" and "DTR$PATCH"
UNIVERSAL (the patch file needs these definitions).  Then, rebuild the
DTR images with "@DTR$LIBRARY:DTRBLDxx".

Finally, apply the patch file.  You should modify the image name in the
first line of DTRSHRF2.PAT for the particular image you are patching.
The given file DTRSHRF2.PAT is for DTRSHRF2.EXE.  You may be using
different suffix(es).  To apply the patch file, simply use:
"$PATCH @DTRDIV0F2.PAT".

Steve Duff
Oct 1983
========> [VAX83D.SFBRAUN.INQUIRE]AAAREADME.TXT;2 <========



[VAX83D.SFBRAUN.INQUIRE]AAAREADME.TXT

This application contains a souped-up, upward-compatible version of the VMS V3
INQUIRE DCL command.  Features are included that permit use of for example: no
echo, control-Z detection and branching, customized PF2 HELP key support,
reprompting, CRT screen positioning, timeouts, default values and so on.  The
specific qualifiers are documented in the INQUIRE.HLP and INQUIRE.OUT files. 

The program is written in VAX/VMS FORTRAN-77.  In addition to the DCL command
interface, the application also sports two program interfaces, one which
permits the DCL-like command to be passed in text form, and for efficiency
another interface which permits a consisting of a parameter list in encoded
form. 

The DCL INQUIRE verb does not require an image activation (i.e. it has less
overhead), so rather than replace the INQUIRE verb in the command tables, this
command is named "_INQUIRE" in the command definition file which then permits
use of either command as circumstances warrant.  It is suggested in any
case that the image be installed as HEADER_RESIDENT and OPEN.  No privileges
are required.

The command file to build _INQUIRE is called INQUIRE.LNK.  It assumes a
rooted directory SYS$SYSROOT:[INQUIRE].  Hack this command file as needed
for your installation.  The same comment applies to INQUIRE.CLD, the
DCL definition file which defines the image file name and directory.
INQDEMO.FOR contains a FORTRAN example of the call interface (it is also
in the documentation files), and there are some references in it to
the same directory.  Again, edit these as your installation requirements
demand.

Steve Duff
Oct83
========> [VAX83D.SLIB77]AAAREADME.TXT;2 <========




[VAX83D.SLIB77]AAAREADME.TXT

Submitted by

        Alex Lunsford (A2320)
        c/o Western Area Power Administration
        P.O. box 3402
        Golden Co. 80401
        (303) 231-1723

The file included are

        SLIB77.EXE   The executable program
        SLIB77.MEM   Users Guide - for SLIB77
        SLIB77.LIB   Library (in SLIB77 format) of the program


   SLIB77 is a computer software program designed to maintain  source  or
   data  records  in a compressed form.  SLIB77 operates in such a manner
   that the user always has available all the  changes  ever  made.   The
   program  is  written  in  FORTRAN  77  to be compatible with different
   computers.  SLIB77 maintains the records on a program library  (random
   access) file creating new copies at the users direction.
========> [VAX83D.SPOOLER]AAAREADME.TXT;3 <========




[VAX83D.SPOOLER]AAAREADME.TXT

This directory contains all the files necessary to install
and run the Lockheed Plot Spooler. The documentation provided
is

   a) OPERATE.MEM describes how to install the software, and
      how the System Manager controls it.

   b) RASMODS.MEM describes the modifications necessary to
      the Versatec RASM routine so that it may run under the
      spooler, and

   c) SPOOLER.MEM is user documentation.

This spooler has been running succesfully at LMSC for over two years.

The really new stuff is the documentation. I'm reasonably certain
it is all correct, but I'm not so sure about its completeness.
Knowing the software inside and out can lead to inadvertant
assumptions, and hence omissions. 

At the time of submission, I have left Lockheed Research Lab, and
the VAX site I am currently managing does not use the plot spooler,
so I will not be well placed to answer questions. If you're
stuck, give me a call and I'll do what I can.

                  David A. Johnson
                  Mgr, Engineering Computing
                  Synertek, Inc.   MS 37
                  3001 Stender Way
                  Santa Clara, CA 95054
                  (408) 988-5839

                  Oct. 21, 1983
========> [VAX83D.TCOPY]AAAREADME.TXT;5 <========




[VAX83D.TCOPY]AAAREADME.TXT

The TCOPY program in this directory is submitted by the Space Science Division
of the Naval Research Laboratory.

TCOPY performs tape to tape copies of foreign mounted tapes.  The source
tape(s) may be either labeled or unlabeled in any format with record lengths
up to 64000 bytes.  We us TCOPY primarily for changing tape densities.
TCOPY uses the subroutine package (TAPESUBS and TRNALL) submitted
in the [TAPESUBS] directory of the VAX82A symposium tape by 
Thomas W. Danforth of the Woods Hole Oceanographic Institution.

Operating instructions:

$ ALLOCATE MTAx: ITAPE
$ ALLOCATE MTAy: OTAPE
$ MOUNT/FOREIGN ITAPE
$ INITIALIZE/DENSITY=z OTAPE LABEL
$ MOUNT/FOREIGN/DENSITY=z OTAPE
$ RUN TCOPY

Questions about the use of this program may be referred to:

                Tom Chewning
                Naval Research Laboratory
                Space Science Division
                Code 4105
                Washington, D.C. 20375
                202-767-2651                            
========> [VAX83D.TIMING]AAAREADME.TXT;3 <========




[VAX83D.TIMING]AAAREADME.TXT

                               SAMPLING SOFTWARE

         This directory contains SAMPLE.OLB (the CP timing library) and
    PROBE.EXE (the program that automatically places calls to SAMPLE
    routines into a FORTRAN program).  As a precaution, the FORTRAN sources
    for SAMPLE and PROBE are included.  The following instructions assume
    that these files are copyied to the directory [misc], and corresponding
    symbols are defined:

              SLIB:==SYS$USR:[MISC]SAMPLE/L
              PROBE:==$SYS$USR:[MISC]PROBE

         The program LLFORM.FOR is timed in the following example session.
    User input is shown in upper case.

    $ PROBE
    file name, unit (a9,a8): LLFORM,59
          (program .main)
          subroutine nxtchr
       1   0   1   0
    $ FOR LLFORM
    $ LINK LLFORM,'SLIB'
    $ RUN LLFORM
    estimated original execution time       0.17
    interval   samples   %    count

    .main             8 46          1
    nxtchr           20 54        134
    $

         PROBE is told that the input file is LLFORM.FOR and that the
    timing summary is to be written to unit 59, which is SYS$OUTPUT in this
    case.  The next two lines report the code blocks found (the first block
    is a program with no PROGRAM statement), and the last line summarizes:
    one program, no functions, one subroutine, and no ENTRY statements.

         The timing summary, displayed at the end of LLFORM's execution,
    shows the estimated CP time (in seconds).  For each program unit, the
    CP time charged (in 10-ms ticks) and estimated percent CP time used are
    reported, together with the number of invocations.

                                     -2-

                               THE SAMPLE LIBRARY

         The following description is given for those who may wish to use
    the SAMPLE library directly.

         The routines below use the common block /SAMPBK/, whose length, in
    longwords, must be at least five times the number of sections to be
    timed.
                                                      Page 2



         SAMPIN(mx) must be called to initialize storage.  The argument is
    an upper limit on the number of sections to be timed.

         SAMPON(name) is called to indicate nesting of a new section in the
    current one; SAMPON would be called, for example, at the beginning of a
    subroutine.  The argument is the (logical*8) name of the new section.

         SAMPOF is called to indicate the end of a section; SAMPOF would be
    called, for example, before a RETURN statement.  There is no argument.

         SAMPSW(name) is called to indicate the switch from one interval to
    another; for example, at the end of initialization.  The argument is
    the (logical*8) name of the new section.

         SAMPDI(lu) is called to terminate timing and display the results.
    The argument is the integer logical unit number to which the data will
    be written.
========> [VAX83D.USAE]AAAREADME.TXT;3 <========




[VAX83D.USAE]AAAREADME.TXT

The following command procedures and fortran programs were written by

Aaron B. Stein
Usae Waterways Experiment Station
Vicksburg, Mississippi, 39180

601-634-3283


*******************************************************************************
                
adduaf.com      This command file  is used to create an account, disk quota
                and directory for a new user of the system. To use this
                command file you must pass it three parameters;
                        
                        p1 = directory to be created
                        p2 = uic to be associated with this account
                        p3 = account information 

                For example to add a user named Zimmerman with uic of 100,3
                and account sales you would type:
                
                @adduaf zimmerman 100,3 sales

                This command file, as do all on this tape assume the users 
                directories are located on a device with the logical name
                user_disk: . The user who is added to the system with this
                file is given the default disk quota.



ascebc.for;1    This program converts an ascii file to an ebcdic file.
                The input file name should be assigned the logical name 'as'.
                The output file name should be assigned the logical name 'eb'.

ascebc.exe      This is the execution file for above program.


backupud.com    This command file is used to backup the user disk. In the
                process of doing this it allocates and mounts your tape,
                deletes map, lis and obj files and it purges the user_disk.
                It then does a full disk backup of the user disk.
                When it has finished the backup it creates a summary of the
                cpu usage by all users and generates a listing of disk useage 
                of all users with directories on the user_disk.
                The cpu useage report and the disk useage report are printed
                and stored in sys$sysroot:[sysmgr.useage].

blank.for       This program removes all trailing blank in a file.  It is
                very useful for compressing fortran file which have come
                to you from a card deck or cark image tape.  On such file
                                                      Page 2


                much space is typically wasted by trailing blanks

blank.exe       This is the execution file for the above program.

cofiback.com    This command file copies selected files from a
                backup tape. To use it you must pass it the file name
                as a parameter.

columns.for     This command file identifies all lines in a fortran program
                greater than 80 character long.

columns.exe     This is the execution file for the above program.

daybackup.com   This command file backs up only those files created or
                modified from one day to the next by using the /since
                qualifier.  This command file does a disk to disk backup
                and stores the incrementally backed up file on the system disk
                in sys$sysroot:[sysmgr.backup] .  The backup save sets are
                named with the date they where created.  This command file
                send mail to the system manager indicating the sucess or
                failure of the incremental backup.  This command file
                submits itself to run at four o'clock the next morning
                when it completes it run.  The result is daily incremental
                backups with out operator intervention.  We have used
                this procedure for six months on our machine and it works
                very well.  It is nice to be able to be able to restore
                files that are accidently deleted by users from day to day.
                We delete all these daily incremental backup save sets each
                friday when we do a full user disk backup (see backupud.com).  
                To use this command file submit it once as follows:

                        submit/after="tommorow+4:00" daybackup

                There after the file will resubmit itself and run each
                day at four in the morning.  Try this one you'll like it.


diff.com;3      Command file to run the differences dcl command with
                selected qualifers.   
                

ebcasc.for;2    This program converts ebcdic files to ascii files.
                Input file names should be assigned the logical name 'eb'.
                Output file names should be assigned the logical name 'as'.

edbasc.exe      This is the execution file for the above program.

edt.com         If you assign the symbol e to this file (see sylogin.com),
                then by typing e followed by a file name you will edit a
                file using the edt editor.  So what you ask, well the other
                thing which this command procedure does is remember the 
                last file which you edited using it.  Therefore by just 
                typing e with no file name following you will automatically
                be editing the last file which you edited.  This will work
                even if you logout.  The command procedure works by writting
                                                      Page 3


                a name of the file in edtmemory.dat  For this procedure to 
                work you must have a file named edtini.edt in your login
                directory.  The file may be empty or contain edit initializer
                commands.  On our system this file as well as most of
                the other command procedures and programs listed here
                are stored in sys$sysroot:[sysmgr.util] and they are equated
                to symbols is sylogin.com.  See (sylogin.com included in
                this tape.)

ff.com          This command file puts a form feed every 22 lines in a file.
                This procedure allows you to use the page command in keypad 
                editor mode to look thru a file.

*******************************************************************************
                THE  TWO FILES BELOW, NOPRIV AND PRIV, SHOULD BE GIVEN 
                TO ONLY THOSE PERSONS WITH SETPRV PRIVILEDGES.  THE PRIV
                FILE WILL ONLY WORK IF YOU HAVE SYSPRV.
       
nopriv.com      This command file takes all priviledes away from a user except
                sysprv. 
priv.com        This command file gives a user all priviledges except setprv.

                I use these file for system management.  Normally I have
                only setprv and give myself the other priviledges when I
                need them.  They are use as foreign commands. In my login.com
                file I have the following statements:

                $       priv :== @sys$sysroot:[sysmgr]priv
                $       nopriv :== @sys$sysroot:[sysmgr]nopriv

                

*******************************************************************************

sd.com          LIBRARIAN'S NOTE:  Placed in the [.SETDEF] structure.

systartup.com   This is our startup.com file.
========> [VAX83D.USERPRINT]AAAREADME.TXT;2 <========




[VAX83D.USERPRINT]AAAREADME.TXT

Submitted by:     Jim Moomaw
                  INTEL CORPORATION
                  M.S. AL3-1-255
                  3585 S.W. 198th Avenue
                  Aloha, OR  97007              

                  (503) 642-6057


...........................................................................

These set of files provide an alternate PRINT command in a VMS environment,
that offers several new capabilities over the as-delivered Digital PRINT
command.  To the user, it essentially minics the original PRINT command,
but additionally offers some important new qualifiers.  Some of the new
features include: 

o Identical DCL PRINT syntax, with full wild-carding of file specs;

o Ability to automatically route print jobs to the printing device closest
  to the terminal issuing the print request;

o Ability to reject binary (non-text) files from being printed;

o Ability to successfully print files that reside on allocated  (i.e.
  non-shared/non-system) devices, especially floppy and tape; 

o Ability to eliminate unwanted or unused qualifiers entirely (from the
  original PRINT command), or make them illegal for certain print queues;

o Ability to format files (via simple, obvious qualifiers on the PRINT
  command) to take advantage of any Digital DECwriter terminal features
  (especially the LA100 and related letter-quality printers), obviating
  the need to insert into the file the miriad escape-code sequences
  necessary to make things happen on these machines. (Currently, these
  include horizontal pitch control, left margin control with automatic
  tab alignment, font selection, print quality selection); 

o Ability to optimize (auto-size) horizontal pitch according to maximum
  line lengths for each file, and default printer settings for most
  common settings, but where functions all can be set explicitly, if
  desired;

o Ability to always reset printing terminals to default conditions at
  the end of all printed documents;

o DCL HELP file that explains all features of new PRINT command;

o Ability to use original PRINT command at any time, or both.
========> [VAX83D.USS.USS]AAAREADME.TXT;2 <========




[VAX83D.USS.USS]AAAREADME.TXT

        USS.MAR contains an example of a user written system service.
This service accesses the hardware clock registers to obtain
microsecond timing statistics.  TEST.FOR contains an example of
how to use it.

        USS.MAR is based on the USSDISP routines in [SYSHLP.EXAMPLES].
Note that a similar capability was required by Richard Kayfes in order
to write his excellent paper "VAX/VMS Real Timer Performance Test
Results" which appeared in the May 1983 Pageswapper.

        Readers will note the possibility of modifying the NICR
register (as was reported in a Magic Session 2 years ago).  A little
over 30 minutes of "dedicated" execution could be run before updating
the software time (and the time update routine in VMS could be modified).
This does have effects on scheduling, etc., but programs to do that have 
been written, and the system continued to run in timesharing mode.
I mention this as a possibility, not necessarily recommended, and with
no acceptance of responsibility for implementations outside my shop.

        Mark C. Paulk
        System Development Corporation
        Huntsville, AL  35805
========> [VAX83D.UWASH]AAAREADME.TXT;2 <========




[VAX83D.UWASH]AAAREADME.TXT

See FIXFILE.HLP for documentation about a file format translator
which can convert any file format to any file format.

Here is a Fortran version of XMODEM for CP/M file transfer
using Ward Christensen protocol, runable on VAX/VMS V3.0 and higher.
See XMODEMFOR.DOC and XMODEM.HLP .

There is also a BACKUP.COM command file to ease the use of BACKUP and
COPY to tapes.

J. James (Jim) Belonis II
Computer Cost Center Manager
Physics Hall FM-15
University of Washington
Seattle, Washington 98195
(206) 543-8695
