Annotation of 43BSDTahoe/new/xns/courierlib/Printing3.cr, revision 1.1

1.1     ! root        1: -- $Header: Printing3.cr,v 2.3 87/05/08 16:10:25 ed Exp $ --
        !             2: Printing: PROGRAM 4 VERSION 3 =
        !             3: 
        !             4: -- This specification has been modifed from the "official" one to
        !             5: -- correspond to the restrictions of the Unix Courier compiler.  In
        !             6: -- particular, it has been reordered to eliminate forward references
        !             7: -- and some duplicate options have been renamed
        !             8: 
        !             9: -- $Log:       Printing3.cr,v $
        !            10: -- Revision 2.3  87/05/08  16:10:25  ed
        !            11: -- Fixed comments on MediumUnavailable and ServiceUnavailable.
        !            12: -- 
        !            13: -- Revision 2.2  87/01/27  08:13:52  jqj
        !            14: -- from examples/print
        !            15: -- 
        !            16: -- Revision 2.2  86/12/27  12:09:44  jqj
        !            17: -- fixed comments
        !            18: -- 
        !            19: -- Revision 2.1  86/09/07  07:23:14  jqj
        !            20: -- Fixed values of MediumUnavailable(4) and ServiceUnavailable(5).  They
        !            21: -- had been given as 5 and 4 respectively.
        !            22: -- 
        !            23: -- Revision 2.0  85/11/21  07:23:08  jqj
        !            24: -- 4.3BSD standard release
        !            25: -- 
        !            26: -- Revision 1.3  85/03/11  16:44:12  jqj
        !            27: -- *** empty log message ***
        !            28: -- 
        !            29: -- Revision 1.3  85/03/11  16:44:12  jqj
        !            30: -- Public alpha-test version, released 11 March 1985
        !            31: -- 
        !            32: -- Revision 1.2  85/03/01  05:53:13  jqj
        !            33: -- revised to work with current Unix courier compiler:
        !            34: --   reordered, typos fixed, some enum tags renamed to avoid duplication
        !            35: -- Revision 1.1
        !            36: -- Initial revision (from Rochester)
        !            37: 
        !            38: BEGIN
        !            39: 
        !            40:        DEPENDS UPON
        !            41:                BulkData (0) VERSION 1,
        !            42:                Authentication (14) VERSION 1,
        !            43:                Time (15) VERSION 2;
        !            44: 
        !            45: 
        !            46: 
        !            47: -- Types --
        !            48: 
        !            49: Time: TYPE = Time.Time; -- the standard time and date format --
        !            50: 
        !            51: RequestID: TYPE = ARRAY 5 OF UNSPECIFIED; -- the standard time and date format --
        !            52: 
        !            53: PrintAttributes: TYPE = SEQUENCE 3 OF CHOICE OF {
        !            54:        printObjectName(0) => STRING, -- default is implementation-dependent --
        !            55:        printObjectCreateDate(1) => Time, -- default is implementation-dependent --
        !            56:        senderName(2) => STRING }; -- default is implementation-dependent --
        !            57: 
        !            58: Paper: TYPE = CHOICE OF {
        !            59:        unknown(0) => RECORD [],
        !            60:        knownSize(1) => {
        !            61:                usLetter(1),    -- defined as 8.5" x 11.0" or 216mm x 297mm --
        !            62:                usLegal(2),     -- defined as 8.5" x 14.0" or 216mm x 356mm --
        !            63:                a0(3), a1(4), a2(5), a3(6), a4(7), a5(8), a6(9), a7(10), 
        !            64:                        a8(11), a9(12), a10(35),
        !            65:                isoB0(13), isoB1(14), isoB2(15), isoB3(16), isoB4(17),
        !            66:                        isoB5(18), isoB6(19), isoB7(20), isoB8(21),
        !            67:                        isoB9(22), isoB10(23),
        !            68:                jisB0(24), jisB1(25), jisB2(26), jisB3(27), jisB4(28),
        !            69:                        jisB5(29), jisB6(30), jisB7(31), jisB8(32), jisB9(33),
        !            70:                        jisB10(34)},
        !            71:        otherSize(2) => RECORD [width, length: CARDINAL]}; -- both in millimeters --
        !            72: 
        !            73: Medium: TYPE = CHOICE OF {paper(0) => Paper};
        !            74: 
        !            75: Media: TYPE = SEQUENCE 100 OF Medium;
        !            76: 
        !            77: PrintOptions: TYPE = SEQUENCE 10 OF CHOICE OF {
        !            78:        printObjectSize(0) => LONG CARDINAL, -- default is size of master --
        !            79:        recipientName(1) => STRING, -- default is senderName --
        !            80:        message(2) => STRING, -- default is "" --
        !            81:        copyCount(3) => CARDINAL, -- default is 1 --
        !            82:        pagesToPrint(4) => RECORD [
        !            83:                beginningPageNumber, -- default is 1, the first page of the master --
        !            84:                endingPageNumber: CARDINAL], -- default is the last page of the master --
        !            85:        mediumHint(5) => Medium, -- default is implementation-dependent --
        !            86:        priorityHint(6) => {low(0), normal(1), high(2)}, -- default is implementation-dependent --
        !            87:        releaseKey(7) => Authentication.HashedPassword, -- default is 177777B --
        !            88:        staple(8) => BOOLEAN, -- default is FALSE --
        !            89:        twoSided(9) => BOOLEAN }; -- default is FALSE --
        !            90: 
        !            91: PrinterProperties: TYPE = SEQUENCE 3 OF CHOICE OF {
        !            92:        ppmedia(0) => Media,
        !            93:        ppstaple(1) => BOOLEAN, -- default is FALSE --
        !            94:        pptwoSided(2) => BOOLEAN}; -- default is FALSE --
        !            95: 
        !            96: PrinterStatus: TYPE = SEQUENCE 4 OF CHOICE OF {
        !            97:        spooler(0) => {available(0), busy(1), disabled(2), full(3)},
        !            98:        formatter(1) => {available(0), busy(1), disabled(2)},
        !            99:        printer(2) => {available(0), busy(1), disabled(2), needsAttention(3),
        !           100:                needsKeyOperator(4) },
        !           101:        media(3) => Media};
        !           102: 
        !           103: 
        !           104: RequestStatus: TYPE = SEQUENCE 2 OF CHOICE OF {
        !           105:        status(0) => {pending(0), inProgress(1), completed(2),
        !           106:                completedWithWarning(3), unknown(4), rejected(5), aborted(6),
        !           107:                canceled(7), held(8) },
        !           108:        statusMessage(1) => STRING}; -- default is "" --
        !           109: 
        !           110: -- Remote Errors --
        !           111: 
        !           112: UndefinedProblem: TYPE = CARDINAL;
        !           113: 
        !           114: ConnectionProblem: TYPE = {
        !           115: 
        !           116:        -- communications problems --
        !           117:        noRoute(0), -- no route to the other party could be found. --
        !           118:        noResponse(1), -- the other party never answered. --
        !           119:        transmissionHardware(2), -- some local transmission hardware was inoperable. --
        !           120:        transportTimeout(3), -- the other party responded but later failed to respond. --
        !           121: 
        !           122:        -- resource problems --
        !           123:        tooManyLocalConnections(4), -- no additional connection is possible. --
        !           124:        tooManyRemoteConnections(5), -- the other party rejected the connection attempt. --
        !           125: 
        !           126:        -- remote program implementation problems --
        !           127:        missingCourier(6), -- the other party has no Courier implementation. --
        !           128:        missingProgram(7), -- the other party does not implement the Bulk Data program. --
        !           129:        missingProcedure(8), -- the other party does not implement the procedure. --
        !           130:        protocolMismatch(9), -- the two parties have no Courier version in commmon. --
        !           131:        parameterInconsistency(10), -- a protocol violation occurred in parameters. --
        !           132:        invalidMessage(11), -- a protocol vilation occurred in message format. --
        !           133:        returnTimedOut(12), -- the procedure call never returned. --
        !           134: 
        !           135:        -- miscellaneous --
        !           136:        otherCallProblem(177777B)}; -- some other protocol violation occurred during a call. --
        !           137: 
        !           138: TransferProblem: TYPE = {
        !           139:        aborted(0), -- The bulk data transfer was aborted by the party at the other end of the connection. --
        !           140:        formatIncorrect(2), -- The bulk data received from the souce did not have the expected format. --
        !           141:        noRendezvous(3), -- The identifier from the other party never appeared. --
        !           142:        wrongDirection(4)}; -- The other party wanted to transfer the data in the wrong direction. --
        !           143: 
        !           144: Busy: ERROR = 0; -- print service cannot accept a new request at this time --
        !           145: 
        !           146: InsufficientSpoolSpace: ERROR = 1; -- print service does not have enough space to spool a new request --
        !           147: 
        !           148: InvalidPrintParameters: ERROR = 2; -- call to Print specified inconsistent arguments --
        !           149: 
        !           150: MasterTooLarge: ERROR = 3; -- master is too large for the printer service to ever accept --
        !           151: 
        !           152: MediumUnavailable: ERROR = 4; -- the specified medium was not available --
        !           153: 
        !           154: ServiceUnavailable: ERROR = 5; -- the service is not accepting any remote procedure calls --
        !           155: 
        !           156: SpoolingDisabled: ERROR = 6; -- print service is not accepting print requests --
        !           157: 
        !           158: SpoolingQueueFull: ERROR = 7; -- print service does not have enough space to accept a new request --
        !           159: 
        !           160: SystemError: ERROR = 8; -- print service is in an internally inconsistent state --
        !           161: 
        !           162: TooManyClients: ERROR = 9; -- print service does not have enough resources to open a new connection --
        !           163: 
        !           164: Undefined: ERROR [problem: UndefinedProblem] = 10; -- some procedure in Printing is not implemented --
        !           165: 
        !           166: ConnectionError: ERROR [problem: ConnectionProblem] = 11;
        !           167: 
        !           168: TransferError: ERROR [problem: TransferProblem] = 12;
        !           169: 
        !           170: -- Remote Procedures --
        !           171: 
        !           172: Print: PROCEDURE [master: BulkData.Source, printAttributes: PrintAttributes,
        !           173:        printOptions: PrintOptions]
        !           174: RETURNS [printRequestID: RequestID]
        !           175: REPORTS [Busy, ConnectionError, InsufficientSpoolSpace,
        !           176:        InvalidPrintParameters, MasterTooLarge, MediumUnavailable,
        !           177:        ServiceUnavailable, SpoolingDisabled, SpoolingQueueFull, SystemError,
        !           178:        TooManyClients, TransferError, Undefined] = 0;
        !           179: 
        !           180: GetPrinterProperties: PROCEDURE
        !           181: RETURNS [properties: PrinterProperties]
        !           182: REPORTS [ServiceUnavailable, SystemError, Undefined] = 1;
        !           183: 
        !           184: GetPrintRequestStatus: PROCEDURE [printRequestID: RequestID]
        !           185: RETURNS [status: RequestStatus]
        !           186: REPORTS [ServiceUnavailable, SystemError, Undefined] = 2;
        !           187: 
        !           188: GetPrinterStatus: PROCEDURE
        !           189: RETURNS [status: PrinterStatus]
        !           190: REPORTS [ServiceUnavailable, SystemError, Undefined] = 3;
        !           191: 
        !           192: END.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.