!TITLE Operator Commands
! At System start-up DIRECT, performs a file system consistency check on
! each on-line EMAS disc pack, starts VOLUMS, SPOOLR and MAILER, connects
! the "control streams" to each FEP. Thereafter it is activated by logon
! messages from the interactive network, by batch job start requests from
! SPOOLR or by messages input from an OPER console.
!STOP
!<Command Formats                      
! Commands may include space characters, although for the longest
! commands it is necessary to omit all spaces in order to limit the total
! line length.  Parameters are delimited by space characters, and may not
! themselves contain spaces.  Parameters marked with * in the
! descriptions below may be omitted if no ambiguity arises.
! In order to input a message to DIRECT:
!
!                  press   COMMAND
!                  type    D/<command>
!                  press   ENTER
!
! Commands D/PROMPT ON, PROMPT OFF may be used to initiate or terminate
! a "prompt" mode of input, in which a prompt "Direct:" appears on the
! OPER screen and an input line is despatched when ENTER is pressed.
!
! An operator can also issue commands to the 'Director' in each process.
! These commands take the form
!              <n>/<command>
! where <n> is the process number and <command> may be one of the
! following:
!
!     ST
!     XST
!     CMP
!     TIME?
!     INT
!     SRCE
!     USECOUNT
!     DIRMON
!     SIGMON
!
! Commands may also be entered from a special utility program, COMMANDER.
!>
!<AUTO COMMANDS                        
! At System start-up, and on command D/AUTOFILE at the OPER console, the
! DIRECT process attempts to connect a file of operator commands each
! preceded by a time-of-day in the form hh.mm representing the times at
! which the commands are to be actioned. 
!STOP
!<Default filename                     
! At start-up the System attempts to connect the file MANAGR.AUTOFILE
! as the default file of commands.  There is no message if the file
! cannot be found or is not permitted to DIRECT.  Use of this default
! filename is inhibited by:
!
! (a) previously destroying the file or withdrawing its permission to
!     DIRECT, or
! (b) giving command D/AUTOFILE 0 before the file system consistency
!     check is complete, or
! (c) giving command D/CLOSEUSERS before the file system consistency
!     check is complete.
!>                                     
!<Assigning a file                     
! To assign a file as the command file, or to re-assign the default
! or other command file, the command D/AUTOFILE is given at the OPER. 
! The prompt "Give Auto-filename:" appears, and the next input line
! should be a "6.11-character" filename.  For example:
!
!           MANAGR.AUTOFILE1
!
! The effects are as follows:
!
!   * the file currently being used as a command file (if any) is
!     disconnected
!
!   * the specified file is connected in read-mode if possible
!
!   * the relevant start-point in the file is found, as described below
!     ("Description of operation")
!
!   * commands up to the current time are actioned
!>                                     
!<De-assigning the command file        
! The current command file is disabled by:
!   
!    (a) D/AUTOFILE 0
! or (b) D/AUTOFILE
!
! which disconnects the current file and attempts to connect the file
! given in response to the "Give Auto-filename:" prompt.
!>                                     
!<File format                          
! The file must be a character file conforming to the Edinburgh Subsystem
! conventions.  Lines of the file which are to be recognised by the
!   AUTOFILE scheme must have a time-of-day in the form hh.mm as the
!   first five characters.  All other lines are ignored.  The times
!   specified must be in the range 00.00 to 23.59. Lines commencing
!   with "times" outside this range are ignored.  The times must be
!   in ascending order, though several consecutive (non-ignored) lines
!   may have the same time.  If a line is incorrectly placed, result 89
!   is given by the D/AUTOFILE command.  The file contents are ignored.
!
!   The rest of a line having a time as its first five characters may
!   be any command as issued at the OPER, not exceeding 23 characters
!   in length and  excluding P, F and B.
!
!   Spaces following the time are ignored.  Multiple spaces in the rest
!   of the line are treated as single spaces.  In marker lines only the
!   characters "IPL" are significant.  Commands should be in upper case.
!   Lines not conforming to the descriptions are otherwise ignored.
!>                                     
!<Description of operation             
!
!   When a file becomes assigned as the auto-command file, either at
!   System start-up or at a successfuL D/AUTOFILE command, the file is
!   searched from the end to find the most recent "IPL point" marker
!   line (if any) whose time is earlier than the current time of day.
!   Commands from that IPL point (or beginning of file) up to lines
!   timed not later than the current time are immediately actioned.
!   Each command is reported in two lines output at the OPER.  For
!   example:
!
!           1/ Autocommand:
!           1/ S/BATCHSTREAMS 1
!
!   Thereafter as the time-of-day reaches the time of the next command
!   (or commands), each command is executed, with the above two-line
!   report on the OPER.  At midnight a new pass of the file commences.
!
!>                                     
!<Example of an auto-command file      
!
!        00.00  IPL point (redundant)
!        00.00  D/SCARCITY 20
!        00.00  D/PREEMPTAT 30
!        00.00  S/BATCHSTREAMS 1
!          :
!          :
!        12.00  IPL point           System development
!        12.00  D/SCARCITY 20
!        12.00  D/PREEMPTAT 30
!          :
!        14.00  S/BATCHSTREAMS 1
!          :
!        17.00  IPL point           System development
!        17.00  D/SCARCITY 20
!        17.00  D/PREEMPTAT 30
!        18.00  S/BATCHSTREAMS 1
!
!
!>
!>                                     
!<BADFSYSCYLTRK<fsys><cyl><trk>        
!Makes entries in the list of "bad" (unreadable, unwriteable) pages on
! <fsys>.  <cyl> and <trk> define 3 EMAS pages on EDS100s and 200s, and
!so 3 entries are created by this command.  The list comprises integers
!holding the logical page numbers of the bad pages.  The list can be
!printed using the command LIST BAD PAGES in ENGINR.  The command BAD
!FSYS PAGE (q.v.) to DIRECT can be used to make a single entry of a
!single logical page number.
!>                                     
!<BAD FSYS PAGE <fsys> <page>          
!Enters (logical) page number <page> into the list of bad pages on
! <fsys>.  See BADFSYSCYLTRK above.
!>                                     
!<BASEF   <user> <fsys>*               
!Reports the Subsystem "basefile" identifier for <users> on <fsys>. The
!identifier is recorded in the user's file index.  The basefile is the
!file which is loaded and entered by Director at process start-up.  The
!default basefile identifier is normally null, when a file which has
!been "PRGed" to a fixed site, currently X'380', on the SLOAD disc is
!used.  The basefile to be used may be specified by the DIRECT command
!SETBASEF (q.v.), or by a call by a user process to its Director.
!>                                     
!<BROADCAST                            
!Broadcasts a message, set up using DIRECT command SETMSG, to each
!interactive process.
!>                                     
!<CCK  <fsys>*                         
!Initiates the file system consistency check for <fsys> (or for all
!on-line discs if <fsys> is omitted).
!>                                     
!<CCK DONE   <fsys>                    
!Paged processes cannot normally reference any <fsys> for which the file
!system consistency check has not been done.  Exceptionally it may be
!necessary to allow such access, however, and giving this command
!enables access as though the consistency check had been done.  The file
!system should be regarded as dangerously vulnerable unless a
!consistency check has been performed, and an early IPL is desirable
!after this command.
!>                                     
!<CIND    <user> <fsys>*               
!Re-initialises the file index for <user> on <fsys>.  To be used only
!exceptionally. The MANAGR commands NEW USER and DEL USER are infinitely
!preferable, allowing the index owners surname to be entered and an
!archive index to be created.
!>                                     
!<CLEAR B
!>
!<CLEAR BAD PAGES LIST   <fsys>        
!Clears (to zero) the list of recorded "bad" (unreadable, unwriteable)
!pages on <fsys>.
!     Note: it is necessary to omit intermediate spaces in this command
!      (except the one delimiting <fsys>) unless the "prompt" mode of
!      DIRECT input is being used, because of the unusual length of the
!      command line.
!>                                     
!<CLEAR FSYS    <fsys>                 
!Re-initialises the file system on disc <fsys>.
!>                                     
!<CLEAR SEMA
!>
!<CLOSE   <time>                       
!Specifies the System close-down time (0001 to 2400) at which the
!service is to be automatically closed.  If <time> is specified as 0
! (zero), any previously specified close-down time is cancelled.
!>                                     
!<CLOSE DOWN                           
!Causes the service to be closed (within about 30 seconds).
!>                                     
!<CLOSE FSYS   <fsys>                  
!Prevents any further connections to <fsys>
!>                                     
!<CLOSE USERS   <time>*                
!Operates analogously to CLOSE <time>, except that the three System
!processes DIRECT, VOLUMS and SPOOLR are not stopped, allowing (for
!example) system maintenance work to be performed after user processes
!have been stopped without the need for an IPL.  If <time> is omitted,
!the System continues to run, but new log-ons are rejected with the
!message "NO USER SERVICE".  The service may be re-opened using command
!OPEN USERS (q.v.).
!>                                     
!<CONNECT FE <fe no>                   
!May be used after a re-load of FEP software to re-establish the "log-on
!control stream", without an IPL of the mainframe.
!>                                     
!<CREATE
!>
!<DDUMP   <fsys> <index no>            
!Used exceptionally to dump a page from the file system index area on
! <fsys>.  Frequently command DUMPI can be more profitably used.
!>                                     
!<DELIVER                              
!Used to set delivery information (by default equal to "Machine Room")
!for main log files sent to SPOOLR's LP queue as a result of DIRECT
!command PRINT.  DIRECT prompts for an input string of delivery
!information, a null string causing the default to be reinstated.
!Delivery information remains set until a further call of DELIVERY, or
!until IPL.
!>                                     
!<DEL USER   <user> <fsys>             
!Deletes a user's file index.  To be used exceptionally, MANAGR command
!DELUSER being preferred.
!>                                     
!<DIRMON <N>
!SETS DIRMON IN DIRECT
!>
!<DIRPRINT
!>
!<DISCONNECT FE   <fe no>              
!Disconnects the "log-on control stream" for the specified FEP.
!>                                     
!<DUMPI   <user> <fsys>*               
!Used to dump out the file index for <user> on <fsys>, both in
!hexadecimal and partially formatted.
!>                                     
!<FAIL
!>
!<FSYS    <user> <fsys>*               
!Reports the file system number on which <user> resides, or "user not
!known".  If the optional parameter <fsys> is supplied, the search for
! <user> is restricted to that file system.  Only discs for which the
!file system consistency check has been performed are searched.
!>                                     
!<FSYS BIT NO
!>
!<FSYS CYL TRK
!>
!<GOOD FSYS PAGE
!>
!<LOGSPACE
!>
!<MAIN LP                              
!Used to direct main log output from the system to the main line printer
! (determined at IPL), instead of to files which are ultimately to be
!spooled to the LP or JOURNAL queues of the SPOOLR process.  DIRECT
!command PRINT re-instates the spooling of main log data.
!>                                     
!<MSG  <user>                          
!Used to send a one-line text message (an operator message) to <user>.
!DIRECT prompts for the one-line message.  Note that if two processes
!currently exist belonging to <user> it is not possible to determine
!which will receive the message.  If there is no process belonging to
! <user> currently active, the message is stored for the next invocation
!of an interactive process by <user>.
!>                                     
!<NEWSTART
!>
!<NEW USER   <user> <fsys> <nkb>       
!Creates a file index of size <nkb> for <user> on <fsys>.  To be used
!only exceptionally, MANAGR command NEWUSER being preferred, since the
!latter allows for attachment of the user's surname and the creation of
!an archive index.
!>                                     
!<OPEN TO    <usergroup>               
!Allows a username (6 characters) or a user group (6 characters
!including some '?' characters) to be appended to a list of usernames
!and usergroups for which log-ons are allowed even if the service is
!generally closed to users.  Currently a maximum of 10 separate entries
!may be stored.  Individual items cannot be removed from this list, but
!the whole list is destroyed by the DIRECT commands OPEN USERS and CLOSE
!USERS.
!>                                     
!<OPEN USERS                           
!Allows users to (re-)commence logging on after the service has been
!closed (e.g. by command CLOSE USERS, q.v.).
!>                                     
!<PASS    <user> <pass>                
!Used to specify a password by which <user> may log-on to the System
! (even if the service is generally closed to users).  Only one
! <user>/<pass> combination is stored. Subsequent PASS commands cause
!replacement of the current pair.  The special password is otherwise
!cancelled by the DIRECT command PASS OFF.
!>                                     
!<PASS OFF                             
!Cancels any stored special password specified earlier by DIRECT command
!PASS (q.v.).
!>                                     
!<PP
!>
!<PRE EMPT AT
!>
!<PRG                                  
!Used to move System programs (supervisors, Directors, subsystems) from
!a file to a chosen fixed disc site.  DIRECT prompts for two input
!lines, the first giving the <file> and <fsys>*, the second the disc
! <label> and disc <site>.  <site> must be a X'40'-aligned numeric value.
!>                                     
!<PRINT   <n>*                         
!A value of 1 is implied if the parameter is omitted.  For n>0, the
!current main log file is closed and copied to SPOOLR's LP queue (as
!well as to the JOURNAL queue).
!For n>1, the subsequent n-1 main log files are additionally spooled to
!the LP queue (as well as to the JOURNAL queue), unless a subsequent
!PRINT command overrides this effect.  For n=0, the current main log
!file is closed and spooled to the JOURNAL queue (only).  Any PRINT
!command to DIRECT (re-)initiates spooling of main log data to disc if
!it was currently being printed directly on the main line printer.
!
!   Note: main log files belong to VOLUMS's file index, and commence
!      "M#" (destined for JOURNAL) or "L#" (destined for LP).  Just
!      before any file is spooled, DIRECT renames the file (first two
!      characters remain unchanged) so that the last four characters
!      give the current time of day.  This may help to identify files in
!      SPOOLR's queues, for exceptional copying/printing.
!>                                     
!<PRM  <file> <fsys>*                  
!Attaches read, write and execute access permissions to <file>,
!specified as <user>.<11-char filename>.  To be used only exceptionally.
!>                                     
!<PROMPT OFF                           
!Cause DIRECT to remove the prompt "Direct" from the OPER screen so that
!the COMMAND key and "D/<command>" may subsequently be used to input
!commands to DIRECT.
!>                                     
!<PROMPT ON                            
!Causes DIRECT to place the prompt "Direct:" on the OPER screen so that
!subsequent commands to DIRECT can be entered without the "D/" prefix
!and without using the COMMAND key.
!>                                     
!<RENI
!>
!<REP
!>
!<S    <file> <fsys>*                  
!Reports (on the OPER screen) the logical page number of the first page
!of each disc section of <file> on <fsys>. <file> must be specified as
! <user>.<11-char filename>.
!>                                     
!<SCARCITY
!>
!<SEND MSG <user>                      
!Provided that a message has been stored using command SET MSG (q.v.),
!the message is sent to <user>.  Note that if two processes currently
!exist belonging to <user> it is not possible to determine which will
!receive the message.  If there is no process belonging to <user>
!currently active, the message is stored for the next invocation of an
!interactive process by <user>.
!>                                     
!<SESSION LENGTH
!>
!<SET BASEF  <user> <fsys>*            
!Sets the Subsystem "basefile" identifier to be used by <user>, whose
!file index is on <fsys>.  The default identifier is normally null.  See
!DIRECT command BASEF.
!>                                     
!<SET MSG                              
!Used to store a text message to be dispatched subsequently to one or
!all interactive processes by command SEND MSG or BROADCAST.  DIRECT
!prompts (with a ":") for text input. Several lines may be typed, up to
!a maximum of 255 characters or until a line containing only ":" is
!typed.  Implied newline characters are replaced by spaces, in building
!up the stored string.  When the message is complete, it is printed out
!in full on the OPER screen for checking before possible dispatch.
!>                                     
!<SINT:
!>
!<SNOS                                 
!Reports the following data on the OPER screen: the disc number from
!which the main supervisor was loaded, the current setting of DIRVSN
! (supervisor command) and the "sync1", "sync2" and "async" service
!number bases for local processes.
!>                                     
!<START   <user> <fsys>* <dirvsn>*     
!Starts a process for <user>, whose file index is on <fsys> using
!Director version <dirvsn>.  (The latter parameter is to be used only
!when the implications are fully understood.)
!>                                     
!<STOP                                 
!Disconnects all FEP control streams and stops the DIRECT process.
! (Used only exceptionally - CLOSEDOWN preferred).
!>                                     
!<TESTSTART
!>
!<TRANSFER                             
!May be used to move a file from ownership of one user to another.
!DIRECT prompts for two lines of input, each containing two parameters:
!
!                     <file1> <fsys1>
!
!                     <file2> <fsys2>
!
!The first determines the identity of the file to be moved. The second
!determines its destination. <file1> and <file2> must be specified in
!the form <user>.<11-char filename>.
!>                                     
!<USE COUNT
!>
!<UNPRG                                
!Used to move System programs (supervisors, Directors, subsystems) from
!a specified disc site into a file (which must not already exist).
!Parameters are specified exactly as for DIRECT command PRG (q.v.).
!>                                     
!<USERNAMES
!>
!<USERS   <usergroup> <n>              
!This command is used to set limits on the numbers of interactive
!processes belonging to various groups of users, or to display current
!numbers and limits. <usergroup> is specified as a 6-character string in
!which '?' characters (if any) are interpreted as standing for any
!alphanumeric character.
!
!USERS    <n>               sets the maximum number of interactive
!                           processes.
!
!USERS    <usergroup> <n>   sets the maximum number of interactive
!                           processes whose owners belong to
!                           <usergroup>.
!
!USERS                      displays the current numbers in the
!                           usergroups which have been specified, with
!                           the corresponding current limits, on virtual
!                           OPER screen number 2.  The corresponding
!                           display is also generated after input of the
!                           other forms of the USERS command.
!>                                     
!<VSN                                  
!Reports on the OPER screen the Director version.
!>
!<VV
!>
!>