<> <> <> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE]; IPPrinterQueue: DEFINITIONS = BEGIN <> ROPE: TYPE ~ Rope.ROPE; Request: TYPE = RECORD [ fileName: ROPE, -- i.e., "[Indigo]foo.pd!33". requestTime: ROPE, requestor: ROPE, requestorPassword: ROPE, separator: ROPE, -- To be printed between jobs, if possible. copies: CARDINAL ]; Reset: PROC; <> QueueRequest: PROC [request: Request] RETURNS [requestNumber: INT]; <> Reprint: PROC [copies: CARDINAL]; CancelReprint: PROC; ReprintCancelled: PROC RETURNS [BOOLEAN]; DoRequest: PROC [action: PROC [request: Request, requestNumber: CARDINAL, abort: REF BOOLEAN]]; <> <> CheckRequest: PROC [requestNumber: CARDINAL, action: PROC [request: Request, status: RequestStatus]]; RequestStatus: TYPE = {notFound, canceled, waiting, printing}; CancelRequest: PROC [requestNumber: CARDINAL] RETURNS [ok: BOOLEAN]; <> CountRequests: PROC RETURNS [requestCount: NAT]; <> EnumerateRequests: PROC [action: PROC [requestNumber: CARDINAL, request: Request, status: RequestStatus] RETURNS [continue: BOOLEAN]]; RegisterDisk: PROC [file: ROPE _ NIL]; <> RegisterTTY: PROC [stream: IO.STREAM]; <> GetSuspended: PROC RETURNS [BOOLEAN]; SetSuspended: PROC [suspended: BOOLEAN] RETURNS [old: BOOLEAN]; <> LogMessage: PROC [message: ROPE, requestNumber: INT _ -1, userName: ROPE _ NIL, printCR: BOOL _ TRUE]; <> SetLogState: PROC [logging: BOOLEAN] RETURNS [old: BOOLEAN]; <> EnumerateMessages: PROC [PROC[message: ROPE] RETURNS [continue: BOOLEAN]]; <> DeferSaving: PROC; <> << >> DoDeferredSave: PROC; <> <<>> END.