📄 rfc1037.txt
字号:
For further information on file property keywords and associated
values: See the section "Format of NFILE File Property/Value Pairs",
section 7.5.
8.3 CLOSE Command
Command: (CLOSE tid handle abort-p)
Response: (CLOSE tid truename binary-p other-properties)
CLOSE terminates a data transfer, and frees a data channel. The
handle must be a data channel handle for a data stream opening, or a
direct file identifier for a direct access opening. If a data
channel is given, a transfer must be active on that handle. If
abort-p is supplied as Boolean truth, the file is close-aborted, as
described below.
"Closing the file" has different implications specific to each
operating system. It generally implies invalidation of the pointer
or logical identifier obtained from the operating system when the
file was "opened", and freeing of operating system and/or job
resources associated with active file access. For output files, it
involves ensuring that every last bit sent by the user has been
successfully written to disk. The server should not send a
successful response until all these things have completed
successfully.
Greenberg & Keene [Page 17]
RFC 1037 NFILE - A File Access Protocol December 1987
In either data stream or direct access mode, the user can request the
server to close-abort the file, instead of simply closing it. To
close-abort a file means to close it in such a way, if possible, that
it is as if the file had never been opened. In the specific case of
a file being created, it must appear as if the file had never been
created. This might be more difficult to implement on certain
operating systems than others, but tricks with temporary names and
close-time renamings by the server can usually be used to implement
close-abort in these cases. In the case of a file being appended to,
close-abort means to forget the appended data.
AN UNSUCCESSFUL CLOSE OPERATION
For the normal CLOSE operation (not a close-abort), after writing
every last bit sent by the user to disk, and before closing the file,
the server checks the data channel specified by handle to see if an
asynchronous error is outstanding on that channel. That is, the
server must determine whether it has sent an asynchronous error
description to the user, to which the user has not yet responded with
a CONTINUE command. If so, the server is unable to close the file,
and therefore sends a command error response indicating that an error
is pending on the channel. The appropriate three-letter error code
is EPC. See the section "NFILE Errors and Notifications", section
10.
A SUCCESSFUL CLOSE OPERATION
The return values for OPEN and CLOSE are syntactically identical, but
the values might change between the time of the file being opened and
when it is closed. For example, the truename return value is
supplied after all the close-time renaming of output files is done
and the version numbers resolved (for operating systems supporting
version numbers). Therefore, on some systems the truename of a file
has one value at the time it is opened, and a different value when it
has been closed. For a description of the CLOSE return values: See
the section "NFILE OPEN Response Return Values", section 8.20.2.
If the user gives the CLOSE command with abort-p supplied as Boolean
truth, thus requesting a close-abort of the file, the server need not
check whether an asynchronous error description is outstanding on the
channel. The server simply close-aborts the file.
Greenberg & Keene [Page 18]
RFC 1037 NFILE - A File Access Protocol December 1987
8.4 COMPLETE Command
Command: (COMPLETE tid string pathname DIRECTION NEW-OK DELETED)
Response: (COMPLETE tid new-string success)
COMPLETE performs file pathname completion.
string is a partial filename typed by the user and pathname is the
default name against which it is being typed. Both string and
pathname are required arguments, and are of type string. The
remaining arguments are optional keyword/value pairs.
NEW-OK is Boolean; if followed by Boolean truth, the server should
allow either a file that already exists, or a file that does not yet
exist. The default of NEW-OK is false; that is, the server does not
consider files that do not already exist.
DELETED is a Boolean type argument; if followed by Boolean truth, the
server is instructed to look for files that have been deleted but not
yet expunged, as well as non-deleted files. The default is to ignore
soft-deleted files.
DIRECTION can be followed by READ, to indicate that the file is to be
read. If the file is to be written, DIRECTION can be followed by
WRITE. The default is READ.
The filename is completed according to the files present in the host
file system, and the expanded string new-string is returned. New-
string is always a string containing a file name: either the
original string, or a new, more specific string. The value of
success indicates the status of the completion. The keyword value OLD
or NEW means complete success, whereas the empty token list means
failure. The following values of success are possible:
Value Meaning
----------------------------------------------------------------
OLD Success: the string completed to the name of
a file that exists.
NEW Success: the string completed to the name of
a file that could be created.
Empty token list Failure due to one of these reasons:
The file is on a file system that does not
Greenberg & Keene [Page 19]
RFC 1037 NFILE - A File Access Protocol December 1987
support completion. new-string is supplied as
the unchanged string.
There is no possible completion. new-string
is supplied as the unchanged string.
There is more than one possible completion.
The given string is completed up to the first
point of ambiguity, and the result is supplied
as new-string.
A directory name was completed. Completion
was not successful because additional
components to the right of this directory
remain to be specified. The string is
completed through the directory name and the
delimiter that follows it, and the result is
returned in new-string.
The semantics of COMPLETE are not documented here. See the
"Reference Guide to Streams, Files, and I/O" in the Symbolics
documentation set for the recommended semantics of COMPLETE.
8.5 CONTINUE Command
Command: (CONTINUE tid handle)
Response: (CONTINUE tid)
CONTINUE resumes a data transfer that was temporarily suspended due
to an asynchronous error. Each asynchronous error description has an
optional argument of RESTARTABLE, indicating whether it makes any
sense to try to continue after this particular error occurred.
CONTINUE tries to resume the data transfer if the error is
potentially recoverable, according to the RESTARTABLE argument in the
asynchronous error description. For a discussion of asynchronous
errors: See the section "NFILE Errors and Notifications", section
10.
handle is a required string-type argument that refers to the handle
of the data channel that received an asynchronous error. That data
channel could have been in use for a data stream or direct access
transfer. handle cannot be a direct file identifier.
If the asynchronous error description does not contain the
RESTARTABLE argument, and the user issues the CONTINUE command
anyway, the server gives a command error response.
Greenberg & Keene [Page 20]
RFC 1037 NFILE - A File Access Protocol December 1987
8.6 CREATE-DIRECTORY Command
Command: (CREATE-DIRECTORY tid pathname property-pairs)
Response: (CREATE-DIRECTORY tid dir-truename)
CREATE-DIRECTORY creates a directory on the remote file system. The
required pathname argument is a string identifying the pathname of
the directory to be created. The return value dir-truename is the
pathname of the directory that was successfully created. Both of
these pathnames are directory pathnames: See the section "Syntax of
File and Directory Pathname Arguments", section 7.4.
property-pairs is a keyword/value list of properties that further
define the attributes of the directory to be created. The allowable
keywords and associated values are operating system dependent;
typically they indicate arguments to be given to the native primitive
for creating directories.
If property-pairs is supplied as the empty token list, default access
and creation attributes apply and should be assured by the server.
See the section "Format of NFILE File Property/Value Pairs", section
7.5.
8.7 CREATE-LINK Command
Command: (CREATE-LINK tid pathname target-pathname properties)
Response: (CREATE-LINK tid link-truename)
CREATE-LINK creates a link on the remote file system.
pathname is the pathname of the link to be created; target-pathname
is the place in the file system to which the link points. Both are
required arguments. The return value link-truename names the
resulting link.
If a server on a file system that does not support links receives the
CREATE-LINK command, it sends a command error response.
The arguments pathname and target-pathname, and the return value
link-truename, are all strings in the full pathname syntax of the
server host. See the section "Syntax of File and Directory Pathname
Arguments", section 7.4.
The required properties argument is a token list of keyword/value
pairs. These properties and their values specify certain attributes
to be given to the link. The allowable keywords and associated
Greenberg & Keene [Page 21]
RFC 1037 NFILE - A File Access Protocol December 1987
values are operating system dependent; typically they indicate
arguments to be given to the native primitive for creating links.
If no property pairs are given in the command, the server should
apply a reasonable default set of attributes to the link. See the
section "Format of NFILE File Property/Value Pairs", section 7.5.
8.8 DATA-CONNECTION Command
Command: (DATA-CONNECTION tid new-input-handle new-output-handle)
Response: (DATA-CONNECTION tid connection-identifier)
DATA-CONNECTION enablesthe user side to initiate the establishment of
a new data connection. The user side supplies two required string
arguments, new-input-handle and new-output-handle. These arguments
are used by subsequent commands to reference the two data channels
that constitute the data connection now being created. new-input-
handle describes the server-to-user data channel, and new-output-
handle describes the user-to-server channel. new-input-handle and
new-output-handle cannot refer to any data channels already in use.
Upon receiving the DATA-CONNECTION command, the server arranges for a
logical port (called socket or contact name on some networks) to be
made available on the foreign host machine. When the server has made
that port available, it must inform the user of its identity. The
server relays that information in the command response, in the
required connection-identifier, a string. The server then listens on
the port named by connection-identifier, and waits for the user side
to connect to it.
Upon receiving the success command response, the user side supplies
the connection-identifier to the local network implementation, in
order to connect to the specified port. The data connection is not
fully established until the user side connects successfully to that
port. This command is unusual in that the successful command
response does not signify the completion of the command; it indicates
only that the server has fulfilled its responsibility in the process
of establishing a data connection.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -