<> <> <> <> <<>> DIRECTORY BasicTime USING [ GMT, nullGMT ], LoganBerry USING [ Entry ], Rope USING [ ROPE ], RPC USING [ EncryptionKey ] ; NameDBBackDoor: CEDAR DEFINITIONS = { ROPE: TYPE = Rope.ROPE; AttributeSeq: TYPE = LoganBerry.Entry; KeyRope: PROC[key: RPC.EncryptionKey] RETURNS[keyRope: ROPE]; FetchAttribute: PROC[ attributes: AttributeSeq, attribute: ATOM, default: ROPE_NIL] RETURNS [value: ROPE, valueLoc: AttributeSeq_NIL]; ExtractAttribute: PROC[ attributes: AttributeSeq, attribute: ATOM] RETURNS [newAttributes: AttributeSeq_NIL]; StoreAttribute: PROC[attributes: AttributeSeq, attribute: ATOM, value: ROPE] RETURNS[newAttributes: AttributeSeq]; Append: PROC[ a1, a2: AttributeSeq] RETURNS [newAttributes: AttributeSeq]; RelTime: PROC[ropeTime: ROPE] RETURNS [relativeToNow: INT]; TimeRope: PROC [time: BasicTime.GMT _ BasicTime.nullGMT] RETURNS[nowRope: ROPE]; TAttr: PROC[attribute: ATOM, prefix: Rope.ROPE] RETURNS [tAttr: ATOM] }.