<<>> <> <> <> <> <> <> <> <> DIRECTORY MobDefs USING [Base, FTIndex, RefLitIndex, SGIndex, TypeIndex], MobUtilDefs USING [MobHandle], MobHashTypes USING [HTIndex], IO USING [STREAM]; MobLiterals: DEFINITIONS = { LitIndex: TYPE ~ MobHashTypes.HTIndex; LiteralState: TYPE = REF LiteralStateInfo; LiteralStateInfo: TYPE; <> MapLitLink: PROC[ls: LiteralState, old: MobDefs.RefLitIndex] RETURNS[MobDefs.RefLitIndex]; MapTypeLink: PROC[ls: LiteralState, old: MobDefs.TypeIndex] RETURNS[MobDefs.TypeIndex]; Load: PROC[ls: LiteralState, mobh: MobUtilDefs.MobHandle, MapFile: PROC[fti: MobDefs.FTIndex, mobh: MobUtilDefs.MobHandle] RETURNS[MobDefs.FTIndex], MapSegment: PROC[sgi: MobDefs.SGIndex, mobh: MobUtilDefs.MobHandle] RETURNS[MobDefs.SGIndex]] RETURNS[success: BOOL ¬ TRUE]; Unload: PROC[ls: LiteralState]; <> EnterVersionFiles: PROC[ ls: LiteralState, ftb: MobDefs.Base, ftLimit: MobDefs.FTIndex, mobh: MobUtilDefs.MobHandle, MapFile: PROC[fti: MobDefs.FTIndex, mobh: MobUtilDefs.MobHandle] RETURNS[MobDefs.FTIndex]]; SegmentSize: PROC[ls: LiteralState] RETURNS[nWords: CARD]; UpdateSegments: PROC[ls: LiteralState, MapSegment: PROC[MobDefs.SGIndex] RETURNS[MobDefs.SGIndex]]; Write: PROC[ls: LiteralState, stream: IO.STREAM]; <> Create: PROC[] RETURNS[LiteralState]; SealLiterals: PROC[ls: LiteralState]; Finalize: PROC[ls: LiteralState]; }.