Internal Memo XEROX To From Communication Protocols Ed Taft PARC/CSL Subject Date LookupFile Protocol September 10, 1982 Abstract The existence of a file, along with its create date and length hint, may be determined by a single exchange of packets with a LookupFile server. The existence of a file, along with its create date and length hint, may be determined by a single exchange of packets with the LookupFile server. This is intended to provide a means of file validation much cheaper than either FTP or Leaf. Its principal intended application is the CIFS file cache manager in Cedar. The server resides on socket 61B of any file server that offers this service. The client initiates the exchange with: LookupFileRequest: Pup type: 200B Pup ID: chosen by client Pup contents: a text string identifying the file If the server is not offering this service, it responds with an Error Pup with sub-type 2, no such port''. Otherwise, it responds with one of: LookupFileReply: Pup type: 201B Pup ID: same as LookupFileRequest Pup Pup contents: 3 fields, as follows: file version number (1 word) file create date, in standard Alto packed format (2 words, high-order word firstnote that this is the reverse of the word order for a Mesa LONG CARDINAL) file length in 8-bit bytes (2 words, high-order word first)note that this is only a hint, and doesn't include the leader page. LookupFileError: Pup type: 202B Pup ID: same as LookupFileRequest Pup Pup contents: 1-word error code whose interpretation is server-dependent It is the client's responsibility to choose Pup IDs in such a way that it can correctly match responses with requests. This protocol is currently implemented by IFS file servers running version 1.36.4 or newer of the IFS software. The IFS implementation requires that the LookupFileRequest contain a complete IFS filename in the form subdirectories>..>name!version'', except that the version may be one of the special version designators (!H'' or !L''), or may be omitted altogether in which case "!H" is assumed. Patterns containing *'' are not permitted. The error codes returned by IFS LookupFile servers are IFS internal error codes, whose interpretation may be found in file IFS.errors on that server.