<> <> <> <> <> <> <> DIRECTORY AlpineEnvironment, AlpineInternal, Basics; AlpineLog: DEFINITIONS = BEGIN TransID: TYPE = AlpineEnvironment.TransID; Comparison: TYPE = Basics.Comparison; RecordType: TYPE = AlpineInternal.LogRecordType; <> <> RecordID: TYPE = AlpineInternal.LogRecordID; <> <> nullRecordID: RecordID = AlpineInternal.nullLogRecordID; <> Compare: PROC [a, b: RecordID] RETURNS [Comparison]; <> <> firstRecordID: RecordID = AlpineInternal.firstRecordID; <> lastRecordID: RecordID = AlpineInternal.lastRecordID; <> Block: TYPE = RECORD [ base: LONG POINTER, length: CARDINAL, rest: BlockPtr _ NIL ]; BlockPtr: TYPE = LONG POINTER TO Block; nullBlock: Block = [base: NIL, length: 0, rest: NIL]; <> <> <> <> minBlockLen: INT = 1; maxBlockLen: INT = LAST[CARDINAL] - 512; <> RecoveryProc: TYPE = PROC [ record: RecordID, type: RecordType, trans: AlpineInternal.TransHandle, outcome: TransState]; <> <> <> TransState: TYPE = AlpineInternal.TransState; <<{committed, aborted, ready}>> RegisterRecoveryProc: PROC [recordType: RecordType, recoveryProc: RecoveryProc]; <> <> <> <> <> ReadForRecovery: ReadProc; <> <> <> <> Write: PROC [ trans: AlpineInternal.TransHandle, recordType: RecordType, recordData: Block, force: BOOL _ FALSE] RETURNS [thisRecord, followingRecord: RecordID]; <> CoordinatorWrite: PROC [ trans: AlpineInternal.CoordinatorHandle, recordType: RecordType, recordData: Block, force: BOOL _ FALSE] RETURNS [thisRecord, followingRecord: RecordID]; <> WriteFailed: ERROR; Force: PROC [followingRecord: RecordID]; <> <> <> ReadProc: TYPE = PROC [thisRecord: RecordID, wordsToSkip: CARDINAL _ 0, to: Block] RETURNS [status: ReadProcStatus, wordsRead: CARDINAL]; ReadProcStatus: TYPE = {normal, destinationFull, sourceExhausted}; <> <> Read: ReadProc; <> <> <> END. CHANGE LOG Created by MBrown on 2-Dec-81 Changed by MBrown on 16-Dec-81 15:06:20 <> Changed by MBrown on 1-Feb-82 15:10:32 <> <> Changed by MBrown on 2-Feb-82 11:09:06 <> Changed by MBrown on June 23, 1982 4:16 pm <> Changed by MBrown on September 14, 1982 12:34 pm <> Changed by MBrown on September 15, 1982 8:39 pm <> <<(still in LogBasic).>> Changed by MBrown on October 2, 1982 8:25 pm <> Changed by MBrown on October 3, 1982 10:42 pm < LogFull (all other errors are really caller programming errors).>> < status: ReadProcStatus.>> Changed by MBrown on October 7, 1982 5:09 pm <> Changed by MBrown on October 11, 1982 3:21 pm <> Changed by MBrown on November 3, 1982 11:59 am <> Changed by MBrown on January 30, 1984 10:10:13 am PST < Basics for Cedar 5.0.>> <> <> <<>>