<> <> <> DIRECTORY IO USING [STREAM], Rope USING [ROPE], MDADefs USING [DoradoPage, SubPage, Xbt, XDoradoPage], MDDefs USING [IFUMRecordPtr, IMRecordPtr, SrcFile, Symbol]; MDUtils: CEDAR DEFINITIONS = BEGIN <> PutWord: PROC[strm: IO.STREAM, val: WORD]; PutInteger: PROC[strm: IO.STREAM, val: INTEGER]; PutCardinal: PROC[strm: IO.STREAM, val: CARDINAL]; GetWord: PROC[strm: IO.STREAM] RETURNS[val: WORD]; GetInteger: PROC[strm: IO.STREAM] RETURNS[val: INTEGER]; GetCardinal: PROC[strm: IO.STREAM] RETURNS[val: CARDINAL]; WriteSymbolName: PROC[strm: IO.STREAM, name: Rope.ROPE]; IMPtr: PROC[offset: CARDINAL] RETURNS[MDDefs.IMRecordPtr]; IFUMPtr: PROC[offset: CARDINAL] RETURNS[MDDefs.IFUMRecordPtr]; CardAnd: PROC[addr: CARDINAL, mask: WORD] RETURNS[CARDINAL]; MakeSubpageLink: PROC[i1, i2: CARDINAL]; PutRing: PROC[addr: CARDINAL]; PutAData: PROC[addr: CARDINAL]; GetSource: PUBLIC PROC[addr: CARDINAL] RETURNS[src: MDDefs.SrcFile]; GetPageN: PROC[pageNum: CARDINAL] RETURNS[MDADefs.DoradoPage]; <> SearchTableProc: TYPE = PROC[sym: MDDefs.Symbol] RETURNS[quit: BOOL]; SearchSymbolTable: PROC[proc: SearchTableProc]; <> Find1Place: PROC[mask: WORD, xBT: MDADefs.Xbt] RETURNS[pageLoc: CARDINAL]; PlaceSubpage: PROC[sub: MDADefs.SubPage, absPage: CARDINAL, xbt: MDADefs.XDoradoPage] RETURNS[BOOL]; FindAlistPlace: PROC[mask: WORD, len: CARDINAL, xBT: MDADefs.Xbt] RETURNS[pageLoc: CARDINAL]; END.