-- 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;