// IfsScavenger.decl
// Copyright Xerox Corporation 1979, 1982
// Last modified July 29, 1982  3:09 PM by Boggs

get "IfsFiles.decl"

manifest
[
// page types recorded in a PLME
ptGood = 1
ptBad = 2
ptFree = 3
ptIncorr = 4

// lpte flags
lfRewrite = 1
lfDIF = 2
lfDamaged = 4
// unused = 8

// error codes
ecScratchFile = 500
ecCreateDiskStream = 504
ecScavengeeFile = 506
]

//----------------------------------------------------------------------------
structure PLME:		// Page Link Map Entry
//----------------------------------------------------------------------------
[
fileId word =
   [
   sn1 word
   sn2 word
   vn word
   ]
pn word
nextP word		// vda
backP word		// vda
numChars word		// 0...TFSwordsPerPage*2 -1
type byte		// good, bad, free, incorrigable
rewrite bit
accessible bit
blank bit 6
]
manifest lenPLME = 8	// must be 8

//----------------------------------------------------------------------------
structure String [ length byte; char↑1,255 byte ]
//----------------------------------------------------------------------------