-- AlpineUserFileBinderPacifierImpl.mesa -- Last edited by -- Kolling on April 27, 1983 3:16 pm DIRECTORY AlpineEnvironment, AlpineFile, File, FileTypes; AlpineUserFileBinderPacifierImpl: PROGRAM EXPORTS AlpineFile = BEGIN AccessRights: TYPE = AlpineEnvironment.AccessRights; Conversation: TYPE = AlpineEnvironment.Conversation; FileID: TYPE = AlpineEnvironment.FileID; LockOption: TYPE = AlpineEnvironment.LockOption; OpenFileID: TYPE = AlpineEnvironment.OpenFileID; OwnerName: TYPE = AlpineEnvironment.OwnerName; PageCount: TYPE = AlpineEnvironment.PageCount; RecoveryOption: TYPE = AlpineEnvironment.RecoveryOption; ReferencePattern: TYPE = AlpineEnvironment.ReferencePattern; TransID: TYPE = AlpineEnvironment.TransID; VolOrVolGroupID: TYPE = AlpineEnvironment.VolOrVolGroupID; VolumeID: TYPE = AlpineEnvironment.VolumeID; -- AlpineFile: Open: PUBLIC PROCEDURE[conversation: Conversation, transID: TransID, volumeID: VolumeID, fileID: FileID, access: AccessRights _ readOnly, lock: LockOption _ [intendRead, wait], recoveryOption: RecoveryOption _ log, referencePattern: ReferencePattern _ random] RETURNS [openFileID: OpenFileID] = BEGIN ERROR; END; standardFile: File.Type = FileTypes.tUntypedFile; Create: PUBLIC PROCEDURE[conversation: Conversation, transID: TransID, volumeID: VolOrVolGroupID, owner: OwnerName, initialSize: PageCount, type: File.Type _ standardFile, recoveryOption: RecoveryOption _ log, referencePattern: ReferencePattern _ random] RETURNS [openFileID: OpenFileID] = BEGIN ERROR; END; Close: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] = BEGIN ERROR; END; Delete: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] = BEGIN ERROR; END; GetVolumeID: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [volumeID: VolumeID] = BEGIN ERROR; END; GetFileID: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [fileID: FileID] = BEGIN ERROR; END; GetTransID: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [transID: TransID] = BEGIN ERROR; END; GetAccessRights: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [access: AccessRights] = BEGIN ERROR; END; GetLockOption: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [lock: LockOption] = BEGIN ERROR; END; SetLockOption: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, lock: LockOption] = BEGIN ERROR; END; GetRecoveryOption: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [recoveryOption: RecoveryOption] = BEGIN ERROR; END; GetReferencePattern: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] RETURNS [referencePattern: ReferencePattern] = BEGIN ERROR; END; SetReferencePattern: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, referencePattern: ReferencePattern] = BEGIN ERROR; END; PageRun: TYPE = AlpineEnvironment.PageRun; PageBuffer: TYPE = LONG DESCRIPTOR FOR ARRAY OF WORD; VALUEPageBuffer: TYPE = PageBuffer; RESULTPageBuffer: TYPE = PageBuffer; maxPagesPerRun: CARDINAL = LAST[CARDINAL]/AlpineEnvironment.wordsPerPage; ReadPages: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, pageRun: PageRun, pageBuffer: RESULTPageBuffer, lock: LockOption _ [read, wait]] = BEGIN ERROR; END; WritePages: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, pageRun: PageRun, pageBuffer: VALUEPageBuffer, lock: LockOption _ [write, wait]] = BEGIN ERROR; END; LockPages: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, pageRun: PageRun, lock: LockOption _ [read, wait]] = BEGIN ERROR; END; UnlockPages: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, pageRun: PageRun] = BEGIN ERROR; END; Property: TYPE = AlpineEnvironment.Property; PropertyValuePair: TYPE = AlpineEnvironment.PropertyValuePair; PropertySet: TYPE = PACKED ARRAY Property OF FalseBool; FalseBool: TYPE = BOOLEAN _ FALSE; allProperties: PropertySet = ALL [TRUE]; ByteCount: TYPE = AlpineEnvironment.ByteCount; FileVersion: TYPE = AlpineEnvironment.FileVersion; ReadProperties: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, desiredProperties: PropertySet _ allProperties, lock: LockOption _ [read, wait]] RETURNS [properties: LIST OF PropertyValuePair] = BEGIN ERROR; END; WriteProperties: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, properties: LIST OF PropertyValuePair, lock: LockOption _ [write, wait]] = BEGIN ERROR; END; UnlockVersion: PUBLIC PROCEDURE [conversation: Conversation, openFileID: OpenFileID] = BEGIN ERROR; END; IncrementVersion: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, increment: LONG INTEGER] = BEGIN ERROR; END; GetSize: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, lock: LockOption _ [read, wait]] RETURNS [size: PageCount] = BEGIN ERROR; END; SetSize: PUBLIC PROCEDURE[conversation: Conversation, openFileID: OpenFileID, size: PageCount, lock: LockOption _ [write, wait]] = BEGIN ERROR; END; END. Ê¿˜JšÊÏcbœÏk œNÐbl œžœžœžœüœÏnœžœ÷žœžœ  œ) œžœðžœžœžœžœ œžœ8žœžœžœ œžœ8žœžœžœ  œžœ9žœžœžœžœ   œžœ6žœžœžœžœ   œžœ9žœžœžœžœ  œžœ9žœžœžœžœ   œžœ9žœžœžœžœ  œžœLžœžœžœ œžœ9žœ$žœžœžœ  œžœ9žœ(žœžœžœ  œžœ^žœžœžœžœ,žœžœž œžœžœžœžœžœ#žœ"žœžœžœ%  œžœ‹žœžœžœ  œžœ‹žœžœžœ  œžœmžœžœžœ  œžœLžœžœžœžœ4žœ8žœžœžœ žœžœžœžœ!žœžœžœ/žœ% œžœ‰žœžœžœžœžœžœ œžœDžœžœ8žœžœžœ   œžœ8žœžœžœ œžœCžœžœžœžœžœ œžœYžœžœžœžœ œžœmžœžœžœž œ˜³*—…—6û