<<>> <> <> <> <> <> <> <> DIRECTORY BasicTime USING[GMT], CirioNubAccess USING[Handle], ObjectFiles USING[Module, Parsed, SimpleSeg], PFSNames USING [PATH], Rope USING[ROPE], SystemInterface USING[CirioFile, FileSet]; <> <> <> <> <> <<>> <> LoadStateAccess: CEDAR DEFINITIONS = BEGIN ROPE: TYPE ~ Rope.ROPE; PATH: TYPE ~ PFSNames.PATH; LoadStateHandle: TYPE = REF LoadStateHandleBody; LoadStateHandleBody: TYPE; CreateLoadStateHandle: PROC[serverName: ROPE, nub: CirioNubAccess.Handle, fileSet: SystemInterface.FileSet] RETURNS[LoadStateHandle]; <> LoadedSegmentsInfo: TYPE ~ ARRAY SimpleSeg OF LoadedSegmentInfo; LoadedSegmentInfo: TYPE ~ RECORD [base, size: CARD]; SimpleSeg: TYPE ~ ObjectFiles.SimpleSeg; BasicPCInfo: TYPE = RECORD[ loadedFileName: PATH, lsi: LoadedSegmentsInfo, possibleModuleNames: LIST OF PATH, moduleRelativeBaseAddr: CARD, procedureName: ROPE, procedureModuleRelativeBaseAddr: CARD]; GetBasicPCInfo: PROC[lsh: LoadStateHandle, absPC: CARD] RETURNS[REF BasicPCInfo]; <> <> <<>> GetRopeForBasicPCInfo: PROC[info: REF BasicPCInfo, absPC: CARD, ctr, pc, mo, la: BOOL] RETURNS[ROPE]; < omit the containing .o>> < list the module-relative pc>> < list the PC offset of the module wrt the parsed object file>> < list of text base of the parsed object file>> GetRopeListForBasicPCInfo: PROC[info: REF BasicPCInfo] RETURNS[LIST OF ROPE]; LoadedModuleInfo: TYPE = RECORD[ mtimeOfLoadedFile: CARD, sizeOfLoadedFile: CARD, createTimeOfLoadedFile: BasicTime.GMT, loadedFile: SystemInterface.CirioFile, parsed: ObjectFiles.Parsed, lsi: LoadedSegmentsInfo, module: ObjectFiles.Module, possibleModuleFileNames: LIST OF PATH, moduleRelativeBaseAddr: CARD]; GetLoadedModuleInfoFromAbsPC: PROC[lsh: LoadStateHandle, absPC: CARD, targetData: REF ANY _ NIL] RETURNS[REF LoadedModuleInfo]; <> <<>> GetLoadedModuleInfoFromStemName: PROC[lsh: LoadStateHandle, moduleName: ROPE, nToSkip: CARD, targetData: REF ANY _ NIL] RETURNS[REF LoadedModuleInfo]; <> <> <> <<>> GetRopeListForLoadedModuleInfo: PROC[info: REF LoadedModuleInfo] RETURNS[LIST OF ROPE]; GetRopeListForLoadedFileContainingLoadedModule: PROC[info: REF LoadedModuleInfo] RETURNS[LIST OF ROPE]; <<>> END..