<> <> <> <> DIRECTORY Buttons USING [Button], Containers USING [Container], IO, Labels, ListerUtils USING [OpCodeArray], Menus, PrincOps, Rope USING [ROPE], ViewerClasses USING [Viewer]; CSegDebugDefs: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Cmd: TYPE = Buttons.Button; NumberCell, TextCell: TYPE = ViewerClasses.Viewer; DataRec: TYPE = RECORD [ outer: Containers.Container _ NIL, msg: Labels.Label, cmd: CommandViewer, -- the commands ts: ViewerClasses.Viewer, -- the typescript in, out: IO.STREAM, opData: ListerUtils.OpCodeArray, height: INT _ 0, autoNext: REF BOOL, stopFlag: BOOLEAN _ FALSE, offset: CARDINAL, byte: [0..1], bytesShown, bytesSeen, shortfall: CARDINAL, charsOnLine: INT _ 0, en: INT ]; Handle: TYPE = REF DataRec; CommandViewer: TYPE = RECORD [ gfVal: NumberCell, bpcVal: NumberCell, nVal: NumberCell, keyString: TextCell, rangeVal: NumberCell]; CmdIndex: TYPE = {stop, gfi, wpc, code, octal, bytes, ascii, dspLf, goLf, prefix, findEp, next, back, pd, link, evi, find, numMop, mopNum}; BYTE: TYPE = [0..256); Operation: TYPE = RECORD [ inst: BYTE, params: [0..2], wild: PACKED ARRAY [1..2] OF BOOLEAN _ [FALSE, FALSE], variant: SELECT OVERLAID * FROM ab => [param: PACKED ARRAY [1..2] OF BYTE], wd => [wparam: CARDINAL], ENDCASE _ NULL]; CSegDebugCommands: PROGRAM; DoCommand: PROC [Handle, CmdIndex, Menus.MouseButton]; CSegDebugInterface: PROGRAM; CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL]; CellInt: PROC [handle: Handle, n: NumberCell] RETURNS [INT]; GetNumber: PROC [handle: Handle, contents: Rope.ROPE] RETURNS [INT]; GetSelectionValue: PROC [Handle] RETURNS [UNSPECIFIED]; GetLongSelectionValue: PROC [Handle] RETURNS [LONG UNSPECIFIED]; CSegDebugContents: PROGRAM; MopToRope: PROC [Handle, BYTE]; RopeToMop: PROC [Handle, ROPE]; PutAsCode: PROC [Handle]; PutAsOctal: PROC [Handle]; PutAsAscii: PROC [Handle]; PutAsBytes: PROC [Handle]; DisplayPrefix: PROC [Handle]; PutEntryItem: PROC [handle: Handle, epi: CARDINAL]; PutAsProcDesc: PROC [handle: Handle, desc: UNSPECIFIED]; FindEP: PROC [handle: Handle, pc: CARDINAL]; GoToLf: PROC [handle: Handle, lf: PrincOps.FrameHandle]; DspLf: PROC [handle: Handle, lf: PrincOps.FrameHandle]; PutLink: PROC [handle: Handle, lki: CARDINAL]; BackupPc: PROC [handle: Handle]; GenOperations: PROCEDURE [ handle: Handle, startPC: CARDINAL, Action: PROC [handle: Handle, pc: CARDINAL, op: Operation] RETURNS [BOOLEAN], n: CARDINAL] RETURNS [unused: CARDINAL]; CSegDebugSearch: PROGRAM; MopForRope: PROC [handle: Handle, s: ROPE] RETURNS [b: BYTE]; RopeForMop: PROC [handle: Handle, b: BYTE] RETURNS [s: ROPE]; Search: PROC [handle: Handle] RETURNS [found: BOOLEAN]; END.