DIRECTORY BasicTime USING [GMT, nullGMT], FilingP10V5 USING [Handle, Session], FilingAttributesP10V5 USING [FileID, Version], PFSNames USING [PATH], Rope USING [ROPE], XNS USING [Address], XNSAuth USING [Conversation, Credentials], XNSCHName USING [Name]; XNSFilingOps: CEDAR DEFINITIONS ~ { OPEN BasicTime, FilingAttributesP10V5, Rope; FileType: TYPE ~ CARD32; Root: TYPE ~ FilingP10V5.Handle; Human: TYPE ~ XNSAuth.Credentials; Ticket: TYPE ~ XNSAuth.Conversation; Cabinet: TYPE ~ XNSCHName.Name; OpenSession: TYPE ~ REF FilingP10V5.Session; ServerData: TYPE ~ REF ServerDataObject; ServerDataObject: TYPE ~ RECORD [ serverName: ROPE, -- the readable name of the service steel: Cabinet, -- the qualified name of the service address: REF XNS.Address, -- the transport name of the service tkt: Ticket, -- the "user" for this connection session: OpenSession, -- the session for this connection timeToLive: CARD32, -- the session time-to-live root: Root, -- the root directory of the service admin: AdminData _ [0, 0, 0, 0, BasicTime.nullGMT, NIL, FALSE] ]; AdminData: TYPE ~ RECORD [ tktTTL: CARD32, -- the conversation time-to-live trTTL: CARD32, -- the transport time-to-live callsOut: CARD32, -- standing in the rain? files: INT32, -- opened, not yet closed lastOp: BasicTime.GMT, -- informational downMsg: ROPE, -- non-NIL => server is down active: BOOL _ FALSE -- TRUE when a call is active; keeps the session alive. ]; Info: TYPE ~ RECORD [ version: Version, bytes: INT, created: BasicTime.GMT, fileType: FileType, pathName: ROPE, fID: FileID, isDir: BOOL, numKids: CARD ]; Op: TYPE ~ { delete, enumerate, enumerateNames, rename, retrieve, store }; EnumProc: TYPE ~ PROC [eFile: PFSNames.PATH, eInfo: Info, pathy: PFSNames.PATH] RETURNS [continue: BOOL _ TRUE]; EnumerateOp: PROC [mnt: ServerData, pattern: PFSNames.PATH, proc: EnumProc, op: Op]; LogonOp: PROC [server: ROPE] RETURNS [mnt: ServerData _ NIL]; MountRootOp: PROC [mnt: ServerData]; ContinueOp: PROC [mnt: ServerData]; LogoffOp: PROC [mnt: ServerData]; CallProtected: PROC [mnt: ServerData, proc: PROC, pathname: ROPE _ NIL, time: GMT _ nullGMT]; GuardOp: PROC [proc: PROC]; }. * XNSFilingOps.mesa Copyright Σ 1990 by Xerox Corporation. All rights reserved. Bill Jackson (bj), May 30, 1990 1:15 pm PDT Filing types Strong Authentication I concede this is a bit baroque, but let's face it, color is more interesting! Server data Junk Remote Operations Error Management Κq•NewlineDelimiter ™šœ™J™Kšœ !˜/Kšœ "˜8Kšœ œ ˜/Kšœ  $˜1Kšœ3œœ˜>K˜K˜—šœ œœ˜Kšœœ  ˜0Kšœœ ˜,Kšœ œ ˜*Kšœœ ˜(Kšœœ ˜'Kšœ œ ˜+Kšœœœ 7˜LK˜——šŸ™šœœœ˜Kšœ˜Kšœœ˜ Kšœœ˜Kšœ˜Kšœ œ˜Kšœ ˜ Kšœœ˜ Kšœ ˜ Kšœ˜K˜—KšœœB˜JKšœ œœœœœ œœ˜pK˜Kšž œœ%œ˜T—šŸ™Kš žœœ œœœ˜=Jšž œœ˜$Jšž œœ˜#Jšžœœ˜!—šΠbz™Kš ž œœœ œœœ ˜]Kšžœœœ˜K˜—J˜J˜——…—l