<> <> <> <> <> <> <> <> DIRECTORY AlpineEnvironment; AlpineOwner: DEFINITIONS = BEGIN AccessList: TYPE = AlpineEnvironment.AccessList; -- necessary, or lupine bombs out. Conversation: TYPE = AlpineEnvironment.Conversation; OwnerName: TYPE = AlpineEnvironment.OwnerName; PageCount: TYPE = AlpineEnvironment.PageCount; TransID: TYPE = AlpineEnvironment.TransID; VolumeGroupID: TYPE = AlpineEnvironment.VolumeGroupID; <> <> OwnerProperty: TYPE = AlpineEnvironment.OwnerProperty; OwnerPropertyValuePair: TYPE = AlpineEnvironment.OwnerPropertyValuePair; OwnerPropertySet: TYPE = AlpineEnvironment.OwnerPropertySet; allOwnerProperties: OwnerPropertySet = AlpineEnvironment.allOwnerProperties; ReadProperties: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, owner: OwnerName, desiredProperties: OwnerPropertySet _ allOwnerProperties] RETURNS [properties: LIST OF OwnerPropertyValuePair]; <> <> WriteProperties: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, owner: OwnerName, properties: LIST OF OwnerPropertyValuePair, enforceTotalQuota: BOOL _ FALSE]; <> <> <> <> <> <> <> Create: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, owner: OwnerName, properties: LIST OF OwnerPropertyValuePair, enforceTotalQuota: BOOL _ FALSE] RETURNS [spaceLeftOnVolumeGroup: PageCount]; <> <> Destroy: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, owner: OwnerName]; <> <> ReadNext: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, previousOwner: OwnerName, desiredProperties: OwnerPropertySet _ allOwnerProperties] RETURNS [owner: OwnerName, properties: LIST OF OwnerPropertyValuePair]; <> <> ReadDBProperties: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID] RETURNS [nOwners, nEntriesUsed, nEntries: NAT, totalQuota, totalSpaceInUse, volumeGroupSize: PageCount]; <> <> <<>> <> ReorganizeDB: PROC [conversation: Conversation, transID: TransID, volumeGroupID: VolumeGroupID, nEntries: NAT]; <> <> <> AccessFailed: ERROR [missingAccess: AlpineEnvironment.NeededAccess]; LockFailed: ERROR [why: AlpineEnvironment.LockFailure]; OperationFailed: ERROR [why: AlpineEnvironment.OperationFailure]; StaticallyInvalid: ERROR; Unknown: ERROR [what: AlpineEnvironment.UnknownType]; END.