DIRECTORY BansheeStatus USING [Type], NSString USING [String], PaperHandling USING [BannerMode, D1Registration, Fax495BannerMode, FX3500Registration, PaperFeed, PaperStacking, PrintOrder, RavenRegistration, TwoPaperSizes], PaperTypes USING [Paper], PrintingTypes USING [Option, RavenBuild], PrintQueue USING [ObjectStatus], PSActivity USING [Marker], RavenStatus USING [Type]; MarkerControl: CEDAR DEFINITIONS = BEGIN TraceLevel: TYPE = {none, terse, verbose}; WaitChoice: TYPE = {wait, dontWait}; MarkerStatus: TYPE = RECORD [ activity: PSActivity.Marker, engineFault: BOOLEAN, engine: EngineSpecific ]; EngineSpecific: TYPE = RECORD [ var: SELECT type: PrintingTypes.Option FROM bansheeDl => [ banshee: BansheeStatus.Type, paper: PaperTypes.Paper ], raven => [ raven: RavenStatus.Type, ravenVar: RavenBuildVariant ], ENDCASE ]; RavenBuildVariant: TYPE = RECORD [ var: SELECT engineBuild: PrintingTypes.RavenBuild FROM b2TraySensing => [ paperSupply: PaperHandling.TwoPaperSizes ], b0, b1, b2, b2XSISModified => [], ENDCASE ]; ClientProcs: TYPE = RECORD [ start: StartProc, stop: StopProc, stopped: StoppedProc, pause: PauseProc, resume: ResumeProc, status: StatusProc, waitStatusChange: WaitStatusChangeProc, setPrintOrder: SetPrintOrderProc, modifyTraceLevel: ModifyTraceLevelProc, engineSpecific: SELECT type: PrintingTypes.Option FROM bansheeDl => [ setBanner: SetBannerProc ], raven => [ setEngineBuild: SetEngineBuildProc, setFeeding: SetFeedingProc, setPaper: SetPaperProc, setBanner: SetBannerProc, setRegistration: SetRavenRegistrationProc, setStacking: SetStackingProc, dozeoffEngine: DozeoffEngineProc, wakeupEngine: WakeupEngineProc ], ENDCASE ]; ClientProcsHandle: TYPE = REF ClientProcs; StartProc: TYPE = PROCEDURE; -- Enables marking and returns. StopProc: TYPE = PROCEDURE [status: PrintQueue.ObjectStatus, canceledWhileMarking: CancelProc _ NIL]; StoppedProc: TYPE = PROCEDURE [wither: WaitChoice _ dontWait] RETURNS [BOOLEAN]; PauseProc: TYPE = PROCEDURE RETURNS [activity: MarkerStatus]; ResumeProc: TYPE = PROCEDURE; --Undoes a Pause. StatusProc: TYPE = PROCEDURE RETURNS [status: MarkerStatus]; WaitStatusChangeProc: TYPE = PROCEDURE RETURNS [status: MarkerStatus]; SetPrintOrderProc: TYPE = PROCEDURE [printOrder: PaperHandling.PrintOrder]; ModifyTraceLevelProc: TYPE = PROCEDURE [trace: TraceLevel]; CancelProc: TYPE = PROCEDURE [docName: NSString.String, docQueueStatus: PrintQueue.ObjectStatus]; --parameter to StopProc ReadyToMarkProc: TYPE = PROCEDURE; FinishedMarkingProc: TYPE = PROCEDURE; EngineFailureProc: TYPE = PROCEDURE; SetEngineBuildProc: TYPE = PROCEDURE [engineBuild: PrintingTypes.RavenBuild]; SetFeedingProc: TYPE = PROCEDURE [feeding: PaperHandling.PaperFeed]; SetPaperProc: TYPE = PROCEDURE [paperSupply: PaperHandling.TwoPaperSizes]; SetBannerProc: TYPE = PROCEDURE [banner: PaperHandling.BannerMode]; SetRavenRegistrationProc: TYPE = PROCEDURE [ registration: PaperHandling.RavenRegistration]; SetStackingProc: TYPE = PROCEDURE [stacking: PaperHandling.PaperStacking]; DozeoffEngineProc: TYPE = PROCEDURE; WakeupEngineProc: TYPE = PROCEDURE; SetFX3500RegistrationProc: TYPE = PROCEDURE [ registration: PaperHandling.FX3500Registration]; GetPrinterDisplayProc: TYPE = PROCEDURE RETURNS [leftChar, rightChar: CHARACTER _ 0C]; PutPrinterDisplayProc: TYPE = PROCEDURE [leftChar, rightChar: CHARACTER _ 0C]; SetD1RegistrationProc: TYPE = PROCEDURE [ registration: PaperHandling.D1Registration]; SetFax495BannerProc: TYPE = PROCEDURE [banner: PaperHandling.Fax495BannerMode]; SetFaxPaperProc: TYPE = PROCEDURE [paperWidth: CARDINAL]; --width of paper roll in millimeters SetMultipleCopiesProc: TYPE = PROCEDURE [ multLocalCopiesAllowed, multRemoteCopiesAllowed: BOOLEAN]; SetTransmissionRetriesProc: TYPE = PROCEDURE [ delayInSeconds: LONG CARDINAL]; SetTransmissionResolutionProc: TYPE = PROCEDURE [ fineResolutionSupported: BOOLEAN]; --transmission resolution is either standard or fine END. -- of MarkerControl LOG March 18, 1981 6:35 PM by J.Beeley: Created file to replace MarkerControlDefs. March 31, 1981 5:04 PM by JB: Added params to Init, SetPaper, SetRegistration, SetFeeding & SetStacking procs; deleted Pause. May 28, 1981 4:51 PM by JB. Imported PSExec.TraceLevel; added SetBanner and testPatternFromQ to Init. June 19, 1981 5:16 PM by JB. Added ModifyTraceLevel. July 8, 1981 3:39 PM by JB. Adopted new Raven interfaces; defined TraceLevel locally. July 31, 1981 2:49 PM by JB. Added WaitRavenStatusChange. August 28, 1981 10:21 AM by JB. Removed returned BOOLEANs from SetBanner, SetFeeding, etc. 9-Mar-82 12:22:02 by JB: Added Activity in EngineStatus, Pause & Resume. 28-Apr-82 13:32:40 by JB: Added DozeoffEngine + WakeupEngine. 1-Sep-82 13:57:10 - JB: Added EngineBuild and added engineType to EngineStatus 19-Sep-83 14:32:20 - Jacks - Converted to Klamath (Pilot 11.0) 13-Nov-83 15:15:54 - JB - Removed dependence on RavenEngine; added DeviceSpecificStatus, status defs, DeviceProcs; removed Init (to MarkerInit). 1-Dec-83 17:43:51 - Jacks - Added CanceledWhileMarking parm to Stop; added engineFault to MarkerStatus; removed fault from Activity. 14-Dec-83 11:22:37 - Jacks - Defined fax status types, SetMultipleCopiesProc, SetRetriesProc, SetFX3500RegistrationProc, ShowPrinterDisplayProc and DisplayCharsOnPrinterProc; removed faxJobStatus, realResolution & abortReason from DeviceSpecificStatus; added PrinterState from RavenEngine; added FX3500Status. 26-Jan-84 17:20:57 - Jacks - Moved RavenEngineBuild to PrinterTypes; redefined FaxStatus and FaxRetryReason; removed FaxMachineMode, FaxScannerStatus, and FaxPrinterStatus; added paperSupply and "tray empty" booleans to fx3500 DeviceSpecificStatus; added paused and readyToResume to PrintingState; corrected FX3500Status. 19-Sep-84 13:30:33 - Jacks - Added banshee and fax295 defs; removed aps5 defs; added SetFaxPaperProc and SetTransmissionResolutionProc. 9-Nov-84 15:13:57 - Jacks - Second round of changes for 9.0: Change parameters to StopProc from queueStage to status; updated BansheeStatus; renamed DeviceProcs to ClientProcs. 18-Jun-85 11:16:06 - Jacks - Moved engine status types to separate defs; moved PrintingState to its own def; added copyright notice; added d1 variants; added RavenBuildVariant. 19-Jun-85 15:24:56 - Jacks - Activity renamed to PSActivity. 25-Jun-85 13:45:17 - Jacks - Added getPrinterDisplay and putPrinterDisplay for d1 to ClientProcs. 14-Oct-85 14:53:07 - Jacks - EngineSpecific paper for bansheeDl is Paper not PaperSize. ŒMarkerControl.mesa Copyright (C) Xerox Corporation 1981, 1982, 1983, 1984, 1985, 1986. All rights reserved. Last Edited 14-Oct-85 14:53:26 by Jacks Tim Diebert: December 2, 1986 3:55:34 pm PST D1Status USING [Type], FaxStatus USING [TransmissionRetryReason, Type], FX3500Status USING [Type], d1 => [ d1: D1Status.Type, paperSize: PaperTypes.PaperSize, trayEmpty: BOOLEAN _ FALSE ], fax295, fax495 => [ fax: FaxStatus.Type ], fx3500 => [ fx3500: FX3500Status.Type, paperSupply: PaperHandling.TwoPaperSizes, topTrayEmpty: BOOLEAN _ FALSE, bottomTrayEmpty: BOOLEAN _ FALSE ], d1 => [ setBanner: SetBannerProc, setRegistration: SetD1RegistrationProc, getPrinterDisplay: GetPrinterDisplayProc, putPrinterDisplay: PutPrinterDisplayProc ], fax295 => [ setBanner: SetBannerProc, setPaper: SetFaxPaperProc ], fax495 => [ setBanner: SetFax495BannerProc, setPaper: SetFaxPaperProc, setTransmissionResolution: SetTransmissionResolutionProc, setMultipleCopies: SetMultipleCopiesProc, setTransmissionRetries: SetTransmissionRetriesProc ], fx3500 => [ setFeeding: SetFeedingProc, setBanner: SetBannerProc, setRegistration: SetFX3500RegistrationProc, getPrinterDisplay: GetPrinterDisplayProc, putPrinterDisplay: PutPrinterDisplayProc ], Generic procs Disables marking and returns; document in progress is given the status specified and put on the appropriate queue. If the document is put on the aborted queue, the cancel proc is called. IF wither=wait, returns TRUE when marking is stopped. IF wither=dontWait, return immediately. Please Pause printing. activity = idle means no action was taken, activity = marking means can't pause right now, activity = paused returned if successful. Client procs, registered at Init. **See MarkerInit.mesa Raven specific control proc defs FX3500 specific control proc defs XP-9 specific control proc defs Fax specific control proc defs reason: FaxStatus.TransmissionRetryReason, retries: CARDINAL, Κ|˜codešœ™KšœX™XKšœ(™(K™,—K˜šΟk ˜ Kšœœ˜Kšœ œ™Kšœ œ!™0Kšœ œ™Kšœ œ ˜KšœœŒ˜ Kšœ œ ˜Kšœœ˜)Kšœ œ˜ Kšœ œ ˜Kšœ œ˜—K˜KšΟn œœ œ˜(˜Kšœ œ˜*Kšœ œ˜$—˜šœœœ˜K˜Kšœ œ˜K˜K˜——˜šœœœ˜šœœ˜+˜K˜K˜K˜—™K™K™ Kšœ œ™K™—™K™K™—™ K™K™)Kšœœœ™Kšœœ™ K™—˜ K˜K˜K˜—Kš˜—K˜K˜—šœœœ˜"šœœ'˜6˜K˜(K˜—K˜!Kš˜—K˜—K˜šœ œœ˜K˜K˜K˜K˜K˜K˜K˜'K˜!K˜'šœœ˜6˜K˜K˜—™K™K™'K™)K™(K™—™ K™K™K™—™ K™K™K™9K™)K™2K™—™ K™K™K™+K™)K™(K™—˜ K˜#K˜K˜K˜K˜*K˜K˜!K˜K˜—Kš˜—K˜——˜Kšœœœ ˜*K˜—Kšœ ™ ˜Kšœ œ œΟc ˜=—˜Kšœ œ œFœ˜eKšœ=™=Kšœ6™6KšœG™G—˜Kš œ œ œ!œœ˜PKšœ5™5Kšœ'™'—˜Kšœ œ œœ˜=Kšœ™Kšœ*™*Kšœ/™/Kšœ)™)—˜Kšœ œ œŸ˜/—˜Kšœ œ œœ˜<—˜Kšœœ œœ˜FK˜Kšœœ œ(˜K—˜Kšœœ œ˜;K˜šœ œ œ˜7Kšœ*Ÿ˜A—K˜—Kšœ8™8˜Kšœœ œ˜"Kšœœ œ˜&Kšœœ œ˜$K˜—šœ ™ K˜Kšœœ œ)˜MKšœœ œ$˜DKšœœ œ,˜JKšœœ œ$˜Cšœœ œ˜,K˜/—Kšœœ œ)˜JKšœœ œ˜$Kšœœ œ˜#K˜—Kšœ!™!˜šœœ œ˜-K˜0—šœœ ˜'Kšœ œ˜.—Kšœœ œ œ˜NK˜—Kšœ™˜šœœ œ˜)K˜,—K˜—šœ™K˜Kšœœ œ*˜OKšœœ œœŸ$˜^šœœ œ˜)Kšœ1œ˜:—šœœ œ˜.Kšœ4œ™>Kšœœœ˜—šœœ œ˜1KšœœŸ4˜W——˜KšœŸ˜—˜Kš˜—Kšœœžœ,˜OKšœœœa˜~KšœœœL˜gKšœœœ˜5Kšœœœ;˜VKšœœœ˜:Kšœœœ<˜[Kšœœ1˜Hšœœ&˜>Kšœœ8˜N—K˜>šœœy˜K˜„—K˜΅K˜Α˜‡K˜°—K˜°K˜