-- FileMgrPack.pack
-- Yokota March 23, 1981 11:38 AM GetLabelString is moved from FileHelperProcess to Volume, and GetSavedLocalTimeParameters is moved from FileAttributes to PhysicalVolume.
-- McJones January 31, 1981 11:19 AM {Get, Set}LocalTimeParameters; diddle Scavenger; delete frames
-- Gobbel January 13, 1981 3:36 PM (previous edit)
-- Levin August 26, 1982 3:42 pm ReplicateImmutable now separate from Move.
FileMgr: SEGMENT =
BEGIN
FileHelperProcess: CODE PACK =
BEGIN
FileImpl [FileHelperProcess, GetFileDescriptorSignals, GetFileDescriptor];
VolAllocMapImpl [Close];
VolFileMapImpl [Close, ContextSet, Find, Get, GetPageGroup, Lower,
ReadNext];
-- We include GetAttributes, GetLabelString, GetLogicalRootPage and
-- GetStatus here as they fit and are (or are presumed to be) called
-- frequently in the development environment
VolumeImpl [Activate, Deactivate, GetAttributes, GetLogicalRootPage, GetNext,
GetStatus, LogicalVolumeFind, LVGetEntryPointer, LVGetStatus, VolumeAccess];
END;
VMMHelperProcs: CODE PACK =
{FileImpl [GetFileAttributes]};
VFMChangingSize: CODE PACK =
BEGIN
VolAllocMapImpl [AccessVAM, AllocPageGroup, FreePageGroup];
VolFileMapImpl [CreateVPage, Delete, DeletePageGroup, FreeVPage, Insert,
InsertPageGroup, Merge, PutNext, Split, Xtra];
END;
FileCreate: CODE PACK =
{FileImpl [Create, CreateWithID, CreateWithIDExternal, CreateWithIDInternal,
TmpsEnter, TmpsGet, TmpsGrow]};
FileDelete: CODE PACK =
{FileImpl [Delete, DeleteCommon, DeleteFileOnVolumeInternal,
DeleteImmutable, TmpsRemove]};
FileSetSize: CODE PACK =
{FileImpl [SetSize, SetSizeInternal]};
FileAttributes: CODE PACK =
BEGIN
FileImpl [ChangeAttributes, ChangeAttributesInternal, GetAttributes,
GetSize, MakeImmutable, MakePermanent];
-- The following should be in a small cold PhysicalVolume pack (it is used once/boot), but it fits here:
END;
FileMapLogging: CODE PACK =
{FileImpl [GetBootLocation, GetFilePoint, GetVIDAndGroup]};
OtherFileStuff: CODE PACK =
{FileImpl [IsOnVolume, MakeBootable,
MakeBootableOrUnbootable, MakeUnbootable, SetDebuggerFiles]};
TransactionRelatedRunning: CODE PACK =
{FileImpl [LogContents, TxSetSize]};
TransactionRelatedAborting: CODE PACK =
{FileImpl [MakeMutable, MakeTemporary, TxCreate, TxMakePerm]};
Scavenger: CODE PACK =
BEGIN
ScavengeImpl EXCEPT [Initialize, MAIN];
VolFileMapImpl [InitMap];
VolumeImpl [BeginScavenging, EndScavenging];
END;
Volume: CODE PACK =
BEGIN
FileImpl [CloseVolumeAndFlushFiles, DeleteTempsInternal,
DeleteTmpsInternalNew, DeleteTmpsInternalOld, OpenVolumeAndDeleteTemps];
VolFileMapImpl [GetNextFile];
VolumeImpl [Close, CloseLogicalVolume, GetLabelString, GetRootFile, IsOnServer, Open,
OpenLogicalVolume, OpenLogicalVolumeInternal, OpenVolume, PutRootFile,
SetRootFile, SignalVolumeAccess];
END;
PhysicalVolume: CODE PACK =
BEGIN
MarkerPageImpl [Enter, EnterMarkerID, Find, FindInternal, Flush];
PhysicalVolumeImpl [AssertNotAPilotVolume, AssertPilotVolume,
AwaitStateChange, CheckPhysicalRootLabel, DriveSize,
FinishWithNonPilotVolume, GetAttributes, GetDrive, GetHandle, GetHints,
GetNext, GetNextDrive, GetNextLogicalVolume, GetPVDrive,
GetSavedLocalTimeParameters, InterpretHandle,
IsReady, Offline, PhysicalRootPageAccess, PhysicalRootPageAccessInternal,
PhysicalRootPageCheck, PhysicalRootPageMap, PhysicalRootPageUnmap,
PhysicalVolumeOffLineInternal, PhysicalVolumeOnLineInternal,
RegisterPvInfo, RegisterSubvolumeMarker, SetSavedLocalTimeParameters, ValidateDrive];
VolumeImpl [CheckLogicalVolume, EnterLV, FindLogicalVolume, GetLVStatus,
LogicalVolumeCheck, LogicalVolumeDebuggerCheck, LogicalVolumeLike,
LogicalVolumeOffLine, LVDecrementPieceCount, PinnedFileEnter,
PinnedFileFlush, ReadAndCheckLogicalRootLabel, RegisterLogicalSubvolume,
RegisterVFiles, SubvolumeOffline, SubvolumeOnline, UnregisterVFiles,
VFileEnter];
END;
Othello: CODE PACK =
BEGIN
MarkerPageImpl [CreateMarkerPage, GetNextPhysicalVolume, MarkerPageMap,
MarkerPageUnmap, UpdateLogicalMarkerPages, UpdatePhysicalMarkerPages];
PhysicalVolumeImpl [AccessPhysicalVolumeRootPage, CreateLogicalVolume,
CreatePhysicalVolume, EraseLogicalVolume, GetContainingPhysicalVolume,
GetNextBadPage, GetNextSubVolume, GetPhysicalVolumeAttributes,
GetPhysicalVolumeBootFiles, GetSubVolumeAttributes, MarkPageBad,
SetPhysicalVolumeBootFiles];
VolumeImpl [DriveSize, GetContainingPhysicalVolume,
GetLogicalVolumeBootFiles, GetType, LogicalVolumeCreate,
LogicalVolumeErase, SetLogicalVolumeBootFiles];
END;
FileMgrInitialization: CODE PACK =
BEGIN
-- Pin is only called by PilotControl. Move and ReplicateImmutable are
-- here only since they are unimplemented.
FileImpl [InitializeFileMgr, MAIN, Move, Pin, ReplicateImmutable];
MarkerPageImpl [MAIN];
PhysicalVolumeImpl [InitDisks, MAIN];
ScavengeImpl [Initialize, MAIN];
VolAllocMapImpl [MAIN];
VolFileMapImpl [MAIN];
VolumeImpl [OpenInitialVolumes, MAIN];
END;
END;