<<>> <> <> <> <> DIRECTORY CrRPC, TimeP15V2, AuthenticationP14V2, BulkDataP0V1, Rope; PrintingP4V3: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; Media: TYPE ~ REF MediaObject; MediaObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Medium ]; TransferProblem: TYPE ~ MACHINE DEPENDENT { aborted(0), formatIncorrect(2), noRendezvous(3), wrongDirection(4)}; Property: TYPE ~ REF PropertyObject; PropertyObject: TYPE ~ RECORD [ SELECT type: PropertyKind FROM ppmedia => [ppmedia: Media], ppstaple => [ppstaple: BOOLEAN], pptwoSided => [pptwoSided: BOOLEAN] ENDCASE ]; AttributeKind: TYPE ~ MACHINE DEPENDENT { printObjectName(0), printObjectCreateDate(1), senderName(2)}; BusyType: TYPE ~ ERROR []; Busy: BusyType; MarkingEngineStatus: TYPE ~ MACHINE DEPENDENT { available(0), busy(1), disabled(2), needsAttention(3), needsKeyOperator(4)}; GetPrinterPropertiesType: TYPE ~ PROC [h: CrRPC.Handle] RETURNS [properties: PrinterProperties]; GetPrinterProperties: GetPrinterPropertiesType; PrinterProperties: TYPE ~ REF PrinterPropertiesObject; PrinterPropertiesObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Property ]; SpoolerStatus: TYPE ~ MACHINE DEPENDENT { available(0), busy(1), disabled(2), full(3)}; PrintType: TYPE ~ PROC [h: CrRPC.Handle, master: CrRPC.BulkDataSource, printAttributes: PrintAttributes, printOptions: PrintOptions] RETURNS [printRequestID: RequestID]; Print: PrintType; Medium: TYPE ~ REF MediumObject; MediumObject: TYPE ~ RECORD [ SELECT type: MediumKind FROM paper => [paper: Paper] ENDCASE ]; ConnectionErrorType: TYPE ~ ERROR [problem: ConnectionProblem]; ConnectionError: ConnectionErrorType; InvalidPrintParametersType: TYPE ~ ERROR []; InvalidPrintParameters: InvalidPrintParametersType; UndefinedProblem: TYPE ~ CARD16; TooManyClientsType: TYPE ~ ERROR []; TooManyClients: TooManyClientsType; MediumUnavailableType: TYPE ~ ERROR []; MediumUnavailable: MediumUnavailableType; Source: TYPE ~ CrRPC.BulkDataSource; SpoolingDisabledType: TYPE ~ ERROR []; SpoolingDisabled: SpoolingDisabledType; Time: TYPE ~ CARD32; InterpressMasterStatus: TYPE ~ MACHINE DEPENDENT { pending(0), inProgress(1), completed(2), completedWithWarning(3), unknown(4), rejected(5), aborted(6), canceled(7), held(8)}; EmptyRecord: TYPE ~ RECORD [null: CARDINAL ¬ 0]; ServiceUnavailableType: TYPE ~ ERROR []; ServiceUnavailable: ServiceUnavailableType; SystemErrorType: TYPE ~ ERROR []; SystemError: SystemErrorType; Option: TYPE ~ REF OptionObject; OptionObject: TYPE ~ RECORD [ SELECT type: OptionKind FROM printObjectSize => [printObjectSize: CARD32], recipientName => [recipientName: ROPE], message => [message: ROPE], copyCount => [copyCount: CARD16], pagesToPrint => [pagesToPrint: DocumentSubrange], mediumHint => [mediumHint: Medium], priorityHint => [priorityHint: Priority], releaseKey => [releaseKey: CARD16], staple => [staple: BOOLEAN], twoSided => [twoSided: BOOLEAN] ENDCASE ]; FormatterStatus: TYPE ~ MACHINE DEPENDENT { available(0), busy(1), disabled(2)}; PaperDimensions: TYPE ~ RECORD [ width: CARD16, length: CARD16]; Priority: TYPE ~ MACHINE DEPENDENT { low(0), normal(1), high(2)}; PrinterStatus: TYPE ~ REF PrinterStatusObject; PrinterStatusObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF ServiceStatus ]; InsufficientSpoolSpaceType: TYPE ~ ERROR []; InsufficientSpoolSpace: InsufficientSpoolSpaceType; KnownPaperSize: TYPE ~ MACHINE DEPENDENT { usLetter(1), usLegal(2), a0(3), a1(4), a2(5), a3(6), a4(7), a5(8), a6(9), a7(10), a8(11), a9(12), isoB0(13), isoB1(14), isoB2(15), isoB3(16), isoB4(17), isoB5(18), isoB6(19), isoB7(20), isoB8(21), isoB9(22), isoB10(23), jisB0(24), jisB1(25), jisB2(26), jisB3(27), jisB4(28), jisB5(29), jisB6(30), jisB7(31), jisB8(32), jisB9(33), jisB10(34), a10(35)}; Paper: TYPE ~ REF PaperObject; PaperObject: TYPE ~ RECORD [ SELECT type: PaperKind FROM unknown => [unknown: EmptyRecord], knownSize => [knownSize: KnownPaperSize], otherSize => [otherSize: PaperDimensions] ENDCASE ]; OptionKind: TYPE ~ MACHINE DEPENDENT { printObjectSize(0), recipientName(1), message(2), copyCount(3), pagesToPrint(4), mediumHint(5), priorityHint(6), releaseKey(7), staple(8), twoSided(9)}; RequestID: TYPE ~ ARRAY [0..5) OF CARD16; SpoolingQueueFullType: TYPE ~ ERROR []; SpoolingQueueFull: SpoolingQueueFullType; Attribute: TYPE ~ REF AttributeObject; AttributeObject: TYPE ~ RECORD [ SELECT type: AttributeKind FROM printObjectName => [printObjectName: ROPE], printObjectCreateDate => [printObjectCreateDate: CARD32], senderName => [senderName: ROPE] ENDCASE ]; DocumentSubrange: TYPE ~ RECORD [ beginningPageNumber: CARD16, endingPageNumber: CARD16]; UndefinedType: TYPE ~ ERROR [problem: CARD16]; Undefined: UndefinedType; PaperKind: TYPE ~ MACHINE DEPENDENT { unknown(0), knownSize(1), otherSize(2)}; MediumKind: TYPE ~ MACHINE DEPENDENT { paper(0)}; PropertyKind: TYPE ~ MACHINE DEPENDENT { ppmedia(0), ppstaple(1), pptwoSided(2)}; GetPrintRequestStatusType: TYPE ~ PROC [h: CrRPC.Handle, printRequestID: RequestID] RETURNS [status: RequestStatus]; GetPrintRequestStatus: GetPrintRequestStatusType; ConnectionProblem: TYPE ~ MACHINE DEPENDENT { noRoute(0), noResponse(1), transmissionHardware(2), transportTimeout(3), tooManyLocalConnections(4), tooManyRemoteConnections(5), missingCourier(6), missingProgram(7), missingProcedure(8), protocolMismatch(9), parameterInconsistency(10), invalidMessage(11), returnTimedOut(12), otherCallProblem(65535)}; MasterTooLargeType: TYPE ~ ERROR []; MasterTooLarge: MasterTooLargeType; RequestStatus: TYPE ~ REF RequestStatusObject; RequestStatusObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF JobStatus ]; PrintAttributes: TYPE ~ REF PrintAttributesObject; PrintAttributesObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Attribute ]; GetPrinterStatusType: TYPE ~ PROC [h: CrRPC.Handle] RETURNS [status: PrinterStatus]; GetPrinterStatus: GetPrinterStatusType; ServiceStatus: TYPE ~ REF ServiceStatusObject; ServiceStatusObject: TYPE ~ RECORD [ SELECT type: StatusKind FROM spooler => [spooler: SpoolerStatus], formatter => [formatter: FormatterStatus], printer => [printer: MarkingEngineStatus], media => [media: Media] ENDCASE ]; PrintOptions: TYPE ~ REF PrintOptionsObject; PrintOptionsObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Option ]; JobStatusKind: TYPE ~ MACHINE DEPENDENT { status(0), statusMessage(1)}; JobStatus: TYPE ~ REF JobStatusObject; JobStatusObject: TYPE ~ RECORD [ SELECT type: JobStatusKind FROM status => [status: InterpressMasterStatus], statusMessage => [statusMessage: ROPE] ENDCASE ]; TransferErrorType: TYPE ~ ERROR [problem: TransferProblem]; TransferError: TransferErrorType; StatusKind: TYPE ~ MACHINE DEPENDENT { spooler(0), formatter(1), printer(2), media(3)}; }...