<> <> <> DIRECTORY AlpineEnvironment, AlpineInternal, FileInstance, FileMap, OpenFileMap, TransactionMap; FilePrivate: DEFINITIONS = BEGIN <> Concurrency: TYPE = {normal, exclusive}; EstablishOpenFileContext: PROCEDURE [conversation: AlpineEnvironment.Conversation, openFileID: AlpineEnvironment.OpenFileID, work: OpenFileWork, workLevel: AlpineInternal.WorkLevel _ normal, concurrency: Concurrency _ normal]; <> <> <> OpenFileWork: TYPE = PROCEDURE [openFile: OpenFileMap.Handle, fileInstance: FileInstance.Handle, file: FileMap.Handle, trans: TransactionMap.Handle, pUpdateCost: POINTER TO INT]; AcquireFileInterlock: PROCEDURE [file: FileMap.Handle]; <> <> EstablishTransactionContext: PROCEDURE [conversation: AlpineEnvironment.Conversation, transID: AlpineEnvironment.TransID, work: TransactionWork, workLevel: AlpineInternal.WorkLevel _ normal]; <> <> <> TransactionWork: TYPE = PROCEDURE [trans: TransactionMap.Handle, pUpdateCost: POINTER TO INT]; <> PrepareForCommit: PROCEDURE [fileInstance: FileInstance.Handle]; PerformImmediateFileActions: PROCEDURE [fileInstance: FileInstance.Handle]; PerformDeferredFileActions: PROCEDURE [fileInstance: FileInstance.Handle]; UndoFileActions: PROCEDURE [fileInstance: FileInstance.Handle]; <> PerformDeferredPageActions: PROCEDURE [fileInstance: FileInstance.Handle]; <> LongPageRun: TYPE = RECORD [ firstPage: AlpineEnvironment.PageNumber, count: AlpineEnvironment.PageCount]; PerformAnyCommittedIntentions: PROCEDURE [fileInstance: FileInstance.Handle, pageRun: LongPageRun]; <> <> <> stdPZone: READONLY ZONE; <> recovering: READONLY BOOLEAN; <> END.