-- LoadStateOps.mesa -- Last Modified by Sandman, June 30, 1980 4:59 PM -- Copyright Xerox Corporation 1979, 1980 DIRECTORY AltoFileDefs USING [FP], BcdOps USING [BcdBase], ControlDefs USING [GFTIndex], LoadStateFormat USING [ ConfigIndex, LoadState, ModuleInfo, ModuleTable, NullConfig], SegmentDefs USING [FileSegmentHandle]; LoadStateOps: DEFINITIONS = BEGIN OPEN ControlDefs, SegmentDefs, LoadStateFormat; ConfigIndex: TYPE = LoadStateFormat.ConfigIndex; NullConfig: ConfigIndex = LoadStateFormat.NullConfig; MapConfigToReal: PROCEDURE [cgfi: GFTIndex, config: ConfigIndex] RETURNS [rgfi: GFTIndex]; MapRealToConfig: PROCEDURE [rgfi: GFTIndex] RETURNS [cgfi: GFTIndex, config: ConfigIndex]; EnterModule: PROCEDURE [rgfi: GFTIndex, module: ModuleInfo]; GetModule: PROCEDURE [rgfi: GFTIndex] RETURNS [module: ModuleInfo]; Map: TYPE = DESCRIPTOR FOR ARRAY OF GFTIndex; GetMap: PROCEDURE [config: ConfigIndex] RETURNS [map: Map]; ReleaseMap: PROCEDURE [map: Map]; InputLoadState: PROCEDURE RETURNS [nbcds: ConfigIndex]; ForceDirty: PROCEDURE = INLINE BEGIN dirty _ TRUE END; ReleaseLoadState: PROCEDURE; UpdateLoadState: PROCEDURE [config: ConfigIndex, bcd: BcdOps.BcdBase]; RemoveConfig: PROCEDURE [map: Map, config: ConfigIndex]; LoadStateInvalid: SIGNAL; LoadStateFull: SIGNAL; AcquireBcd: PROCEDURE [config: ConfigIndex] RETURNS [bcd: BcdOps.BcdBase]; ReleaseBcd: PROCEDURE [bcd: BcdOps.BcdBase]; BcdUnresolved: PROCEDURE [bcd: ConfigIndex] RETURNS [BOOLEAN]; BcdExports: PROCEDURE [bcd: ConfigIndex] RETURNS [BOOLEAN]; BcdExportsTypes: PROCEDURE [bcd: ConfigIndex] RETURNS [BOOLEAN]; EnumerationDirection: TYPE = {recentfirst, recentlast}; EnumerateModules: PROCEDURE [ proc: PROCEDURE [rgfi: GFTIndex, module: ModuleInfo] RETURNS [BOOLEAN]] RETURNS [GFTIndex]; EnumerateBcds: PROCEDURE [ dir: EnumerationDirection, proc: PROCEDURE [ConfigIndex] RETURNS [BOOLEAN]] RETURNS [config: ConfigIndex]; -- Alto specific operations state, initstate: FileSegmentHandle; loadstate: LoadState; gft: ModuleTable; dirty: BOOLEAN; GetBcdInfo: PROCEDURE [config: ConfigIndex] RETURNS [fp: POINTER TO AltoFileDefs.FP, base, pages: CARDINAL]; SetBcdInfo: PROCEDURE [ config: ConfigIndex, fp: POINTER TO AltoFileDefs.FP, base, pages: CARDINAL]; END....