<> <> <> <> DIRECTORY Rope USING [ROPE]; FSPseudoServers: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; PseudoServerList: TYPE = LIST OF PseudoServerRep; PseudoServerRep: TYPE = RECORD [ server: ROPE, avoidCheck: BOOL, write: ROPE, read: LIST OF ROPE]; <> GetPseudoServers: PROC RETURNS [PseudoServerList]; SetPseudoServers: PROC [list: PseudoServerList]; TranslateForWrite: PROC [server: ROPE] RETURNS [ROPE]; <> TranslateForRead: PROC [server: ROPE] RETURNS [LIST OF ROPE]; <> <<>> AvoidRemoteCheck: PROC [server: ROPE] RETURNS [BOOL]; <> Lookup: PROC [server: ROPE] RETURNS [PseudoServerList]; <<... returns the PseudoServerList for the given name (NIL if no such translation).>> <<>> DeletePseudoServer: PROC [server: ROPE] RETURNS [PseudoServerList]; <<... deletes the given pseudo server (if any) from the root PseudoServerList, and returns the deleted element from the list (NIL if no such element).>> InsertPseudoServer: PROC [new: PseudoServerList]; <<... inserts the first item in the PseudoServerList into the root PseudoServerList.>> PseudoServerFromRope: PROC [rope: ROPE] RETURNS [error: ROPE, new: 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.>> RopeFromPseudoServer: PROC [list: PseudoServerList] RETURNS [ROPE]; <<... turns the first entry in the PseudoServerList into a rope parsable by PseudoServerFromRope. If list = NIL, NIL is returned.>> END.