DIRECTORY Commander USING [CommandProc, Register], IO USING [STREAM], TypeScript USING [ChangeLooks], ViewerEvents USING [EventProc, RegisterEventProc], ViewerIO USING [CreateViewerStreams, GetViewerFromStream, Viewer], ArpaTCPLogging USING [logFile]; ArpaTCPWatcher: CEDAR PROGRAM IMPORTS Commander, TypeScript, ViewerEvents, ViewerIO, ArpaTCPLogging = BEGIN StartWatcher: Commander.CommandProc = { out: IO.STREAM; viewer: ViewerIO.Viewer; IF ArpaTCPLogging.logFile#NIL THEN RETURN[msg: "ArpaTCPWatcher already started."]; out _ ViewerIO.CreateViewerStreams[ name: "ArpaTCP.log", viewer: NIL, backingFile: "ArpaTCP.log", editedStream: FALSE].out; viewer _ ViewerIO.GetViewerFromStream[out]; TypeScript.ChangeLooks[viewer, 'f]; [] _ ViewerEvents.RegisterEventProc[proc: DestroyProc, event: destroy, filter: viewer]; ArpaTCPLogging.logFile _ out; }; DestroyProc: ViewerEvents.EventProc = { ArpaTCPLogging.logFile _ NIL; }; Commander.Register["ArpaTCPWatcher", StartWatcher, "Start up a typescript to watch TCP packets."]; END. „ArpaTCPWatcher.mesa Copyright (C) 1983 by Xerox Corporation. All rights reserved. The following program was created in 1983 but has not been published within the meaning of the copyright law, is furnished under license, and may not be used, copied and/or disclosed except in accordance with the terms of said license. Last Edited by: HGM, March 22, 1984 9:04:57 pm PST Doug Terry, October 16, 1987 4:01:20 pm PDT John Larson, April 14, 1986 11:35:22 pm PST [cmd: Commander.Handle] RETURNS [result: REF ANY _ NIL, msg: ROPE _ NIL] [viewer: ViewerClasses.Viewer, event: ViewerEvents.ViewerEvent, before: BOOL] RETURNS [abort: BOOL _ FALSE] Κ– "cedar" style˜headšœ™Icode2šœ©™©Ibodyšœ2™2Icode™+N™+šΟk ˜ Lšœ œ˜(Lšœœœ˜Lšœ œ˜Jšœ œ ˜2Lšœ œ4˜BLšœœ ˜——šΠlnœœ˜Lšœ@˜GLš˜N˜šΟn œ˜'Nš œœ œœœœœ™HNšœœœ˜Nšœ˜Nšœœœœ)˜Ršœ#˜#Nšœœ,œ˜W—Nšœ+˜+Nšœ#˜#N•StartOfExpansions[proc: ViewerEvents.EventProc, event: ViewerEvents.ViewerEvent, filter: REF ANY _ NIL, before: BOOL _ TRUE]šœW˜WNšœ˜N˜—J˜–o -- [viewer: ViewerClasses.Viewer, event: ViewerEvents.ViewerEvent, before: BOOL] RETURNS [abort: BOOL _ FALSE]šΟb œ˜'NšΠckk™kNšœœ˜N˜N˜—Jšœb˜bLšœ˜——…—