Network Working Group                                           J. White
Request for Comments: 409                                        SRI-ARC
NIC: 12401                                               8 December 1972
Related RFCs: 122, 399


         TENEX Interface To UCSB's Simple-Minded File System

I.  PREFACE

  A subsystem for TENEX called SMFS has been written to interface
  ARPANET TENEX users to the Simple-Minded File System at UCSB-MOD75
  (see NIC 5834 / RFC 122 and NIC 11917 / RFC 399).  The Simple-Minded
  File System is a resident server process at UCSB which currently
  manages approximately 10K pages of on-line, direct-access storage.

  Using the simple command language or the subsystem here described,
  the user can transfer files to and from UCSB, and delete and rename
  them while they reside at Santa Barbara.  Files stored at UCSB may be
  read and/or write protected, and a file archived to UCSB from the
  TENEX system can be retrieved from another.

  This document is intended to provide users with the information
  necessary to use SMFS from a terminal; the reader is assumed familiar
  with TENEX.

  SMFS is currently installed at SRI-ARC (note in particular that the
  ARC EXEC WILL NOT give the user any 'GENERAL SUBSYSTEMS NOT AVAILABLE
  FOR NIC USE' flack about invoking SMFS).

  Copies of the source file are available upon request from the NIC.
  Bug reports and comments upon the code and documentation are
  solicited by the author, and may be sent to JEW through the Journal.

II.  LIMITATIONS

  SMFS can archive at Santa Barbara any file resident in a TENEX file
  system except:

     (1) Long files (in the strict, TENEX sense), and

     (2) Files whose directory name, filename, or extension contains
         other than alphameric characters, or whose combined length
         exceeds 32 characters (this limitation arises because of
         naming restrictions imposed at UCSB).






White                                                           [Page 1]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


III.  OPERATING INSTRUCTIONS

  SMFs is invoked like any other subsystem --- by typing its name
  followed by a carriage return (CR).  SMFS responds with the herald
  'UCSB Archival System (ver n date)' followed by its prompt character
  '#'.  Whenever SMFS types its prompt character, it expects the user
  to respond with a command ('?' will generate a list of all valid
  commands).

  The user selects a command by typing its first letter (here and
  throughout the exchange, upper- and lower-case alphabetics are
  interchangeable).  SMFS acknowledges a command it recognizes by
  typing the remaining characters of the keyword, and rejects those it
  doesn't by typing '?'.

  If the command requires arguments, SMFS prompts the user for each one
  in turn by describing it in parentheses.  If the argument is a
  keyword, SMFS will list the set of alternatives (separated by
  slashes).  The user selects one by typing its first letter.  Again,
  SMFS acknowledges a valid selection by completing it; if the user's
  response is in error, SMFS prompts for the parameter a second time.
  If the argument is not a keyword (e.g., a filename), the user enters
  an appropriate character string terminated by a CR.  Commands with no
  predicate are simply confirmed by the user with a CR.

  Entering the last argument initiates execution of the command.  In
  most cases, successfully executed commands illicit no explicit
  response (SMFS simply prompts for the next command).  Unsuccessful
  commands illicit a diagnostic.

IV.  COMMAND EDITING

  Anytime a character string is called for, the following editing
  features are available to the user:

     control-A     deletes the previous character
     control-X     deletes the entire string
     Control-R     retypes the string

  Anytime a filename (see Section V) is called for, the following
  additional editing features are available:

     control-W     deletes the current field
     control-F     recognizes the current field
     ESC           recognizes all remaining fields

  Control-O aborts a command during specification or execution (some
  commands cannot be aborted once the final CR has been typed).



White                                                           [Page 2]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


V.  FILE SPECIFICATION

  Whenever SMFS solicits a filename from the user, either of the
  following is acceptable:

     (1) hostname  :  filename

         'Hostname' is a standard host name or decimal host address
         identifying the host to which the file at UCSB belongs (to
         distinguish, for example, the directory <SUBSYS> at SRI-ARC
         from the directory <SUBSYS> at USC-ISI).

         If unspecified, the host name defaults to that of the TENEX
         system from which SMFS is invoked (and in this case the
         delimiting ':' must be dropped).

         Note that 'hostname' need be specified only in connection with
         inter-TENEX file transfers, and CANNOT be specified as part of
         the local filename in a MOVE or COPY command.

         'Filename' is a standard TENEX filename (subject to the
         constraints of Section II).

         If no directory is specified, that to which the user is
         currently connected is taken as the default.

         If name, extension, or version number is left unspecified, it
         defaults to the one most recently specified.

     (2) ESC (i.e.,  Altmode)

         ESC in this context denotes the most recent file
         specification, which SMFS will retype for the user.

VI.  SYNTAX CONVENTIONS

  In the description which follows, the following syntax conventions
  are employed:

     Characters which must be entered literally by the user are
     represented in upper-case (although they may be either in upper-
     or lower-case when typed by the user).

     Variables (like filenames) which must be entered by the user are
     represented by their generic names in lower case (although they
     may be either in upper- or lower-case when typed by the user).





White                                                           [Page 3]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


     The following special symbols represent control characters entered
     by the user:

        CR  --carriage return or Telnet new-line
        SP  --space
        ESC --alt mode or escape

     Output from the system is distinguished by enclosing it in square
     brackets.

     Whenever an element in the user-system exchange can take more than
     one value, the alternatives are listed vertically in a column.

VII.  COMMAND DESCRIPTIONS

A. USER NAME AND ACCOUNT

     UCSB identifies users of its Simple-Minded File System by:

     (1) user name --

         a character string of from one to eight alphameric characters
         of SP, and

     (2) account --

         a character string of from one to four alphameric characters
         or SP.

  SMFS maintains internally a pair of accumulators.  One contains a
  user name, the other an account, each either a character string
  specified explicitly by the user or an SMFS-supplied default (the
  user's TENEX login directory name and 'l', respectively).  Both
  accumulators are set initially to their default values.

  Note:  If the user's login directory name exceeds eight characters in
  length, the user must explicitly supply a user name; no default is
  available.

  Whenever SMFS interacts with the server process at Santa Barbara on
  the user's behalf, it does so with the accounting parameters then in
  the accumulators.









White                                                           [Page 4]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


  The user sets and inspects the user name and account with the USER
  NAME and ACCOUNT commands:

     U[ser name]
     [[currentusername]]  newusername CR
                          SP [logindirectoryname]
                          CR

     A[ccount]
     [[currentaccount]]   newaccount CR
                          SP [1]
                          CR

  USER NAME and ACCOUNT display and optionally change the contents of
  the user name and account accumulators, respectively:

     If 'newusername' or 'newaccount' is specified, it replaces the
     current contents of the appropriate accumulator.

     If SP is specified, the accumulator is set to the appropriate
     default.

     If CR is typed, the user name or account is left unchanged.

B. COPY

  The COPY command effects the transfer of a copy of a file to or from
  UCSB.  The file which is the source of the copy remains unmodified;
  the user must have read access to it.  The syntax of the command is
  one of the following, depending upon the direction of transfer:

     C[opy]
     [(to/from UCSB] T[o]
     [(file)] localfilespec CR
     [(store as file)] remotefilespec CR
     [(create/replace)] C[reate]
                        R(eplace]

     C[opy]
     [to/from UCSB] F[rom]
     [(file)] remotefilespec CR
     [(store as file)] localfilespec CR

     where 'localfilespec' and 'remotefilespec' are as defined in
     Section V.






White                                                           [Page 5]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


  Note that a file can effectively be renamed in transit between TENEX
  and UCSB by specifying 'localfilespec' different from
  'remotefilespec'.  The more common  situation is that in which the
  second of the two filespec's is simply ESC.  In 'localfilespec', the
  field-defaulting algorithms of Section V are not applied; the normal
  TENEX defaults are applicable.

  If in a copy to UCSB the user specifies 'create'; SMFS will ignore
  the command (and so inform the user) if a file of the same name
  already exists at UCSB.  If 'replace' is specified, the command will
  be ignored if a file of the same name DOESN'T  already exist at UCSB.
  Also, if 'replace' is specified, the user must have write access to
  the existing file at UCSB.

C. MOVE

  The MOVE command functions like COPY except that the source file for
  the operation is deleted once it has been transferred successfully.
  The user must have both read and write access to the source file.

D. LOCATE

  The LOCATE command verifies the existence of a file at UCSB.  Its
  syntax is

     L[ocate (file)] filespec CR
       [Archived at UCSB]
       [Not Archived at UCSB]

  Neither read nor write access to the designated file is required.

  Note:  LOCATE is the nearest thing to a TENEX DIRECTORY command
  available.  A full DIRECTORY command cannot currently be implemented
  because of restrictions imposed at UCSB.

E. DELETE

  The DELETE command deletes and releases all secondary storage
  assigned to a file previously copied or moved to UCSB:

     D[elete (file)] filespec CR

  The user must have write access to the file at UCSB.








White                                                           [Page 6]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


F. RENAME

  The RENAME command changes the name of a file residing at UCSB as the
  result of a previous move or copy operation:

     R[ename (file)] filespec CR
     [(new file)] newfilespec CR

  The user must have write access to the file at UCSB, and no file may
  already exist there with the name 'newfilespec'.

G. PASSWORD

  While files reside at UCSB, they may be protected from unauthorized
  access or modification by the assignment of a read and/or write
  password, respectively.  Each is a character string of from one to 36
  alphameric characters or SP.

  SMFS maintains internally a pair of accumulators.  One is always
  either empty or containing a read password, the other empty or
  containing a write password (both accumulators are initially empty).
  Whenever a command issued by the user requires (always implicitly) a
  password(s), the one then contained in the appropriate accumulator is
  applied.  An empty accumulator implies 'no password'.

  The user sets and inspects the two passwords with the PASSWORD
  command:

     P[assword]
     [(read/write)] R[ead]
                    W[rite]
     [[currentpassword]] newpassword CR
                          SP [none]
                          CR

  PASSWORD displays and optionally changes the contents of one of the
  two password accumulators:

     If 'new password' is specified, it replaces the current contents
     of the accumulator.

     If SP is specified, the accumulator is made empty.

     If CR is typed, the password is left unchanged.







White                                                           [Page 7]

RFC 409       TENEX INTERFACE TO SIMPLE-MINDED FILE SYSTEM December 1972


H. NEWS

  The NEWS command prints at the user's terminal the contents of the
  file:

     SRI-ARC: <SYSTEM >SMFS.NEWS1

  residing at UCSB.  SRI-ARC maintains this file, and as necessary
  places in it information (e.g., command syntax changes) of concern to
  users of UCSB's archiving service.  Should the user, for example,
  have difficulty with any of the commands described in this document,
  NEWS is a good starting point for obtaining help.

  The command has the syntax:

     N[ews] CR

  If the news file is long, SMFS will periodically pause and type
  'Continue?'.  The user may then respond 'N' to halt printout, or 'Y'
  or CR to continue (of course, control-O will abort printout at any
  time).

I. QUIT

  The QUIT command causes SMFS to return to the EXEC:

     Q[uit] CR


       [This RFC was put into machine readable form for entry]
   [into the online RFC archives by Helene Morin, Via Genie 12/99]




















White                                                           [Page 8]