<> <> <> <> <> <> DIRECTORY VM USING[PageCount, PageNumber], YggEnvironment USING[PageNumber], YggFileMap USING[Handle]; YggFilePageMgrPrivateChunk: CEDAR DEFINITIONS = BEGIN RefChunk: TYPE = REF Chunk; Chunk: TYPE = RECORD[ chunkType: ChunkType, defWritePending: BOOLEAN, state: ChunkState, useCount: NAT, fileHandle: YggFileMap.Handle, startFilePageNumber: YggEnvironment.PageNumber, startVMPageNumber: VM.PageNumber, nVMPages: NAT, prev: RefChunk, next: RefChunk <> <> <> ]; ChunkType: TYPE = {normal, log, treeHeader, lruHeader, ostGeneral}; ClientChunkType: TYPE = ChunkType[normal..log]; ListChunkType: TYPE = ChunkType[normal..log]; ChunkState: TYPE = {undefined, valid, readInProgress, writeInProgress}; ChunkVMPageCount: ARRAY ListChunkType OF VM.PageCount = [normal: 4, log: 4]; ChunkFilePageCount: ARRAY ListChunkType OF VM.PageCount = [normal: 4, log: 4]; <> <> <> <> <> ChunkAllocator: PROCEDURE [chunkType: ChunkType, permanent: BOOLEAN] RETURNS [refChunk: RefChunk]; <> ChunkIsDirty: PROCEDURE[refChunk: RefChunk] RETURNS [dirty: BOOLEAN]; <> Sweeper: PROCEDURE[chunkType: ChunkType]; <> <> InternalFilePageMgrLogicError: ERROR; END. Edit Log Initial: Kolling: 22-Feb-82 16:18:32: a private defs file for the File Page Manager which sits between the rest of Alpine and Pilot. <> <> <<>>