-- Loader.mesa -- Last Modified By Paul Rovner On May 11, 1982 2:15 pm DIRECTORY File USING [Capability, PageCount], PrincOps USING [ControlModule]; Loader: DEFINITIONS = BEGIN Instantiate: PROC[file: File.Capability, offset: File.PageCount, -- offset within the file of the first page of the BCD. -- Normally 1 (page 0 is the leader page) codeLinks: BOOLEAN ← TRUE] RETURNS[cm: PrincOps.ControlModule, unboundImports: BOOLEAN]; -- raises Error Start: PROC[cm: PrincOps.ControlModule]; Error: ERROR[type: ErrorType, message: LONG POINTER TO TEXT ← NIL]; -- BEWARE that the storage for a non-NIL message is allocated in the local -- frame of the guy who raised Error. You must copy the message body before -- unwinding if you want the text available after the unwind. ErrorType: TYPE = {invalidBcd, fileNotFound, versionMismatch, loadStateFull, insufficientVM}; END.