-- PilotLoadStateFormat.mesa -- Last Modified by McJones, April 18, 1980 1:26 PM -- Last Modified by Paul Rovner, 4-May-82 9:29:27 DIRECTORY PrincOps USING [GFTIndex]; PilotLoadStateFormat: DEFINITIONS = BEGIN GFTIndex: TYPE = PrincOps.GFTIndex; LoadState: TYPE = LONG POINTER TO LoadStateObject; PilotVersionID: CARDINAL = 03302; LoadStateObject: TYPE = MACHINE DEPENDENT RECORD [ versionident: CARDINAL, fill: [0..LAST[CARDINAL]/(LAST[ConfigIndex]-FIRST[ConfigIndex]+1)] _ 0, nBcds: ConfigIndex, gft: ModuleTable, bcds: BcdTable]; ConfigIndex: TYPE = [0..377B]; NullConfig: ConfigIndex = LAST[ConfigIndex]; ModuleTable: TYPE = ARRAY GFTIndex OF ModuleInfo; ModuleInfo: TYPE = MACHINE DEPENDENT RECORD [ fill0: [0..(LAST[CARDINAL]/(LAST[ConfigIndex]-FIRST[ConfigIndex]+1))/2] _ 0, resolved: BOOLEAN, config: ConfigIndex, fill1: [0..LAST[CARDINAL]/(LAST[GFTIndex]-FIRST[GFTIndex]+1)] _ 0, gfi: GFTIndex]; NullModule: ModuleInfo = [resolved: FALSE, config: NullConfig, gfi: 0]; BcdTable: TYPE = RECORD[seq: SEQUENCE length: ConfigIndex OF BcdInfo]; BcdInfo: TYPE = MACHINE DEPENDENT RECORD [ SELECT OVERLAID * FROM ptr => [origin: LONG POINTER TO UNSPECIFIED], flags => [fill: [0..LAST[CARDINAL]/4] _ 0, exports, typeExported: BOOLEAN] ENDCASE]; Bcd: TYPE = LONG POINTER TO BcdInfo; END.