// IfsBackup.decl -- definitions for backup system // Copyright Xerox Corporation 1979, 1980, 1982 // Last modified October 3, 1982 3:52 PM by Taft //--------------------------------------------------------------------------- structure BFSD: // Backup File System Descriptor //--------------------------------------------------------------------------- [ flags word = [ state byte //state of this entry (see below) refresh bit //file system needs to be refreshed ] errorCode word //error code for communication to user interface freePages word 2 //number of free pages in file system blank word 4 //for future expansion id word lenDirName //id of file system ] manifest lenBFSD = size BFSD/16 manifest [ numBFSD = 3 //number of BFSDs in BI //BFSD state values bfsdEmpty = 0 //slot is empty bfsdUsable = 1 //usable by backup system bfsdInUse = 2 //in use by backup system bfsdUsed = 3 //used by backup system ] //--------------------------------------------------------------------------- structure BI: // Backup Info //--------------------------------------------------------------------------- [ flags word = [ okToGo bit //ok for backup system to run inProgress bit //backup pass started and not yet completed blank bit 6 version byte //BI format version number ] timeStart @TIME //time at which to start backup system (TIME format) timeStop @TIME //time at which to stop (TIME format) timeInterval @TIME //time interval between backup passes (seconds) fullPeriod @TIME //period over which a full dump is performed (seconds) timeLastStart @TIME //time at which current backup pass was started iBFSD word //index of BFSD currently in use by backup system bfsd↑0,numBFSD @BFSD //backup file system descriptors pathName word lenPathName //name of file currently being worked on timeBackupAfter @TIME //repeat backup of all files last backed up after this ] manifest lenBI = size BI/16 manifest biVersion = 1 manifest [ //error codes ecBackupCreateFD = 400 ecBackupLookupFD = 401 ecBackupCreateFile = 402 ecBackupLookupFile = 403 ecBackupDelete = 404 ecNotBackupFS = 405 ecRestoreCreateFD = 425 ecRestoreLookupFD = 426 ecRestoreNoBackup = 427 ecRestoreObsolete = 428 //result codes passed around the backup process and //between it and the user interface backupDone = 451 //backup completed backupFileBusy = 452 //file busy - can't back up now backupDiskFull = 453 //backup disk is full backupHalted = 454 //backup halted externally backupNotNeeded = 455 //backup not required backupCantAccess = 456 //unexpectedly failed to back up file for reason // other than the ones given above ]