<> <> <> DIRECTORY BasicTime USING [nullGMT, GMT], IO USING [STREAM], Rope USING [ROPE]; ArchivistBTreePublic: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; GMT: TYPE = BasicTime.GMT; IllegalPattern: ERROR [pattern: ROPE]; BTreeTrouble: ERROR [explanation: ROPE]; <> Handle: TYPE = REF HandleRecord; HandleRecord: TYPE; FileInfoList: TYPE ~ REF FileInfoListRecord; FileInfoListRecord: TYPE ~ RECORD [ next: FileInfoList _ NIL, fileName: ROPE _ NIL, created: BasicTime.GMT _ BasicTime.nullGMT, volumes: ROPE _ NIL, state: FileState _ complete ]; FileState: TYPE ~ {none, pending, backup, complete}; OpenBTree: PROC [msg: STREAM_ NIL] RETURNS [Handle]; <BTrees>Archivist.btree.>> ReadFileInfo: PROC [h: Handle, fileName: ROPE, created: GMT] RETURNS [fileInfo: ROPE]; <> EnumerateRecord: PROC [h: Handle, pattern: ROPE, created: GMT _ BasicTime.nullGMT] RETURNS [FileInfoList]; <> <<>> CloseBTree: PROC [h: Handle]; <> END.