<> <> <> <> DIRECTORY AccessControlPrivate USING[PntrDataRec], AccessControlTransMap USING[Handle], AlpineEnvironment USING[FileID, OwnerName, OwnerPropertySet, OwnerPropertyValuePair, PageCount, UniversalFile, VolumeGroupID, VolumeID]; AccessControlMain: CEDAR DEFINITIONS = BEGIN CommonChangeOwnerAndHeader: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, caller: Caller, transHandle: AccessControlTransMap.Handle, ownerName: AlpineEnvironment.OwnerName, overCommitQuotasIfNeeded: BOOLEAN, ownerProperties: LIST OF AlpineEnvironment.OwnerPropertyValuePair, newQuota: AlpineEnvironment.PageCount] RETURNS [spaceLeftOnVolumeGroup: AlpineEnvironment.PageCount]; <> Caller: TYPE = {add, writeProps, remove}; CommonChangeOwner: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerName: AlpineEnvironment.OwnerName, ownerProperties: LIST OF AlpineEnvironment.OwnerPropertyValuePair]; <> ReadAllOwnerProperties: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerName: AlpineEnvironment.OwnerName, desiredOwnerProperties: AlpineEnvironment.OwnerPropertySet] RETURNS [ownerProperties: LIST OF AlpineEnvironment.OwnerPropertyValuePair]; <> GetOwnerRecordForReadAndUnlock: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerName: AlpineEnvironment.OwnerName, pntrDataRec: AccessControlPrivate.PntrDataRec]; <> ChangeSpaceViaOwnerName: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerName: AlpineEnvironment.OwnerName, nPages: AlpineEnvironment.PageCount] RETURNS [okay: BOOLEAN]; <> CreateAndInitOwnerFile: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerFileVolID: AlpineEnvironment.VolumeID, totalQuota, volumeGroupSize: AlpineEnvironment.PageCount, overCommitQuotaDuringInitializeIfNeeded: BOOLEAN, maxNumberOfOwnersAllowed: NAT, nOwnerCacheEntries: NAT] RETURNS[ownerFileID: AlpineEnvironment.FileID]; <> RegisterVolGroup: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, ownerFileUniversalFile: AlpineEnvironment.UniversalFile, nOwnerCacheEntries: NAT] RETURNS[newOwnerFileID: AlpineEnvironment.FileID]; <> UnRegisterVolGroup: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle]; <> ReorgOwnerFile: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, maxNumberOfOwnersAllowed: NAT]; <> EnumAllOwners: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, prevOwnerName: AlpineEnvironment.OwnerName, desiredOwnerProperties: AlpineEnvironment.OwnerPropertySet] RETURNS [ownerName: AlpineEnvironment.OwnerName, ownerProperties: LIST OF AlpineEnvironment.OwnerPropertyValuePair]; <> EnumAllDataEntriesInOwnerFile: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, contRecNum: INT, desiredOwnerProperties: AlpineEnvironment.OwnerPropertySet] RETURNS [entryEmpty, entryValid: BOOLEAN, ownerName: AlpineEnvironment.OwnerName, ownerProperties: LIST OF AlpineEnvironment.OwnerPropertyValuePair, nextContRecNum: INT]; <> ReadOwnerFileHead: PROCEDURE[volGroupID: AlpineEnvironment.VolumeGroupID, transHandle: AccessControlTransMap.Handle, opWeight: OpWeight] RETURNS [version: NAT, recordedVolGroupID: AlpineEnvironment.VolumeGroupID, totalQuota, quotaLeft, volumeGroupSize: AlpineEnvironment.PageCount, numberOfOwners, numberOfOwnerSlotsInUse, maxNumberOfOwnersAllowed: NAT]; <> PhaseOneSpaceOwnerChanges: PROCEDURE[transHandle: AccessControlTransMap.Handle]; <> OpWeight: TYPE = {light, heavy}; END. Edit Log Initial: Kolling: January 12, 1983 2:51 pm: defs file private to AccessControl; procedures exported by the monster monitor module. <> <>