<> <> <> <> <<>> DIRECTORY AlpineDirectory, AlpineEnvironment, AlpFile USING [Handle], AlpTransaction USING [Handle], Rope USING [ROPE]; AlpDirectory: CEDAR DEFINITIONS = BEGIN OPEN AE: AlpineEnvironment, AD: AlpineDirectory; <<>> <> <<>> CreateFile: PROC [name: Rope.ROPE, initialSize: AE.PageCount, recoveryOption: AE.RecoveryOption _ log, referencePattern: AE.ReferencePattern _ sequential, transHandle: AlpTransaction.Handle _ NIL] RETURNS [openFileID: AlpFile.Handle, fullPathName: Rope.ROPE]; <> <<>> DeleteFile: PROC [name: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName: Rope.ROPE]; OpenFile: PROC [name: Rope.ROPE, updateCreateTime: BOOL _ TRUE, access: AE.AccessRights _ readOnly, lock: AE.LockOption _ [intendRead, wait], recoveryOption: AE.RecoveryOption _ log, referencePattern: AE.ReferencePattern _ sequential, transHandle: AlpTransaction.Handle _ NIL, createOptions: AD.CreateOptions _ none] RETURNS [openFileID: AlpFile.Handle, createdFile: BOOL, fullPathName: Rope.ROPE]; <> <<>> Retrieve: PROC [remote: Rope.ROPE, local: Rope.ROPE _ NIL, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName: Rope.ROPE]; <> <<>> Store: PROC [remote: Rope.ROPE, local: Rope.ROPE _ NIL, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName: Rope.ROPE]; <> Copy: PROC [from, to: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fromName, toName: Rope.ROPE]; <> <<>> Rename: PROC [old, new: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[oldName, newName: Rope.ROPE]; <<>> SetKeep: PROC [fileName: Rope.ROPE, keep: CARDINAL, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName: Rope.ROPE]; DisableKeep: PROC [fileName: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName: Rope.ROPE]; SetDefaultKeep: PROC [volume: Rope.ROPE, owner: AE.OwnerName, defaultKeep: CARDINAL, transHandle: AlpTransaction.Handle _ NIL]; <<>> <<>> <> <<>> Insert: PROC [fileName: Rope.ROPE, file: AE.UniversalFile, keep: CARDINAL _ 0, transHandle: AlpTransaction.Handle _ NIL] RETURNS[oldFile: AE.UniversalFile, fullPathName: Rope.ROPE]; Remove: PROC [fileName: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[file: AE.UniversalFile, fullPathName: Rope.ROPE]; <<>> Lookup: PROC [fileName: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[file: AE.UniversalFile, fullPathName, link: Rope.ROPE]; Enumerate: PROC [pattern, previousFile: Rope.ROPE, defaultVersion: Version _ all, transHandle: AlpTransaction.Handle _ NIL] RETURNS[file: AE.UniversalFile, fullPathName, link: Rope.ROPE]; Version: TYPE = AD.Version; lowest: Version = AD.lowest; highest: Version = AD.highest; all: Version = AD.all; CreateLink: PROC [name, referent: Rope.ROPE, transHandle: AlpTransaction.Handle _ NIL] RETURNS[fullPathName, referentName: Rope.ROPE]; CreateDirectory: PROC [volume: Rope.ROPE, owner: AE.OwnerName, transHandle: AlpTransaction.Handle _ NIL]; <> <<>> Error: ERROR [type: AD.ErrorType]; END. <<>>