DIRECTORY FSPseudoServers USING [PseudoServerList], IO USING [STREAM], Rope USING [ROPE]; FSPseudoServersExtra: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; PseudoServerList: TYPE = FSPseudoServers.PseudoServerList; Lookup: PROC [server: ROPE] RETURNS [PseudoServerList]; DeletePseudoServer: PROC [server: ROPE] RETURNS [PseudoServerList]; InsertPseudoServer: PROC [new: PseudoServerList]; PseudoServerFromRope: PROC [rope: ROPE] RETURNS [error: ROPE, new: PseudoServerList]; RopeFromPseudoServer: PROC [list: PseudoServerList] RETURNS [ROPE]; END. ¶FSPseudoServersExtra.mesa Copyright c 1984 by Xerox Corporation. All rights reserved. Russ Atkinson, January 2, 1985 2:41:36 pm PST PseudoServerRep: TYPE = RECORD [ server: ROPE, avoidCheck: BOOL, write: ROPE, read: LIST OF ROPE]; Note: all server names must be given without brackets both as arguments and as elements of a PseudoServerList. GetPseudoServers: PROC RETURNS [PseudoServerList]; SetPseudoServers: PROC [list: PseudoServerList]; TranslateForWrite: PROC [server: ROPE] RETURNS [ROPE]; ... translates the server name into the server name specified for writing. If no such translation is present, returns the original server name. TranslateForRead: PROC [server: ROPE] RETURNS [LIST OF ROPE]; ... translates the server name into the server names specified for reading. If no such translation is present, returns a list containing the original server name. AvoidRemoteCheck: PROC [server: ROPE] RETURNS [BOOL]; ... determines if the server name implies not checking for remote versions. This is useful to reduce server traffic in cases where the files are known to be frozen. ... returns the PseudoServerList for the given name (NIL if no such translation). ... deletes the given pseudo server (if any) from the root PseudoServerList, and returns the deleted element from the list (NIL if no such element). ... inserts the first item in the PseudoServerList into the root PseudoServerList. ... parses the given line into a new single element PseudoServerList. If error = NIL, then new # NIL, and is the new pseudo server entry. If error # NIL, then new = NIL. ... turns the first entry in the PseudoServerList into a rope parsable by PseudoServerFromRope. If list = NIL, NIL is returned. Êq˜šœ™Jšœ Ïmœ1™