DIRECTORY AlpineEnvironment USING [AccessRights, FileID, LockFailure, LockOption, NeededAccess, OpenFileID, OperationFailure, OwnerName, PageCount, PageRun, PropertyValuePair, RecoveryOption, ReferencePattern, UnknownType, UniversalFile, VolOrVolGroupID], AlpineFile USING [allProperties, PropertySet, RESULTPageBuffer, VALUEPageBuffer], AlpTransaction USING [Handle]; AlpFile: CEDAR DEFINITIONS = BEGIN AccessRights: TYPE = AlpineEnvironment.AccessRights; allProperties: PropertySet = AlpineFile.allProperties; FileID: TYPE = AlpineEnvironment.FileID; LockOption: TYPE = AlpineEnvironment.LockOption; OpenFileID: TYPE = AlpineEnvironment.OpenFileID; OwnerName: TYPE = AlpineEnvironment.OwnerName; PageCount: TYPE = AlpineEnvironment.PageCount; PageRun: TYPE = AlpineEnvironment.PageRun; PropertySet: TYPE = AlpineFile.PropertySet; PropertyValuePair: TYPE = AlpineEnvironment.PropertyValuePair; RecoveryOption: TYPE = AlpineEnvironment.RecoveryOption; ReferencePattern: TYPE = AlpineEnvironment.ReferencePattern; RESULTPageBuffer: TYPE = AlpineFile.RESULTPageBuffer; UniversalFile: TYPE = AlpineEnvironment.UniversalFile; VALUEPageBuffer: TYPE = AlpineFile.VALUEPageBuffer; VolOrVolGroupID: TYPE = AlpineEnvironment.VolOrVolGroupID; AccessFailed: READONLY ERROR [missingAccess: AlpineEnvironment.NeededAccess]; LockFailed: READONLY ERROR [why: AlpineEnvironment.LockFailure]; OperationFailed: READONLY ERROR [why: AlpineEnvironment.OperationFailure]; StaticallyInvalid: READONLY ERROR; Unknown: READONLY ERROR [what: AlpineEnvironment.UnknownType]; PossiblyDamaged: READONLY SIGNAL; Handle: TYPE = REF Object; Object: TYPE = RECORD[ trans: AlpTransaction.Handle, openFileID: OpenFileID]; Open: PROCEDURE[transHandle: AlpTransaction.Handle, universalFile: UniversalFile, access: AccessRights _ readOnly, lock: LockOption _ [intendRead, wait], recoveryOption: RecoveryOption _ log, referencePattern: ReferencePattern _ random] RETURNS[handle: Handle, fileID: FileID]; Create: PROCEDURE[transHandle: AlpTransaction.Handle, volumeID: VolOrVolGroupID, owner: OwnerName, initialSize: PageCount, recoveryOption: RecoveryOption _ log, referencePattern: ReferencePattern _ random] RETURNS[handle: Handle, refUniversalFile: REF UniversalFile]; Close: PROCEDURE[handle: Handle]; Delete: PROCEDURE[handle: Handle]; ReadPages: UNSAFE PROCEDURE[handle: Handle, pageRun: PageRun, pageBuffer: RESULTPageBuffer, lock: LockOption _ [read, wait]]; WritePages: PROCEDURE[handle: Handle, pageRun: PageRun, pageBuffer: VALUEPageBuffer, lock: LockOption _ [write, wait]]; ReadProperties: PROCEDURE[handle: Handle, desiredProperties: PropertySet _ allProperties, lock: LockOption _ [read, wait]] RETURNS[properties: LIST OF PropertyValuePair]; WriteProperties: PROCEDURE[handle: Handle, properties: LIST OF PropertyValuePair, lock: LockOption _ [write, wait]]; LockPages: PROCEDURE[handle: Handle, pageRun: PageRun, lock: LockOption _ [read, wait]]; UnlockPages: PROCEDURE[handle: Handle, pageRun: PageRun]; GetAccessRights: PROCEDURE[handle: Handle] RETURNS[access: AccessRights]; GetLockOption: PROCEDURE[handle: Handle] RETURNS[lock: LockOption]; SetLockOption: PROCEDURE[handle: Handle, lock: LockOption]; GetRecoveryOption: PROCEDURE[handle: Handle] RETURNS[recoveryOption: RecoveryOption]; GetReferencePattern: PROCEDURE[handle: Handle] RETURNS[referencePattern: ReferencePattern]; SetReferencePattern: PROCEDURE[handle: Handle, referencePattern: ReferencePattern]; GetSize: PROCEDURE[handle: Handle, lock: LockOption _ [read, wait]] RETURNS[size: PageCount]; SetSize: PROCEDURE[handle: Handle, size: PageCount, lock: LockOption _ [write, wait]]; GetUniversalFile: PROCEDURE[handle: Handle] RETURNS[universalFile: UniversalFile]; UnlockVersion: PROCEDURE[handle: Handle]; IncrementVersion: PROCEDURE[handle: Handle, increment: INT]; END. ΔAlpFile.mesa Last edited by: MBrown on February 1, 1984 8:10:23 pm PST Kolling on October 18, 1983 2:41 pm Taft on June 2, 1983 11:29 am In addition to the errors documented for the corresponding Alpine procedures, all of the procedures defined in this interface can also error RPC.CallFailed[RPC.CallFailure]. Edit Log Initial: Kolling: February 14, 1983 5:08 pm: package to aid clients, in conjunction with AlpInstance and AlpTransaction. Κ8– "cedar" style˜Jšœ ™ šœ™Jšœ)™)Jšœ#™#Jšœ™—unitšΟk ˜ Icodešœœέ˜υLšœ œ@˜QLšœœ ˜—šœ œ˜Lš˜L˜Lšœœ"˜4L˜6Lšœœ˜(Lšœ œ ˜0Lšœ œ ˜0Lšœ œ˜.Lšœ œ˜.Lšœ œ˜*Lšœ œ˜+Lšœœ'˜>Lšœœ$˜8Lšœœ&˜Lšœœœ˜!Kšœœœ˜šœœœ˜L˜L˜J˜—Jšœ­™­KšΟnœ œήœ!˜•Kšžœ œ½œ#œ˜‹Kšžœ œ˜!Kšžœ œ˜"Kšž œœb˜}Kšž œ œb˜wKš žœ œbœ œœ˜ͺKšžœ œœœ6˜tKšž œ œD˜XKšž œ œ#˜9Kšžœ œœ˜IKšž œ œœ˜CKšž œ œ#˜;Kšžœ œœ!˜UKšžœ œœ%˜[Kšžœ œ5˜SKšžœ œ2œ˜]Kšžœ œD˜VKšžœ œœ˜RKšž œ œ˜)Kšžœ œœ˜