Google
 

Trailing-Edge - PDP-10 Archives - bb-d868a-bm - 3-documentation/exc3-20.doc
There are no other files named exc3-20.doc in the archive.


EXEC.DOC -- Changes from V2(333) to V3(414)
January 1978






























COPYRIGHT (C) 1976,1977,1978 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
EXC3.DOC                                                        Page 2


EXEC.DOC -- Changes from V2(333) to V3(414)
January 1978



1.0  SUMMARY

The EXEC is the TOPS20 command  processor.   The  EXEC  also  performs
certain system functions such as:  listing directories, copying files,
giving program status, and controlling running jobs.

EXEC version 3 runs on TOPS20 Release 3.

The EXEC does not depend on any other software.

The EXEC is documented in the TOPS20 User's Guide.



2.0  EXTERNAL CHANGES

The EXEC was changed to use the COMND JSYS to parse its commands.  The
QUEUE  class  commands  were  also  incorporated  into  the EXEC.  See
Appendix A for a description of the differences between Release 2  and
Release 3.



3.0  KNOWN BUGS AND DEFICIENCIES

As  of  1-Jan-78,  the  EXEC  possesses  no  known   restrictions   or
deficiencies.



4.0  INSTALLATION INSTRUCTIONS


4.1  Files Needed to Run the EXEC

The EXEC consists of the file EXEC.EXE which resides on SYSTEM:.
EXC3.DOC                                                        Page 3


4.2  Instructions for Installing the EXEC

Mount the tape labeled  Distribution  Tape  on  MTA0:   and  type  the
following commands:

     R DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600-BPI
     SKIP 2
     RESTORE <*>EXEC.EXE (TO) SYSTEM:EXEC.EXE



5.0  INTERNAL CHANGES

Refer to EXEC.TCO for detailed information about changes.



6.0  SUGGESTIONS

None.
EXC3.DOC                                                        Page 4


                              APPENDIX A



Differences of R2 EXEC and R3 EXEC (with reasons for change)

     1.  ^E always echoes with the R3  EXEC.   This  makes  EXEC  more
         standard, as the standard is for commands to echo.

     2.  ^ECREATE command never types "[NEW]"  or  "[OLD]"  until  the
         command  line is confirmed with carriage return.  This allows
         the line to be  edited.   Also,  ^ECREATE  always  goes  into
         subcommand mode.

     3.  The "/" and "\" have been replaced with EXAMINE and  DEPOSIT.
         They  may  be abbreviated "E" and "D".  This was done so that
         the EXEC wouldn't have to wake up on the  "/",  but  can  now
         wait  for  end of line like other commands.  There was also a
         problem with determining whether a number is a  number  or  a
         program name.

              E  5 examines location 5
              D  6 7 puts a 7 in location 6
              D  5 4 3 puts 4000003 in location 5
              D 5 4,,3 is the same.

     4.  ^EPRINT doesn't allow  anything  on  the  first  line  except
         ^EPRINT  directory-name.   That  is,  you  now  have  to type
         VERBOSE  in  subcommands.   This  makes  the   command   more
         standard.

     5.  Colons are always  required  after  device  names,  including
         devices  under  SMOUNT  and  DEFINE.   Under DEFINE, the name
         being defined must have a colon after  it.   The  COMND  JSYS
         insists on colons in device names.

     6.  PRINT and SUBMIT don't replace memory with a program anymore.
         Hence  you  can  ^C  out  of a running program, do a PRINT or
         SUBMIT, then CONTINUE the program.

     7.  No  commands  may  contain  internal  carriage  returns.   In
         particular,  the  entire  LOGIN  command must be on one line.
         This standarizes the command language.

     8.  SUBMIT and PRINT take standard TOPS20  file  specs  now,  and
         allow escape for recognition, just like other commands.

     9.  For listing the queues, modifying them, and removing entries,
         the  INFORMATION  (ABOUT) BATCH-REQUESTS, INFORMATION (ABOUT)
         OUTPUT-REQUESTS, MODIFY, and CANCEL commands have been added.

    10.  There's  no  more  SET  ERROR-RETRY   command   or   SET   NO
         ERROR-RETRY.   Instead,  type  CTRL/H after getting an error.
         The last partial command will come back.
EXC3.DOC                                                        Page 5


    11.  The COMPILE-class commands allow "?" for help now.

    12.  CTRL/F may be typed to  complete  any  field  now,  not  only
         filespecs.

    13.  Comments  starting  with  "!"  end  on  next  "!".   Comments
         starting with ";" encompass the rest of the line.

    14.  Hyphen, "-", may be typed as last character on line, to allow
         command to be continued on new line.  This is again the COMND
         JSYS implementing this.

    15.  Two temporary commands exist for allow old PRINT  and  SUBMIT
         commands  to  work.   The commands are SET OLD-QUEUE-COMMANDS
         and SET NEW-QUEUE-COMMANDS.  This feature is  only  temporary
         to  give folks time to convert batch files over to conform to
         the  new  style.   Note  that  most  files  won't  need   any
         conversion, as the new style is quite similar to the old.  In
         particular, if no switches are typed, printing or  submitting
         a  file  is  the  same  in  new  as  old.  The default is SET
         NEW-QUEUE-COMMANDS  to   encourage   transformation.    These
         temporary commands will go away in a future release.

    16.  The CREF command may now optionally take a command line after
         it,  as  advertised in the TOPS10 documentation.  Just typing
         CREF followed by carriage return continues to work  just  the
         same as in R2.  This modification solves the problem of users
         typing  CREF<cr>  followed  by  typeahead,  and  having   the
         typeahead echo and be absorbed prematurely.


    17.  Escapes never go into commands, let alone echo as $  anymore.
         Escape  always  either  causes  some  sort of recognition, or
         causes a ding.   Specifically,  this  prevents  escapes  from
         being  passed  to  programs  in  command  lines.   This  is a
         COMND-JSYS imposed restriction.

    18.  TAKE commands may now be nested.  For instance, you may put a
         "TAKE"  command  in  your  LOGIN.CMD so as to take a standard
         TAKE file, as well as doing special things in your own.

    19.  After  the  subcommand  "list"  to  the  "^ECREATE"  command,
         "VERBOSE" or "FAST" may be typed.  The default is "FAST".  In
         old EXEC, "FAST" as also the default, but you  couldn't  type
         it.

    20.  In COMPILE-class commands, spaces are  now  always  legal  in
         front of "+" signs and commas.  In particular,

              @COMP FOO ,BAR

         is legal, and equivalent to

              @COMP FOO,BAR
EXC3.DOC                                                        Page 6


         Old EXEC used to say "?Null  filespec  in  object  field"  in
         first case.

    21.  Recognition always works on  directly  and  user  names  now.
         Under  R2  EXEC,  recognition  didn't work under user name on
         LOGIN, ATTACH, UNATTACH.   COMND  JSYS  provides  no  way  of
         saying "don't allow recognition".

    22.  All dates and times, where typed in to commands, must contain
         no  spaces,  except to seperate the date from the time.  This
         is in old EXEC, the following was acceptable:

              $^ECEASE (TIMESHARING AT) 4 MAR 1977 2200

         Under R3 EXEC, error  would  occur,  so  type  it  like  this
         instead:

              $^ECEASE (TIMESHARING AT) 4-MAR-1977 2200

    23.  Directory name at start  of  printout  of  DIRECTORY  command
         always  has  the  structure  name  included.   This  prevents
         confusion of knowing which structure the directory is on that
         you are looking at.

    24.  In the output of INFO TERMINAL  command,  the  message  which
         used  to  say "!Terminal speed unknown (probably because this
         is a PTY!)", has been changed to "!Terminal speed  unknown!".
         This was done because people on dial-up lines were seeing it,
         and they weren't on PTY's.  Also, when executing SET TERMINAL
         SPEED  command,  EXEC  no  longer  reads the speed back after
         setting it.  It assumes that if the MTOPR setting  the  speed
         succeeds,  then  the  speed got set.  The message was changed
         because apparently there are often times other than on  PTY's
         that the speed can't be read with MTOPR JSYS.

    25.  Another noticable change due to the  removing  of  SET  ERROR
         RETRY  command,  is  that output on INFORMATION COMMAND-LEVEL
         now no longer has the line about SET ERROR RETRY.

    26.  Errors  never  happen  in  "the  middle"  of  command  typein
         anymore.   That  is,  the  EXEC  waits for carriage return or
         escape before printing error message.  This  allows  commands
         to be edited without premature error occurring.

    27.  The HELP command is a standard TOPS20 command now.  That  is,
         it doesn't run a program, standard recognition and "?" works,
         etc.  This allows for the HELP facility to be expanded, makes
         it  more  convenient  to  use,  and  standardizes  it, not to
         mention that you can now ^C out of a program, get HELP on it,
         and  CONTINUE it.  With old HELP, HELP was an entire program,
         hence erasing the program you wanted to CONTINUE.

    28.  The TRANSL program has been replaced by a new  EXEC  command,
         the  TRANSLATE command, which takes directory name or PPN and
         translates to the other.
EXC3.DOC                                                        Page 7


    29.  Messages-of-the-day are always printed  now.   In  old  EXEC,
         they  were  not  printed if login was on a PTY.  That had the
         problem that if first login after message was created was  on
         a PTY, message would never be seen.

    30.  Messages-of-the-day   are   printed   after   LOGIN.CMD   and
         COMAND.CMD  are  executed.   This  solves  the problem of the
         messages flying off the screen on VT50's  before  you  get  a
         chance  to type ^S.  (Now, your TERMINAL PAGE 12 command gets
         executed before the  messages  get  typed.)  To  prevent  the
         problem   of  Message-of-the-day  never  being  seen  because
         LOGIN.CMD or COMAND.CMD causes a program to be run that never
         returns  to  EXEC,  the  EXEC  checks  for Message-of-the-day
         before program starts running.

    31.  If the ^ECREATE command fails, the EXEC puts  you  back  into
         subcommand  mode  and lets you fix the incorrect subcommands.
         This solves the problem we used to have, of operators  having
         to retype all the subcommands, just because one or two things
         were wrong.

    32.  In all places in the EXEC where a time and date are accepted,
         the  "+" construction may be used.  Two examples with meaning
         follow:

         @SUBMIT FOO/AFTER:+5:0:0 !Run batch job five hours from now
         $^ECEASE +5:0:0          !Stop timesharing in 5 hours.

         This standardizes time input, more than other solutions, such
         as  only  allowing  "+"  construction  on  /AFTER  in  SUBMIT
         command.

    33.  The new SUBMIT  and  PRINT  don't  read  SWITCH.INI  anymore.
         Please  see  SET  DEFAULT command description further in this
         memo.

    34.  The format of the ATTACH  and  UNATTACH  commands  have  been
         changed  to  allow the password to be input with echoing off.
         The new format is:

             @ATTACH/UNATTACH (USER) name (JOB #) n
             Password: whatever

         That is, you no longer type the password on the initial line.
         Instead, the system prompts you for it if it is needed on the
         second line.

    35.  The CONNECT  and  ACCESS  commands  will  prompt  you  for  a
         password  if  you  don't  give  one  (i.e.,  you  hit  RETURN
         instead), but one is required.

    36.  To solve echoing problems, the SET DIRECTORY PASSWORD command
         inputs its password on separate lines, one for each password.
         The new format is:
EXC3.DOC                                                        Page 8


             @SET DIRECTORY PASSWORD (FOR WHICH DIRECTORY) str:[name]
             Old password: word
             New password: word
             Retype new password: word

         Notice that you type RETURN after the directory name and  the
         EXEC prompts you for each of the passwords.

    37.  To  solve  password  echoing  problems,  the  SET   DIRECTORY
         commands  now  input the password on a separate line from the
         rest of the command.  The new format is:

@SET DIRECTORY parameter (OF WHICH DIRECTORY) str:[name] (TO) something
PASSWORD: word

         That is, you press RETURN before  and  after  typing  in  the
         password.

    38.  The output of INFORMATION (ABOUT) SYSTEM-STATUS now  contains
         a line which says one of:

              Account validation is enabled
              Account validation is disabled


         When account validation is  enabled,  only  system-recognized
         valid  accounts  will  be accepted for the LOGIN command, the
         SET ACCOUNT  command,  and  for  the  ;A  attribute  of  file
         specifications.

PRINT Command

The new PRINT command, available with Release 3, is explained  herein.
Its main differences from the old PRINT command are:

     1.  It is only used to print files.  Another command, INFORMATION
         (ABOUT) OUTPUT-REQUESTS, will be provided to list the queues.

     2.  The new PRINT command is more standard, in that  "?"  may  be
         typed  for  help,  and  escape  may be typed for recognition.
         Also, any TOPS20 file specifications may be typed.

     3.  The command doesn't effect memory, so you may  ^C  out  of  a
         program, print something, and then continue your program.

Syntax:

     @PRINT (FILES) ...filespecs and switches...

Filespecs are any standard TOPS20 filespecs, which are  the  names  of
the files you want printed.

Switches are one of two types, "job"  switches  and  "file"  switches.
Unless you have some special application, you needn't understand about
switches.  Just give the command
EXC3.DOC                                                        Page 9


     @PRINT file,file,file

to print particular files.

Job switches affect the entire printing  job,  which  encompasses  all
files  listed  under  one  PRINT  command.   Job  switches  may appear
anywhere on the command line  after  the  "PRINT  (FILES)".   The  job
switches are:

/AFTER:

     Followed by a date-and-time, specifies the earliest date-and-time
     at  which  the  PRINT  request  should get printed.  Without this
     switch, the request gets processed ASAP.

/FORMS:

     Followed by a forms type, specifies the type of paper to use  for
     the  request.   The  types are words of six or less characters in
     length.  For instance,  "/FORMS:NARROW"  or  "/FORMS:YELLOW"  are
     possibilities.

/JOBNAME:

     Followed by a six or fewer alphanumeric character  name  for  the
     print   request.   Normally,  the  job  name  is  the  first  six
     characters of the name of the first file in the request, so you'd
     only use this switch if you really don't like that name.

/LIMIT:

     Followed by  a  decimal  number,  specifies  how  many  pages  of
     lineprinter  paper  to  allow.   Omitting  this switch is usually
     alright, however, as a limit will then be computed from the  size
     of the file(s), which tends to be a limit large enough to include
     the entire file(s).

/LOWERCASE:

     Forces the output to go to a printer capable  of  printing  upper
     and lowercase characters.

/NOTE:

     Followed by up to twelve characters, specifies a special note  to
     appear  on  the  header  page of the output.  The note must be in
     quotes if it contains spaces.  Examples (two of them):

          /NOTE:HELLO
          /NOTE:"HI THERE"

/PRIORITY:

     Followed by a  positive  integer  from  0-63  decimal,  specifies
     urgency  of  the print request.  A job with /PRIORITY:12 will get
EXC3.DOC                                                       Page 10


     printed before one with /PRIORITY:10.  /PRIORITY:10 is assumed if
     you don't specify a switch.

/SEQUENCE:

     Followed   by   a   decimal   sequence   number,   specifies   an
     identification  number  for  the  request.  This switch generally
     isn't needed, as the system assigns a unique sequence  number  to
     your request.

/UPPERCASE:

     Guarantees that the job only gets printed on a lineprinter  which
     only prints uppercase characters.

/USER:

     Only useful for an enabled wheel or operator.  Allows a user name
     to  be  specified as the owner of the request.  Thus, an operator
     saying PRINT [JONESEZ]FOO.BAR /USER:JONESEZ  is  just  like  user
     JONESEZ  having  said  PRINT  FOO.BAR.   Notice  that  the  /USER
     argument has nothing to do with whose directory the  files  being
     printed are read from.

File switches are a seperate list of switches which  control  specific
files  being  printed.  File switches have different effects depending
on whether they are "global" or "local".  A file switch  typed  before
any  files  have  been  specified is considered global, which means it
will effect all files listed in the command.  Any other file  switches
typed  in the PRINT command, that is, file switches typed after a file
specification,  only  effect  files   referred   to   by   that   file
specification.  Consider the following example:

     @PRINT /COPIES:2 A.*,FOO.MAC/COPIES:7 FREEBIES.SLEAZY

In the above example, /COPIES:2 precedes any file  specifications,  so
it  causes  two  copies  of  every  file to get printed.  However, the
/COPIES:7 causes file FOO.MAC to get  printed  seven  times.   So  all
files  named  A.* will get printed twice, and file FREEBIS.SLEAZY will
also get printed twice.  In that example, the /COPIES:2  is  a  global
file switch, and the /COPIES:7 is local to file FOO.MAC.

Here's the list of file switches:

/BEGIN:

     Followed by a decimal number, designates that the file should  be
     printed  starting on the specified page number rather than at the
     beginning.

/COPIES:

     Followed by decimal number of copies causes that many  copies  of
     the pertinent files to be printed.
EXC3.DOC                                                       Page 11


/DELETE:

     Specifies that the file is to be  deleted  after  being  printed.
     This is assumed for files with extension .LST.  To prevent a .LST
     file from being deleted when you  print  it,  use  the  /PRESERVE
     switch.

/FILE:

     Followed by a file type, specifies what type of file the file is.
     The types are:  ASCII, COBOL, ELEVEN, and FORTRAN.

/HEADER:

     Causes two header pages containing the beginning  of  the  file's
     name to appear before the file.

/NOHEADER:

     Prevents the header pages from  appearing.   This  is  useful  in
     conjunction  with  /COPIES to save paper, by not having two pages
     in front of every copy.

/PRESERVE:

     Prevents the file from being deleted after being  printed.   This
     is  the default for files other than .LST files.  Use the /DELETE
     switch if you want a file deleted after being printed.

/PRINT:

     Followed by word designating what style to  print  the  file  in.
     SUPRESS causes all control characters to be omitted when printing
     the file, except for cr and lf.  OCTAL  causes  the  file  to  be
     output as a list of octal intergers.  ASCII causes the file to go
     to the printer "as is".   ARROW  causes  all  control  characters
     except  ASCII  codes  11-15  and  20-24  to be printed as uparrow
     followed by the appropriate non-control  character.   (11-15  and
     20-24  get  printed  literally).   ARROW  is  the default if this
     switch is not given.

/REPORT:

     Followed by a report code of up to twelve characters causes COBOL
     files  to  be scanned and only reports with the specified name to
     be printed.  Put the report code in quotes if it contains spaces.

/SPACING:

     Followed by SINGLE, DOUBLE or TRIPLE, specifies how you want  the
     output spaced, just like a typewriter.


SUBMIT Command
EXC3.DOC                                                       Page 12


The SUBMIT command submits files to be run as batch  jobs.   The  file
submitted  is  called  the  control  file, and contains, amongst other
things, the actual typing you would do, if you were doing the job as a
regular interactive user.  After the batch job is run, a typescript of
the batch job is stored in a log file.  Most usually, the file type of
batch  control  files  is .CTL, and the file type of the resultant log
file is .LOG.
Also, unless specified with /LOGNAME switch, the first name of the log
file will be the same as the control file.

The general format of the SUBMIT command is:

@SUBMIT (BATCH JOB) /sw/sw/sw...  file /sw/sw/sw file ...

Note that switches may appear intermingled with  files  on  the  line.
The  "file"s  on  that  line  are the names of the control files being
submitted.

Switches for SUBMIT command:

/AFTER:

     Followed by date and time designates earliest time at  which  job
     may be run.

/BEGIN:

     Followed by a decimal line number designating which line  of  the
     control  file  to  start  processing  on.   Without  this switch,
     processing starts at the beginning of the file.  See /TAG  switch
     also, which allows for staring at symbolic entry points.

/CARDS:

     Followed by decimal maximum number of cards batch job is  allowed
     to punch.

/DEPENDENCY-COUNT:

     Followed  by  a  positive  decimal  number,  which  becomes   the
     dependency count for the batch request.  Batch requests don't get
     processed until their dependency count is 0.   If  you  submit  a
     request  with  a  certain dependency count, you can then later do
     MODIFY commands to modify the dependency count.  When it has been
     modified such that it becomes 0, the batch job will run.  In this
     manner, batch jobs which depend on certain other events happening
     can  be  controlled  from  running  prematurely, by setting their
     dependency counts to positive values, and only modifying them  to
     0 after the critical events have taken place.

/FEET:

     Followed by decimal number designating maximum number of feet  of
     paper tape job is allowed to punch.  
     On systems without paper tape punches, this switch is irrelevant.
EXC3.DOC                                                       Page 13


/JOBNAME:

     Followed by six or less alphanumeric characters of job  name  for
     the  batch  request.   Normally,  the  job  name is the first six
     characters of the control file name, so only use this  switch  if
     for some reason you don't like that name.

/LOGNAME:

     Followed by special name for log file.  Normally the log file has
     the  type  .LOG and name of the control file.  Use this switch if
     you don't like that name.
     The default file type for the name following /LOGNAME:  is .LOG.

/OUTPUT:

     Followed by NOLOG, ERRORS or ALWAYS.  The default when the switch
     is  omitted  is  ALWAYS,  which causes the log file to always get
     printed.  NOLOG causes the log file to never be printed.   ERRORS
     causes  the  log file to be printed only if errors occured during
     the batch job.

/PAGE:

     Followed by decimal number of pages specifies that batch  job  is
     not   allowed  to  print  more  than  this  number  of  pages  of
     lineprinter output.

/PRIORITY:

     Followed by non-negative positive number, specifies priority  for
     this  batch  request.   If  this switch is not given, the default
     priority value of 10 is assumed.   Requests  are  processed  from
     higher priority to lower.  Hence you might use.

/PRIORITY:

     11 to cause your request to get granted before  others  that  are
     also in the queue.

/RESTARTABLE:

     Followed by either YES or NO, specifies whether  job  should  get
     restarted  or  not  after  the  system crashes and comes back up.
     Without this switch, the answer assumed is NO.

/SEQUENCE:

     Followed by decimal sequence number  for  request.   Every  batch
     request  in  the  queue  is  identified  by both a job name and a
     sequence number.  This switch  generally  isn't  needed,  as  the
     system assigns a unique sequence number by default.

/TAG:
EXC3.DOC                                                       Page 14


     Followed by a six or fewer alphanumeric  character  tag  name  at
     WHICH TO start processing within the control file.  For instance,
     if within the file, a line started with BOO::,  you  could  cause
     the  commands  preceding that point in the file to be skipped, by
     issuing /TAG:BOO in your SUBMIT command.

/TIME:

     Followed by a time limit in the form hh:mm:ss specifies how  much
     CPU time the batch job is allowed to use before being terminated.
     Without this switch, 5 minutes is assumed.

/TPLOT:

     Followed by a decimal  number  of  seconds,  specifies  how  much
     plotter time the job is allowed to use.
     Unless your system has a plotter, this switch is irrelevant.

/UNIQUE:

     Followed by 0 or 1, specifies uniqueness value for the batch job.
     0  means  other  batch  jobs  submitted by you are allowed to run
     concurrently with the one you're submitting.   1  means  the  one
     you're submitting must run uniquely, that is, with no other batch
     jobs that were also submitted by you.  You would want to  specify
     /UNIQUE:1  if you were submitting two batch jobs which both wrote
     into the same file, if you wanted to make sure they  didn't  both
     write the file at the same time.

/USER:

     Followed by a user name, specifies  an  alternate  owner  of  the
     batch request than the actually creating it.  This switch is only
     legal for ENABLEd WHEELs and OPERATORs.  Thus an operator  saying
     SUBMIT  [SMITH]FOO/USER:SMITH is just as though user SMITH logged
     in and said SUBMIT FOO.

MODIFY command

Use the modify command to change the value of  one  or  more  switches
previously specified in a SUBMIT or PRINT command.

The format of the command is:

     @MODIFY (REQUEST TYPE)    type (JOBNAME) name /sw/sw/sw

Type is one of:  PLOT, PRINT, PUNCH, BATCH, depending on what type  of
     request is being modified.

Name is the jobname of the request.  When you  list  the  queues  with
     INFORMATION   (ABOUT)   BATCH-REQUESTs   or  INFORMATION  (ABOUT)
     OUTPUT-REQUESTs, the jobname appearing in the JOB column  is  the
     one  you  should  specify  for  the  JOBNAME  field in the MODIFY
     command.
EXC3.DOC                                                       Page 15


/Sw  The switches are typed in exactly the same format  as  you  would
     have  typed  them  in  the  original  command  used to create the
     request.  There are some exceptions...

Exceptions:

     1)  The switches under MODIFY are really broken into  two  lists,
         depending  on  whether  you are modifying a batch job or not.
         Type "?" after the request type to see what the lists are.

     2)  Not all switches may be modified.  Only these may,  and  note
         difference   in  meanings  of  /DEPENDENCY-COUNT,  /USER  and
         /SEQUENCE:

         /AFTER
         /DEPENDENCY-COUNT
         Under MODIFY command, this switch may take a + or - in  front
         of  the  number.   The  +  or  -  means that the number being
         specified isn't a new dependency count, but rather a  change.
         For   instance  /DEP:+2  causes  the  old  dependency  count,
         whatever it was, to be  increased  by  2.   The  other  form,
         without  the  sign, like /DEP:4 still works, and will set the
         dependency count to 4.
     /FORMS
     /LIMIT
     /NOTE
     /PRIORITY
     /RESTARTABLE
     /SEQUENCE
         You can't really  modify  the  sequence  number.   What  this
         switch does in the MODIFY command is specify which of several
         jobs should be modified, in case several have the same  name.
         In  the  more  common  case  where  you  omit this switch, if
         several jobs all have  the  same  name  as  the  jobname  you
         specified, they will all be modified.
     /TIME
     /UNIQUE
     /USER
         This  switch  is  only  allowable  by  ENABLEd   WHEELs   and
         OPERATORs.   Such  a  person by specifying /USER:username may
         MODIFY "user"'s request.

Example:

     Suppose a PRINT request has been made, but you forgot that it  is
     supposed  to  come  out on narrow paper.  You can fix the problem
     (assuming it hasn't started printing  yet!),  with  this  command
     (assuming the jobname is FOO):

     @MODIFY (REQUEST TYPE) PRINT (JOBNAME) FOO /FORMS:NARROW

CANCEL command

Use the CANCEL command to remove requests from  the  queue  if  you've
decided you don't really want those requests processed.
EXC3.DOC                                                       Page 16


Format:

     @CANCEL (REQUEST TYPE) type (JOB) name

Type the type of request  being  canceled,  usually  either  BATCH  or
     PRINT.

Name Jobname  as  listed  in  the  queues   on   INFORMATION   (ABOUT)
     OUTPUT-REQUESTS  or  INFORMATION (ABOUT) BATCH-REQUESTS.  Instead
     of a jobname, you may type /SEQUENCE:  followed by  the  sequence
     number  of  the  job  you  want  to  cancel,  also  as  shown  by
     INFORMATION (ABOUT) ....  The jobname may be entered as * to mean
     cancel all jobs in the queue.

     ENABLEd WHEELs and OPERATORs may also specify a /USER:user switch
     to cancel requests originally created by "user".

INFORMATION (ABOUT) BATCH-REQUESTS command
INFORMATION (ABOUT) OUTPUT-REQUESTS

Use these commands to see what jobs are in the queue, and what special
parameters are associated with them.

Both listings include columns labelled Job, Seq, and User.  Job is the
jobname  of  the  request.  Seq is the sequence number of the request.
These two parameters are the ones you would use in a MODIFY or  CANCEL
command  to  refer  to  the jobs.  The user name listed under the User
column shows the user name of the  user  who  originally  created  the
request.

The listing of the OUTPUT-REQUESTs contains two other  columns,  Queue
and  Limit.   The  Queue column shows what output queue the request is
in.  PRINT requests will usually show up as LPT.  Plotter requests  as
PLT, paper tape as PTP, card punch as CDP.  The Limit column shows how
many pages, cards, seconds, or feet allowed in the request.

Output requests currently being processed when the queues  are  listed
will  have  the  phrase  "Being  output  on  yyy:" where "yyy:" is the
particular device being used for the request.

Batch jobs which are currently running will say "Now running"  at  the
righthand end of the line.

A request waiting for a particular structure to be  mounted  will  say
"Waiting for structure zzz:" to be mounted.

Certain switches,  if  specified  in  the  PRINT,  SUBMIT,  or  MODIFY
commands,  will  show  up  in  the queue listing.  They will be listed
exactly  as  they  could  have  been  originally  typed.   For  output
requests, the switches get listed on a seperate line.
The switches only get listed if their value is not the default.

The switches that get listed are:

     /AFTER
EXC3.DOC                                                       Page 17


     /PRIORITY
     /NOTE
     /FORMS
     /DEPENDENCY-COUNT
     /RESTARTABLE
     /UNIQUENESS
     /TIME

Three switches may be typed after the command:

     @INFORMATION (ABOUT) OUTPUT-REQUESTS

The switches are:

/USER:

     Followed by a user whose entries you  want  to  list.   The  name
     defaults to your name.  Unless this switch is issued, entries for
     all users are listed.

/ALL:

     Causes all parameters in the above list  to  be  shown.   Without
     /ALL,  only  /AFTER,  /FORMS,  /DEPENDENCY-COUNT,  /PRIORITY, and
     /TIME are listed.

/FAST:

     Makes the list complete much faster, as no  switches  are  shown.
     Also, the column headings are omitted.

     RECEIVE SYSTEM-MESSAGES
     REFUSE SYSTEM-MESSAGES

These control whether or not you  see  system-wide  messages  on  your
terminal.   The default setting is to RECEIVE such messages.  Messages
you won't see anymore if you issue  REFUSE  SYSTEM-MESSAGES  are  ones
such as:

     [CAUSTION--DISK SPACE LOW]
     [CAUTION--SWAPPING SPACE LOW]
     [SYSTEM GOING DOWN IN 1 MINUTE!!]
     [DELETED FILES WILL BE EXPUNGED IN 30 SECONDS]
     [SYSTEM EXPUNGE COMPLETED]

A new line has  been  added  to  the  output  of  INFORMATION  (ABOUT)
TERMINAL.  The new line shows either RECEIVE SYSTEM-MESSAGES or REFUSE
SYSTEM-MESSAGES.

New subcommands to DIRECTORY-class commands

     @@SMALLER (THAN)
     @@LARGER (THAN)

     These subcommands accept a decimal number, and cause  only  files
EXC3.DOC                                                       Page 18


     whose  sizes  are  smaller  or  larger  than specified size to be
     listed.  Using both subcommands allows only files  in  a  certain
     range  to  be listed.  For instance, to list all your files whose
     size is exactly 3 pages, you could do:

     @DIR,
     @@SMALLER 4
     @@LARGER 2

@@BEFORE (DATE AND TIME)
@@SINCE (DATE AND TIME)

     These two allow files written before or after specified date  and
     time  to  be  listed.  When used in conjunction, they allow files
     written within a certain time period to be listed.  For instance,
     to list only your files written in January of this year:

     @DIR,
     @@SINCE DEC-31-76
     @@BEFORE FEB-1-77

REMARK (MODE)

     This new command waits for confirmation and then prompts you  for
     remarks,  which  it continues to accept until you type CTR/Z.  It
     is useful when you are TALKing to another user,  and  don't  want
     all your messages to be interpreted as commands.  Example:

     @TALK MURPHY
     LINK FROM USER OSMAN, TTY4
     @REMARK (MODE)
     Type remark. End with CTRL/Z
     HI DAN. THIS IS A DEMONSTRATION OF THE REMARK COMMAND.
     NOTICE HOW THE EXEC LETS ME TYPE MESSAGES TO YOU WITHOUT
     REQUIRING ME TO TYPE "!" IN FRONT OF EVERY LINE.
     NOW I WILL TYPE CTRL/Z TO END THIS REMARK.^Z
     @

     Subcommands to TAKE command

Two subcommands now exist to the TAKE command:

     @@DISALLOW (ERRORS DURING "TAKE" FILE)

         This subcommand is the default condition, and causes  a  TAKE
         file to be aborted if an error occurs while processing it.

     @ALLOW (ERRORS DURING "TAKE" FILE)

         This allows TAKE  files  to  continue  despite  errors.   The
         standard  error  message  just gets put in the output stream,
         and the TAKE continues.

These subcommands prevail for as long as you are logged in.  Hence, if
you  give  the  ALLOW  subcommand,  ALLOW  will  be  assumed  for  all
EXC3.DOC                                                       Page 19


subsequent TAKE commands until a DISALLOW subcommand is given.

     SET PAGE-ACCESS (OF PAGES) range (ACCESS) access-type

This command allows you to control the accessibility of  memory  pages
of your program.

Range This  is  a  range  or  set  of  page  numbers  of  pages  whose
     accessibility  is  to  be modified.  Seperate ranges with commas.
     Use a colon to seperate beginning and end of range.  For example,
     to refer to pages 1 and 2 through 5, you'd type:

          @SET PAGE-ACCESS 1,2:5 ...

     The numbers are interpreted as octal integers,  and  may  not  be
     negative.   When  the  form  n:m  is used, n must be less than or
     equal to m.

Access-type

     The accessibilities possible in this field are:

     READ                       Allow page to be read.
     WRITE                      Allow page to be written.
     COPY-ON-WRITE
          Allow page to be copied to another area if program  attempts
          to  write into it.  Then the write-request is allowed to the
          copy.
     EXECUTE                    Allows machine instructions in the 
                               page of memory to be executed.
     NONEXISTENT
          Causes the page to be erased from memory entirely.
     NO   The word NO may precede any of  the  accessibilities  except
          NONEXISTENT.  For instance:

          @SET PAGE-ACCESS 5 NO WRITE NO COPY-ON-WRITE

          That command prevents page 5  from  being  modified  by  the
          program.

The SET PAGE-ACCESS command only modifies page  accessibility,  rather
than completely changing it.  For instance, in the above example, even
though you didn't say READ, the page  is  still  readable  if  it  was
before  the command was given.  Also, in contradictory cases, the last
on the line prevails.  Hence:

     @SET PAGE-ACCESS 6:10 WRITE NO WRITE

is equivalent to:

     @SET PAGE-ACCESS 6:10 NO WRITE


     BUILD command
EXC3.DOC                                                       Page 20


This command works exactly like ^ECREATE, except that you needn't have
special  privileges  to use it, although depending on your privileges,
you may or may not be able to do too much with it.  It is intended for
creating and modifying subdirectories.

     INFORMATION (ABOUT) DIRECTORY name

This is exactly the same as <Eprint command, except you don't have  to
be  privileged to issue the command.  Note, however, that depending on
your privileges, the monitor may curtail your use of this command.  It
is intended for use in bookkeeping subdirectories.

     New subcommands under ^ECREATE, and enhancement of ^EPRINT

Under ^ECREATE, to specify how many subdirectories are allowed under a
directory, give the following subcommand:

     $SUBDIRECTORY MAXIMUM (ALLOWED) n

To allow subdirecotries under a directory to be put into user group n,
give this subcommand:

     $SUBDIRECTORY USER (GROUP ALLOWED) n

To disallow subdirectories for a directory to be put into a particular
user group, do this:

     $NOT SUBDIRECOTRY USER (GROUP ALLOWED) n

^EPRINT will now show the values of the above subcommands.

     INFORMATION (ABOUT) NETWORK-STATUS

This  command  gives  the  status  of  any  networks  on  the  system.
Currently  it  only  gives status for the ARPANET.  If the system does
not support any networks the message  "No  information  available"  is
given.

If the system supports the ARPANET two to  four  lines  are  typed  as
described  below.   The  first line typed is the status of the ARPANET
service and it is either "ARPANET  service  in  enabled"  or  "ARPANET
service is disabled".  The second line is the IMP status and is either
"The IMP interface is up", "The IMP interface is  down"  or  "The  IMP
interface is initializing".  The third line gives the date and time of
the last time the monitor and the IMP preformed their  synchronization
and  recognized  each  other  as being up.  This line looks like "Most
recent IMP ready line on-transition:  dd-Mmm-yy  hh:mm:ss".   If  this
process has not occured the line is ommitted.  The last line gives the
date and time  of  the  last  time  that  the  IMP  and  monitor  lost
synchronization.    No   more   data  can  be  transmitted  until  the
synchronization and reognition process is preformed again.  This  line
looks  like  "Most  recent  IMP  ready line off-transition:  dd-Mmm-yy
hh:mm:ss".  If this event has not occured the line is ommitted.

     INFORMATION (ABOUT) MAIL (FOR USER) name
EXC3.DOC                                                       Page 21


This command gives status of the users MAIL.TXT file and types one  of
the following messages:

     New mail exist
     No new mail exist
     Mailbox protected
     No such USER

The user name may be ommited and defaults to the logged in user  name.
The  command may be given.  It should also be noted that if the user's
directory protection and the protection of the MAIL.TXT file  must  be
such  that  everyone  has  list  access  to  the MAIL.TXT file for the
command to work without being logged in.

     SET MAIL-WATCH
     SET NO MAIL-WATCH

Since the ARPANET mail system does not announce new mail a  method  of
announcing  new mail was needed.  The "SET MAIL-WATCH" commands causes
the EXEC to check each time before inputing a command to see if it has
been five minutes since the mail file was checked for new mail.  If it
has been over five minutes since the mail  file  was  checked,  it  is
checked and if there is new mail "[you have new mail]" is typed on the
user's terminal.  The "SET NO MAIL-WATCH" command is used to turn  off
this checking and is the default mode.

     ^E SET ARPANET ON
     ^E SET ARPANET OFF

These commands turn the ARPANET service  on  and  off.   "ON"  is  the
default for the "^E SET ARPANET" command.

     ADDITION OF ARPANET-terminals

The "^E SET LOGINS-ALLOWED (ON)"  and  the  "^ESET  NO  LOGINS-ALLOWED
(ON)"    commands    have    had    an    additional   terminal   type
"ARPANET-terminal":  added as a possible argument.

In addition the "INFORMATION (ABOUT) SYSTEM-STATUS" command now  types
an  additional  line,  either  "ARPANET-terminal  logins  allowed"  or
"ARPANET-TERMINAL logins not allowed".

     SET DEFAULT (FOR) ...

This command allows commonly used arguments of command to be  declared
as  a  default,  hence  relieving  the  user  of  having to type those
arguments every time the command is issued.

For RELEASE 3, the only commands for which defaulting is available are
SUBMIT  and PRINT.  Hence in Release 3, the only valid uses of the SET
DEFAULT command are the following:

     @SET DEFAULT (FOR) SUBMIT /sw/sw/sw...
     @SET DEFAULT (FOR) PRINT /sw/sw/sw...
EXC3.DOC                                                       Page 22


To avoid having to give the SET DEFAULT SUBMIT, the valid switches are
all the ones in the switch lists for the PRINT and SUBMIT commands.

As an example of using these commands, suppose you usually  want  your
batch  jobs  to  be allowed one hour of run time.  To make one hour be
the default, put the following in your COMMAND.CMD file:

     @SET DEFAULT SUBMIT /TIME:1:0:0

As another example, if you always want your line printer  listings  to
be printed on a printer capable of printing lowercase letters, put the
following command into COMAND.CMD:


     @SET DEFUALT PRINT /LOWERCASE

As a last example, to prevent  your  .LOG  files  from  being  printed
automatically when your batch jobs are run unless the batch job gets a
fatal error, the following command  in  COMAND.CMD  will  achieve  the
desired default setting:

     @SET DEFAULT SUBMIT /OUTPUT:ERROR

Switches may be put more than one to a line like this:

     @SET DEFAULT SUBMIT /AFTER:MAY 4, 1977 /OUTPUT:NOLOG

(That particular example makes the default be for batch  jobs  not  be
run  until  after May 4, and for .LOG files never to be printed.) Note
that defaults are accumulative.  Hence giving  many  defaults  on  one
line is equivalent to giving seperate commands for each switch.

as though you typed them immediately after the command to  which  they
apply.   For  instance,  suppose  you usually want your .LOG files not
printed, so you've said (in COMAND.CMD):

     @SET DEFAULT SUBMIT /OUTPUT:NOLOG

If you now type a SUBMIT command such as:

     @SUBMIT FOO

it's exactly as though you typed

     @SUBMIT /OUTPUT:NOLOG FOO

This allows for  defaults  to  be  overrideen.   For  instance,  again
assuming  that  /OUTPUT:NOLOG  has been set up as the default, you can
force the .LOG file  for  a  particular  job,  FOO  in  the  following
example, to be printed.  Merely type:

     @SUBMIT /OUTPUT:ALWAYS FOO

Since the defaults get applied at the beginning of the line,  this  is
like typing
EXC3.DOC                                                       Page 23


     @SUBMIT /OUTPUT:NOLOG/OUTPUT:ALWAYS FOO

and the most recent switch seen by the EXEC applies.

SET NO DEFAULT (FOR) command

This command  allows  clearing  any  previously  set  defaults  for  a
command.  For Release 3, the only versions of this command implemented
are:

     SET NO DEFAULT SUBMIT

          and

     SET NO DEFAULT PRINT

SET DIRECTORY ACCOUNT-DEFAULT (OF WHICH DIRECTORY) dir (TO) account

This command allows directories to be given default accounts.

If you log in under a  directory  that  has  a  default  account,  you
needn't type an account at all in your LOGIN line.

Here's an example of a user (ESTEY in this  example)  setting  up  her
directory with a default account of STRAWBERRY:

@SET DIR ACC PS:[ESTEY] STRAWBERRY
PASSWORD:
@

After issuing the  above  command,  user  ESTEY  may  log  in  without
specifying  an  account,  in  which  case  STRAWBERRY will be assumed.
Example of user taking advantage of default account:

     @LOGIN ESTEY
     JOB 4 ...

Note that only the user name and password were typed:
If ESCAPE is typed in lieu of an account, the default is displayed  by
the  system  (just  as  defaults  as  usually displayed in response to
ESCAPE).

CONTINUE (PROGRAM) STAY (AT COMMAND LEVEL WHILE PROGRAM RUNS)

The CONTINUE command takes one of two keywords after it, so that every
CONTINUE command is now regarded as either

     @CONTINUE (PROGRAM) NORMALLY

     or

     @CONTINUE (PROGRAM) STAY (AT COMMAND LEVEL WHILE PROGRAM RUNS)

The default is "CONTINUE NORMALLY" which is what is assumed  when  you
merely type
EXC3.DOC                                                       Page 24


     @CONTINUE

The  other  command,  "CONTINUE  STAY",  is  exactly  like   "CONTINUE
NORMALLY",  except  that  the  EXEC  doesn't  wait  while  the program
continues, but instead the EXEC goes back to command  level,  allowing
you to issue EXEC commands while your program runs.

Two useful applications of CONTINUE STAY are

     1)  Issuing INFORMATION commands while your program is running to
         monitor  its  progress.   For  instance,  if  the  program is
         writing a file, then CONTINUE STAY followed  by  intermittent
         INFORMATION  (ABOUT)  FILE-STATUS commands will show how much
         of the file has been written.

     2)  Running more than one program simultaneously.  For  instance,
         after  doing  CONTINUE  STAY, you can then do a PUSH command,
         and then RUN another program.  Now you've  got  two  programs
         running at once.

Here's an example of a user employing CONTINUE STAY to  allow  himself
to  EDIT  a  file  while  simultaneously COMPILing a program.  In this
particular example, the user is  assembling  a  MACRO  program  called
NEWTV, and while it assembles, he creates a new file called FOO.BAR.

@COMPILE (FROM) NEWTV/COMPILE
MACRO:  TV
^C
@CONTINUE (PROGRAM) STAY (AT COMMAND LEVEL WHILE PROGRAM RUNS)
@PUSH (COMMAND LEVEL)

TOPS-20 COMMAND PROCESSOR 3(363)
@CREATE FOO.BAR
00100    HERE IS A FILE
00200    THAT I AM CREATING
00300    WHILE THE COMPILATION PROGRESSES
00400
*E

[FOO.BAR.1]
@POP (COMMAND LEVEL)
@CONTINUE (PROGRAM)

Pitfalls to watch out for with the CONTINUE STAY command:

     1)  If you CONTINUE STAY a program, and then PUSH to another EXEC
         level,  and  the  CONTINUE  STAY'd  program  tries to input a
         command  from  the  terminal,  your  job   is   now   in   an
         indeterminate  state  in that you don't know whether you EXEC
         will receive typed characters, or the  program  will  receive
         them,  since  both  programs  are  now competing for terminal
         input.  If you get into this state, try typing ^C a few times
         and  then  issuing  a  POP command.  Once you get the EXEC to
         read the POP command, you will be back at  the  higher  level
         EXEC,  which  is  guaranteed  to receive input instead of the
EXC3.DOC                                                       Page 25


         CONTINUE STAY'd program, since it's a higher  level  process.
         (The PUSH'd EXEC was at the same level as the CONTINUE STAY'd
         program, and hence the confusion as to who gets the  terminal
         input).

     2)  If a CONTINUE STAY'd program types  out  information  on  the
         terminal,  it  will  mix with whatever else is being typed on
         the  terminal,  i.e.   from  the  command  or  program  being
         executed  simultaneously  with  the  CONTINUE STAY'd program.
         This is not particularly bad, as long as you are aware of  it
         and  don't get baffled by the various mixtures that may occur
         and be hard to read.

     3)  A program running due to CONTINUE STAY does not  get  stopped
         when you type ^C.  To stop the program, issue a command which
         erases its memory, such as RUN, RESET or LOGOUT.  Another way
         is  to  say  CONTINUE  (without  STAY),  and  then  type  ^C.
         Remember that if you did a subsequent PUSH after the CONTINUE
         STAY,  you'll  have  to  POP  back before doing the CONTINUE.
         (LOGOUT will work without POPing, however!)

     4)  Usually, giving a  CONNECT  command  to  connect  to  another
         directory  will get you into trouble if a program is CONTINUE
         STAY'd.  This is because the program isn't prepared  for  its
         default directory to suddenly change.



         [End of EXC3.DOC]