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
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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
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'.
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
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).
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]