LoaderPrivate.mesa
-- private interface between the loader and the modeler.
-- Last edited by: John Maxwell on: February 28, 1983 1:39 pm
DIRECTORY
BcdOps USING [BcdBase],
File USING [Capability, PageNumber],
Inline USING [BITAND],
PilotLoaderOps USING [FrameItem],
PilotLoadStateOps USING [ConfigIndex, Map],
PrincOps USING [ControlLink, ControlModule, NullLink],
Space USING [Handle];
LoaderPrivate: DEFINITIONS IMPORTS Inline = BEGIN
OPEN BcdOps, PilotLoadStateOps;
FrameList: TYPE = POINTER TO PilotLoaderOps.FrameItem;
CreateGlobalFrames: PROC[
bcd: BcdBase, map: Map, config: ConfigIndex, allframelinks: BOOLEAN]
RETURNS[fl: FrameList ← NIL];
AssignCodeToFrames: PROC [
bcd: BcdBase, bcdCap: File.Capability, bcdSpaceBase: File.PageNumber, map: Map];
AssignControlModules: PROC[bcd: BcdBase, map: Map]
RETURNS [cm: PrincOps.ControlModule];
FindMappedSpace: PROC [space: Space.Handle] RETURNS [Space.Handle];
NextMultipleOfFour: PROC [n: UNSPECIFIED] RETURNS [UNSPECIFIED] =
INLINE {RETURN[n + Inline.BITAND[-LOOPHOLE[n, INTEGER], 3B]]};
GetModuleLink: PROC[atom: ATOM] -- exported by CedarLinkerImpl
RETURNS[link: PrincOps.ControlLink ← PrincOps.NullLink]
END . . .