| < draft-ietf-ipp-model-v11-06.txt | draft-ietf-ipp-model-v11-07.txt > | |||
|---|---|---|---|---|
| INTERNET-DRAFT | INTERNET-DRAFT | |||
| draft-ietf-ipp-model-v11-06.txt R. deBry | draft-ietf-ipp-model-v11-07.txt | |||
| R. deBry | ||||
| Utah Valley State College | Utah Valley State College | |||
| T. Hastings (editor) | T. Hastings (editor) | |||
| Xerox Corporation | Xerox Corporation | |||
| R. Herriot | R. Herriot | |||
| Xerox Corporation | Xerox Corporation | |||
| S. Isaacson | S. Isaacson | |||
| Novell, Inc. | Novell, Inc. | |||
| P. Powell | P. Powell | |||
| Astart Technologies | Astart Technologies | |||
| March 1, 2000 | May 22, 2000 | |||
| Internet Printing Protocol/1.1: Model and Semantics | Internet Printing Protocol/1.1: Model and Semantics | |||
| Copyright (C) The Internet Society (2000). All Rights Reserved. | Copyright (C) The Internet Society (2000). All Rights Reserved. | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is in full conformance with all | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of [RFC2026]. Internet-Drafts are working | provisions of Section 10 of [RFC2026]. Internet-Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its areas, and | documents of the Internet Engineering Task Force (IETF), its areas, and | |||
| its working groups. Note that other groups may also distribute working | its working groups. Note that other groups may also distribute working | |||
| documents as Internet-Drafts. | documents as Internet-Drafts. | |||
| skipping to change at page 2, line 5 ¶ | skipping to change at page 2, line 5 ¶ | |||
| simplified model consisting of abstract objects, their attributes, and | simplified model consisting of abstract objects, their attributes, and | |||
| their operations that is independent of encoding and transport. The | their operations that is independent of encoding and transport. The | |||
| model consists of a Printer and a Job object. A Job optionally supports | model consists of a Printer and a Job object. A Job optionally supports | |||
| multiple documents. IPP 1.1 semantics allow end-users and operators to | multiple documents. IPP 1.1 semantics allow end-users and operators to | |||
| query printer capabilities, submit print jobs, inquire about the status | query printer capabilities, submit print jobs, inquire about the status | |||
| of print jobs and printers, cancel, hold, release, and restart print | of print jobs and printers, cancel, hold, release, and restart print | |||
| jobs. IPP 1.1 semantics allow operators to pause, resume, and purge | jobs. IPP 1.1 semantics allow operators to pause, resume, and purge | |||
| (jobs from) Printer objects. This document also addresses security, | (jobs from) Printer objects. This document also addresses security, | |||
| internationalization, and directory issues. | internationalization, and directory issues. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The full set of IPP documents includes: | The full set of IPP documents includes: | |||
| Design Goals for an Internet Printing Protocol [RFC2567] | Design Goals for an Internet Printing Protocol [RFC2567] | |||
| Rationale for the Structure and Model and Protocol for the Internet | Rationale for the Structure and Model and Protocol for the Internet | |||
| Printing Protocol [RFC2568] | Printing Protocol [RFC2568] | |||
| Internet Printing Protocol/1.1: Model and Semantics (this document) | Internet Printing Protocol/1.1: Model and Semantics (this document) | |||
| Internet Printing Protocol/1.1: Encoding and Transport [IPP-PRO] | Internet Printing Protocol/1.1: Encoding and Transport [IPP-PRO] | |||
| Internet Printing Protocol/1.1: Implementer's Guide [IPP-IIG] | Internet Printing Protocol/1.1: Implementer's Guide [IPP-IIG] | |||
| Mapping between LPD and IPP Protocols [RFC2569] | Mapping between LPD and IPP Protocols [RFC2569] | |||
| The "Design Goals for an Internet Printing Protocol" document takes a | The "Design Goals for an Internet Printing Protocol" document takes a | |||
| skipping to change at page 3, line 5 ¶ | skipping to change at page 3, line 5 ¶ | |||
| is intended to help them understand IPP/1.1 and some of the | is intended to help them understand IPP/1.1 and some of the | |||
| considerations that may assist them in the design of their client and/or | considerations that may assist them in the design of their client and/or | |||
| IPP object implementations. For example, a typical order of processing | IPP object implementations. For example, a typical order of processing | |||
| requests is given, including error checking. Motivation for some of the | requests is given, including error checking. Motivation for some of the | |||
| specification decisions is also included. | specification decisions is also included. | |||
| The "Mapping between LPD and IPP Protocols" document gives some advice | The "Mapping between LPD and IPP Protocols" document gives some advice | |||
| to implementers of gateways between IPP and LPD (Line Printer Daemon) | to implementers of gateways between IPP and LPD (Line Printer Daemon) | |||
| implementations. | implementations. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction.....................................................9 | 1. Introduction 9 | |||
| 1.1 Simplified Printing Model....................................10 | 1.1 Simplified Printing Model 10 | |||
| 2. IPP Objects.....................................................12 | 2. IPP Objects 12 | |||
| 2.1 Printer Object...............................................13 | 2.1 Printer Object 13 | |||
| 2.2 Job Object...................................................15 | 2.2 Job Object 15 | |||
| 2.3 Object Relationships.........................................16 | 2.3 Object Relationships 16 | |||
| 2.4 Object Identity..............................................17 | 2.4 Object Identity 17 | |||
| 3. IPP Operations..................................................20 | 3. IPP Operations 19 | |||
| 3.1 Common Semantics.............................................20 | 3.1 Common Semantics 20 | |||
| 3.1.1 Required Parameters......................................21 | 3.1.1 Required Parameters 20 | |||
| 3.1.2 Operation IDs and Request IDs............................21 | 3.1.2 Operation IDs and Request IDs 21 | |||
| 3.1.3 Attributes...............................................21 | 3.1.3 Attributes 21 | |||
| 3.1.4 Character Set and Natural Language Operation Attributes..23 | 3.1.4 Character Set and Natural Language Operation Attributes 23 | |||
| 3.1.4.1 Request Operation Attributes..........................24 | 3.1.4.1 Request Operation Attributes 24 | |||
| 3.1.4.2 Response Operation Attributes.........................27 | 3.1.4.2 Response Operation Attributes 27 | |||
| 3.1.5 Operation Targets........................................28 | 3.1.5 Operation Targets 28 | |||
| 3.1.6 Operation Response Status Codes and Status Messages......29 | 3.1.6 Operation Response Status Codes and Status Messages 29 | |||
| 3.1.6.1 "status-code" (type2 enum)............................29 | 3.1.6.1 "status-code" (type2 enum) 29 | |||
| 3.1.6.2 "status-message" (text(255))..........................30 | 3.1.6.2 "status-message" (text(255)) 30 | |||
| 3.1.6.3 "detailed-status-message" (text(MAX)).................31 | 3.1.6.3 "detailed-status-message" (text(MAX)) 31 | |||
| 3.1.6.4 "document-access-error" (text(MAX))...................31 | 3.1.6.4 "document-access-error" (text(MAX)) 31 | |||
| 3.1.7 Unsupported Attributes...................................31 | 3.1.7 Unsupported Attributes 31 | |||
| 3.1.8 Versions.................................................33 | 3.1.8 Versions 33 | |||
| 3.1.9 Job Creation Operations..................................35 | 3.1.9 Job Creation Operations 35 | |||
| 3.2 Printer Operations...........................................37 | 3.2 Printer Operations 37 | |||
| 3.2.1 Print-Job Operation......................................37 | 3.2.1 Print-Job Operation 37 | |||
| 3.2.1.1 Print-Job Request.....................................37 | 3.2.1.1 Print-Job Request 37 | |||
| 3.2.1.2 Print-Job Response....................................41 | 3.2.1.2 Print-Job Response 41 | |||
| 3.2.2 Print-URI Operation......................................43 | 3.2.2 Print-URI Operation 43 | |||
| 3.2.3 Validate-Job Operation...................................44 | 3.2.3 Validate-Job Operation 44 | |||
| 3.2.4 Create-Job Operation.....................................45 | 3.2.4 Create-Job Operation 45 | |||
| 3.2.5 Get-Printer-Attributes Operation.........................45 | 3.2.5 Get-Printer-Attributes Operation 45 | |||
| 3.2.5.1 Get-Printer-Attributes Request........................46 | 3.2.5.1 Get-Printer-Attributes Request 46 | |||
| 3.2.5.2 Get-Printer-Attributes Response.......................48 | 3.2.5.2 Get-Printer-Attributes Response 48 | |||
| 3.2.6 Get-Jobs Operation.......................................49 | 3.2.6 Get-Jobs Operation 49 | |||
| 3.2.6.1 Get-Jobs Request......................................49 | 3.2.6.1 Get-Jobs Request 49 | |||
| 3.2.6.2 Get-Jobs Response.....................................50 | 3.2.6.2 Get-Jobs Response 50 | |||
| 3.2.7 Pause-Printer Operation..................................52 | 3.2.7 Pause-Printer Operation 52 | |||
| 3.2.7.1 Pause-Printer Request.................................53 | 3.2.7.1 Pause-Printer Request 53 | |||
| 3.2.7.2 Pause-Printer Response................................53 | 3.2.7.2 Pause-Printer Response 53 | |||
| 3.2.8 Resume-Printer Operation.................................54 | 3.2.8 Resume-Printer Operation 54 | |||
| 3.2.9 Purge-Jobs Operation.....................................55 | 3.2.9 Purge-Jobs Operation 55 | |||
| 3.3 Job Operations...............................................55 | 3.3 Job Operations 55 | |||
| 3.3.1 Send-Document Operation..................................55 | 3.3.1 Send-Document Operation 55 | |||
| 3.3.1.1 Send-Document Request.................................57 | 3.3.1.1 Send-Document Request 57 | |||
| 3.3.1.2 Send-Document Response................................58 | 3.3.1.2 Send-Document Response 58 | |||
| 3.3.2 Send-URI Operation.......................................58 | 3.3.2 Send-URI Operation 58 | |||
| 3.3.3 Cancel-Job Operation.....................................59 | 3.3.3 Cancel-Job Operation 59 | |||
| 3.3.3.1 Cancel-Job Request....................................60 | 3.3.3.1 Cancel-Job Request 60 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.3.3.2 Cancel-Job Response...................................60 | 3.3.3.2 Cancel-Job Response 60 | |||
| 3.3.4 Get-Job-Attributes Operation.............................61 | 3.3.4 Get-Job-Attributes Operation 61 | |||
| 3.3.4.1 Get-Job-Attributes Request............................62 | 3.3.4.1 Get-Job-Attributes Request 62 | |||
| 3.3.4.2 Get-Job-Attributes Response...........................62 | 3.3.4.2 Get-Job-Attributes Response 62 | |||
| 3.3.5 Hold-Job Operation.......................................63 | 3.3.5 Hold-Job Operation 63 | |||
| 3.3.5.1 Hold-Job Request......................................64 | 3.3.5.1 Hold-Job Request 64 | |||
| 3.3.5.2 Hold-Job Response.....................................65 | 3.3.5.2 Hold-Job Response 65 | |||
| 3.3.6 Release-Job Operation....................................65 | 3.3.6 Release-Job Operation 65 | |||
| 3.3.7 Restart-Job Operation....................................66 | 3.3.7 Restart-Job Operation 66 | |||
| 3.3.7.1 Restart-Job Request...................................67 | 3.3.7.1 Restart-Job Request 67 | |||
| 3.3.7.2 Restart-Job Response..................................68 | 3.3.7.2 Restart-Job Response 68 | |||
| 4. Object Attributes...............................................68 | 4. Object Attributes 68 | |||
| 4.1 Attribute Syntaxes...........................................69 | 4.1 Attribute Syntaxes 69 | |||
| 4.1.1 'text'...................................................70 | 4.1.1 'text' 70 | |||
| 4.1.1.1 'textWithoutLanguage'.................................70 | 4.1.1.1 'textWithoutLanguage' 70 | |||
| 4.1.1.2 'textWithLanguage'....................................71 | 4.1.1.2 'textWithLanguage' 71 | |||
| 4.1.2 'name'...................................................71 | 4.1.2 'name' 71 | |||
| 4.1.2.1 'nameWithoutLanguage'.................................72 | 4.1.2.1 'nameWithoutLanguage' 72 | |||
| 4.1.2.2 'nameWithLanguage'....................................72 | 4.1.2.2 'nameWithLanguage' 72 | |||
| 4.1.2.3 Matching 'name' attribute values......................73 | 4.1.2.3 Matching 'name' attribute values 73 | |||
| 4.1.3 'keyword'................................................73 | 4.1.3 'keyword' 74 | |||
| 4.1.4 'enum'...................................................74 | 4.1.4 'enum' 74 | |||
| 4.1.5 'uri'....................................................75 | 4.1.5 'uri' 75 | |||
| 4.1.6 'uriScheme'..............................................75 | 4.1.6 'uriScheme' 75 | |||
| 4.1.7 'charset'................................................75 | 4.1.7 'charset' 76 | |||
| 4.1.8 'naturalLanguage'........................................76 | 4.1.8 'naturalLanguage' 76 | |||
| 4.1.9 'mimeMediaType'..........................................76 | 4.1.9 'mimeMediaType' 77 | |||
| 4.1.9.1 Application/octet-stream -- Auto-Sensing the document | 4.1.9.1 Application/octet-stream -- Auto-Sensing the document | |||
| format 77 | format 77 | |||
| 4.1.10 'octetString'............................................78 | 4.1.10 'octetString' 78 | |||
| 4.1.11 'boolean'................................................78 | 4.1.11 'boolean' 78 | |||
| 4.1.12 'integer'................................................78 | 4.1.12 'integer' 78 | |||
| 4.1.13 'rangeOfInteger'.........................................78 | 4.1.13 'rangeOfInteger' 79 | |||
| 4.1.14 'dateTime'...............................................78 | 4.1.14 'dateTime' 79 | |||
| 4.1.15 'resolution'.............................................79 | 4.1.15 'resolution' 79 | |||
| 4.1.16 '1setOf X'..............................................79 | 4.1.16 '1setOf X' 79 | |||
| 4.2 Job Template Attributes......................................79 | 4.2 Job Template Attributes 80 | |||
| 4.2.1 job-priority (integer(1:100))............................83 | 4.2.1 job-priority (integer(1:100)) 83 | |||
| 4.2.2 job-hold-until (type3 keyword | name (MAX))..............84 | 4.2.2 job-hold-until (type3 keyword | name (MAX)) 84 | |||
| 4.2.3 job-sheets (type3 keyword | name(MAX))...................84 | 4.2.3 job-sheets (type3 keyword | name(MAX)) 84 | |||
| 4.2.4 multiple-document-handling (type2 keyword)...............85 | 4.2.4 multiple-document-handling (type2 keyword) 85 | |||
| 4.2.5 copies (integer(1:MAX))..................................86 | 4.2.5 copies (integer(1:MAX)) 86 | |||
| 4.2.6 finishings (1setOf type2 enum)...........................86 | 4.2.6 finishings (1setOf type2 enum) 86 | |||
| 4.2.7 page-ranges (1setOf rangeOfInteger (1:MAX))..............88 | 4.2.7 page-ranges (1setOf rangeOfInteger (1:MAX)) 88 | |||
| 4.2.8 sides (type2 keyword)....................................89 | 4.2.8 sides (type2 keyword) 89 | |||
| 4.2.9 number-up (integer(1:MAX))...............................90 | 4.2.9 number-up (integer(1:MAX)) 90 | |||
| 4.2.10 orientation-requested (type2 enum).......................90 | 4.2.10 orientation-requested (type2 enum) 90 | |||
| 4.2.11 media (type3 keyword | name(MAX))........................92 | 4.2.11 media (type3 keyword | name(MAX)) 92 | |||
| 4.2.12 printer-resolution (resolution)..........................92 | 4.2.12 printer-resolution (resolution) 92 | |||
| 4.2.13 print-quality (type2 enum)...............................92 | 4.2.13 print-quality (type2 enum) 92 | |||
| 4.3 Job Description Attributes...................................93 | 4.3 Job Description Attributes 93 | |||
| 4.3.1 job-uri (uri)............................................95 | 4.3.1 job-uri (uri) 95 | |||
| 4.3.2 job-id (integer(1:MAX))..................................95 | 4.3.2 job-id (integer(1:MAX)) 95 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.3.3 job-printer-uri (uri)....................................95 | 4.3.3 job-printer-uri (uri) 95 | |||
| 4.3.4 job-more-info (uri)......................................96 | 4.3.4 job-more-info (uri) 96 | |||
| 4.3.5 job-name (name(MAX)).....................................96 | 4.3.5 job-name (name(MAX)) 96 | |||
| 4.3.6 job-originating-user-name (name(MAX))....................96 | 4.3.6 job-originating-user-name (name(MAX)) 96 | |||
| 4.3.7 job-state (type1 enum)...................................96 | 4.3.7 job-state (type1 enum) 96 | |||
| 4.3.7.1 Forwarding Servers....................................99 | 4.3.7.1 Forwarding Servers 99 | |||
| 4.3.7.2 Partitioning of Job States............................99 | 4.3.7.2 Partitioning of Job States 99 | |||
| 4.3.8 job-state-reasons (1setOf type2 keyword)...............100 | 4.3.8 job-state-reasons (1setOf type2 keyword) 100 | |||
| 4.3.9 job-state-message (text(MAX))...........................104 | 4.3.9 job-state-message (text(MAX)) 104 | |||
| 4.3.10 job-detailed-status-messages (1setOf text(MAX)).........104 | 4.3.10 job-detailed-status-messages (1setOf text(MAX)) 104 | |||
| 4.3.11 job-document-access-errors (1setOf text(MAX))...........104 | 4.3.11 job-document-access-errors (1setOf text(MAX)) 104 | |||
| 4.3.12 number-of-documents (integer(0:MAX))....................104 | 4.3.12 number-of-documents (integer(0:MAX)) 104 | |||
| 4.3.13 output-device-assigned (name(127))......................105 | 4.3.13 output-device-assigned (name(127)) 105 | |||
| 4.3.14 Event Time Job Description Attributes...................105 | 4.3.14 Event Time Job Description Attributes 105 | |||
| 4.3.14.1 time-at-creation (integer(MIN:MAX))..................106 | 4.3.14.1 time-at-creation (integer(MIN:MAX)) 106 | |||
| 4.3.14.2 time-at-processing (integer(MIN:MAX))................106 | 4.3.14.2 time-at-processing (integer(MIN:MAX)) 106 | |||
| 4.3.14.3 time-at-completed (integer(MIN:MAX)).................106 | 4.3.14.3 time-at-completed (integer(MIN:MAX)) 106 | |||
| 4.3.14.4 job-printer-up-time (integer(1:MAX)).................106 | 4.3.14.4 job-printer-up-time (integer(1:MAX)) 106 | |||
| 4.3.14.5 date-time-at-creation (dateTime).....................106 | 4.3.14.5 date-time-at-creation (dateTime) 106 | |||
| 4.3.14.6 date-time-at-processing (dateTime)...................107 | 4.3.14.6 date-time-at-processing (dateTime) 107 | |||
| 4.3.14.7 date-time-at-completed (dateTime)....................107 | 4.3.14.7 date-time-at-completed (dateTime) 107 | |||
| 4.3.15 number-of-intervening-jobs (integer(0:MAX)).............107 | 4.3.15 number-of-intervening-jobs (integer(0:MAX)) 107 | |||
| 4.3.16 job-message-from-operator (text(127))...................107 | 4.3.16 job-message-from-operator (text(127)) 107 | |||
| 4.3.17 Job Size Attributes.....................................107 | 4.3.17 Job Size Attributes 107 | |||
| 4.3.17.1 job-k-octets (integer(0:MAX))........................107 | 4.3.17.1 job-k-octets (integer(0:MAX)) 107 | |||
| 4.3.17.2 job-impressions (integer(0:MAX)).....................108 | 4.3.17.2 job-impressions (integer(0:MAX)) 108 | |||
| 4.3.17.3 job-media-sheets (integer(0:MAX))....................108 | 4.3.17.3 job-media-sheets (integer(0:MAX)) 108 | |||
| 4.3.18 Job Progress Attributes.................................108 | 4.3.18 Job Progress Attributes 108 | |||
| 4.3.18.1 job-k-octets-processed (integer(0:MAX))..............109 | 4.3.18.1 job-k-octets-processed (integer(0:MAX)) 109 | |||
| 4.3.18.2 job-impressions-completed (integer(0:MAX))...........109 | 4.3.18.2 job-impressions-completed (integer(0:MAX)) 109 | |||
| 4.3.18.3 job-media-sheets-completed (integer(0:MAX))..........109 | 4.3.18.3 job-media-sheets-completed (integer(0:MAX)) 109 | |||
| 4.3.19 attributes-charset (charset)............................109 | 4.3.19 attributes-charset (charset) 109 | |||
| 4.3.20 attributes-natural-language (naturalLanguage)...........110 | 4.3.20 attributes-natural-language (naturalLanguage) 110 | |||
| 4.4 Printer Description Attributes..............................110 | 4.4 Printer Description Attributes 110 | |||
| 4.4.1 printer-uri-supported (1setOf uri)......................112 | 4.4.1 printer-uri-supported (1setOf uri) 112 | |||
| 4.4.2 uri-authentication-supported (1setOf type2 keyword).....112 | 4.4.2 uri-authentication-supported (1setOf type2 keyword) 112 | |||
| 4.4.3 uri-security-supported (1setOf type2 keyword)...........113 | 4.4.3 uri-security-supported (1setOf type2 keyword) 113 | |||
| 4.4.4 printer-name (name(127))................................115 | 4.4.4 printer-name (name(127)) 115 | |||
| 4.4.5 printer-location (text(127))............................115 | 4.4.5 printer-location (text(127)) 115 | |||
| 4.4.6 printer-info (text(127))................................115 | 4.4.6 printer-info (text(127)) 115 | |||
| 4.4.7 printer-more-info (uri).................................115 | 4.4.7 printer-more-info (uri) 115 | |||
| 4.4.8 printer-driver-installer (uri)..........................115 | 4.4.8 printer-driver-installer (uri) 115 | |||
| 4.4.9 printer-make-and-model (text(127))......................115 | 4.4.9 printer-make-and-model (text(127)) 115 | |||
| 4.4.10 printer-more-info-manufacturer (uri)....................116 | 4.4.10 printer-more-info-manufacturer (uri) 116 | |||
| 4.4.11 printer-state (type1 enum)..............................116 | 4.4.11 printer-state (type1 enum) 116 | |||
| 4.4.12 printer-state-reasons (1setOf type2 keyword)............116 | 4.4.12 printer-state-reasons (1setOf type2 keyword) 116 | |||
| 4.4.13 printer-state-message (text(MAX)).......................119 | 4.4.13 printer-state-message (text(MAX)) 119 | |||
| 4.4.14 ipp-versions-supported (1setOf type2 keyword)...........119 | 4.4.14 ipp-versions-supported (1setOf type2 keyword) 119 | |||
| 4.4.15 operations-supported (1setOf type2 enum)................119 | 4.4.15 operations-supported (1setOf type2 enum) 119 | |||
| 4.4.16 multiple-document-jobs-supported (boolean)..............120 | 4.4.16 multiple-document-jobs-supported (boolean) 120 | |||
| 4.4.17 charset-configured (charset)............................120 | 4.4.17 charset-configured (charset) 120 | |||
| 4.4.18 charset-supported (1setOf charset)......................121 | 4.4.18 charset-supported (1setOf charset) 121 | |||
| 4.4.19 natural-language-configured (naturalLanguage)...........121 | 4.4.19 natural-language-configured (naturalLanguage) 121 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.4.20 generated-natural-language-supported (1setOf naturalLanguage) | 4.4.20 generated-natural-language-supported (1setOf naturalLanguage) | |||
| 121 | 121 | |||
| 4.4.21 document-format-default (mimeMediaType).................122 | 4.4.21 document-format-default (mimeMediaType) 122 | |||
| 4.4.22 document-format-supported (1setOf mimeMediaType)........122 | 4.4.22 document-format-supported (1setOf mimeMediaType) 122 | |||
| 4.4.23 printer-is-accepting-jobs (boolean).....................122 | 4.4.23 printer-is-accepting-jobs (boolean) 122 | |||
| 4.4.24 queued-job-count (integer(0:MAX)).......................122 | 4.4.24 queued-job-count (integer(0:MAX)) 122 | |||
| 4.4.25 printer-message-from-operator (text(127))...............122 | 4.4.25 printer-message-from-operator (text(127)) 122 | |||
| 4.4.26 color-supported (boolean)...............................122 | 4.4.26 color-supported (boolean) 122 | |||
| 4.4.27 reference-uri-schemes-supported (1setOf uriScheme)......123 | 4.4.27 reference-uri-schemes-supported (1setOf uriScheme) 123 | |||
| 4.4.28 pdl-override-supported (type2 keyword)..................123 | 4.4.28 pdl-override-supported (type2 keyword) 123 | |||
| 4.4.29 printer-up-time (integer(1:MAX))........................123 | 4.4.29 printer-up-time (integer(1:MAX)) 123 | |||
| 4.4.30 printer-current-time (dateTime).........................124 | 4.4.30 printer-current-time (dateTime) 124 | |||
| 4.4.31 multiple-operation-time-out (integer(1:MAX))............124 | 4.4.31 multiple-operation-time-out (integer(1:MAX)) 124 | |||
| 4.4.32 compression-supported (1setOf type3 keyword)............125 | 4.4.32 compression-supported (1setOf type3 keyword) 125 | |||
| 4.4.33 job-k-octets-supported (rangeOfInteger(0:MAX))..........125 | 4.4.33 job-k-octets-supported (rangeOfInteger(0:MAX)) 125 | |||
| 4.4.34 job-impressions-supported (rangeOfInteger(0:MAX)).......125 | 4.4.34 job-impressions-supported (rangeOfInteger(0:MAX)) 125 | |||
| 4.4.35 job-media-sheets-supported (rangeOfInteger(0:MAX))......125 | 4.4.35 job-media-sheets-supported (rangeOfInteger(0:MAX)) 125 | |||
| 4.4.36 pages-per-minute (integer(0:MAX)).......................126 | 4.4.36 pages-per-minute (integer(0:MAX)) 126 | |||
| 4.4.37 pages-per-minute-color (integer(0:MAX)).................126 | 4.4.37 pages-per-minute-color (integer(0:MAX)) 126 | |||
| 5. Conformance....................................................126 | 5. Conformance 126 | |||
| 5.1 Client Conformance Requirements.............................127 | 5.1 Client Conformance Requirements 127 | |||
| 5.2 IPP Object Conformance Requirements.........................128 | 5.2 IPP Object Conformance Requirements 128 | |||
| 5.2.1 Objects.................................................128 | 5.2.1 Objects 128 | |||
| 5.2.2 Operations..............................................128 | 5.2.2 Operations 128 | |||
| 5.2.3 IPP Object Attributes...................................129 | 5.2.3 IPP Object Attributes 129 | |||
| 5.2.4 Versions................................................129 | 5.2.4 Versions 129 | |||
| 5.2.5 Extensions..............................................130 | 5.2.5 Extensions 130 | |||
| 5.2.6 Attribute Syntaxes......................................130 | 5.2.6 Attribute Syntaxes 130 | |||
| 5.2.7 Security................................................130 | 5.2.7 Security 130 | |||
| 5.3 Charset and Natural Language Requirements...................131 | 5.3 Charset and Natural Language Requirements 131 | |||
| 6. IANA Considerations............................................131 | 6. IANA Considerations 131 | |||
| 6.1 Typed 'keyword' and 'enum' Extensions.......................132 | 6.1 Typed 'keyword' and 'enum' Extensions 132 | |||
| 6.2 Attribute Extensibility.....................................134 | 6.2 Attribute Extensibility 134 | |||
| 6.3 Attribute Syntax Extensibility..............................134 | 6.3 Attribute Syntax Extensibility 134 | |||
| 6.4 Operation Extensibility.....................................135 | 6.4 Operation Extensibility 135 | |||
| 6.5 Attribute Group Extensibility...............................135 | 6.5 Attribute Group Extensibility 135 | |||
| 6.6 Status Code Extensibility...................................135 | 6.6 Status Code Extensibility 135 | |||
| 6.7 Out-of-band Attribute Value Extensibility...................136 | 6.7 Out-of-band Attribute Value Extensibility 136 | |||
| 6.8 Registration of MIME types/sub-types for document-formats...136 | 6.8 Registration of MIME types/sub-types for document-formats 136 | |||
| 6.9 Registration of charsets for use in 'charset' attribute values136 | 6.9 Registration of charsets for use in 'charset' attribute values | |||
| 136 | ||||
| 7. Internationalization Considerations............................137 | 7. Internationalization Considerations 137 | |||
| 8. Security Considerations........................................140 | 8. Security Considerations 140 | |||
| 8.1 Security Scenarios..........................................141 | 8.1 Security Scenarios 141 | |||
| 8.1.1 Client and Server in the Same Security Domain...........141 | 8.1.1 Client and Server in the Same Security Domain 141 | |||
| 8.1.2 Client and Server in Different Security Domains.........141 | 8.1.2 Client and Server in Different Security Domains 141 | |||
| 8.1.3 Print by Reference......................................141 | 8.1.3 Print by Reference 141 | |||
| 8.2 URIs in Operation, Job, and Printer attributes..............141 | 8.2 URIs in Operation, Job, and Printer attributes 141 | |||
| 8.3 URIs for each authentication mechanisms.....................142 | 8.3 URIs for each authentication mechanisms 142 | |||
| 8.4 Restricted Queries..........................................143 | 8.4 Restricted Queries 143 | |||
| 8.5 Operations performed by operators and system administrators.143 | ||||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 8.6 Queries on jobs submitted using non-IPP protocols...........143 | 8.5 Operations performed by operators and system administrators 143 | |||
| 8.6 Queries on jobs submitted using non-IPP protocols 143 | ||||
| 9. References.....................................................144 | 9. References 144 | |||
| 10.Author's Address..............................................147 | 10. Author's Address 147 | |||
| 11.Formats for IPP Registration Proposals........................151 | 11. Formats for IPP Registration Proposals 151 | |||
| 11.1Type2 keyword attribute values registration.................151 | 11.1 Type2 keyword attribute values registration 151 | |||
| 11.2Type3 keyword attribute values registration.................151 | 11.2 Type3 keyword attribute values registration 151 | |||
| 11.3Type2 enum attribute values registration....................151 | 11.3 Type2 enum attribute values registration 151 | |||
| 11.4Type3 enum attribute values registration....................152 | 11.4 Type3 enum attribute values registration 152 | |||
| 11.5Attribute registration......................................152 | 11.5 Attribute registration 152 | |||
| 11.6Attribute Syntax registration...............................153 | 11.6 Attribute Syntax registration 153 | |||
| 11.7Operation registration......................................153 | 11.7 Operation registration 153 | |||
| 11.8Attribute Group registration................................153 | 11.8 Attribute Group registration 153 | |||
| 11.9Status code registration....................................154 | 11.9 Status code registration 154 | |||
| 11.10 Out-of-band Attribute Value registration.............154 | 11.10 Out-of-band Attribute Value registration 154 | |||
| 12.APPENDIX A: Terminology.......................................154 | 12. APPENDIX A: Terminology 154 | |||
| 12.1Conformance Terminology.....................................154 | 12.1 Conformance Terminology 154 | |||
| 12.1.1 NEED NOT................................................154 | 12.1.1 NEED NOT 154 | |||
| 12.2Model Terminology...........................................155 | 12.2 Model Terminology 155 | |||
| 12.2.1 Keyword.................................................155 | 12.2.1 Keyword 155 | |||
| 12.2.2 Attributes..............................................155 | 12.2.2 Attributes 155 | |||
| 12.2.2.1 Attribute Name.......................................155 | 12.2.2.1 Attribute Name 155 | |||
| 12.2.2.2 Attribute Group Name.................................155 | 12.2.2.2 Attribute Group Name 155 | |||
| 12.2.2.3 Attribute Value......................................155 | 12.2.2.3 Attribute Value 155 | |||
| 12.2.2.4 Attribute Syntax.....................................156 | 12.2.2.4 Attribute Syntax 156 | |||
| 12.2.3 Supports................................................156 | 12.2.3 Supports 156 | |||
| 12.2.4 print-stream page.......................................158 | 12.2.4 print-stream page 158 | |||
| 12.2.5 impression..............................................158 | 12.2.5 impression 158 | |||
| 13.APPENDIX B: Status Codes and Suggested Status Code Messages..158 | 13. APPENDIX B: Status Codes and Suggested Status Code Messages 158 | |||
| 13.1Status Codes................................................159 | 13.1 Status Codes 159 | |||
| 13.1.1 Informational...........................................159 | 13.1.1 Informational 159 | |||
| 13.1.2 Successful Status Codes.................................159 | 13.1.2 Successful Status Codes 159 | |||
| 13.1.2.1 successful-ok (0x0000)...............................159 | 13.1.2.1 successful-ok (0x0000) 159 | |||
| 13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001)159 | 13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001) | |||
| 13.1.2.3 successful-ok-conflicting-attributes (0x0002)........160 | 159 | |||
| 13.1.3 Redirection Status Codes................................160 | 13.1.2.3 successful-ok-conflicting-attributes (0x0002) 160 | |||
| 13.1.4 Client Error Status Codes...............................160 | 13.1.3 Redirection Status Codes 160 | |||
| 13.1.4.1 client-error-bad-request (0x0400)....................160 | 13.1.4 Client Error Status Codes 160 | |||
| 13.1.4.2 client-error-forbidden (0x0401)......................160 | 13.1.4.1 client-error-bad-request (0x0400) 160 | |||
| 13.1.4.3 client-error-not-authenticated (0x0402)..............161 | 13.1.4.2 client-error-forbidden (0x0401) 160 | |||
| 13.1.4.4 client-error-not-authorized (0x0403).................161 | 13.1.4.3 client-error-not-authenticated (0x0402) 161 | |||
| 13.1.4.5 client-error-not-possible (0x0404)...................161 | 13.1.4.4 client-error-not-authorized (0x0403) 161 | |||
| 13.1.4.6 client-error-timeout (0x0405)........................161 | 13.1.4.5 client-error-not-possible (0x0404) 161 | |||
| 13.1.4.7 client-error-not-found (0x0406)......................161 | 13.1.4.6 client-error-timeout (0x0405) 161 | |||
| 13.1.4.8 client-error-gone (0x0407)...........................162 | 13.1.4.7 client-error-not-found (0x0406) 161 | |||
| 13.1.4.9 client-error-request-entity-too-large (0x0408).......162 | 13.1.4.8 client-error-gone (0x0407) 162 | |||
| 13.1.4.10client-error-request-value-too-long (0x0409).........162 | 13.1.4.9 client-error-request-entity-too-large (0x0408) 162 | |||
| 13.1.4.11client-error-document-format-not-supported (0x040A)..163 | 13.1.4.10 client-error-request-value-too-long (0x0409) 162 | |||
| 13.1.4.12client-error-attributes-or-values-not-supported (0x040B)163 | 13.1.4.11 client-error-document-format-not-supported (0x040A) 163 | |||
| 13.1.4.13client-error-uri-scheme-not-supported (0x040C).......163 | ||||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.4.14client-error-charset-not-supported (0x040D)..........163 | 13.1.4.12 client-error-attributes-or-values-not-supported (0x040B) | |||
| 13.1.4.15client-error-conflicting-attributes (0x040E).........164 | 163 | |||
| 13.1.4.16client-error-compression-not-supported (0x040F)......164 | 13.1.4.13 client-error-uri-scheme-not-supported (0x040C) 163 | |||
| 13.1.4.17client-error-compression-error (0x0410)..............164 | 13.1.4.14 client-error-charset-not-supported (0x040D) 163 | |||
| 13.1.4.18client-error-document-format-error (0x0411)..........164 | 13.1.4.15 client-error-conflicting-attributes (0x040E) 164 | |||
| 13.1.4.19client-error-document-access-error (0x0412)..........164 | 13.1.4.16 client-error-compression-not-supported (0x040F) 164 | |||
| 13.1.5 Server Error Status Codes...............................165 | 13.1.4.17 client-error-compression-error (0x0410) 164 | |||
| 13.1.5.1 server-error-internal-error (0x0500).................165 | 13.1.4.18 client-error-document-format-error (0x0411) 164 | |||
| 13.1.5.2 server-error-operation-not-supported (0x0501)........165 | 13.1.4.19 client-error-document-access-error (0x0412) 164 | |||
| 13.1.5.3 server-error-service-unavailable (0x0502)............165 | 13.1.5 Server Error Status Codes 165 | |||
| 13.1.5.4 server-error-version-not-supported (0x0503)..........165 | 13.1.5.1 server-error-internal-error (0x0500) 165 | |||
| 13.1.5.5 server-error-device-error (0x0504)...................166 | 13.1.5.2 server-error-operation-not-supported (0x0501) 165 | |||
| 13.1.5.6 server-error-temporary-error (0x0505)................166 | 13.1.5.3 server-error-service-unavailable (0x0502) 165 | |||
| 13.1.5.7 server-error-not-accepting-jobs (0x0506).............166 | 13.1.5.4 server-error-version-not-supported (0x0503) 165 | |||
| 13.1.5.8 server-error-busy (0x0507)...........................166 | 13.1.5.5 server-error-device-error (0x0504) 166 | |||
| 13.1.5.9 server-error-job-canceled (0x0508)...................167 | 13.1.5.6 server-error-temporary-error (0x0505) 166 | |||
| 13.1.5.10server-error-multiple-document-jobs-not-supported (0x0509) | 13.1.5.7 server-error-not-accepting-jobs (0x0506) 166 | |||
| 167 | 13.1.5.8 server-error-busy (0x0507) 166 | |||
| 13.2Status Codes for IPP Operations.............................168 | 13.1.5.9 server-error-job-canceled (0x0508) 167 | |||
| 13.1.5.10 server-error-multiple-document-jobs-not-supported (0x0509) | ||||
| 167 | ||||
| 13.2 Status Codes for IPP Operations 168 | ||||
| 14.APPENDIX C: "media" keyword values...........................170 | 14. APPENDIX C: "media" keyword values 170 | |||
| 15.APPENDIX D: Processing IPP Attributes.........................191 | 15. APPENDIX D: Processing IPP Attributes 191 | |||
| 15.1Fidelity....................................................191 | 15.1 Fidelity 191 | |||
| 15.2Page Description Language (PDL) Override....................192 | 15.2 Page Description Language (PDL) Override 192 | |||
| 15.3Using Job Template Attributes During Document Processing....194 | 15.3 Using Job Template Attributes During Document Processing. 194 | |||
| 16.APPENDIX E: Generic Directory Schema..........................195 | 16. APPENDIX E: Generic Directory Schema 195 | |||
| 17.APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and | 17. APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and | |||
| Semantics" Documents..............................................198 | Semantics" Documents 198 | |||
| 18.Full Copyright Statement......................................204 | 18. Full Copyright Statement 204 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 1. Introduction | 1. Introduction | |||
| The Internet Printing Protocol (IPP) is an application level protocol | The Internet Printing Protocol (IPP) is an application level protocol | |||
| that can be used for distributed printing using Internet tools and | that can be used for distributed printing using Internet tools and | |||
| technologies. IPP version 1.1 (IPP/1.1) focuses primarily on end user | technologies. IPP version 1.1 (IPP/1.1) focuses primarily on end user | |||
| functionality with a few administrative operations included. This | functionality with a few administrative operations included. This | |||
| document is just one of a suite of documents that fully define IPP. The | document is just one of a suite of documents that fully define IPP. The | |||
| full set of IPP documents includes: | full set of IPP documents includes: | |||
| Design Goals for an Internet Printing Protocol [RFC2567] | Design Goals for an Internet Printing Protocol [RFC2567] | |||
| skipping to change at page 10, line 5 ¶ | skipping to change at page 10, line 5 ¶ | |||
| 12.1 on conformance terminology, most of which is taken from | 12.1 on conformance terminology, most of which is taken from | |||
| RFC 2119 [RFC2119]. | RFC 2119 [RFC2119]. | |||
| - Section 15 is an appendix that helps to clarify the effects of | - Section 15 is an appendix that helps to clarify the effects of | |||
| interactions between related attributes and their values. | interactions between related attributes and their values. | |||
| - Section 16 is an appendix that enumerates the subset of Printer | - Section 16 is an appendix that enumerates the subset of Printer | |||
| attributes that form a generic directory schema. These attributes | attributes that form a generic directory schema. These attributes | |||
| are useful when registering a Printer so that a client can find the | are useful when registering a Printer so that a client can find the | |||
| Printer not just by name, but by filtered searches as well. | Printer not just by name, but by filtered searches as well. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| - Section 17 is an appendix summarizing the additions and changes | - Section 17 is an appendix summarizing the additions and changes | |||
| from the IPP/1.0 "Model and Semantics" document [RFC2566] to make | from the IPP/1.0 "Model and Semantics" document [RFC2566] to make | |||
| this IPP/1.1 document. | this IPP/1.1 document. | |||
| - Section 18 is the full copyright notice. | - Section 18 is the full copyright notice. | |||
| 1.1 Simplified Printing Model | 1.1 Simplified Printing Model | |||
| In order to achieve its goal of realizing a workable printing protocol | In order to achieve its goal of realizing a workable printing protocol | |||
| for the Internet, the Internet Printing Protocol (IPP) is based on a | for the Internet, the Internet Printing Protocol (IPP) is based on a | |||
| skipping to change at page 11, line 5 ¶ | skipping to change at page 11, line 5 ¶ | |||
| Each object type has an associated set of operations (see section 3) and | Each object type has an associated set of operations (see section 3) and | |||
| attributes (see section 4). | attributes (see section 4). | |||
| It is important, however, to understand that in real system | It is important, however, to understand that in real system | |||
| implementations (which lie underneath the abstracted IPP/1.1 model), | implementations (which lie underneath the abstracted IPP/1.1 model), | |||
| there are other components of a print service which are not explicitly | there are other components of a print service which are not explicitly | |||
| defined in the IPP/1.1 model. The following figure illustrates where | defined in the IPP/1.1 model. The following figure illustrates where | |||
| IPP/1.1 fits with respect to these other components. | IPP/1.1 fits with respect to these other components. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +--------------+ | +--------------+ | |||
| | Application | | | Application | | |||
| o +. . . . . . . | | o +. . . . . . . | | |||
| \|/ | Spooler | | \|/ | Spooler | | |||
| / \ +. . . . . . . | +---------+ | / \ +. . . . . . . | +---------+ | |||
| End-User | Print Driver |---| File | | End-User | Print Driver |---| File | | |||
| +-----------+ +-----+ +------+-------+ +----+----+ | +-----------+ +-----+ +------+-------+ +----+----+ | |||
| | Browser | | GUI | | | | | Browser | | GUI | | | | |||
| +-----+-----+ +--+--+ | | | +-----+-----+ +--+--+ | | | |||
| | | | | | | | | | | |||
| skipping to change at page 12, line 5 ¶ | skipping to change at page 12, line 5 ¶ | |||
| with the entry in the directory which only represents the Printer | with the entry in the directory which only represents the Printer | |||
| object. | object. | |||
| IPP clients implement the IPP protocol on the client side and give end | IPP clients implement the IPP protocol on the client side and give end | |||
| users (or programs running on behalf of end users) the ability to query | users (or programs running on behalf of end users) the ability to query | |||
| Printer objects and submit and manage print jobs. An IPP server is just | Printer objects and submit and manage print jobs. An IPP server is just | |||
| that part of the Printer object that implements the server-side | that part of the Printer object that implements the server-side | |||
| protocol. The rest of the Printer object implements (or gateways into) | protocol. The rest of the Printer object implements (or gateways into) | |||
| the application semantics of the print service itself. The Printer | the application semantics of the print service itself. The Printer | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| objects may be embedded in an output device or may be implemented on a | objects may be embedded in an output device or may be implemented on a | |||
| host on the network that communicates with an output device. | host on the network that communicates with an output device. | |||
| When a job is submitted to the Printer object and the Printer object | When a job is submitted to the Printer object and the Printer object | |||
| validates the attributes in the submission request, the Printer object | validates the attributes in the submission request, the Printer object | |||
| creates a new Job object. The end user then interacts with this new Job | creates a new Job object. The end user then interacts with this new Job | |||
| object to query its status and monitor the progress of the job. An end | object to query its status and monitor the progress of the job. An end | |||
| user can also cancel their print jobs by using the Job object's Cancel- | user can also cancel their print jobs by using the Job object's Cancel- | |||
| Job operation. An end-user can also hold, release, and restart their | Job operation. An end-user can also hold, release, and restart their | |||
| print jobs using the Job object's OPTIONAL Hold-Job, Release-Job, and | print jobs using the Job object's OPTIONAL Hold-Job, Release-Job, and | |||
| skipping to change at page 13, line 5 ¶ | skipping to change at page 13, line 5 ¶ | |||
| Each attribute included in the set of attributes defining an object type | Each attribute included in the set of attributes defining an object type | |||
| is labeled as: | is labeled as: | |||
| - "REQUIRED": each object MUST support the attribute. | - "REQUIRED": each object MUST support the attribute. | |||
| - "RECOMMENDED": each object SHOULD support the attribute. | - "RECOMMENDED": each object SHOULD support the attribute. | |||
| - "OPTIONAL": each object MAY support the attribute. | - "OPTIONAL": each object MAY support the attribute. | |||
| Some definitions of attribute values indicate that an object MUST or | Some definitions of attribute values indicate that an object MUST or | |||
| SHOULD support the value; otherwise, support of the value is OPTIONAL. | SHOULD support the value; otherwise, support of the value is OPTIONAL. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| However, if an implementation supports an attribute, it MUST support at | However, if an implementation supports an attribute, it MUST support at | |||
| least one of the possible values for that attribute. | least one of the possible values for that attribute. | |||
| 2.1 Printer Object | 2.1 Printer Object | |||
| The major component of the IPP/1.1 model is the Printer object. A | The major component of the IPP/1.1 model is the Printer object. A | |||
| Printer object implements the server-side of the IPP/1.1 protocol. | Printer object implements the server-side of the IPP/1.1 protocol. | |||
| Using the protocol, end users may query the attributes of the Printer | Using the protocol, end users may query the attributes of the Printer | |||
| object and submit print jobs to the Printer object. The actual | object and submit print jobs to the Printer object. The actual | |||
| implementation components behind the Printer abstraction may take on | implementation components behind the Printer abstraction may take on | |||
| skipping to change at page 14, line 5 ¶ | skipping to change at page 14, line 5 ¶ | |||
| embedded case below represents configurations 1 and 2. The hosted and | embedded case below represents configurations 1 and 2. The hosted and | |||
| fan-out figures below represent configurations 3a and 3b. | fan-out figures below represent configurations 3a and 3b. | |||
| In this document the term "client" refers to a software entity that | In this document the term "client" refers to a software entity that | |||
| sends IPP operation requests to an IPP Printer object and accepts IPP | sends IPP operation requests to an IPP Printer object and accepts IPP | |||
| operation responses. A client MAY be: | operation responses. A client MAY be: | |||
| 1. contained within software controlled by an end user, e.g. activated | 1. contained within software controlled by an end user, e.g. activated | |||
| by the "Print" menu item in an application or | by the "Print" menu item in an application or | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 2. the print server component that sends IPP requests to either an | 2. the print server component that sends IPP requests to either an | |||
| output device or another "downstream" print server. | output device or another "downstream" print server. | |||
| The term "IPP Printer" is a network entity that accepts IPP operation | The term "IPP Printer" is a network entity that accepts IPP operation | |||
| requests and returns IPP operation responses. As such, an IPP object | requests and returns IPP operation responses. As such, an IPP object | |||
| MAY be: | MAY be: | |||
| 1. an (embedded) device component that accepts IPP requests and | 1. an (embedded) device component that accepts IPP requests and | |||
| controls the device or | controls the device or | |||
| 2. a component of a print server that accepts IPP requests (where the | 2. a component of a print server that accepts IPP requests (where the | |||
| print server controls one or more networked devices using IPP or | print server controls one or more networked devices using IPP or | |||
| other protocols). | other protocols). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Legend: | Legend: | |||
| ##### indicates a Printer object which is | ##### indicates a Printer object which is | |||
| either embedded in an output device or is | either embedded in an output device or is | |||
| hosted in a server. The Printer object | hosted in a server. The Printer object | |||
| might or might not be capable of queuing/spooling. | might or might not be capable of queuing/spooling. | |||
| any indicates any network protocol or direct | any indicates any network protocol or direct | |||
| connect, including IPP | connect, including IPP | |||
| skipping to change at page 16, line 5 ¶ | skipping to change at page 16, line 5 ¶ | |||
| 2.2 Job Object | 2.2 Job Object | |||
| A Job object is used to model a print job. A Job object contains | A Job object is used to model a print job. A Job object contains | |||
| documents. The information required to create a Job object is sent in a | documents. The information required to create a Job object is sent in a | |||
| create request from the end user via an IPP Client to the Printer | create request from the end user via an IPP Client to the Printer | |||
| object. The Printer object validates the create request, and if the | object. The Printer object validates the create request, and if the | |||
| Printer object accepts the request, the Printer object creates the new | Printer object accepts the request, the Printer object creates the new | |||
| Job object. Section 3 describes each of the Job operations in detail. | Job object. Section 3 describes each of the Job operations in detail. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The characteristics and state of a Job object are described by its | The characteristics and state of a Job object are described by its | |||
| attributes. Job attributes are grouped into two groups as follows: | attributes. Job attributes are grouped into two groups as follows: | |||
| - "job-template" attributes: These attributes can be supplied by the | - "job-template" attributes: These attributes can be supplied by the | |||
| client or end user and include job processing instructions which | client or end user and include job processing instructions which | |||
| are intended to override any Printer object defaults and/or | are intended to override any Printer object defaults and/or | |||
| instructions embedded within the document data. (See section 4.2) | instructions embedded within the document data. (See section 4.2) | |||
| - "job-description" attributes: These attributes describe the Job | - "job-description" attributes: These attributes describe the Job | |||
| object's identification, state, size, etc. The client supplies some | object's identification, state, size, etc. The client supplies some | |||
| of these attributes, and the Printer object generates others. (See | of these attributes, and the Printer object generates others. (See | |||
| skipping to change at page 17, line 5 ¶ | skipping to change at page 17, line 5 ¶ | |||
| (see section 2.4). | (see section 2.4). | |||
| A Job object is either empty (before any documents have been added) or | A Job object is either empty (before any documents have been added) or | |||
| contains one or more documents. If the contained document is a stream | contains one or more documents. If the contained document is a stream | |||
| of document data, that stream can be contained in only one document. | of document data, that stream can be contained in only one document. | |||
| However, there can be identical copies of the stream in other documents | However, there can be identical copies of the stream in other documents | |||
| in the same or different Job objects. If the contained document is just | in the same or different Job objects. If the contained document is just | |||
| a reference to a stream of document data, other documents (in the same | a reference to a stream of document data, other documents (in the same | |||
| or different Job object(s)) may contain the same reference. | or different Job object(s)) may contain the same reference. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 2.4 Object Identity | 2.4 Object Identity | |||
| All Printer and Job objects are identified by a Uniform Resource | All Printer and Job objects are identified by a Uniform Resource | |||
| Identifier (URI) [RFC2396] so that they can be persistently and | Identifier (URI) [RFC2396] so that they can be persistently and | |||
| unambiguously referenced. The notion of a URI is a useful concept, | unambiguously referenced. Since every URL is a specialized form of a | |||
| however, until the notion of URI is more stable (i.e., defined more | URI, even though the more generic term URI is used throughout the rest | |||
| completely and deployed more widely), it is expected that the URIs used | of this document, its usage is intended to cover the more specific | |||
| for IPP objects will actually be URLs [RFC2396]. Since every URL is a | notion of URL as well. | |||
| specialized form of a URI, even though the more generic term URI is used | ||||
| throughout the rest of this document, its usage is intended to cover the | ||||
| more specific notion of URL as well. | ||||
| An administrator configures Printer objects to either support or not | An administrator configures Printer objects to either support or not | |||
| support authentication and/or message privacy using Transport Layer | support authentication and/or message privacy using Transport Layer | |||
| Security (TLS) [RFC2246] (the mechanism for security configuration is | Security (TLS) [RFC2246] (the mechanism for security configuration is | |||
| outside the scope of this IPP/1.1 document). In some situations, both | outside the scope of this IPP/1.1 document). In some situations, both | |||
| types of connections (both authenticated and unauthenticated) can be | types of connections (both authenticated and unauthenticated) can be | |||
| established using a single communication channel that has some sort of | established using a single communication channel that has some sort of | |||
| negotiation mechanism. In other situations, multiple communication | negotiation mechanism. In other situations, multiple communication | |||
| channels are used, one for each type of security configuration. Section | channels are used, one for each type of security configuration. Section | |||
| 8 provides a full description of all security considerations and | 8 provides a full description of all security considerations and | |||
| skipping to change at page 18, line 4 ¶ | skipping to change at page 17, line 56 ¶ | |||
| in "printer-uri-supported". These three attributes are fully described | in "printer-uri-supported". These three attributes are fully described | |||
| in sections 4.4.1, 4.4.2, and 4.4.3. | in sections 4.4.1, 4.4.2, and 4.4.3. | |||
| When a job is submitted to the Printer object via a create request, the | When a job is submitted to the Printer object via a create request, the | |||
| client supplies only a single Printer object URI. The client supplied | client supplies only a single Printer object URI. The client supplied | |||
| Printer object URI MUST be one of the values in the "printer-uri- | Printer object URI MUST be one of the values in the "printer-uri- | |||
| supported" Printer attribute. | supported" Printer attribute. | |||
| IPP/1.1 does not specify how the client obtains the client supplied URI, | IPP/1.1 does not specify how the client obtains the client supplied URI, | |||
| but it is RECOMMENDED that a Printer object be registered as an entry in | but it is RECOMMENDED that a Printer object be registered as an entry in | |||
| Expires September 1, 2000 | ||||
| a directory service. End-users and programs can then interrogate the | a directory service. End-users and programs can then interrogate the | |||
| directory searching for Printers. Section 16 defines a generic schema | directory searching for Printers. Section 16 defines a generic schema | |||
| for Printer object entries in the directory service and describes how | for Printer object entries in the directory service and describes how | |||
| Expires November 22, 2000 | ||||
| the entry acts as a bridge to the actual IPP Printer object. The entry | the entry acts as a bridge to the actual IPP Printer object. The entry | |||
| in the directory that represents the IPP Printer object includes the | in the directory that represents the IPP Printer object includes the | |||
| possibly many URIs for that Printer object as values in one its | possibly many URIs for that Printer object as values in one its | |||
| attributes. | attributes. | |||
| When a client submits a create request to the Printer object, the | When a client submits a create request to the Printer object, the | |||
| Printer object validates the request and creates a new Job object. The | Printer object validates the request and creates a new Job object. The | |||
| Printer object assigns the new Job object a URI which is stored in the | Printer object assigns the new Job object a URI which is stored in the | |||
| "job-uri" Job attribute. This URI is then used by clients as the target | "job-uri" Job attribute. This URI is then used by clients as the target | |||
| for subsequent Job operations. The Printer object generates a Job URI | for subsequent Job operations. The Printer object generates a Job URI | |||
| skipping to change at page 19, line 4 ¶ | skipping to change at page 18, line 57 ¶ | |||
| remote from the Printer object. In this case, the Job object's URI may | remote from the Printer object. In this case, the Job object's URI may | |||
| have no physical-location relationship at all to the Printer object's | have no physical-location relationship at all to the Printer object's | |||
| URI. Again, the fact that Job objects have URIs allows for flexibility | URI. Again, the fact that Job objects have URIs allows for flexibility | |||
| and scalability, however, many existing printing systems have local | and scalability, however, many existing printing systems have local | |||
| models or interface constraints that force print jobs to be identified | models or interface constraints that force print jobs to be identified | |||
| using only a 32-bit positive integer rather than an independent URI. | using only a 32-bit positive integer rather than an independent URI. | |||
| This numeric Job ID is only unique within the context of the Printer | This numeric Job ID is only unique within the context of the Printer | |||
| object to which the create request was originally submitted. Therefore, | object to which the create request was originally submitted. Therefore, | |||
| in order to allow both types of client access to IPP Job objects (either | in order to allow both types of client access to IPP Job objects (either | |||
| by Job URI or by numeric Job ID), when the Printer object successfully | by Job URI or by numeric Job ID), when the Printer object successfully | |||
| Expires September 1, 2000 | ||||
| processes a create request and creates a new Job object, the Printer | processes a create request and creates a new Job object, the Printer | |||
| object MUST generate both a Job URI and a Job ID. The Job ID (stored in | object MUST generate both a Job URI and a Job ID. The Job ID (stored in | |||
| the "job-id" attribute) only has meaning in the context of the Printer | the "job-id" attribute) only has meaning in the context of the Printer | |||
| Expires November 22, 2000 | ||||
| object to which the create request was originally submitted. This | object to which the create request was originally submitted. This | |||
| requirement to support both Job URIs and Job IDs allows all types of | requirement to support both Job URIs and Job IDs allows all types of | |||
| clients to access Printer objects and Job objects no matter the local | clients to access Printer objects and Job objects no matter the local | |||
| constraints imposed on the client implementation. | constraints imposed on the client implementation. | |||
| In addition to identifiers, Printer objects and Job objects have names | In addition to identifiers, Printer objects and Job objects have names | |||
| ("printer-name" and "job-name"). An object name NEED NOT be unique | ("printer-name" and "job-name"). An object name NEED NOT be unique | |||
| across all instances of all objects. A Printer object's name is chosen | across all instances of all objects. A Printer object's name is chosen | |||
| and set by an administrator through some mechanism outside the scope of | and set by an administrator through some mechanism outside the scope of | |||
| this IPP/1.1 document. A Job object's name is optionally chosen and | this IPP/1.1 document. A Job object's name is optionally chosen and | |||
| skipping to change at page 20, line 5 ¶ | skipping to change at page 19, line 55 ¶ | |||
| - Each Printer object has a name (which is not necessarily unique). | - Each Printer object has a name (which is not necessarily unique). | |||
| The administrator chooses and sets this name through some mechanism | The administrator chooses and sets this name through some mechanism | |||
| outside the scope of this IPP/1.1 document. The Printer object's | outside the scope of this IPP/1.1 document. The Printer object's | |||
| "printer-name" attribute contains the name. | "printer-name" attribute contains the name. | |||
| - Each Job object has a name (which is not necessarily unique). The | - Each Job object has a name (which is not necessarily unique). The | |||
| client optionally supplies this name in the create request. If the | client optionally supplies this name in the create request. If the | |||
| client does not supply this name, the Printer object generates a | client does not supply this name, the Printer object generates a | |||
| name for the Job object. The Job object's "job-name" attribute | name for the Job object. The Job object's "job-name" attribute | |||
| contains the name. | contains the name. | |||
| Expires September 1, 2000 | ||||
| 3. IPP Operations | 3. IPP Operations | |||
| IPP objects support operations. An operation consists of a request and | IPP objects support operations. An operation consists of a request and | |||
| a response. When a client communicates with an IPP object, the client | a response. When a client communicates with an IPP object, the client | |||
| Expires November 22, 2000 | ||||
| issues an operation request to the URI for that object. Operation | issues an operation request to the URI for that object. Operation | |||
| requests and responses have parameters that identify the operation. | requests and responses have parameters that identify the operation. | |||
| Operations also have attributes that affect the run-time characteristics | Operations also have attributes that affect the run-time characteristics | |||
| of the operation (the intended target, localization information, etc.). | of the operation (the intended target, localization information, etc.). | |||
| These operation-specific attributes are called operation attributes (as | These operation-specific attributes are called operation attributes (as | |||
| compared to object attributes such as Printer object attributes or Job | compared to object attributes such as Printer object attributes or Job | |||
| object attributes). Each request carries along with it any operation | object attributes). Each request carries along with it any operation | |||
| attributes, object attributes, and/or document data required to perform | attributes, object attributes, and/or document data required to perform | |||
| the operation. Each request requires a response from the object. Each | the operation. Each request requires a response from the object. Each | |||
| response indicates success or failure of the operation with a status | response indicates success or failure of the operation with a status | |||
| skipping to change at page 21, line 5 ¶ | skipping to change at page 20, line 56 ¶ | |||
| The Send-Document and Send-URI Job operations are used to add a new | The Send-Document and Send-URI Job operations are used to add a new | |||
| document to an existing multi-document Job object created using the | document to an existing multi-document Job object created using the | |||
| Create-Job operation. | Create-Job operation. | |||
| 3.1 Common Semantics | 3.1 Common Semantics | |||
| All IPP operations require some common parameters and operation | All IPP operations require some common parameters and operation | |||
| attributes. These common elements and their semantic characteristics | attributes. These common elements and their semantic characteristics | |||
| are defined and described in more detail in the following sections. | are defined and described in more detail in the following sections. | |||
| Expires September 1, 2000 | ||||
| 3.1.1 Required Parameters | 3.1.1 Required Parameters | |||
| Every operation request contains the following REQUIRED parameters: | Every operation request contains the following REQUIRED parameters: | |||
| Expires November 22, 2000 | ||||
| - a "version-number", | - a "version-number", | |||
| - an "operation-id", | - an "operation-id", | |||
| - a "request-id", and | - a "request-id", and | |||
| - the attributes that are REQUIRED for that type of request. | - the attributes that are REQUIRED for that type of request. | |||
| Every operation response contains the following REQUIRED parameters: | Every operation response contains the following REQUIRED parameters: | |||
| - a "version-number", | - a "version-number", | |||
| - a "status-code", | - a "status-code", | |||
| - the "request-id" that was supplied in the corresponding request, | - the "request-id" that was supplied in the corresponding request, | |||
| skipping to change at page 22, line 5 ¶ | skipping to change at page 21, line 56 ¶ | |||
| corresponding requests were sent. In such cases, the "request-id" | corresponding requests were sent. In such cases, the "request-id" | |||
| attribute would not be essential for correct protocol operation. | attribute would not be essential for correct protocol operation. | |||
| However, in other mappings, the operation responses can come back in any | However, in other mappings, the operation responses can come back in any | |||
| order. In these cases, the "request-id" would be essential. | order. In these cases, the "request-id" would be essential. | |||
| 3.1.3 Attributes | 3.1.3 Attributes | |||
| Operation requests and responses are both composed of groups of | Operation requests and responses are both composed of groups of | |||
| attributes and/or document data. The attributes groups are: | attributes and/or document data. The attributes groups are: | |||
| Expires September 1, 2000 | ||||
| - Operation Attributes: These attributes are passed in the operation | - Operation Attributes: These attributes are passed in the operation | |||
| and affect the IPP object's behavior while processing the operation | and affect the IPP object's behavior while processing the operation | |||
| request and may affect other attributes or groups of attributes. | request and may affect other attributes or groups of attributes. | |||
| Some operation attributes describe the document data associated | Some operation attributes describe the document data associated | |||
| Expires November 22, 2000 | ||||
| with the print job and are associated with new Job objects, however | with the print job and are associated with new Job objects, however | |||
| most operation attributes do not persist beyond the life of the | most operation attributes do not persist beyond the life of the | |||
| operation. The description of each operation attribute includes | operation. The description of each operation attribute includes | |||
| conformance statements indicating which operation attributes are | conformance statements indicating which operation attributes are | |||
| REQUIRED and which are OPTIONAL for an IPP object to support and | REQUIRED and which are OPTIONAL for an IPP object to support and | |||
| which attributes a client MUST supply in a request and an IPP | which attributes a client MUST supply in a request and an IPP | |||
| object MUST supply in a response. | object MUST supply in a response. | |||
| - Job Template Attributes: These attributes affect the processing of | - Job Template Attributes: These attributes affect the processing of | |||
| a job. A client OPTIONALLY supplies Job Template Attributes in a | a job. A client OPTIONALLY supplies Job Template Attributes in a | |||
| create request, and the receiving object MUST be prepared to | create request, and the receiving object MUST be prepared to | |||
| skipping to change at page 23, line 4 ¶ | skipping to change at page 22, line 55 ¶ | |||
| attributes that the client supplied in the request. | attributes that the client supplied in the request. | |||
| Later in this section, each operation is formally defined by identifying | Later in this section, each operation is formally defined by identifying | |||
| the allowed and expected groups of attributes for each request and | the allowed and expected groups of attributes for each request and | |||
| response. The model identifies a specific order for each group in each | response. The model identifies a specific order for each group in each | |||
| request or response, but the attributes within each group may be in any | request or response, but the attributes within each group may be in any | |||
| order, unless specified otherwise. | order, unless specified otherwise. | |||
| The attributes within a group MUST be unique; if an attribute with the | The attributes within a group MUST be unique; if an attribute with the | |||
| same name occurs more than once, the group is mal-formed. Clients MUST | same name occurs more than once, the group is mal-formed. Clients MUST | |||
| Expires September 1, 2000 | ||||
| NOT submit such malformed requests and Printers MUST NOT return such | NOT submit such malformed requests and Printers MUST NOT return such | |||
| malformed responses. If such a malformed request is submitted to a | malformed responses. If such a malformed request is submitted to a | |||
| Printer, the Printer MUST either (1) reject the request with the | Printer, the Printer MUST either (1) reject the request with the | |||
| 'client-error-bad-request' status code (see section 13.1.4.1) or (2) | 'client-error-bad-request' status code (see section 13.1.4.1) or (2) | |||
| Expires November 22, 2000 | ||||
| process the request normally after selecting only one of the attribute | process the request normally after selecting only one of the attribute | |||
| instances, depending on implementation. Which attribute is selected | instances, depending on implementation. Which attribute is selected | |||
| when there are duplicate attributes depends on implementation. The IPP | when there are duplicate attributes depends on implementation. The IPP | |||
| Printer MUST NOT use the values from more than one such duplicate | Printer MUST NOT use the values from more than one such duplicate | |||
| attribute instance. | attribute instance. | |||
| Each attribute definition includes the attribute's name followed by the | Each attribute definition includes the attribute's name followed by the | |||
| name of its attribute syntax(es) in parenthesizes. In addition, each | name of its attribute syntax(es) in parenthesizes. In addition, each | |||
| 'integer' attribute is followed by the allowed range in parentheses, | 'integer' attribute is followed by the allowed range in parentheses, | |||
| (m:n), for values of that attribute. Each 'text' or 'name' attribute is | (m:n), for values of that attribute. Each 'text' or 'name' attribute is | |||
| skipping to change at page 24, line 4 ¶ | skipping to change at page 23, line 55 ¶ | |||
| attribute groups, the order of the attributes within the group is not | attribute groups, the order of the attributes within the group is not | |||
| important. However, for these two attributes within the Operation | important. However, for these two attributes within the Operation | |||
| Attributes group, the order is critical. The "attributes-charset" | Attributes group, the order is critical. The "attributes-charset" | |||
| attribute MUST be the first attribute in the group and the "attributes- | attribute MUST be the first attribute in the group and the "attributes- | |||
| natural-language" attribute MUST be the second attribute in the group. | natural-language" attribute MUST be the second attribute in the group. | |||
| In other words, these attributes MUST be supplied in every IPP request | In other words, these attributes MUST be supplied in every IPP request | |||
| and response, they MUST come first in the group, and MUST come in the | and response, they MUST come first in the group, and MUST come in the | |||
| specified order. For job creation operations, the IPP Printer | specified order. For job creation operations, the IPP Printer | |||
| implementation saves these two attributes with the new Job object as Job | implementation saves these two attributes with the new Job object as Job | |||
| Description attributes. For the sake of brevity in this document, these | Description attributes. For the sake of brevity in this document, these | |||
| Expires September 1, 2000 | ||||
| operation attribute descriptions are not repeated with every operation | operation attribute descriptions are not repeated with every operation | |||
| request and response, but have a reference back to this section instead. | request and response, but have a reference back to this section instead. | |||
| Expires November 22, 2000 | ||||
| 3.1.4.1 Request Operation Attributes | 3.1.4.1 Request Operation Attributes | |||
| The client MUST supply and the Printer object MUST support the following | The client MUST supply and the Printer object MUST support the following | |||
| REQUIRED operation attributes in every IPP/1.1 operation request: | REQUIRED operation attributes in every IPP/1.1 operation request: | |||
| "attributes-charset" (charset): | "attributes-charset" (charset): | |||
| This operation attribute identifies the charset (coded character | This operation attribute identifies the charset (coded character | |||
| set and encoding method) used by any 'text' and 'name' attributes | set and encoding method) used by any 'text' and 'name' attributes | |||
| that the client is supplying in this request. It also identifies | that the client is supplying in this request. It also identifies | |||
| the charset that the Printer object MUST use (if supported) for all | the charset that the Printer object MUST use (if supported) for all | |||
| skipping to change at page 25, line 4 ¶ | skipping to change at page 24, line 56 ¶ | |||
| See the 'charset' attribute syntax description in Section 4.1.7 for | See the 'charset' attribute syntax description in Section 4.1.7 for | |||
| the syntax and semantic interpretation of the values of this | the syntax and semantic interpretation of the values of this | |||
| attribute and for example values. | attribute and for example values. | |||
| "attributes-natural-language" (naturalLanguage): | "attributes-natural-language" (naturalLanguage): | |||
| This operation attribute identifies the natural language used by | This operation attribute identifies the natural language used by | |||
| any 'text' and 'name' attributes that the client is supplying in | any 'text' and 'name' attributes that the client is supplying in | |||
| this request. This attribute also identifies the natural language | this request. This attribute also identifies the natural language | |||
| that the Printer object SHOULD use for all 'text' and 'name' | that the Printer object SHOULD use for all 'text' and 'name' | |||
| Expires September 1, 2000 | ||||
| attributes and status messages that the Printer object returns in | attributes and status messages that the Printer object returns in | |||
| the response to this request. | the response to this request. See the 'naturalLanguage' attribute | |||
| syntax description in section 4.1.8 for the syntax and semantic | ||||
| Expires November 22, 2000 | ||||
| interpretation of the values of this attribute and for example | ||||
| values. | ||||
| There are no REQUIRED natural languages required for the Printer | There are no REQUIRED natural languages required for the Printer | |||
| object to support. However, the Printer object's "generated- | object to support. However, the Printer object's "generated- | |||
| natural-language-supported" attribute identifies the natural | natural-language-supported" attribute identifies the natural | |||
| languages supported by the Printer object and any contained Job | languages supported by the Printer object and any contained Job | |||
| objects for all text strings generated by the IPP object. A client | objects for all text strings generated by the IPP object. A client | |||
| MAY query this attribute to determine which natural language(s) are | MAY query this attribute to determine which natural language(s) are | |||
| supported for generated messages. | supported for generated messages. | |||
| For any of the attributes for which the Printer object generates | For any of the attributes for which the Printer object generates | |||
| skipping to change at page 26, line 5 ¶ | skipping to change at page 26, line 5 ¶ | |||
| attribute-fidelity" Operation attribute). That is the IPP object | attribute-fidelity" Operation attribute). That is the IPP object | |||
| accepts all client supplied values no matter what the values are in | accepts all client supplied values no matter what the values are in | |||
| the Printer object's "generated-natural-language-supported" | the Printer object's "generated-natural-language-supported" | |||
| attribute. That attribute, "generated-natural-language-supported", | attribute. That attribute, "generated-natural-language-supported", | |||
| only applies to generated messages, not client supplied messages. | only applies to generated messages, not client supplied messages. | |||
| The IPP object MUST remember that natural language for all client- | The IPP object MUST remember that natural language for all client- | |||
| supplied attributes, and when returning those attributes in | supplied attributes, and when returning those attributes in | |||
| response to a query, the IPP object MUST indicate that natural | response to a query, the IPP object MUST indicate that natural | |||
| language. | language. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Each value whose attribute syntax type is 'text' or 'name' (see | Each value whose attribute syntax type is 'text' or 'name' (see | |||
| sections 4.1.1 and 4.1.2) has an Associated Natural-Language. This | sections 4.1.1 and 4.1.2) has an Associated Natural-Language. This | |||
| document does not specify how this association is stored in a | document does not specify how this association is stored in a | |||
| Printer or Job object. When such a value is encoded in a request | Printer or Job object. When such a value is encoded in a request | |||
| or response, the natural language is either implicit or explicit: | or response, the natural language is either implicit or explicit: | |||
| @ In the implicit case, the value contains only the text/name | @ In the implicit case, the value contains only the text/name | |||
| value, and the language is specified by the "attributes- | value, and the language is specified by the "attributes- | |||
| natural-language" operation attribute in the request or | natural-language" operation attribute in the request or | |||
| response (see sections 4.1.1.1 textWithoutLanguage and 4.1.2.1 | response (see sections 4.1.1.1 textWithoutLanguage and 4.1.2.1 | |||
| skipping to change at page 26, line 43 ¶ | skipping to change at page 26, line 43 ¶ | |||
| natural-language" operation attribute of the response. The IPP | natural-language" operation attribute of the response. The IPP | |||
| object MAY use the Natural Language Override mechanism redundantly, | object MAY use the Natural Language Override mechanism redundantly, | |||
| i.e., use it even when the value is in the same natural language | i.e., use it even when the value is in the same natural language | |||
| as the value supplied in the "attributes-natural-language" | as the value supplied in the "attributes-natural-language" | |||
| operation attribute of the response. | operation attribute of the response. | |||
| An IPP object MUST NOT reject a request based on a supplied natural | An IPP object MUST NOT reject a request based on a supplied natural | |||
| language in an "attributes-natural-language" Operation attribute or | language in an "attributes-natural-language" Operation attribute or | |||
| in any attribute that uses the Natural Language Override. | in any attribute that uses the Natural Language Override. | |||
| See the 'naturalLanguage' attribute syntax description in section | ||||
| 4.1.8 for the syntax and semantic interpretation of the values of | ||||
| this attribute and for example values. | ||||
| Clients SHOULD NOT supply 'text' or 'name' attributes that use an | Clients SHOULD NOT supply 'text' or 'name' attributes that use an | |||
| illegal combination of natural language and charset. For example, | illegal combination of natural language and charset. For example, | |||
| suppose a Printer object supports charsets 'utf-8', 'iso-8859-1', and | suppose a Printer object supports charsets 'utf-8', 'iso-8859-1', and | |||
| 'iso-8859-7'. Suppose also, that it supports natural languages 'en' | 'iso-8859-7'. Suppose also, that it supports natural languages 'en' | |||
| (English), 'fr' (French), and 'el' (Greek). Although the Printer object | (English), 'fr' (French), and 'el' (Greek). Although the Printer object | |||
| supports the charset 'iso-8859-1' and natural language 'el', it probably | supports the charset 'iso-8859-1' and natural language 'el', it probably | |||
| does not support the combination of Greek text strings using the 'iso- | does not support the combination of Greek text strings using the 'iso- | |||
| 8859-1' charset. The Printer object handles this apparent | 8859-1' charset. The Printer object handles this apparent | |||
| incompatibility differently depending on the context in which it occurs: | incompatibility differently depending on the context in which it occurs: | |||
| - In a create request: If the client supplies a text or name | - In a create request: If the client supplies a text or name | |||
| attribute (for example, the "job-name" operation attribute) that | attribute (for example, the "job-name" operation attribute) that | |||
| uses an apparently incompatible combination, it is a client choice | uses an apparently incompatible combination, it is a client choice | |||
| Expires September 1, 2000 | ||||
| that does not affect the Printer object or its correct operation. | that does not affect the Printer object or its correct operation. | |||
| Therefore, the Printer object simply accepts the client supplied | Therefore, the Printer object simply accepts the client supplied | |||
| value, stores it with the Job object, and responds back with the | value, stores it with the Job object, and responds back with the | |||
| Expires November 22, 2000 | ||||
| same combination whenever the client (or any client) queries for | same combination whenever the client (or any client) queries for | |||
| that attribute. | that attribute. | |||
| - In a query-type operation, like Get-Printer-Attributes: If the | - In a query-type operation, like Get-Printer-Attributes: If the | |||
| client requests an apparently incompatible combination, the Printer | client requests an apparently incompatible combination, the Printer | |||
| object responds (as described in section 3.1.4.2) using the | object responds (as described in section 3.1.4.2) using the | |||
| Printer's configured natural language rather than the natural | Printer's configured natural language rather than the natural | |||
| language requested by the client. | language requested by the client. | |||
| In either case, the Printer object does not reject the request because | In either case, the Printer object does not reject the request because | |||
| of the apparent incompatibility. The potential incompatible combination | of the apparent incompatibility. The potential incompatible combination | |||
| skipping to change at page 28, line 5 ¶ | skipping to change at page 28, line 5 ¶ | |||
| or to the absence of a character, depending on implementation. | or to the absence of a character, depending on implementation. | |||
| Whether an implementation that supports more than one charset | Whether an implementation that supports more than one charset | |||
| stores the data in the charset supplied by the client or code | stores the data in the charset supplied by the client or code | |||
| converts to one of the other supported charsets, depends on | converts to one of the other supported charsets, depends on | |||
| implementation. The strategy should try to minimize loss of | implementation. The strategy should try to minimize loss of | |||
| information during code conversion. On each response, such an | information during code conversion. On each response, such an | |||
| implementation converts from its internal charset to that | implementation converts from its internal charset to that | |||
| requested. | requested. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| "attributes-natural-language" (naturalLanguage): | "attributes-natural-language" (naturalLanguage): | |||
| This operation attribute identifies the natural language used by | This operation attribute identifies the natural language used by | |||
| any 'text' and 'name' attributes that the IPP object is returning | any 'text' and 'name' attributes that the IPP object is returning | |||
| in this response. Unlike the "attributes-charset" operation | in this response. Unlike the "attributes-charset" operation | |||
| attribute, the IPP object NEED NOT return the same value as that | attribute, the IPP object NEED NOT return the same value as that | |||
| supplied by the client in the request. The IPP object MAY return | supplied by the client in the request. The IPP object MAY return | |||
| the natural language of the Job object or the Printer's configured | the natural language of the Job object or the Printer's configured | |||
| natural language as identified by the Printer object's "natural- | natural language as identified by the Printer object's "natural- | |||
| language-configured" attribute, rather than the natural language | language-configured" attribute, rather than the natural language | |||
| skipping to change at page 29, line 5 ¶ | skipping to change at page 29, line 5 ¶ | |||
| operation attribute. | operation attribute. | |||
| The operation target attributes are REQUIRED operation attributes that | The operation target attributes are REQUIRED operation attributes that | |||
| MUST be included in every operation request. Like the charset and | MUST be included in every operation request. Like the charset and | |||
| natural language attributes (see section 3.1.4), the operation target | natural language attributes (see section 3.1.4), the operation target | |||
| attributes are specially ordered operation attributes. In all cases, | attributes are specially ordered operation attributes. In all cases, | |||
| the operation target attributes immediately follow the "attributes- | the operation target attributes immediately follow the "attributes- | |||
| charset" and "attributes-natural-language" attributes within the | charset" and "attributes-natural-language" attributes within the | |||
| operation attribute group, however the specific ordering rules are: | operation attribute group, however the specific ordering rules are: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| - In the case where there is only one operation target attribute | - In the case where there is only one operation target attribute | |||
| (i.e., either only the "printer-uri" attribute or only the "job- | (i.e., either only the "printer-uri" attribute or only the "job- | |||
| uri" attribute), that attribute MUST be the third attribute in the | uri" attribute), that attribute MUST be the third attribute in the | |||
| operation attributes group. | operation attributes group. | |||
| - In the case where Job operations use two operation target | - In the case where Job operations use two operation target | |||
| attributes (i.e., the "printer-uri" and "job-id" attributes), the | attributes (i.e., the "printer-uri" and "job-id" attributes), the | |||
| "printer-uri" attribute MUST be the third attribute and the "job- | "printer-uri" attribute MUST be the third attribute and the "job- | |||
| id" attribute MUST be the fourth attribute. | id" attribute MUST be the fourth attribute. | |||
| In all cases, the target URIs contained within the body of IPP operation | In all cases, the target URIs contained within the body of IPP operation | |||
| skipping to change at page 30, line 5 ¶ | skipping to change at page 30, line 5 ¶ | |||
| 3.1.6.1 "status-code" (type2 enum) | 3.1.6.1 "status-code" (type2 enum) | |||
| The REQUIRED "status-code" parameter provides information on the | The REQUIRED "status-code" parameter provides information on the | |||
| processing of a request. | processing of a request. | |||
| The status code is intended for use by automata. A client | The status code is intended for use by automata. A client | |||
| implementation of IPP SHOULD convert status code values into any | implementation of IPP SHOULD convert status code values into any | |||
| localized message that has semantic meaning to the end user. | localized message that has semantic meaning to the end user. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The "status-code" value is a numeric value that has semantic meaning. | The "status-code" value is a numeric value that has semantic meaning. | |||
| The "status-code" syntax is similar to a "type2 enum" (see section 4.1 | The "status-code" syntax is similar to a "type2 enum" (see section 4.1 | |||
| on "Attribute Syntaxes") except that values can range only from 0x0000 | on "Attribute Syntaxes") except that values can range only from 0x0000 | |||
| to 0x7FFF. Section 13 describes the status codes, assigns the numeric | to 0x7FFF. Section 13 describes the status codes, assigns the numeric | |||
| values, and suggests a corresponding status message for each status code | values, and suggests a corresponding status message for each status code | |||
| for use by the client when the user's natural language is English. | for use by the client when the user's natural language is English. | |||
| If the Printer performs an operation with no errors and it encounters no | If the Printer performs an operation with no errors and it encounters no | |||
| problems, it MUST return the status code 'successful-ok' in the | problems, it MUST return the status code 'successful-ok' in the | |||
| response. See section 13. | response. See section 13. | |||
| skipping to change at page 31, line 5 ¶ | skipping to change at page 31, line 5 ¶ | |||
| understand. | understand. | |||
| If the Printer object supports the "status-message" operation attribute, | If the Printer object supports the "status-message" operation attribute, | |||
| the Printer object MUST be able to generate this message in any of the | the Printer object MUST be able to generate this message in any of the | |||
| natural languages identified by the Printer object's "generated-natural- | natural languages identified by the Printer object's "generated-natural- | |||
| language-supported" attribute (see the "attributes-natural-language" | language-supported" attribute (see the "attributes-natural-language" | |||
| operation attribute specified in section 3.1.4.1. Section 13 suggests | operation attribute specified in section 3.1.4.1. Section 13 suggests | |||
| the text for the status message returned by the Printer for use with the | the text for the status message returned by the Printer for use with the | |||
| English natural language. | English natural language. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| As described in section 3.1.4.1 for any returned 'text' attribute, if | As described in section 3.1.4.1 for any returned 'text' attribute, if | |||
| there is a choice for generating this message, the Printer object uses | there is a choice for generating this message, the Printer object uses | |||
| the natural language indicated by the value of the "attributes-natural- | the natural language indicated by the value of the "attributes-natural- | |||
| language" in the client request if supported, otherwise the Printer | language" in the client request if supported, otherwise the Printer | |||
| object uses the value in the Printer object's own "natural-language- | object uses the value in the Printer object's own "natural-language- | |||
| configured" attribute. | configured" attribute. | |||
| If the Printer object supports the "status-message" operation attribute, | If the Printer object supports the "status-message" operation attribute, | |||
| it SHOULD use the REQUIRED 'utf-8' charset to return a status message | it SHOULD use the REQUIRED 'utf-8' charset to return a status message | |||
| for the following error status codes (see section 13): 'client-error- | for the following error status codes (see section 13): 'client-error- | |||
| skipping to change at page 31, line 29 ¶ | skipping to change at page 31, line 29 ¶ | |||
| the "attributes-charset" operation attribute to 'utf-8' in the error | the "attributes-charset" operation attribute to 'utf-8' in the error | |||
| response. | response. | |||
| 3.1.6.3 "detailed-status-message" (text(MAX)) | 3.1.6.3 "detailed-status-message" (text(MAX)) | |||
| The OPTIONAL "detailed-status-message" operation attribute provides | The OPTIONAL "detailed-status-message" operation attribute provides | |||
| additional more detailed technical and implementation-specific | additional more detailed technical and implementation-specific | |||
| information about the operation. The "detailed-status-message" | information about the operation. The "detailed-status-message" | |||
| attribute's syntax is "text(MAX)", so the maximum length is 1023 octets | attribute's syntax is "text(MAX)", so the maximum length is 1023 octets | |||
| (see section 4.1.1). If the Printer objects supports the "detailed- | (see section 4.1.1). If the Printer objects supports the "detailed- | |||
| status-message" operation attribute, neither the Printer nor the client | status-message" operation attribute, the Printer NEED NOT localize the | |||
| localizes the message, since it is intended for use by the system | message, since it is intended for use by the system administrator or | |||
| administrator or other experienced technical persons. Clients MUST NOT | other experienced technical persons. Localization might obscure the | |||
| attempt to parse the value of this attribute. See the "document-access- | technical meaning of such messages. Clients MUST NOT attempt to parse | |||
| error" operation attribute (section 3.1.6.4) for additional errors that | the value of this attribute. See the "document-access-error" operation | |||
| a program can process. | attribute (section 3.1.6.4) for additional errors that a program can | |||
| process. | ||||
| 3.1.6.4 "document-access-error" (text(MAX)) | 3.1.6.4 "document-access-error" (text(MAX)) | |||
| This OPTIONAL operation attribute provides additional information about | This OPTIONAL operation attribute provides additional information about | |||
| any document access errors encountered by the Printer before it returned | any document access errors encountered by the Printer before it returned | |||
| a response to the Print-URI (section 3.2.2) or Send-URI (section 3.3.1) | a response to the Print-URI (section 3.2.2) or Send-URI (section 3.3.1) | |||
| operation. For errors in the protocol identified by the URI scheme in | operation. For errors in the protocol identified by the URI scheme in | |||
| the "document-uri" operation attribute, such as 'http:' or 'ftp:', the | the "document-uri" operation attribute, such as 'http:' or 'ftp:', the | |||
| error code is returned in parentheses, followed by the URI. For | error code is returned in parentheses, followed by the URI. For | |||
| example: | example: | |||
| skipping to change at page 32, line 5 ¶ | skipping to change at page 32, line 5 ¶ | |||
| Most Internet protocols use decimal error codes (unlike IPP), so the | Most Internet protocols use decimal error codes (unlike IPP), so the | |||
| ASCII error code representation is in decimal. | ASCII error code representation is in decimal. | |||
| 3.1.7 Unsupported Attributes | 3.1.7 Unsupported Attributes | |||
| The Unsupported Attributes group contains attributes that are not | The Unsupported Attributes group contains attributes that are not | |||
| supported by the operation. This group is primarily for the job creation | supported by the operation. This group is primarily for the job creation | |||
| operations, but all operations can return this group. | operations, but all operations can return this group. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| A Printer object MUST include an Unsupported Attributes group in a | A Printer object MUST include an Unsupported Attributes group in a | |||
| response if the status code is one of the following: 'successful-ok- | response if the status code is one of the following: 'successful-ok- | |||
| ignored-or-substituted-attributes', 'successful-ok-conflicting- | ignored-or-substituted-attributes', 'successful-ok-conflicting- | |||
| attributes', 'client-error-attributes-or-values-not-supported' or | attributes', 'client-error-attributes-or-values-not-supported' or | |||
| 'client-error-conflicting-attributes'. | 'client-error-conflicting-attributes'. | |||
| If the status code is one of the four specified in the preceding | If the status code is one of the four specified in the preceding | |||
| paragraph, the Unsupported Attributes group MUST contain all of those | paragraph, the Unsupported Attributes group MUST contain all of those | |||
| attributes and only those attributes that are: | attributes and only those attributes that are: | |||
| skipping to change at page 33, line 5 ¶ | skipping to change at page 33, line 5 ¶ | |||
| In the case of a supported attribute with one or more unsupported | In the case of a supported attribute with one or more unsupported | |||
| attribute syntaxes or values, the Printer object simply returns the | attribute syntaxes or values, the Printer object simply returns the | |||
| client-supplied attribute with the unsupported attribute syntaxes or | client-supplied attribute with the unsupported attribute syntaxes or | |||
| values as supplied by the client. This indicates support for the | values as supplied by the client. This indicates support for the | |||
| attribute, but no support for that particular attribute syntax or value. | attribute, but no support for that particular attribute syntax or value. | |||
| If the client supplies a multi-valued attribute with more than one value | If the client supplies a multi-valued attribute with more than one value | |||
| and the Printer object supports the attribute but only supports a subset | and the Printer object supports the attribute but only supports a subset | |||
| of the client-supplied attribute syntaxes or values, the Printer object | of the client-supplied attribute syntaxes or values, the Printer object | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| MUST return only those attribute syntaxes or values that are | MUST return only those attribute syntaxes or values that are | |||
| unsupported. | unsupported. | |||
| In the case of two (or more) supported attribute values that are in | In the case of two (or more) supported attribute values that are in | |||
| conflict with one another (although each is supported independently, the | conflict with one another (although each is supported independently, the | |||
| values conflict when requested together within the same job), the | values conflict when requested together within the same job), the | |||
| Printer object MUST return all the values that it ignores or substitutes | Printer object MUST return all the values that it ignores or substitutes | |||
| to resolve the conflict, but not any of the values that it is still | to resolve the conflict, but not any of the values that it is still | |||
| using. The choice for exactly how to resolve the conflict is | using. The choice for exactly how to resolve the conflict is | |||
| implementation dependent. See sections 3.2.1.2 and 15. See The | implementation dependent. See sections 3.2.1.2 and 15. See The | |||
| skipping to change at page 34, line 5 ¶ | skipping to change at page 34, line 5 ¶ | |||
| An IPP object implementation MUST support version '1.1', i.e., meet the | An IPP object implementation MUST support version '1.1', i.e., meet the | |||
| conformance requirements for IPP/1.1 as specified in this document and | conformance requirements for IPP/1.1 as specified in this document and | |||
| [IPP-PRO]. It is recommended that IPP object implementations accept any | [IPP-PRO]. It is recommended that IPP object implementations accept any | |||
| request with the major version '1' (or reject the request if the | request with the major version '1' (or reject the request if the | |||
| operation is not supported). | operation is not supported). | |||
| There is only one notion of "version number" that covers both IPP Model | There is only one notion of "version number" that covers both IPP Model | |||
| and IPP Protocol changes. Thus the version number MUST change when | and IPP Protocol changes. Thus the version number MUST change when | |||
| introducing a new version of the Model and Semantics document (this | introducing a new version of the Model and Semantics document (this | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| document) or a new version of the "Encoding and Transport" document | document) or a new version of the "Encoding and Transport" document | |||
| [IPP-PRO]. | [IPP-PRO]. | |||
| Changes to the major version number of the Model and Semantics document | Changes to the major version number of the Model and Semantics document | |||
| indicate structural or syntactic changes that make it impossible for | indicate structural or syntactic changes that make it impossible for | |||
| older version of IPP clients and Printer objects to correctly parse and | older version of IPP clients and Printer objects to correctly parse and | |||
| correctly process the new or changed attributes, operations and | correctly process the new or changed attributes, operations and | |||
| responses. If the major version number changes, the minor version | responses. If the major version number changes, the minor version | |||
| numbers is set to zero. As an example, adding the REQUIRED "ipp- | numbers is set to zero. As an example, adding the REQUIRED "ipp- | |||
| attribute-fidelity" attribute to version '1.1' (if it had not been part | attribute-fidelity" attribute to version '1.1' (if it had not been part | |||
| skipping to change at page 35, line 5 ¶ | skipping to change at page 35, line 5 ¶ | |||
| - changing Job Description attributes or Printer Description | - changing Job Description attributes or Printer Description | |||
| attributes from OPTIONAL to REQUIRED or vice versa. | attributes from OPTIONAL to REQUIRED or vice versa. | |||
| - adding OPTIONAL attribute syntaxes to an existing attribute. | - adding OPTIONAL attribute syntaxes to an existing attribute. | |||
| The encoding of the "version-number" MUST NOT change over any version | The encoding of the "version-number" MUST NOT change over any version | |||
| number (either major or minor). This rule guarantees that all future | number (either major or minor). This rule guarantees that all future | |||
| versions will be backwards compatible with all previous versions (at | versions will be backwards compatible with all previous versions (at | |||
| least for checking the "version-number"). In addition, any protocol | least for checking the "version-number"). In addition, any protocol | |||
| elements (attributes, error codes, tags, etc.) that are not carried | elements (attributes, error codes, tags, etc.) that are not carried | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| forward from one version to the next are deprecated so that they can | forward from one version to the next are deprecated so that they can | |||
| never be reused with new semantics. | never be reused with new semantics. | |||
| Implementations that support a certain version NEED NOT support ALL | Implementations that support a certain version NEED NOT support ALL | |||
| previous versions. As each new version is defined (through the release | previous versions. As each new version is defined (through the release | |||
| of a new IPP specification document), that version will specify which | of a new IPP specification document), that version will specify which | |||
| previous versions MUST and which versions SHOULD be supported in | previous versions MUST and which versions SHOULD be supported in | |||
| compliant implementations. | compliant implementations. | |||
| 3.1.9 Job Creation Operations | 3.1.9 Job Creation Operations | |||
| skipping to change at page 35, line 36 ¶ | skipping to change at page 35, line 36 ¶ | |||
| - The Print-URI Request: A client that wants to submit a print job | - The Print-URI Request: A client that wants to submit a print job | |||
| with only a single document (where the Printer object "pulls" the | with only a single document (where the Printer object "pulls" the | |||
| document data instead of the client "pushing" the data to the | document data instead of the client "pushing" the data to the | |||
| Printer object) uses the Print-URI operation. In this case, the | Printer object) uses the Print-URI operation. In this case, the | |||
| client includes in the request only a URI reference to the document | client includes in the request only a URI reference to the document | |||
| data (not the document data itself). | data (not the document data itself). | |||
| - The Create-Job Request: A client that wants to submit a print job | - The Create-Job Request: A client that wants to submit a print job | |||
| with multiple documents uses the Create-Job operation. This | with multiple documents uses the Create-Job operation. This | |||
| operation is followed by an arbitrary number of Send-Document | operation is followed by an arbitrary number (one or more) of Send- | |||
| and/or Send-URI operations (each creating another document for the | Document and/or Send-URI operations (each creating another document | |||
| newly create Job object). The Send-Document operation includes the | for the newly create Job object). The Send-Document operation | |||
| document data in the request (the client "pushes" the document data | includes the document data in the request (the client "pushes" the | |||
| to the printer), and the Send-URI operation includes only a URI | document data to the printer), and the Send-URI operation includes | |||
| reference to the document data in the request (the Printer "pulls" | only a URI reference to the document data in the request (the | |||
| the document data from the referenced location). The last Send- | Printer "pulls" the document data from the referenced location). | |||
| Document or Send-URI request for a given Job object includes a | The last Send-Document or Send-URI request for a given Job object | |||
| "last-document" operation attribute set to 'true' indicating that | includes a "last-document" operation attribute set to 'true' | |||
| this is the last request. | indicating that this is the last request. | |||
| Throughout this model document, the term "create request" is used to | Throughout this model document, the term "create request" is used to | |||
| refer to any of these three operation requests. | refer to any of these three operation requests. | |||
| A Create-Job operation followed by only one Send-Document operation is | A Create-Job operation followed by only one Send-Document operation is | |||
| semantically equivalent to a Print-Job operation, however, for | semantically equivalent to a Print-Job operation, however, for | |||
| performance reasons, the client SHOULD use the Print-Job operation for | performance reasons, the client SHOULD use the Print-Job operation for | |||
| all single document jobs. Also, Print-Job is a REQUIRED operation (all | all single document jobs. Also, Print-Job is a REQUIRED operation (all | |||
| implementations MUST support it) whereas Create-Job is an OPTIONAL | implementations MUST support it) whereas Create-Job is an OPTIONAL | |||
| operation, hence some implementations might not support it. | operation, hence some implementations might not support it. | |||
| Job submission time is the point in time when a client issues a create | Job submission time is the point in time when a client issues a create | |||
| request. The initial state of every Job object is the 'pending', | request. The initial state of every Job object is the 'pending', | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'pending-held', or 'processing' state (see section 4.3.7). When the | 'pending-held', or 'processing' state (see section 4.3.7). When the | |||
| Printer object begins processing the print job, the Job object's state | Printer object begins processing the print job, the Job object's state | |||
| moves to 'processing'. This is known as job processing time. There are | moves to 'processing'. This is known as job processing time. There are | |||
| validation checks that must be done at job submission time and others | validation checks that must be done at job submission time and others | |||
| that must be performed at job processing time. | that must be performed at job processing time. | |||
| At job submission time and at the time a Validate-Job operation is | At job submission time and at the time a Validate-Job operation is | |||
| received, the Printer MUST do the following: | received, the Printer MUST do the following: | |||
| 1. Process the client supplied attributes and either accept or reject | 1. Process the client supplied attributes and either accept or reject | |||
| skipping to change at page 37, line 5 ¶ | skipping to change at page 37, line 5 ¶ | |||
| such a situation, a Printer object MAY stop reading data from a client | such a situation, a Printer object MAY stop reading data from a client | |||
| for an indefinite period of time. A client MUST be prepared for a write | for an indefinite period of time. A client MUST be prepared for a write | |||
| operation to block for an indefinite period of time (see section 5.1 on | operation to block for an indefinite period of time (see section 5.1 on | |||
| client conformance). | client conformance). | |||
| When a Printer object has too little space for starting a new job, it | When a Printer object has too little space for starting a new job, it | |||
| MAY reject a new create request. In this case, a Printer object MUST | MAY reject a new create request. In this case, a Printer object MUST | |||
| return a response (in reply to the rejected request) with a status-code | return a response (in reply to the rejected request) with a status-code | |||
| of 'server-error-busy' (see section 14.1.5.8) and it MAY close the | of 'server-error-busy' (see section 14.1.5.8) and it MAY close the | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| connection before receiving all bytes of the operation. A Printer | connection before receiving all bytes of the operation. A Printer | |||
| SHOULD indicate that it is temporarily unable to accept jobs by setting | SHOULD indicate that it is temporarily unable to accept jobs by setting | |||
| the 'spool-space-full' value in its "printer-state-reasons" attribute | the 'spool-space-full' value in its "printer-state-reasons" attribute | |||
| and removing the value when it can accept another job (see section | and removing the value when it can accept another job (see section | |||
| 4.4.12). | 4.4.12). | |||
| When receiving a 'server-error-busy' status-code in an operation | When receiving a 'server-error-busy' status-code in an operation | |||
| response, a client MUST be prepared for the Printer object to close the | response, a client MUST be prepared for the Printer object to close the | |||
| connection before the client has sent all of the data (especially for | connection before the client has sent all of the data (especially for | |||
| the Print-Job operation). A client MUST be prepared to keep submitting a | the Print-Job operation). A client MUST be prepared to keep submitting a | |||
| skipping to change at page 38, line 5 ¶ | skipping to change at page 38, line 5 ¶ | |||
| Request: | Request: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in section 3.1.4.1. The Printer object | attributes as described in section 3.1.4.1. The Printer object | |||
| MUST copy these values to the corresponding Job Description | MUST copy these values to the corresponding Job Description | |||
| attributes described in sections 4.3.19 and 4.3.20. | attributes described in sections 4.3.19 and 4.3.20. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Target: | Target: | |||
| The "printer-uri" (uri) operation attribute which is the target for | The "printer-uri" (uri) operation attribute which is the target for | |||
| this operation as described in section 3.1.5. | this operation as described in section 3.1.5. | |||
| Requesting User Name: | Requesting User Name: | |||
| The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied | The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied | |||
| by the client as described in section 8.3. | by the client as described in section 8.3. | |||
| "job-name" (name(MAX)): | "job-name" (name(MAX)): | |||
| skipping to change at page 39, line 5 ¶ | skipping to change at page 39, line 5 ¶ | |||
| adornments, etc.), used by accounting or resource tracking | adornments, etc.), used by accounting or resource tracking | |||
| management tools, or even stored along with the document as a | management tools, or even stored along with the document as a | |||
| document level attribute. IPP/1.1 does not support the concept of | document level attribute. IPP/1.1 does not support the concept of | |||
| document level attributes. | document level attributes. | |||
| "compression" (type3 keyword) | "compression" (type3 keyword) | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| MUST support this attribute and the "compression-supported" | MUST support this attribute and the "compression-supported" | |||
| attribute (see section 4.4.32). The client supplied "compression" | attribute (see section 4.4.32). The client supplied "compression" | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| operation attribute identifies the compression algorithm used on | operation attribute identifies the compression algorithm used on | |||
| the document data. The following cases exist: | the document data. The following cases exist: | |||
| a)If the client omits this attribute, the Printer object MUST | a)If the client omits this attribute, the Printer object MUST | |||
| assume that the data is not compressed (i.e. the Printer | assume that the data is not compressed (i.e. the Printer | |||
| follows the rules below as if the client supplied the | follows the rules below as if the client supplied the | |||
| "compression" attribute with a value of 'none'). | "compression" attribute with a value of 'none'). | |||
| b)If the client supplies this attribute, but the value is not | b)If the client supplies this attribute, but the value is not | |||
| supported by the Printer object, i.e., the value is not one | supported by the Printer object, i.e., the value is not one | |||
| of the values of the Printer object's "compression- | of the values of the Printer object's "compression- | |||
| supported" attribute, the Printer object MUST reject the | supported" attribute, the Printer object MUST reject the | |||
| skipping to change at page 40, line 5 ¶ | skipping to change at page 40, line 5 ¶ | |||
| supported' status code. | supported' status code. | |||
| c)If the client supplies this attribute and its value is | c)If the client supplies this attribute and its value is | |||
| 'application/octet-stream' (i.e. to be auto-sensed, see | 'application/octet-stream' (i.e. to be auto-sensed, see | |||
| Section 4.1.9.1), and the format is not one of the | Section 4.1.9.1), and the format is not one of the | |||
| document-formats that the Printer can auto-sense, and this | document-formats that the Printer can auto-sense, and this | |||
| check occurs before the Printer returns an operation | check occurs before the Printer returns an operation | |||
| response, then the Printer MUST reject the request and | response, then the Printer MUST reject the request and | |||
| return the 'client-error-document-format-not-supported' | return the 'client-error-document-format-not-supported' | |||
| status code. | status code. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| d)If the client supplies this attribute, and the value is | d)If the client supplies this attribute, and the value is | |||
| supported by the Printer object, the document data, the | supported by the Printer object, the Printer is capable of | |||
| Printer is capable of interpreting the document data. | interpreting the document data. | |||
| e)If interpreting of the document data fails before the | e)If interpreting of the document data fails before the | |||
| Printer returns an operation response, the Printer object | Printer returns an operation response, the Printer object | |||
| MUST reject the request and return the 'client-error- | MUST reject the request and return the 'client-error- | |||
| document-format-error' status code. | document-format-error' status code. | |||
| f)If interpreting of the document data fails after the | f)If interpreting of the document data fails after the | |||
| Printer returns an operation response, the Printer object | Printer returns an operation response, the Printer object | |||
| MUST abort the job and add the 'document-format-error' | MUST abort the job and add the 'document-format-error' | |||
| value to the job's "job-state-reasons" attribute. | value to the job's "job-state-reasons" attribute. | |||
| "document-natural-language" (naturalLanguage): | "document-natural-language" (naturalLanguage): | |||
| skipping to change at page 41, line 5 ¶ | skipping to change at page 41, line 5 ¶ | |||
| does not supply the attribute, the Printer object MAY choose to | does not supply the attribute, the Printer object MAY choose to | |||
| populate the corresponding Job object attribute depending on | populate the corresponding Job object attribute depending on | |||
| whether the Printer object supports the attribute and is able to | whether the Printer object supports the attribute and is able to | |||
| calculate or discern the correct value. | calculate or discern the correct value. | |||
| "job-impressions" (integer(0:MAX)) | "job-impressions" (integer(0:MAX)) | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| OPTIONALLY supports this attribute and the "job-impressions- | OPTIONALLY supports this attribute and the "job-impressions- | |||
| supported" attribute (see section 4.4.34). The client supplied | supported" attribute (see section 4.4.34). The client supplied | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| "job-impressions" operation attribute identifies the total size in | "job-impressions" operation attribute identifies the total size in | |||
| number of impressions of the document(s) being submitted (see | number of impressions of the document(s) being submitted (see | |||
| section 4.3.17.2 for the complete semantics). | section 4.3.17.2 for the complete semantics). | |||
| See last paragraph under "job-k-octets". | See last paragraph under "job-k-octets". | |||
| "job-media-sheets" (integer(0:MAX)) | "job-media-sheets" (integer(0:MAX)) | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| OPTIONALLY supports this attribute and the "job-media-sheets- | OPTIONALLY supports this attribute and the "job-media-sheets- | |||
| supported" attribute (see section 4.4.35). The client supplied | supported" attribute (see section 4.4.35). The client supplied | |||
| skipping to change at page 42, line 5 ¶ | skipping to change at page 42, line 5 ¶ | |||
| supplied by the client as IPP attribute or embedded instructions in | supplied by the client as IPP attribute or embedded instructions in | |||
| the document data. | the document data. | |||
| 3.2.1.2 Print-Job Response | 3.2.1.2 Print-Job Response | |||
| The Printer object MUST return to the client the following sets of | The Printer object MUST return to the client the following sets of | |||
| attributes as part of the Print-Job Response: | attributes as part of the Print-Job Response: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Status Message: | Status Message: | |||
| In addition to the REQUIRED status code returned in every response, | In addition to the REQUIRED status code returned in every response, | |||
| the response OPTIONALLY includes a "status-message" (text(255)) | the response OPTIONALLY includes a "status-message" (text(255)) | |||
| and/or a "detailed-status-message" (text(MAX)) operation attribute | and/or a "detailed-status-message" (text(MAX)) operation attribute | |||
| as described in sections 13 and 3.1.6. If the client supplies | as described in sections 13 and 3.1.6. If the client supplies | |||
| unsupported or conflicting Job Template attributes or values, the | unsupported or conflicting Job Template attributes or values, the | |||
| Printer object MUST reject or accept the Print-Job request | Printer object MUST reject or accept the Print-Job request | |||
| depending on the whether the client supplied a 'true' or 'false' | depending on the whether the client supplied a 'true' or 'false' | |||
| value for the "ipp-attribute-fidelity" operation attribute. See | value for the "ipp-attribute-fidelity" operation attribute. See | |||
| the Implementer's Guide [IPP-IIG] for a complete description of the | the Implementer's Guide [IPP-IIG] for a complete description of the | |||
| skipping to change at page 43, line 5 ¶ | skipping to change at page 43, line 5 ¶ | |||
| over a secure channel, the Printer object MUST generate a Job URI | over a secure channel, the Printer object MUST generate a Job URI | |||
| that uses the secure channel as well. | that uses the secure channel as well. | |||
| "job-id" (integer(1:MAX)): | "job-id" (integer(1:MAX)): | |||
| The Printer object MUST return the Job object's Job ID by returning | The Printer object MUST return the Job object's Job ID by returning | |||
| the REQUIRED "job-id" Job object attribute. The client uses this | the REQUIRED "job-id" Job object attribute. The client uses this | |||
| "job-id" attribute in conjunction with the "printer-uri" attribute | "job-id" attribute in conjunction with the "printer-uri" attribute | |||
| used in the Print-Job Request when directing Job operations at the | used in the Print-Job Request when directing Job operations at the | |||
| Printer object. | Printer object. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| "job-state": | "job-state": | |||
| The Printer object MUST return the Job object's REQUIRED "job- | The Printer object MUST return the Job object's REQUIRED "job- | |||
| state" attribute. The value of this attribute (along with the value | state" attribute. The value of this attribute (along with the value | |||
| of the next attribute: "job-state-reasons") is taken from a | of the next attribute: "job-state-reasons") is taken from a | |||
| "snapshot" of the new Job object at some meaningful point in time | "snapshot" of the new Job object at some meaningful point in time | |||
| (implementation defined) between when the Printer object receives | (implementation defined) between when the Printer object receives | |||
| the Print-Job Request and when the Printer object returns the | the Print-Job Request and when the Printer object returns the | |||
| response. | response. | |||
| skipping to change at page 44, line 5 ¶ | skipping to change at page 44, line 5 ¶ | |||
| This OPTIONAL operation is identical to the Print-Job operation (section | This OPTIONAL operation is identical to the Print-Job operation (section | |||
| 3.2.1) except that a client supplies a URI reference to the document | 3.2.1) except that a client supplies a URI reference to the document | |||
| data using the "document-uri" (uri) operation attribute (in Group 1) | data using the "document-uri" (uri) operation attribute (in Group 1) | |||
| rather than including the document data itself. Before returning the | rather than including the document data itself. Before returning the | |||
| response, the Printer MUST validate that the Printer supports the | response, the Printer MUST validate that the Printer supports the | |||
| retrieval method (e.g., http, ftp, etc.) implied by the URI, and MUST | retrieval method (e.g., http, ftp, etc.) implied by the URI, and MUST | |||
| check for valid URI syntax. If the client-supplied URI scheme is not | check for valid URI syntax. If the client-supplied URI scheme is not | |||
| supported, i.e. the value is not in the Printer object's "referenced- | supported, i.e. the value is not in the Printer object's "referenced- | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| uri-scheme-supported" attribute, the Printer object MUST reject the | uri-scheme-supported" attribute, the Printer object MUST reject the | |||
| request and return the 'client-error-uri-scheme-not-supported' status | request and return the 'client-error-uri-scheme-not-supported' status | |||
| code. | code. | |||
| The IPP Printer MAY validate the accessibility of the document as part | The IPP Printer MAY validate the accessibility of the document as part | |||
| of the operation or subsequently. If the Printer determines an | of the operation or subsequently. If the Printer determines an | |||
| accessibility problem before returning an operation response, it rejects | accessibility problem before returning an operation response, it rejects | |||
| the request and returns the 'client-error-document-access-error' status | the request and returns the 'client-error-document-access-error' status | |||
| code. The Printer MAY also return a specific document access error code | code. The Printer MAY also return a specific document access error code | |||
| using the "document-access-error" operation attribute (see section | using the "document-access-error" operation attribute (see section | |||
| skipping to change at page 45, line 5 ¶ | skipping to change at page 45, line 5 ¶ | |||
| The Validate-Job operation does not accept a "document-uri" attribute in | The Validate-Job operation does not accept a "document-uri" attribute in | |||
| order to allow a client to check that the same Print-URI operation will | order to allow a client to check that the same Print-URI operation will | |||
| be accepted, since the client doesn't send the data with the Print-URI | be accepted, since the client doesn't send the data with the Print-URI | |||
| operation. The client SHOULD just issue the Print-URI request. | operation. The client SHOULD just issue the Print-URI request. | |||
| The Printer object returns the same status codes, Operation Attributes | The Printer object returns the same status codes, Operation Attributes | |||
| (Group 1) and Unsupported Attributes (Group 2) as the Print-Job | (Group 1) and Unsupported Attributes (Group 2) as the Print-Job | |||
| operation. However, no Job Object Attributes (Group 3) are returned, | operation. However, no Job Object Attributes (Group 3) are returned, | |||
| since no Job object is created. | since no Job object is created. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.2.4 Create-Job Operation | 3.2.4 Create-Job Operation | |||
| This OPTIONAL operation is similar to the Print-Job operation (section | This OPTIONAL operation is similar to the Print-Job operation (section | |||
| 3.2.1) except that in the Create-Job request, a client does not supply | 3.2.1) except that in the Create-Job request, a client does not supply | |||
| document data or any reference to document data. Also, the client does | document data or any reference to document data. Also, the client does | |||
| not supply any of the "document-name", "document-format", "compression", | not supply any of the "document-name", "document-format", "compression", | |||
| or "document-natural-language" operation attributes. This operation is | or "document-natural-language" operation attributes. This operation is | |||
| followed by one or more Send-Document or Send-URI operations. In each | followed by one or more Send-Document or Send-URI operations. In each | |||
| of those operation requests, the client OPTIONALLY supplies the | of those operation requests, the client OPTIONALLY supplies the | |||
| "document-name", "document-format", and "document-natural-language" | "document-name", "document-format", and "document-natural-language" | |||
| skipping to change at page 46, line 5 ¶ | skipping to change at page 46, line 5 ¶ | |||
| This REQUIRED operation allows a client to request the values of the | This REQUIRED operation allows a client to request the values of the | |||
| attributes of a Printer object. In the request, the client supplies | attributes of a Printer object. In the request, the client supplies | |||
| the set of Printer attribute names and/or attribute group names in which | the set of Printer attribute names and/or attribute group names in which | |||
| the requester is interested. In the response, the Printer object | the requester is interested. In the response, the Printer object | |||
| returns a corresponding attribute set with the appropriate attribute | returns a corresponding attribute set with the appropriate attribute | |||
| values filled in. | values filled in. | |||
| For Printer objects, the possible names of attribute groups are: | For Printer objects, the possible names of attribute groups are: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| - 'job-template': the subset of the Job Template attributes that | - 'job-template': the subset of the Job Template attributes that | |||
| apply to a Printer object (the last two columns of the table in | apply to a Printer object (the last two columns of the table in | |||
| Section 4.2) that the implementation supports for Printer objects. | Section 4.2) that the implementation supports for Printer objects. | |||
| - 'printer-description': the subset of the attributes specified in | - 'printer-description': the subset of the attributes specified in | |||
| Section 4.4 that the implementation supports for Printer objects. | Section 4.4 that the implementation supports for Printer objects. | |||
| - 'all': the special group 'all' that includes all attributes that | - 'all': the special group 'all' that includes all attributes that | |||
| the implementation supports for Printer objects. | the implementation supports for Printer objects. | |||
| Since a client MAY request specific attributes or named groups, there is | Since a client MAY request specific attributes or named groups, there is | |||
| a potential that there is some overlap. For example, if a client | a potential that there is some overlap. For example, if a client | |||
| skipping to change at page 47, line 5 ¶ | skipping to change at page 47, line 5 ¶ | |||
| omits this attribute, the Printer MUST respond as if this attribute | omits this attribute, the Printer MUST respond as if this attribute | |||
| had been supplied with a value of 'all'. | had been supplied with a value of 'all'. | |||
| "document-format" (mimeMediaType) : | "document-format" (mimeMediaType) : | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| MUST support this attribute. This attribute is useful for a | MUST support this attribute. This attribute is useful for a | |||
| Printer object to determine the set of supported attribute values | Printer object to determine the set of supported attribute values | |||
| that relate to the requested document format. The Printer object | that relate to the requested document format. The Printer object | |||
| MUST return the attributes and values that it uses to validate a | MUST return the attributes and values that it uses to validate a | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| job on a create or Validate-Job operation in which this document | job on a create or Validate-Job operation in which this document | |||
| format is supplied. The Printer object SHOULD return only (1) those | format is supplied. The Printer object SHOULD return only (1) those | |||
| attributes that are supported for the specified format and (2) the | attributes that are supported for the specified format and (2) the | |||
| attribute values that are supported for the specified document | attribute values that are supported for the specified document | |||
| format. By specifying the document format, the client can get the | format. By specifying the document format, the client can get the | |||
| Printer object to eliminate the attributes and values that are not | Printer object to eliminate the attributes and values that are not | |||
| supported for a specific document format. For example, a Printer | supported for a specific document format. For example, a Printer | |||
| object might have multiple interpreters to support both | object might have multiple interpreters to support both | |||
| 'application/postscript' (for PostScript) and 'text/plain' (for | 'application/postscript' (for PostScript) and 'text/plain' (for | |||
| text) documents. However, for only one of those interpreters might | text) documents. However, for only one of those interpreters might | |||
| skipping to change at page 47, line 38 ¶ | skipping to change at page 47, line 38 ¶ | |||
| different document format specified by the client, this | different document format specified by the client, this | |||
| specialization applies only to the following Printer object | specialization applies only to the following Printer object | |||
| attributes: | attributes: | |||
| - Printer attributes that are Job Template attributes ("xxx- | - Printer attributes that are Job Template attributes ("xxx- | |||
| default" "xxx-supported", and "xxx-ready" in the Table in | default" "xxx-supported", and "xxx-ready" in the Table in | |||
| Section 4.2), | Section 4.2), | |||
| - "pdl-override-supported", | - "pdl-override-supported", | |||
| - "compression-supported", | - "compression-supported", | |||
| - "job-k-octets-supported", | - "job-k-octets-supported", | |||
| - "job-impressions-supported, | - "job-impressions-supported", | |||
| - "job-media-sheets-supported" | - "job-media-sheets-supported", | |||
| - "printer-driver-installer", | - "printer-driver-installer", | |||
| - "color-supported", and | - "color-supported", and | |||
| - "reference-uri-schemes-supported" | - "reference-uri-schemes-supported" | |||
| The values of all other Printer object attributes (including | The values of all other Printer object attributes (including | |||
| "document-format-supported") remain invariant with respect to the | "document-format-supported") remain invariant with respect to the | |||
| client supplied document format (except for new Printer description | client supplied document format (except for new Printer description | |||
| attribute as registered according to section 6.2). | attribute as registered according to section 6.2). | |||
| If the client omits this "document-format" operation attribute, the | If the client omits this "document-format" operation attribute, the | |||
| Printer object MUST respond as if the attribute had been supplied | Printer object MUST respond as if the attribute had been supplied | |||
| with the value of the Printer object's "document-format-default" | with the value of the Printer object's "document-format-default" | |||
| attribute. It is recommended that the client always supply a value | attribute. It is RECOMMENDED that the client always supply a value | |||
| for "document-format", since the Printer object's "document-format- | for "document-format", since the Printer object's "document-format- | |||
| default" may be 'application/octet-stream', in which case the | default" may be 'application/octet-stream', in which case the | |||
| returned attributes and values are for the union of the document | returned attributes and values are for the union of the document | |||
| formats that the Printer can automatically sense. For more | formats that the Printer can automatically sense. For more | |||
| details, see the description of the 'mimeMediaType' attribute | details, see the description of the 'mimeMediaType' attribute | |||
| syntax in section 4.1.9. | syntax in section 4.1.9. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If the client supplies a value for the "document-format" Operation | If the client supplies a value for the "document-format" Operation | |||
| attribute that is not supported by the Printer, i.e., is not among | attribute that is not supported by the Printer, i.e., is not among | |||
| the values of the Printer object's "document-format-supported" | the values of the Printer object's "document-format-supported" | |||
| attribute, the Printer object MUST reject the operation and return | attribute, the Printer object MUST reject the operation and return | |||
| the 'client-error-document-format-not-supported' status code. | the 'client-error-document-format-not-supported' status code. | |||
| 3.2.5.2 Get-Printer-Attributes Response | 3.2.5.2 Get-Printer-Attributes Response | |||
| The Printer object returns the following sets of attributes as part of | The Printer object returns the following sets of attributes as part of | |||
| the Get-Printer-Attributes Response: | the Get-Printer-Attributes Response: | |||
| skipping to change at page 49, line 5 ¶ | skipping to change at page 49, line 5 ¶ | |||
| with a subset of the supported attributes and values, depending on | with a subset of the supported attributes and values, depending on | |||
| the security policy in force. However, the Printer object MUST | the security policy in force. However, the Printer object MUST | |||
| respond with the 'unknown' value for any supported attribute | respond with the 'unknown' value for any supported attribute | |||
| (including all REQUIRED attributes) for which the Printer object | (including all REQUIRED attributes) for which the Printer object | |||
| does not know the value. Also the Printer object MUST respond with | does not know the value. Also the Printer object MUST respond with | |||
| the 'no-value' for any supported attribute (including all REQUIRED | the 'no-value' for any supported attribute (including all REQUIRED | |||
| attributes) for which the system administrator has not configured a | attributes) for which the system administrator has not configured a | |||
| value. See the description of the "out-of-band" values in the | value. See the description of the "out-of-band" values in the | |||
| beginning of Section 4.1. | beginning of Section 4.1. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.2.6 Get-Jobs Operation | 3.2.6 Get-Jobs Operation | |||
| This REQUIRED operation allows a client to retrieve the list of Job | This REQUIRED operation allows a client to retrieve the list of Job | |||
| objects belonging to the target Printer object. The client may also | objects belonging to the target Printer object. The client may also | |||
| supply a list of Job attribute names and/or attribute group names. A | supply a list of Job attribute names and/or attribute group names. A | |||
| group of Job object attributes will be returned for each Job object that | group of Job object attributes will be returned for each Job object that | |||
| is returned. | is returned. | |||
| This operation is similar to the Get-Job-Attributes operation, except | This operation is similar to the Get-Job-Attributes operation, except | |||
| skipping to change at page 50, line 5 ¶ | skipping to change at page 50, line 5 ¶ | |||
| "requested-attributes" (1setOf keyword): | "requested-attributes" (1setOf keyword): | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| MUST support this attribute. It is a set of Job attribute names | MUST support this attribute. It is a set of Job attribute names | |||
| and/or attribute groups names in whose values the requester is | and/or attribute groups names in whose values the requester is | |||
| interested. This set of attributes is returned for each Job object | interested. This set of attributes is returned for each Job object | |||
| that is returned. The allowed attribute group names are the same | that is returned. The allowed attribute group names are the same | |||
| as those defined in the Get-Job-Attributes operation in section | as those defined in the Get-Job-Attributes operation in section | |||
| 3.3.4. If the client does not supply this attribute, the Printer | 3.3.4. If the client does not supply this attribute, the Printer | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| MUST respond as if the client had supplied this attribute with two | MUST respond as if the client had supplied this attribute with two | |||
| values: 'job-uri' and 'job-id'. | values: 'job-uri' and 'job-id'. | |||
| "which-jobs" (type2 keyword): | "which-jobs" (type2 keyword): | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| MUST support this attribute. It indicates which Job objects MUST | MUST support this attribute. It indicates which Job objects MUST | |||
| be returned by the Printer object. The values for this attribute | be returned by the Printer object. The values for this attribute | |||
| are: | are: | |||
| 'completed': This includes any Job object whose state is | 'completed': This includes any Job object whose state is | |||
| skipping to change at page 51, line 5 ¶ | skipping to change at page 51, line 5 ¶ | |||
| possible that no Job objects are returned since there may literally be | possible that no Job objects are returned since there may literally be | |||
| no Job objects at the Printer, or there may be no Job objects that match | no Job objects at the Printer, or there may be no Job objects that match | |||
| the criteria supplied by the client. If the client requests any Job | the criteria supplied by the client. If the client requests any Job | |||
| attributes at all, there is a set of Job Object Attributes returned for | attributes at all, there is a set of Job Object Attributes returned for | |||
| each Job object. | each Job object. | |||
| It is not an error for the Printer to return 0 jobs. If the response | It is not an error for the Printer to return 0 jobs. If the response | |||
| returns 0 jobs because there are no jobs matching the criteria, and the | returns 0 jobs because there are no jobs matching the criteria, and the | |||
| request would have returned 1 or more jobs with a status code of | request would have returned 1 or more jobs with a status code of | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'successful-ok' if there had been jobs matching the criteria, then the | 'successful-ok' if there had been jobs matching the criteria, then the | |||
| status code for 0 jobs MUST be 'successful-ok'. | status code for 0 jobs MUST be 'successful-ok'. | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Status Message: | Status Message: | |||
| In addition to the REQUIRED status code returned in every response, | In addition to the REQUIRED status code returned in every response, | |||
| the response OPTIONALLY includes a "status-message" (text(255)) | the response OPTIONALLY includes a "status-message" (text(255)) | |||
| and/or a "detailed-status-message" (text(MAX)) operation attribute | and/or a "detailed-status-message" (text(MAX)) operation attribute | |||
| as described in sections 13 and 3.1.6. | as described in sections 13 and 3.1.6. | |||
| skipping to change at page 52, line 5 ¶ | skipping to change at page 52, line 5 ¶ | |||
| 'completed', 'aborted', or 'canceled' states), then the Jobs | 'completed', 'aborted', or 'canceled' states), then the Jobs | |||
| are returned newest to oldest (with respect to actual | are returned newest to oldest (with respect to actual | |||
| completion time) | completion time) | |||
| - If the client requests all 'not-completed' Jobs (Jobs in the | - If the client requests all 'not-completed' Jobs (Jobs in the | |||
| 'pending', 'processing', 'pending-held', and 'processing- | 'pending', 'processing', 'pending-held', and 'processing- | |||
| stopped' states), then Jobs are returned in relative | stopped' states), then Jobs are returned in relative | |||
| chronological order of expected time to complete (based on | chronological order of expected time to complete (based on | |||
| whatever scheduling algorithm is configured for the Printer | whatever scheduling algorithm is configured for the Printer | |||
| object). | object). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.2.7 Pause-Printer Operation | 3.2.7 Pause-Printer Operation | |||
| This OPTIONAL operation allows a client to stop the Printer object from | This OPTIONAL operation allows a client to stop the Printer object from | |||
| scheduling jobs on all its devices. Depending on implementation, the | scheduling jobs on all its devices. Depending on implementation, the | |||
| Pause-Printer operation MAY also stop the Printer from processing the | Pause-Printer operation MAY also stop the Printer from processing the | |||
| current job or jobs. Any job that is currently being printed is either | current job or jobs. Any job that is currently being printed is either | |||
| stopped as soon as the implementation permits or is completed, depending | stopped as soon as the implementation permits or is completed, depending | |||
| on implementation. The Printer object MUST still accept create | on implementation. The Printer object MUST still accept create | |||
| operations to create new jobs, but MUST prevent any jobs from entering | operations to create new jobs, but MUST prevent any jobs from entering | |||
| skipping to change at page 53, line 5 ¶ | skipping to change at page 53, line 5 ¶ | |||
| the device from other sources than the IPP Printer object in the same | the device from other sources than the IPP Printer object in the same | |||
| way that the Pause-Printer operation affects jobs that were submitted to | way that the Pause-Printer operation affects jobs that were submitted to | |||
| the IPP Printer object using IPP, depends on implementation, i.e., on | the IPP Printer object using IPP, depends on implementation, i.e., on | |||
| whether the IPP protocol is being used as a universal management | whether the IPP protocol is being used as a universal management | |||
| protocol or just to manage IPP jobs, respectively. | protocol or just to manage IPP jobs, respectively. | |||
| The IPP Printer MUST accept the request in any state and transition the | The IPP Printer MUST accept the request in any state and transition the | |||
| Printer to the indicated new "printer-state" before returning as | Printer to the indicated new "printer-state" before returning as | |||
| follows: | follows: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Current New "printer IPP Printer's response status | Current New "printer IPP Printer's response status | |||
| "printer- "printer- -state- code and action: | "printer- "printer- -state- code and action: | |||
| state" state" reasons" | state" state" reasons" | |||
| 'idle' 'stopped' 'paused' 'successful-ok' | 'idle' 'stopped' 'paused' 'successful-ok' | |||
| 'processing' 'processing' 'moving- OPTION 1: 'successful-ok'; | 'processing' 'processing' 'moving- OPTION 1: 'successful-ok'; | |||
| to- Later, when all output has | to- Later, when all output has | |||
| paused' stopped, the "printer-state" | paused' stopped, the "printer-state" | |||
| becomes 'stopped', and the | becomes 'stopped', and the | |||
| 'paused' value replaces the | 'paused' value replaces the | |||
| skipping to change at page 54, line 5 ¶ | skipping to change at page 54, line 5 ¶ | |||
| Response: | Response: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Status Message: | Status Message: | |||
| In addition to the REQUIRED status code returned in every response, | In addition to the REQUIRED status code returned in every response, | |||
| the response OPTIONALLY includes a "status-message" (text(255)) | the response OPTIONALLY includes a "status-message" (text(255)) | |||
| and/or a "detailed-status-message" (text(MAX)) operation attribute | and/or a "detailed-status-message" (text(MAX)) operation attribute | |||
| as described in sections 13 and 3.1.6. | as described in sections 13 and 3.1.6. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in section 3.1.4.2. | attributes as described in section 3.1.4.2. | |||
| Group 2: Unsupported Attributes | Group 2: Unsupported Attributes | |||
| See section 3.1.7 for details on returning Unsupported Attributes. | See section 3.1.7 for details on returning Unsupported Attributes. | |||
| 3.2.8 Resume-Printer Operation | 3.2.8 Resume-Printer Operation | |||
| skipping to change at page 55, line 5 ¶ | skipping to change at page 55, line 5 ¶ | |||
| Access Rights: The authenticated user (see section 8.3) performing this | Access Rights: The authenticated user (see section 8.3) performing this | |||
| operation must be an operator or administrator of the Printer object | operation must be an operator or administrator of the Printer object | |||
| (see Sections 1 and 8.5). Otherwise, the IPP Printer MUST reject the | (see Sections 1 and 8.5). Otherwise, the IPP Printer MUST reject the | |||
| operation and return: 'client-error-forbidden', 'client-error-not- | operation and return: 'client-error-forbidden', 'client-error-not- | |||
| authenticated', or 'client-error-not-authorized' as appropriate. | authenticated', or 'client-error-not-authorized' as appropriate. | |||
| The Resume-Printer Request and Resume-Printer Response have the same | The Resume-Printer Request and Resume-Printer Response have the same | |||
| attribute groups and attributes as the Pause-Printer operation (see | attribute groups and attributes as the Pause-Printer operation (see | |||
| sections 3.2.7.1 and 3.2.7.2). | sections 3.2.7.1 and 3.2.7.2). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.2.9 Purge-Jobs Operation | 3.2.9 Purge-Jobs Operation | |||
| This OPTIONAL operation allows a client to remove all jobs from an IPP | This OPTIONAL operation allows a client to remove all jobs from an IPP | |||
| Printer object, regardless of their job states, including jobs in the | Printer object, regardless of their job states, including jobs in the | |||
| Printer object's Job History (see Section 4.3.7.2). After a Purge-Jobs | Printer object's Job History (see Section 4.3.7.2). After a Purge-Jobs | |||
| operation has been performed, a Printer object MUST return no jobs in | operation has been performed, a Printer object MUST return no jobs in | |||
| subsequent Get-Job-Attributes and Get-Jobs responses (until new jobs are | subsequent Get-Job-Attributes and Get-Jobs responses (until new jobs are | |||
| submitted). | submitted). | |||
| Whether the Purge-Jobs (and Get-Jobs) operation affects jobs that were | Whether the Purge-Jobs (and Get-Jobs) operation affects jobs that were | |||
| skipping to change at page 56, line 5 ¶ | skipping to change at page 56, line 5 ¶ | |||
| 3.3.1 Send-Document Operation | 3.3.1 Send-Document Operation | |||
| This OPTIONAL operation allows a client to create a multi-document Job | This OPTIONAL operation allows a client to create a multi-document Job | |||
| object that is initially "empty" (contains no documents). In the | object that is initially "empty" (contains no documents). In the | |||
| Create-Job response, the Printer object returns the Job object's URI | Create-Job response, the Printer object returns the Job object's URI | |||
| (the "job-uri" attribute) and the Job object's 32-bit identifier (the | (the "job-uri" attribute) and the Job object's 32-bit identifier (the | |||
| "job-id" attribute). For each new document that the client desires to | "job-id" attribute). For each new document that the client desires to | |||
| add, the client uses a Send-Document operation. Each Send-Document | add, the client uses a Send-Document operation. Each Send-Document | |||
| Request contains the entire stream of document data for one document. | Request contains the entire stream of document data for one document. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If the Printer supports this operation but does not support multiple | If the Printer supports this operation but does not support multiple | |||
| documents per job, the Printer MUST reject subsequent Send-Document | documents per job, the Printer MUST reject subsequent Send-Document | |||
| operations supplied with data and return the 'server-error-multiple- | operations supplied with data and return the 'server-error-multiple- | |||
| document-jobs-not-supported'. However, the Printer MUST accept the | document-jobs-not-supported'. However, the Printer MUST accept the | |||
| first document with a 'true' or 'false' value for the "last-document" | first document with a 'true' or 'false' value for the "last-document" | |||
| operation attribute (see below), so that clients MAY always submit one | operation attribute (see below), so that clients MAY always submit one | |||
| document jobs with a 'false' value for "last-document" in the first | document jobs with a 'false' value for "last-document" in the first | |||
| Send-Document and a 'true' for "last-document" in the second Send- | Send-Document and a 'true' for "last-document" in the second Send- | |||
| Document (with no data). | Document (with no data). | |||
| Since the Create-Job and the send operations (Send-Document or Send-URI | Since the Create-Job and the send operations (Send-Document or Send-URI | |||
| operations) that follow could occur over an arbitrarily long period of | operations) that follow could occur over an arbitrarily long period of | |||
| time for a particular job, a client MUST send another send operation | time for a particular job, a client MUST send another send operation | |||
| within an IPP Printer defined minimum time interval after the receipt of | within an IPP Printer defined minimum time interval after the receipt of | |||
| the previous request for the job. If a Printer object supports multiple | the previous request for the job. If a Printer object supports the | |||
| document jobs, the Printer object MUST support the "multiple-operation- | Create-Job and Send-Document operations, the Printer object MUST support | |||
| time-out" attribute (see section 4.4.31). This attribute indicates the | the "multiple-operation-time-out" attribute (see section 4.4.31). This | |||
| minimum number of seconds the Printer object will wait for the next send | attribute indicates the minimum number of seconds the Printer object | |||
| operation before taking some recovery action. | will wait for the next send operation before taking some recovery | |||
| action. | ||||
| An IPP object MUST recover from an errant client that does not supply a | An IPP object MUST recover from an errant client that does not supply a | |||
| send operation, sometime after the minimum time interval specified by | send operation, sometime after the minimum time interval specified by | |||
| the Printer object's "multiple-operation-time-out" attribute. Such | the Printer object's "multiple-operation-time-out" attribute. Such | |||
| recovery MAY include any of the following or other recovery actions: | recovery MAY include any of the following or other recovery actions: | |||
| 1. Assume that the Job is an invalid job, start the process of | 1. Assume that the Job is an invalid job, start the process of | |||
| changing the job state to 'aborted', add the 'aborted-by-system' | changing the job state to 'aborted', add the 'aborted-by-system' | |||
| value to the job's "job-state-reasons" attribute (see section | value to the job's "job-state-reasons" attribute (see section | |||
| 4.3.8), and clean up all resources associated with the Job. In | 4.3.8), and clean up all resources associated with the Job. In | |||
| skipping to change at page 57, line 5 ¶ | skipping to change at page 57, line 5 ¶ | |||
| operation (see section 3.3.6) or to cancel the job using the | operation (see section 3.3.6) or to cancel the job using the | |||
| Cancel-Job operation (see section 3.3.3). | Cancel-Job operation (see section 3.3.3). | |||
| Each implementation is free to decide the "best" action to take | Each implementation is free to decide the "best" action to take | |||
| depending on local policy, whether any documents have been added, | depending on local policy, whether any documents have been added, | |||
| whether the implementation spools jobs or not, and/or any other piece | whether the implementation spools jobs or not, and/or any other piece | |||
| of information available to it. If the choice is to abort the Job | of information available to it. If the choice is to abort the Job | |||
| object, it is possible that the Job object may already have been | object, it is possible that the Job object may already have been | |||
| processed to the point that some media sheet pages have been printed. | processed to the point that some media sheet pages have been printed. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Access Rights: The authenticated user (see section 8.3) performing this | Access Rights: The authenticated user (see section 8.3) performing this | |||
| operation must either be the job owner (as determined in the Create-Job | operation must either be the job owner (as determined in the Create-Job | |||
| operation) or an operator or administrator of the Printer object (see | operation) or an operator or administrator of the Printer object (see | |||
| Sections 1 and 8.5). Otherwise, the IPP object MUST reject the | Sections 1 and 8.5). Otherwise, the IPP object MUST reject the | |||
| operation and return: 'client-error-forbidden', 'client-error-not- | operation and return: 'client-error-forbidden', 'client-error-not- | |||
| authenticated', or 'client-error-not-authorized' as appropriate. | authenticated', or 'client-error-not-authorized' as appropriate. | |||
| 3.3.1.1 Send-Document Request | 3.3.1.1 Send-Document Request | |||
| The following attribute sets are part of the Send-Document Request: | The following attribute sets are part of the Send-Document Request: | |||
| skipping to change at page 58, line 5 ¶ | skipping to change at page 58, line 5 ¶ | |||
| operation in Section 3.2.1.1. | operation in Section 3.2.1.1. | |||
| "document-natural-language" (naturalLanguage): | "document-natural-language" (naturalLanguage): | |||
| The client OPTIONALLY supplies this attribute. The Printer object | The client OPTIONALLY supplies this attribute. The Printer object | |||
| OPTIONALLY supports this attribute. This attribute specifies the | OPTIONALLY supports this attribute. This attribute specifies the | |||
| natural language of the document for those document-formats that | natural language of the document for those document-formats that | |||
| require a specification of the natural language in order to image | require a specification of the natural language in order to image | |||
| the document unambiguously. There are no particular values | the document unambiguously. There are no particular values | |||
| required for the Printer object to support. | required for the Printer object to support. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| "last-document" (boolean): | "last-document" (boolean): | |||
| The client MUST supply this attribute. The Printer object MUST | The client MUST supply this attribute. The Printer object MUST | |||
| support this attribute. It is a boolean flag that is set to 'true' | support this attribute. It is a boolean flag that is set to 'true' | |||
| if this is the last document for the Job, 'false' otherwise. | if this is the last document for the Job, 'false' otherwise. | |||
| Group 2: Document Content | Group 2: Document Content | |||
| The client MUST supply the document data if the "last-document" | The client MUST supply the document data if the "last-document" | |||
| flag is set to 'false'. However, since a client might not know | flag is set to 'false'. However, since a client might not know | |||
| skipping to change at page 59, line 5 ¶ | skipping to change at page 59, line 5 ¶ | |||
| 3.3.2 Send-URI Operation | 3.3.2 Send-URI Operation | |||
| This OPTIONAL operation is identical to the Send-Document operation (see | This OPTIONAL operation is identical to the Send-Document operation (see | |||
| section 3.3.1) except that a client MUST supply a URI reference | section 3.3.1) except that a client MUST supply a URI reference | |||
| ("document-uri" operation attribute) rather than the document data | ("document-uri" operation attribute) rather than the document data | |||
| itself. If a Printer object supports this operation, clients can use | itself. If a Printer object supports this operation, clients can use | |||
| both Send-URI or Send-Document operations to add new documents to an | both Send-URI or Send-Document operations to add new documents to an | |||
| existing multi-document Job object. However, if a client needs to | existing multi-document Job object. However, if a client needs to | |||
| indicate that the previous Send-URI or Send-Document was the last | indicate that the previous Send-URI or Send-Document was the last | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| document, the client MUST use the Send-Document operation with no | document, the client MUST use the Send-Document operation with no | |||
| document data and the "last-document" flag set to 'true' (rather than | document data and the "last-document" flag set to 'true' (rather than | |||
| using a Send-URI operation with no "document-uri" operation attribute). | using a Send-URI operation with no "document-uri" operation attribute). | |||
| If a Printer object supports this operation, it MUST also support the | If a Printer object supports this operation, it MUST also support the | |||
| Print-URI operation (see section 3.2.2). | Print-URI operation (see section 3.2.2). | |||
| The Printer object MUST validate the syntax and URI scheme of the | The Printer object MUST validate the syntax and URI scheme of the | |||
| supplied URI before returning a response, just as in the Print-URI | supplied URI before returning a response, just as in the Print-URI | |||
| operation. The IPP Printer MAY validate the accessibility of the | operation. The IPP Printer MAY validate the accessibility of the | |||
| skipping to change at page 60, line 5 ¶ | skipping to change at page 60, line 5 ¶ | |||
| Rule 1: If the implementation requires some measurable time to cancel | Rule 1: If the implementation requires some measurable time to cancel | |||
| the job in the 'processing' or 'processing-stopped' job states, the IPP | the job in the 'processing' or 'processing-stopped' job states, the IPP | |||
| object MUST add the 'processing-to-stop-point' value to the job's "job- | object MUST add the 'processing-to-stop-point' value to the job's "job- | |||
| state-reasons" attribute and then transition the job to the 'canceled' | state-reasons" attribute and then transition the job to the 'canceled' | |||
| state when the processing ceases (see section 4.3.8). | state when the processing ceases (see section 4.3.8). | |||
| Rule 2: If the Job object already has the 'processing-to-stop-point' | Rule 2: If the Job object already has the 'processing-to-stop-point' | |||
| value in its "job-state-reasons" attribute, then the Printer object MUST | value in its "job-state-reasons" attribute, then the Printer object MUST | |||
| reject a Cancel-Job operation. | reject a Cancel-Job operation. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Access Rights: The authenticated user (see section 8.3) performing this | Access Rights: The authenticated user (see section 8.3) performing this | |||
| operation must either be the job owner or an operator or administrator | operation must either be the job owner or an operator or administrator | |||
| of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP | of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP | |||
| object MUST reject the operation and return: 'client-error-forbidden', | object MUST reject the operation and return: 'client-error-forbidden', | |||
| 'client-error-not-authenticated', or 'client-error-not-authorized' as | 'client-error-not-authenticated', or 'client-error-not-authorized' as | |||
| appropriate. | appropriate. | |||
| 3.3.3.1 Cancel-Job Request | 3.3.3.1 Cancel-Job Request | |||
| The following groups of attributes are part of the Cancel-Job Request: | The following groups of attributes are part of the Cancel-Job Request: | |||
| skipping to change at page 61, line 5 ¶ | skipping to change at page 61, line 5 ¶ | |||
| Status Message: | Status Message: | |||
| In addition to the REQUIRED status code returned in every response, | In addition to the REQUIRED status code returned in every response, | |||
| the response OPTIONALLY includes a "status-message" (text(255)) | the response OPTIONALLY includes a "status-message" (text(255)) | |||
| and/or a "detailed-status-message" (text(MAX)) operation attribute | and/or a "detailed-status-message" (text(MAX)) operation attribute | |||
| as described in sections 13 and 3.1.6. | as described in sections 13 and 3.1.6. | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in section 3.1.4.2. | attributes as described in section 3.1.4.2. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Group 2: Unsupported Attributes | Group 2: Unsupported Attributes | |||
| See section 3.1.7 for details on returning Unsupported Attributes. | See section 3.1.7 for details on returning Unsupported Attributes. | |||
| Once a successful response has been sent, the implementation guarantees | Once a successful response has been sent, the implementation guarantees | |||
| that the Job will eventually end up in the 'canceled' state. Between the | that the Job will eventually end up in the 'canceled' state. Between the | |||
| time of the Cancel-Job operation is accepted and when the job enters the | time of the Cancel-Job operation is accepted and when the job enters the | |||
| 'canceled' job-state (see section 4.3.7), the "job-state-reasons" | 'canceled' job-state (see section 4.3.7), the "job-state-reasons" | |||
| attribute SHOULD contain the 'processing-to-stop-point' value which | attribute SHOULD contain the 'processing-to-stop-point' value which | |||
| skipping to change at page 62, line 5 ¶ | skipping to change at page 62, line 5 ¶ | |||
| requesting the "job-name" attribute once by naming it explicitly, and | requesting the "job-name" attribute once by naming it explicitly, and | |||
| once by inclusion in the 'job-description' group. In such cases, the | once by inclusion in the 'job-description' group. In such cases, the | |||
| Printer object NEED NOT return the attribute only once in the response | Printer object NEED NOT return the attribute only once in the response | |||
| even if it is requested multiple times. The client SHOULD NOT request | even if it is requested multiple times. The client SHOULD NOT request | |||
| the same attribute in multiple ways. | the same attribute in multiple ways. | |||
| It is NOT REQUIRED that a Job object support all attributes belonging to | It is NOT REQUIRED that a Job object support all attributes belonging to | |||
| a group (since some attributes are OPTIONAL). However it is REQUIRED | a group (since some attributes are OPTIONAL). However it is REQUIRED | |||
| that each Job object support all group names. | that each Job object support all group names. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 3.3.4.1 Get-Job-Attributes Request | 3.3.4.1 Get-Job-Attributes Request | |||
| The following groups of attributes are part of the Get-Job-Attributes | The following groups of attributes are part of the Get-Job-Attributes | |||
| Request when the request is directed at a Job object: | Request when the request is directed at a Job object: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in section 3.1.4.1. | attributes as described in section 3.1.4.1. | |||
| skipping to change at page 63, line 5 ¶ | skipping to change at page 63, line 5 ¶ | |||
| rather than the one requested. | rather than the one requested. | |||
| Group 2: Unsupported Attributes | Group 2: Unsupported Attributes | |||
| See section 3.1.7 for details on returning Unsupported Attributes. | See section 3.1.7 for details on returning Unsupported Attributes. | |||
| The response NEED NOT contain the "requested-attributes" operation | The response NEED NOT contain the "requested-attributes" operation | |||
| attribute with any supplied values (attribute keywords) that were | attribute with any supplied values (attribute keywords) that were | |||
| requested by the client but are not supported by the IPP object. If | requested by the client but are not supported by the IPP object. If | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| the Printer object does include unsupported attributes referenced | the Printer object does include unsupported attributes referenced | |||
| in "requested-attributes" and such attributes include group names, | in "requested-attributes" and such attributes include group names, | |||
| such as 'all', the unsupported attributes MUST NOT include | such as 'all', the unsupported attributes MUST NOT include | |||
| attributes described in the standard but not supported by the | attributes described in the standard but not supported by the | |||
| implementation. | implementation. | |||
| Group 3: Job Object Attributes | Group 3: Job Object Attributes | |||
| This is the set of requested attributes and their current values. | This is the set of requested attributes and their current values. | |||
| The IPP object ignores (does not respond with) any requested | The IPP object ignores (does not respond with) any requested | |||
| skipping to change at page 64, line 5 ¶ | skipping to change at page 64, line 5 ¶ | |||
| Rule 1: If the implementation supports multiple reasons for a job to be | Rule 1: If the implementation supports multiple reasons for a job to be | |||
| in the 'pending-held' state, the IPP object MUST add the 'job-hold- | in the 'pending-held' state, the IPP object MUST add the 'job-hold- | |||
| until-specified' value to the job's "job-state-reasons" attribute. | until-specified' value to the job's "job-state-reasons" attribute. | |||
| Rule 2: If the IPP object supports the "job-hold-until" operation | Rule 2: If the IPP object supports the "job-hold-until" operation | |||
| attribute, but the specified time period has already started (or is the | attribute, but the specified time period has already started (or is the | |||
| 'no-hold' value) and there are no other reasons to hold the job, the IPP | 'no-hold' value) and there are no other reasons to hold the job, the IPP | |||
| object MUST make the job be a candidate for processing immediately (see | object MUST make the job be a candidate for processing immediately (see | |||
| Section 4.2.2) by putting the job in the 'pending' state. | Section 4.2.2) by putting the job in the 'pending' state. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Note: In order to keep the Hold-Job operation simple, such a request is | Note: In order to keep the Hold-Job operation simple, such a request is | |||
| rejected when the job is in the 'processing' or 'processing-stopped' | rejected when the job is in the 'processing' or 'processing-stopped' | |||
| states. If an operation is needed to hold jobs while in these states, | states. If an operation is needed to hold jobs while in these states, | |||
| it will be added as an additional operation, rather than overloading the | it will be added as an additional operation, rather than overloading the | |||
| Hold-Job operation. Then it is clear to clients by querying the Printer | Hold-Job operation. Then it is clear to clients by querying the Printer | |||
| object's "operations-supported" (see Section 4.4.15) and the Job | object's "operations-supported" (see Section 4.4.15) and the Job | |||
| object's "job-state" (see Section 4.3.7) attributes which operations are | object's "job-state" (see Section 4.3.7) attributes which operations are | |||
| possible. | possible. | |||
| Access Rights: The authenticated user (see section 8.3) performing this | Access Rights: The authenticated user (see section 8.3) performing this | |||
| skipping to change at page 65, line 5 ¶ | skipping to change at page 65, line 5 ¶ | |||
| holds the job indefinitely until a client performs a subsequent | holds the job indefinitely until a client performs a subsequent | |||
| Release-Job operation. | Release-Job operation. | |||
| If the client (1) supplies a value that specifies a time period | If the client (1) supplies a value that specifies a time period | |||
| that has already started or the 'no-hold' value (meaning don't hold | that has already started or the 'no-hold' value (meaning don't hold | |||
| the job) and (2) the IPP object supports the "job-hold-until" | the job) and (2) the IPP object supports the "job-hold-until" | |||
| operation attribute and there are no other reasons to hold the job, | operation attribute and there are no other reasons to hold the job, | |||
| the IPP object MUST accept the operation and make the job be a | the IPP object MUST accept the operation and make the job be a | |||
| candidate for processing immediately (see Section 4.2.2). | candidate for processing immediately (see Section 4.2.2). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If the client does not supply a "job-hold-until" Operation | If the client does not supply a "job-hold-until" Operation | |||
| attribute in the request, the IPP object MUST populate the job | attribute in the request, the IPP object MUST populate the job | |||
| object with a "job-hold-until" attribute with the 'indefinite' | object with a "job-hold-until" attribute with the 'indefinite' | |||
| value (if IPP object supports the "job-hold-until" attribute) and | value (if IPP object supports the "job-hold-until" attribute) and | |||
| hold the job indefinitely, until a client performs a Release-Job | hold the job indefinitely, until a client performs a Release-Job | |||
| operation. | operation. | |||
| 3.3.5.2 Hold-Job Response | 3.3.5.2 Hold-Job Response | |||
| The groups and attributes are the same as for a Cancel-Job response (see | The groups and attributes are the same as for a Cancel-Job response (see | |||
| skipping to change at page 66, line 5 ¶ | skipping to change at page 66, line 5 ¶ | |||
| held' state, such as 'resources-are-not-ready', the job remains in the | held' state, such as 'resources-are-not-ready', the job remains in the | |||
| 'pending-held' state. Thus the 'pending-held' state is not just for | 'pending-held' state. Thus the 'pending-held' state is not just for | |||
| jobs that have the 'job-hold-until' applied to them, but are for any | jobs that have the 'job-hold-until' applied to them, but are for any | |||
| reason to keep the job from being a candidate for scheduling and | reason to keep the job from being a candidate for scheduling and | |||
| processing, such as 'resources-are-not-ready'. See the "job-hold-until" | processing, such as 'resources-are-not-ready'. See the "job-hold-until" | |||
| attribute (section 4.2.2). | attribute (section 4.2.2). | |||
| Access Rights: The authenticated user (see section 8.3) performing this | Access Rights: The authenticated user (see section 8.3) performing this | |||
| operation must either be the job owner or an operator or administrator | operation must either be the job owner or an operator or administrator | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP | of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP | |||
| object MUST reject the operation and return: 'client-error-forbidden', | object MUST reject the operation and return: 'client-error-forbidden', | |||
| 'client-error-not-authenticated', or 'client-error-not-authorized' as | 'client-error-not-authenticated', or 'client-error-not-authorized' as | |||
| appropriate. | appropriate. | |||
| The Release-Job Request and Release-Job Response have the same attribute | The Release-Job Request and Release-Job Response have the same attribute | |||
| groups and attributes as the Cancel-Job operation (see section 3.3.3.1 | groups and attributes as the Cancel-Job operation (see section 3.3.3.1 | |||
| and 3.3.3.2). | and 3.3.3.2). | |||
| 3.3.7 Restart-Job Operation | 3.3.7 Restart-Job Operation | |||
| skipping to change at page 67, line 5 ¶ | skipping to change at page 67, line 5 ¶ | |||
| to use the same "job-uri" and "job-id" attribute values. | to use the same "job-uri" and "job-id" attribute values. | |||
| Note: If in the future an operation is needed that does not reset the | Note: If in the future an operation is needed that does not reset the | |||
| job progress attributes, then a new operation will be defined which | job progress attributes, then a new operation will be defined which | |||
| makes a copy of the job, assigns a new "job-uri" and "job-id" to the | makes a copy of the job, assigns a new "job-uri" and "job-id" to the | |||
| copy and resets the job progress attributes in the new copy only. | copy and resets the job progress attributes in the new copy only. | |||
| The IPP object MUST accept or reject the request based on the job's | The IPP object MUST accept or reject the request based on the job's | |||
| current state, transition the job to the indicated new state as follows: | current state, transition the job to the indicated new state as follows: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Current "job- New "job-state" IPP object's response status | Current "job- New "job-state" IPP object's response status | |||
| state" code and action: | state" code and action: | |||
| 'pending' 'pending' 'client-error-not-possible' | 'pending' 'pending' 'client-error-not-possible' | |||
| 'pending-held' 'pending-held' 'client-error-not-possible' | 'pending-held' 'pending-held' 'client-error-not-possible' | |||
| 'processing' 'processing' 'client-error-not-possible' | 'processing' 'processing' 'client-error-not-possible' | |||
| 'processing- 'processing- 'client-error-not-possible' | 'processing- 'processing- 'client-error-not-possible' | |||
| stopped' stopped' | stopped' stopped' | |||
| 'completed' 'pending' or 'successful-ok' - job is started | 'completed' 'pending' or 'successful-ok' - job is started | |||
| 'pending-held' over. | 'pending-held' over. | |||
| skipping to change at page 68, line 5 ¶ | skipping to change at page 68, line 5 ¶ | |||
| attribute: | attribute: | |||
| "job-hold-until" (type3 keyword | name(MAX)): | "job-hold-until" (type3 keyword | name(MAX)): | |||
| The client OPTIONALLY supplies this attribute. The IPP object MUST | The client OPTIONALLY supplies this attribute. The IPP object MUST | |||
| support this Operation attribute in a Restart-Job request, if it | support this Operation attribute in a Restart-Job request, if it | |||
| supports the "job-hold-until" Job Template attribute in create | supports the "job-hold-until" Job Template attribute in create | |||
| operations. See section 4.2.2. Otherwise, the IPP object NEED NOT | operations. See section 4.2.2. Otherwise, the IPP object NEED NOT | |||
| support the "job-hold-until" Operation attribute in a Restart-Job | support the "job-hold-until" Operation attribute in a Restart-Job | |||
| request. | request. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If supplied and supported as specified in the Printer's "job-hold- | If supplied and supported as specified in the Printer's "job-hold- | |||
| until-supported" attribute, the IPP object copies the supplied | until-supported" attribute, the IPP object copies the supplied | |||
| Operation attribute to the Job object, replacing the job's previous | Operation attribute to the Job object, replacing the job's previous | |||
| "job-hold-until" attribute, if present, and makes the job a | "job-hold-until" attribute, if present, and makes the job a | |||
| candidate for scheduling during the supplied named time period. | candidate for scheduling during the supplied named time period. | |||
| See section 4.2.2. | See section 4.2.2. | |||
| If supplied, but the value is not supported, the IPP object accepts | If supplied, but the value is not supported, the IPP object accepts | |||
| the request, returns the unsupported attribute or value in the | the request, returns the unsupported attribute or value in the | |||
| Unsupported Attributes Group according to section 3.1.7, returns | Unsupported Attributes Group according to section 3.1.7, returns | |||
| skipping to change at page 69, line 5 ¶ | skipping to change at page 69, line 5 ¶ | |||
| attributes before releasing the restarted job. | attributes before releasing the restarted job. | |||
| 4. Object Attributes | 4. Object Attributes | |||
| This section describes the attributes with their corresponding attribute | This section describes the attributes with their corresponding attribute | |||
| syntaxes and values that are part of the IPP model. The sections below | syntaxes and values that are part of the IPP model. The sections below | |||
| show the objects and their associated attributes which are included | show the objects and their associated attributes which are included | |||
| within the scope of this protocol. Many of these attributes are derived | within the scope of this protocol. Many of these attributes are derived | |||
| from other relevant documents: | from other relevant documents: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| - Document Printing Application (DPA) [ISO10175] | - Document Printing Application (DPA) [ISO10175] | |||
| - RFC 1759 Printer MIB [RFC1759] | - RFC 1759 Printer MIB [RFC1759] | |||
| Each attribute is uniquely identified in this document using a "keyword" | Each attribute is uniquely identified in this document using a "keyword" | |||
| (see section 12.2.1) which is the name of the attribute. The keyword is | (see section 12.2.1) which is the name of the attribute. The keyword is | |||
| included in the section header describing that attribute. | included in the section header describing that attribute. | |||
| Note: Not only are keywords used to identify attributes, but one of the | Note: Not only are keywords used to identify attributes, but one of the | |||
| attribute syntaxes described below is "keyword" so that some attributes | attribute syntaxes described below is "keyword" so that some attributes | |||
| have keyword values. Therefore, these attributes are defined as having | have keyword values. Therefore, these attributes are defined as having | |||
| skipping to change at page 69, line 48 ¶ | skipping to change at page 69, line 48 ¶ | |||
| 'unknown': The attribute is supported by the IPP object, but the | 'unknown': The attribute is supported by the IPP object, but the | |||
| value is unknown to the IPP object for some reason. | value is unknown to the IPP object for some reason. | |||
| 'unsupported': The attribute is unsupported by the IPP object. This | 'unsupported': The attribute is unsupported by the IPP object. This | |||
| value MUST be returned only as the value of an attribute in the | value MUST be returned only as the value of an attribute in the | |||
| Unsupported Attributes Group. | Unsupported Attributes Group. | |||
| 'no-value': The attribute is supported by the Printer object, but the | 'no-value': The attribute is supported by the Printer object, but the | |||
| administrator has not yet configured a value. | administrator has not yet configured a value. | |||
| All attributes in a request MUST have one or more values as defined in | All attributes in a request MUST have one or more values as defined in | |||
| Sections 4.2 to 4.4. Thus clients MUST NOT supply attributes with "out- | Sections 4.2 to 4.4. Thus clients MUST NOT supply attributes with "out- | |||
| of-band" values. All attributes in a response MUST have one or more | of-band" values for operations defined in this document. All attributes | |||
| values as defined in Sections 4.2 to 4.4 or a single "out-of-band" | in a response MUST have one or more values as defined in Sections 4.2 to | |||
| value. | 4.4 or a single "out-of-band" value. | |||
| Most attributes are defined to have a single attribute syntax. However, | Most attributes are defined to have a single attribute syntax. However, | |||
| a few attributes (e.g., "job-sheet", "media", "job-hold-until") are | a few attributes (e.g., "job-sheet", "media", "job-hold-until") are | |||
| defined to have several attribute syntaxes, depending on the value. | defined to have several attribute syntaxes, depending on the value. | |||
| These multiple attribute syntaxes are separated by the "|" character in | These multiple attribute syntaxes are separated by the "|" character in | |||
| the sub-section heading to indicate the choice. Since each value MUST | the sub-section heading to indicate the choice. Since each value MUST | |||
| be tagged as to its attribute syntax in the protocol, a single-valued | be tagged as to its attribute syntax in the protocol, a single-valued | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| attribute instance may have any one of its attribute syntaxes and a | attribute instance may have any one of its attribute syntaxes and a | |||
| multi-valued attribute instance may have a mixture of its defined | multi-valued attribute instance may have a mixture of its defined | |||
| attribute syntaxes. | attribute syntaxes. | |||
| 4.1.1 'text' | 4.1.1 'text' | |||
| A text attribute is an attribute whose value is a sequence of zero or | A text attribute is an attribute whose value is a sequence of zero or | |||
| more characters encoded in a maximum of 1023 ('MAX') octets. MAX is the | more characters encoded in a maximum of 1023 ('MAX') octets. MAX is the | |||
| maximum length for each value of any text attribute. However, if an | maximum length for each value of any text attribute. However, if an | |||
| attribute will always contain values whose maximum length is much less | attribute will always contain values whose maximum length is much less | |||
| skipping to change at page 71, line 5 ¶ | skipping to change at page 71, line 5 ¶ | |||
| The 'textWithoutLanguage' and 'textWithLanguage' attribute syntaxes are | The 'textWithoutLanguage' and 'textWithLanguage' attribute syntaxes are | |||
| described in more detail in the following sections. | described in more detail in the following sections. | |||
| 4.1.1.1 'textWithoutLanguage' | 4.1.1.1 'textWithoutLanguage' | |||
| The 'textWithoutLanguage' syntax indicates a value that is sequence of | The 'textWithoutLanguage' syntax indicates a value that is sequence of | |||
| zero or more characters encoded in a maximum of 1023 (MAX) octets. | zero or more characters encoded in a maximum of 1023 (MAX) octets. | |||
| Text strings are encoded using the rules of some charset. The Printer | Text strings are encoded using the rules of some charset. The Printer | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| object MUST support the UTF-8 charset [RFC2279] and MAY support | object MUST support the UTF-8 charset [RFC2279] and MAY support | |||
| additional charsets to represent 'text' values, provided that the | additional charsets to represent 'text' values, provided that the | |||
| charsets are registered with IANA [IANA-CS]. See Section 4.1.7 for the | charsets are registered with IANA [IANA-CS]. See Section 4.1.7 for the | |||
| definition of the 'charset' attribute syntax, including restricted | definition of the 'charset' attribute syntax, including restricted | |||
| semantics and examples of charsets. | semantics and examples of charsets. | |||
| 4.1.1.2 'textWithLanguage' | 4.1.1.2 'textWithLanguage' | |||
| The 'textWithLanguage' attribute syntax is a compound attribute syntax | The 'textWithLanguage' attribute syntax is a compound attribute syntax | |||
| consisting of two parts: a 'textWithoutLanguage' part encoded in a | consisting of two parts: a 'textWithoutLanguage' part encoded in a | |||
| skipping to change at page 71, line 50 ¶ | skipping to change at page 71, line 50 ¶ | |||
| attribute that the client MAY supply. | attribute that the client MAY supply. | |||
| Example: If the client supplies the "attributes-natural-language" | Example: If the client supplies the "attributes-natural-language" | |||
| operation attribute with the value: 'en' indicating English, but the | operation attribute with the value: 'en' indicating English, but the | |||
| value of the "job-name" attribute is in French, the client MUST use the | value of the "job-name" attribute is in French, the client MUST use the | |||
| 'textWithLanguage' attribute syntax with the following two values: | 'textWithLanguage' attribute syntax with the following two values: | |||
| 'fr': Natural Language Override indicating French | 'fr': Natural Language Override indicating French | |||
| 'Rapport Mensuel': the job name in French | 'Rapport Mensuel': the job name in French | |||
| See the "Encoding and Transport" document [IPP-PRO] for a detailed | See the "Encoding and Transport" document [IPP-PRO] section 3.11 for the | |||
| example of the 'textWithLanguage' attribute syntax. | encoding of the two parts and Appendix A for a detailed example of the | |||
| 'textWithLanguage' attribute syntax. | ||||
| 4.1.2 'name' | 4.1.2 'name' | |||
| This syntax type is used for user-friendly strings, such as a Printer | This syntax type is used for user-friendly strings, such as a Printer | |||
| name, that, for humans, are more meaningful than identifiers. Names are | name, that, for humans, are more meaningful than identifiers. Names are | |||
| never translated from one natural language to another. The 'name' | never translated from one natural language to another. The 'name' | |||
| attribute syntax is essentially the same as 'text', including the | ||||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| attribute syntax is essentially the same as 'text', including the | ||||
| REQUIRED support of UTF-8 except that the sequence of characters is | REQUIRED support of UTF-8 except that the sequence of characters is | |||
| limited so that its encoded form MUST NOT exceed 255 (MAX) octets. | limited so that its encoded form MUST NOT exceed 255 (MAX) octets. | |||
| Also like 'text', 'name' is really an abbreviated notation for either | Also like 'text', 'name' is really an abbreviated notation for either | |||
| 'nameWithoutLanguage' or 'nameWithLanguage'. That is, all IPP objects | 'nameWithoutLanguage' or 'nameWithLanguage'. That is, all IPP objects | |||
| and clients MUST support both the 'nameWithoutLanguage' and | and clients MUST support both the 'nameWithoutLanguage' and | |||
| 'nameWithLanguage' attribute syntaxes. However, in actual usage and | 'nameWithLanguage' attribute syntaxes. However, in actual usage and | |||
| protocol execution, objects and clients accept and return only one of | protocol execution, objects and clients accept and return only one of | |||
| the two syntax per attribute. The syntax 'name' never appears "on-the- | the two syntax per attribute. The syntax 'name' never appears "on-the- | |||
| wire". | wire". | |||
| skipping to change at page 72, line 57 ¶ | skipping to change at page 73, line 4 ¶ | |||
| 'textWithLanguage' syntax. Using the 'textWithLanguage' attribute | 'textWithLanguage' syntax. Using the 'textWithLanguage' attribute | |||
| syntax rather than the normal 'textWithoutLanguage' syntax is the so- | syntax rather than the normal 'textWithoutLanguage' syntax is the so- | |||
| called Natural Language Override mechanism and MUST be supported by all | called Natural Language Override mechanism and MUST be supported by all | |||
| IPP objects and clients. If a name is in a language that is different | IPP objects and clients. If a name is in a language that is different | |||
| than the rest of the object or operation, then this 'nameWithLanguage' | than the rest of the object or operation, then this 'nameWithLanguage' | |||
| syntax is used rather than the generic 'nameWithoutLanguage' syntax. | syntax is used rather than the generic 'nameWithoutLanguage' syntax. | |||
| If the attribute is multi-valued (1setOf text), then the | If the attribute is multi-valued (1setOf text), then the | |||
| 'nameWithLanguage' attribute syntax MUST be used to explicitly specify | 'nameWithLanguage' attribute syntax MUST be used to explicitly specify | |||
| each attribute value whose natural language needs to be overridden. | each attribute value whose natural language needs to be overridden. | |||
| Expires November 22, 2000 | ||||
| Other values in a multi-valued 'name' attribute in a request or a | Other values in a multi-valued 'name' attribute in a request or a | |||
| response revert to the natural language of the operation attribute. | response revert to the natural language of the operation attribute. | |||
| Expires September 1, 2000 | ||||
| In a create request, the Printer object MUST accept and store with the | In a create request, the Printer object MUST accept and store with the | |||
| Job object any natural language in the "attributes-natural-language" | Job object any natural language in the "attributes-natural-language" | |||
| operation attribute, whether the Printer object supports that natural | operation attribute, whether the Printer object supports that natural | |||
| language or not. Furthermore, the Printer object MUST accept and store | language or not. Furthermore, the Printer object MUST accept and store | |||
| any 'nameWithLanguage' attribute value, whether the Printer object | any 'nameWithLanguage' attribute value, whether the Printer object | |||
| supports that natural language or not. These requirements are | supports that natural language or not. These requirements are | |||
| independent of the value of the "ipp-attribute-fidelity" operation | independent of the value of the "ipp-attribute-fidelity" operation | |||
| attribute that the client MAY supply. | attribute that the client MAY supply. | |||
| Example: If the client supplies the "attributes-natural-language" | Example: If the client supplies the "attributes-natural-language" | |||
| operation attribute with the value: 'en' indicating English, but the | operation attribute with the value: 'en' indicating English, but the | |||
| "printer-name" attribute is in German, the client MUST use the | "printer-name" attribute is in German, the client MUST use the | |||
| 'nameWithLanguage' attribute syntax as follows: | 'nameWithLanguage' attribute syntax as follows: | |||
| 'de': Natural Language Override indicating German | 'de': Natural Language Override indicating German | |||
| 'Farbdrucker': the Printer name in German | 'Farbdrucker': the Printer name in German | |||
| See the "Encoding and Transport" document [IPP-PRO] section 3.11 for the | ||||
| encoding of the two parts and Appendix A for a detailed example of the | ||||
| 'nameWithLanguage' attribute syntax. | ||||
| 4.1.2.3 Matching 'name' attribute values | 4.1.2.3 Matching 'name' attribute values | |||
| For purposes of matching two 'name' attribute values for equality, such | For purposes of matching two 'name' attribute values for equality, such | |||
| as in job validation (where a client-supplied value for attribute "xxx" | as in job validation (where a client-supplied value for attribute "xxx" | |||
| is checked to see if the value is among the values of the Printer | is checked to see if the value is among the values of the Printer | |||
| object's corresponding "xxx-supported" attribute), the following match | object's corresponding "xxx-supported" attribute), the following match | |||
| rules apply: | rules apply: | |||
| 1. 'keyword' values never match 'name' values. | 1. 'keyword' values never match 'name' values. | |||
| skipping to change at page 73, line 49 ¶ | skipping to change at page 74, line 5 ¶ | |||
| ignored. For example: 'Ajax-letter-head-white' MUST match | ignored. For example: 'Ajax-letter-head-white' MUST match | |||
| 'Ajax-letter-head-white' and SHOULD match 'ajax-letter-head- | 'Ajax-letter-head-white' and SHOULD match 'ajax-letter-head- | |||
| white' and 'AJAX-LETTER-HEAD-WHITE'. | white' and 'AJAX-LETTER-HEAD-WHITE'. | |||
| b. the Associated Natural-Language parts match if the shorter | b. the Associated Natural-Language parts match if the shorter | |||
| of the two meets the syntactic requirements of RFC 1766 | of the two meets the syntactic requirements of RFC 1766 | |||
| [RFC1766] and matches byte for byte with the longer. For | [RFC1766] and matches byte for byte with the longer. For | |||
| example, 'en' matches 'en', 'en-us' and 'en-gb', but matches | example, 'en' matches 'en', 'en-us' and 'en-gb', but matches | |||
| neither 'fr' nor 'e'. | neither 'fr' nor 'e'. | |||
| Expires November 22, 2000 | ||||
| 4.1.3 'keyword' | 4.1.3 'keyword' | |||
| The 'keyword' attribute syntax is a sequence of characters, length: 1 to | The 'keyword' attribute syntax is a sequence of characters, length: 1 to | |||
| 255, containing only the US-ASCII [ASCII] encoded values for lowercase | 255, containing only the US-ASCII [ASCII] encoded values for lowercase | |||
| letters ("a" - "z"), digits ("0" - "9"), hyphen ("-"), dot ("."), and | letters ("a" - "z"), digits ("0" - "9"), hyphen ("-"), dot ("."), and | |||
| underscore ("_"). The first character MUST be a lowercase letter. | underscore ("_"). The first character MUST be a lowercase letter. | |||
| Furthermore, keywords MUST be in U.S. English. | Furthermore, keywords MUST be in U.S. English. | |||
| This syntax type is used for enumerating semantic identifiers of | This syntax type is used for enumerating semantic identifiers of | |||
| entities in the abstract protocol, i.e., entities identified in this | entities in the abstract protocol, i.e., entities identified in this | |||
| Expires September 1, 2000 | ||||
| document. Keywords are used as attribute names or values of attributes. | document. Keywords are used as attribute names or values of attributes. | |||
| Unlike 'text' and 'name' attribute values, 'keyword' values MUST NOT use | Unlike 'text' and 'name' attribute values, 'keyword' values MUST NOT use | |||
| the Natural Language Override mechanism, since they MUST always be US- | the Natural Language Override mechanism, since they MUST always be US- | |||
| ASCII and U.S. English. | ASCII and U.S. English. | |||
| Keywords are for use in the protocol. A user interface will likely | Keywords are for use in the protocol. A user interface will likely | |||
| provide a mapping between protocol keywords and displayable user- | provide a mapping between protocol keywords and displayable user- | |||
| friendly words and phrases which are localized to the natural language | friendly words and phrases which are localized to the natural language | |||
| of the user. While the keywords specified in this document MAY be | of the user. While the keywords specified in this document MAY be | |||
| displayed to users whose natural language is U.S. English, they MAY be | displayed to users whose natural language is U.S. English, they MAY be | |||
| skipping to change at page 74, line 49 ¶ | skipping to change at page 75, line 4 ¶ | |||
| 4.1.4 'enum' | 4.1.4 'enum' | |||
| The 'enum' attribute syntax is an enumerated integer value that is in | The 'enum' attribute syntax is an enumerated integer value that is in | |||
| the range from 1 to 2**31 - 1 (MAX). Each value has an associated | the range from 1 to 2**31 - 1 (MAX). Each value has an associated | |||
| 'keyword' name. In the definition for each attribute of this syntax | 'keyword' name. In the definition for each attribute of this syntax | |||
| type, the full set of possible values for that attribute are listed. | type, the full set of possible values for that attribute are listed. | |||
| This syntax type is used for attributes for which there are enum values | This syntax type is used for attributes for which there are enum values | |||
| assigned by other standards, such as SNMP MIBs. A number of attribute | assigned by other standards, such as SNMP MIBs. A number of attribute | |||
| enum values in this document are also used for corresponding attributes | enum values in this document are also used for corresponding attributes | |||
| in other standards [RFC1759]. This syntax type is not used for | in other standards [RFC1759]. This syntax type is not used for | |||
| Expires November 22, 2000 | ||||
| attributes to which the administrator may assign values. Section 6.1 | attributes to which the administrator may assign values. Section 6.1 | |||
| describes how the protocol can be extended with new enum values. | describes how the protocol can be extended with new enum values. | |||
| Enum values are for use in the protocol. A user interface will provide | Enum values are for use in the protocol. A user interface will provide | |||
| a mapping between protocol enum values and displayable user-friendly | a mapping between protocol enum values and displayable user-friendly | |||
| words and phrases which are localized to the natural language of the | words and phrases which are localized to the natural language of the | |||
| user. While the enum symbols specified in this document MAY be | user. While the enum symbols specified in this document MAY be | |||
| displayed to users whose natural language is U.S. English, they MAY be | displayed to users whose natural language is U.S. English, they MAY be | |||
| mapped to other U.S. English words for U.S. English users, since the | mapped to other U.S. English words for U.S. English users, since the | |||
| user interface is outside the scope of this document. | user interface is outside the scope of this document. | |||
| Expires September 1, 2000 | ||||
| Note: SNMP MIBs use '2' for 'unknown' which corresponds to the IPP "out- | Note: SNMP MIBs use '2' for 'unknown' which corresponds to the IPP "out- | |||
| of-band" value 'unknown'. See the description of the "out-of-band" | of-band" value 'unknown'. See the description of the "out-of-band" | |||
| values at the beginning of Section 4.1. Therefore, attributes of type | values at the beginning of Section 4.1. Therefore, attributes of type | |||
| 'enum' start at '3'. | 'enum' start at '3'. | |||
| Note: This document uses "type1", "type2", and "type3" prefixes to the | Note: This document uses "type1", "type2", and "type3" prefixes to the | |||
| "enum" basic syntax to indicate different levels of review for | "enum" basic syntax to indicate different levels of review for | |||
| extensions (see section 6.1). | extensions (see section 6.1). | |||
| 4.1.5 'uri' | 4.1.5 'uri' | |||
| skipping to change at page 75, line 47 ¶ | skipping to change at page 76, line 5 ¶ | |||
| 'https': for use with HTTPS schemed URIs (e.g., "https:...") (not on | 'https': for use with HTTPS schemed URIs (e.g., "https:...") (not on | |||
| IETF standards track) | IETF standards track) | |||
| 'ftp': for FTP schemed URIs (e.g., "ftp:...") | 'ftp': for FTP schemed URIs (e.g., "ftp:...") | |||
| 'mailto': for SMTP schemed URIs (e.g., "mailto:...") | 'mailto': for SMTP schemed URIs (e.g., "mailto:...") | |||
| 'file': for file schemed URIs (e.g., "file:...") | 'file': for file schemed URIs (e.g., "file:...") | |||
| A Printer object MAY support any URI 'scheme' that has been registered | A Printer object MAY support any URI 'scheme' that has been registered | |||
| with IANA [IANA-MT]. The maximum length of URI 'scheme' values used to | with IANA [IANA-MT]. The maximum length of URI 'scheme' values used to | |||
| represent IPP attribute values is 63 octets. | represent IPP attribute values is 63 octets. | |||
| Expires November 22, 2000 | ||||
| 4.1.7 'charset' | 4.1.7 'charset' | |||
| The 'charset' attribute syntax is a standard identifier for a charset. | The 'charset' attribute syntax is a standard identifier for a charset. | |||
| A charset is a coded character set and encoding scheme. Charsets are | A charset is a coded character set and encoding scheme. Charsets are | |||
| used for labeling certain document contents and 'text' and 'name' | used for labeling certain document contents and 'text' and 'name' | |||
| attribute values. The syntax and semantics of this attribute syntax are | attribute values. The syntax and semantics of this attribute syntax are | |||
| specified in RFC 2046 [RFC2046] and contained in the IANA character-set | specified in RFC 2046 [RFC2046] and contained in the IANA character-set | |||
| Registry [IANA-CS] according to the IANA procedures [RFC2278]. Though | Registry [IANA-CS] according to the IANA procedures [RFC2278]. Though | |||
| RFC 2046 requires that the values be case-insensitive US-ASCII, IPP | RFC 2046 requires that the values be case-insensitive US-ASCII, IPP | |||
| requires all lower case values in IPP attributes to simplify comparing | requires all lower case values in IPP attributes to simplify comparing | |||
| by IPP clients and Printer objects. When a character-set in the IANA | by IPP clients and Printer objects. When a character-set in the IANA | |||
| Expires September 1, 2000 | ||||
| registry has more than one name (alias), the name labeled as "(preferred | registry has more than one name (alias), the name labeled as "(preferred | |||
| MIME name)", if present, MUST be used. | MIME name)", if present, MUST be used. | |||
| The maximum length of 'charset' values used to represent IPP attribute | The maximum length of 'charset' values used to represent IPP attribute | |||
| values is 63 octets. | values is 63 octets. | |||
| Some examples are: | Some examples are: | |||
| 'utf-8': ISO 10646 Universal Multiple-Octet Coded Character Set | 'utf-8': ISO 10646 Universal Multiple-Octet Coded Character Set | |||
| (UCS) represented as the UTF-8 [RFC2279] transfer encoding scheme | (UCS) represented as the UTF-8 [RFC2279] transfer encoding scheme | |||
| skipping to change at page 76, line 48 ¶ | skipping to change at page 77, line 5 ¶ | |||
| include: | include: | |||
| 'en': for English | 'en': for English | |||
| 'en-us': for US English | 'en-us': for US English | |||
| 'fr': for French | 'fr': for French | |||
| 'de': for German | 'de': for German | |||
| The maximum length of 'naturalLanguage' values used to represent IPP | The maximum length of 'naturalLanguage' values used to represent IPP | |||
| attribute values is 63 octets. | attribute values is 63 octets. | |||
| Expires November 22, 2000 | ||||
| 4.1.9 'mimeMediaType' | 4.1.9 'mimeMediaType' | |||
| The 'mimeMediaType' attribute syntax is the Internet Media Type | The 'mimeMediaType' attribute syntax is the Internet Media Type | |||
| (sometimes called MIME type) as defined by RFC 2046 [RFC2046] and | (sometimes called MIME type) as defined by RFC 2046 [RFC2046] and | |||
| registered according to the procedures of RFC 2048 [RFC2048] for | registered according to the procedures of RFC 2048 [RFC2048] for | |||
| identifying a document format. The value MAY include a charset | identifying a document format. The value MAY include a charset, or | |||
| parameter, depending on the specification of the Media Type in the IANA | other, parameter, depending on the specification of the Media Type in | |||
| Registry [IANA-MT]. Although most other IPP syntax types allow for only | the IANA Registry [IANA-MT]. Although most other IPP syntax types allow | |||
| lower-cased values, this syntax type allows for mixed-case values which | for only lower-cased values, this syntax type allows for mixed-case | |||
| are case-insensitive. | values which are case-insensitive. | |||
| Expires September 1, 2000 | ||||
| Examples are: | Examples are: | |||
| 'text/html': An HTML document | 'text/html': An HTML document | |||
| 'text/plain': A plain text document in US-ASCII (RFC 2046 indicates | 'text/plain': A plain text document in US-ASCII (RFC 2046 indicates | |||
| that in the absence of the charset parameter MUST mean US-ASCII | that in the absence of the charset parameter MUST mean US-ASCII | |||
| rather than simply unspecified) [RFC2046]. | rather than simply unspecified) [RFC2046]. | |||
| 'text/plain; charset=US-ASCII': A plain text document in US-ASCII | 'text/plain; charset=US-ASCII': A plain text document in US-ASCII | |||
| [52, 56]. | [52, 56]. | |||
| 'text/plain; charset=ISO-8859-1': A plain text document in ISO 8859- | 'text/plain; charset=ISO-8859-1': A plain text document in ISO 8859- | |||
| 1 (Latin 1) [ISO8859-1]. | 1 (Latin 1) [ISO8859-1]. | |||
| 'text/plain; charset=utf-8': A plain text document in ISO 10646 | 'text/plain; charset=utf-8': A plain text document in ISO 10646 | |||
| represented as UTF-8 [RFC2279] | represented as UTF-8 [RFC2279] | |||
| 'application/postscript': A PostScript document [RFC2046] | 'application/postscript': A PostScript document [RFC2046] | |||
| 'application/vnd.hp-PCL': A PCL document [IANA-MT] (charset escape | 'application/vnd.hp-PCL': A PCL document [IANA-MT] (charset escape | |||
| sequence embedded in the document data) | sequence embedded in the document data) | |||
| 'application/pdf': Portable Document Format - see IANA MIME Media | 'application/pdf': Portable Document Format - see IANA MIME Media | |||
| Type registry | Type registry | |||
| 'application/octet-stream': Auto-sense - see section 4.1.9.1 | 'application/octet-stream': Auto-sense - see section 4.1.9.1 | |||
| The maximum length of a 'mimeMediaType' value to represent IPP attribute | ||||
| values is 255 octets. | ||||
| 4.1.9.1 Application/octet-stream -- Auto-Sensing the document format | 4.1.9.1 Application/octet-stream -- Auto-Sensing the document format | |||
| One special type is 'application/octet-stream'. If the Printer object | One special type is 'application/octet-stream'. If the Printer object | |||
| supports this value, the Printer object MUST be capable of auto-sensing | supports this value, the Printer object MUST be capable of auto-sensing | |||
| the format of the document data, either as part of the create operation | the format of the document data using an implementation-dependent method | |||
| and/or at document processing time. During auto-sensing, a Printer may | that examines some number of octets of the document data, either as part | |||
| determine that the document-data has a format that the Printer doesn't | of the create operation and/or at document processing time. During | |||
| recognize. If the Printer determines this problem before returning an | auto-sensing, a Printer may determine that the document-data has a | |||
| operation response, it rejects the request and returns the 'client- | format that the Printer doesn't recognize. If the Printer determines | |||
| error-document-format-not-supported' status code. If the Printer | this problem before returning an operation response, it rejects the | |||
| determines this problem after accepting the request and returning an | request and returns the 'client-error-document-format-not-supported' | |||
| operation response with one of the successful status codes, the Printer | status code. If the Printer determines this problem after accepting the | |||
| adds the 'unsupported-document-format' value to the job's "job-state- | request and returning an operation response with one of the successful | |||
| reasons" attribute. | status codes, the Printer adds the 'unsupported-document-format' value | |||
| to the job's "job-state-reasons" attribute. | ||||
| If the Printer object's default value attribute "document-format- | If the Printer object's default value attribute "document-format- | |||
| default" is set to 'application/octet-stream', the Printer object not | default" is set to 'application/octet-stream', the Printer object not | |||
| only supports auto-sensing of the document format, but will depend on | only supports auto-sensing of the document format, but will depend on | |||
| the result of applying its auto-sensing when the client does not supply | the result of applying its auto-sensing when the client does not supply | |||
| the "document-format" attribute. If the client supplies a document | the "document-format" attribute. If the client supplies a document | |||
| Expires November 22, 2000 | ||||
| format value, the Printer MUST rely on the supplied attribute, rather | format value, the Printer MUST rely on the supplied attribute, rather | |||
| than trust its auto-sensing algorithm. To summarize: | than trust its auto-sensing algorithm. To summarize: | |||
| 1. If the client does not supply a document format value, the Printer | 1. If the client does not supply a document format value, the Printer | |||
| MUST rely on its default value setting (which may be | MUST rely on its default value setting (which may be | |||
| 'application/octet-stream' indicating an auto-sensing mechanism). | 'application/octet-stream' indicating an auto-sensing mechanism). | |||
| 2. If the client supplies a value other than 'application/octet- | 2. If the client supplies a value other than 'application/octet- | |||
| stream', the client is supplying valid information about the format | stream', the client is supplying valid information about the format | |||
| of the document data and the Printer object MUST trust the client | of the document data and the Printer object MUST trust the client | |||
| supplied value more than the outcome of applying an automatic | supplied value more than the outcome of applying an automatic | |||
| format detection mechanism. For example, the client may be | format detection mechanism. For example, the client may be | |||
| requesting the printing of a PostScript file as a 'text/plain' | requesting the printing of a PostScript file as a 'text/plain' | |||
| document. The Printer object MUST print a text representation of | document. The Printer object MUST print a text representation of | |||
| the PostScript commands rather than interpret the stream of | the PostScript commands rather than interpret the stream of | |||
| PostScript commands and print the result. | PostScript commands and print the result. | |||
| Expires September 1, 2000 | ||||
| 3. If the client supplies a value of 'application/octet-stream', the | 3. If the client supplies a value of 'application/octet-stream', the | |||
| client is indicating that the Printer object MUST use its auto- | client is indicating that the Printer object MUST use its auto- | |||
| sensing mechanism on the client supplied document data whether | sensing mechanism on the client supplied document data whether | |||
| auto-sensing is the Printer object's default or not. | auto-sensing is the Printer object's default or not. | |||
| Note: Since the auto-sensing algorithm is probabilistic, if the client | Note: Since the auto-sensing algorithm is probabilistic, if the client | |||
| requests both auto-sensing ("document-format" set to 'application/octet- | requests both auto-sensing ("document-format" set to 'application/octet- | |||
| stream') and true fidelity ("ipp-attribute-fidelity" set to 'true'), the | stream') and true fidelity ("ipp-attribute-fidelity" set to 'true'), the | |||
| Printer object might not be able to guarantee exactly what the end user | Printer object might not be able to guarantee exactly what the end user | |||
| intended (the auto-sensing algorithm might mistake one document format | intended (the auto-sensing algorithm might mistake one document format | |||
| for another), but it is able to guarantee that its auto-sensing | for another), but it is able to guarantee that its auto-sensing | |||
| mechanism be used. | mechanism be used. | |||
| The maximum length of a 'mimeMediaType' value to represent IPP attribute | When a Printer performs auto-sensing of a document in a submitted job, | |||
| values is 255 octets. | it is RECOMMENDED that the Printer indicate to the user that such auto- | |||
| sensing has occurred and which document-format was auto-sensed by | ||||
| printing that information on the job's job-start-sheet. | ||||
| 4.1.10 'octetString' | 4.1.10 'octetString' | |||
| The 'octetString' attribute syntax is a sequence of octets encoded in a | The 'octetString' attribute syntax is a sequence of octets encoded in a | |||
| maximum of 1023 octets which is indicated in sub-section headers using | maximum of 1023 octets which is indicated in sub-section headers using | |||
| the notation: octetString(MAX). This syntax type is used for opaque | the notation: octetString(MAX). This syntax type is used for opaque | |||
| data. | data. | |||
| 4.1.11 'boolean' | 4.1.11 'boolean' | |||
| The 'boolean' attribute syntax has only two values: 'true' and 'false'. | The 'boolean' attribute syntax has only two values: 'true' and 'false'. | |||
| 4.1.12 'integer' | 4.1.12 'integer' | |||
| The 'integer' attribute syntax is an integer value that is in the range | The 'integer' attribute syntax is an integer value that is in the range | |||
| from -2**31 (MIN) to 2**31 - 1 (MAX). Each individual attribute may | from -2**31 (MIN) to 2**31 - 1 (MAX). Each individual attribute may | |||
| specify the range constraint explicitly in sub-section headers if the | specify the range constraint explicitly in sub-section headers if the | |||
| range is different from the full range of possible integer values. For | range is different from the full range of possible integer values. For | |||
| example: job-priority (integer(1:100)) for the "job-priority" | example: job-priority (integer(1:100)) for the "job-priority" | |||
| Expires November 22, 2000 | ||||
| attribute. However, the enforcement of that additional constraint is up | attribute. However, the enforcement of that additional constraint is up | |||
| to the IPP objects, not the protocol. | to the IPP objects, not the protocol. | |||
| 4.1.13 'rangeOfInteger' | 4.1.13 'rangeOfInteger' | |||
| The 'rangeOfInteger' attribute syntax is an ordered pair of integers | The 'rangeOfInteger' attribute syntax is an ordered pair of integers | |||
| that defines an inclusive range of integer values. The first integer | that defines an inclusive range of integer values. The first integer | |||
| specifies the lower bound and the second specifies the upper bound. If | specifies the lower bound and the second specifies the upper bound. If | |||
| a range constraint is specified in the header description for an | a range constraint is specified in the header description for an | |||
| attribute in this document whose attribute syntax is 'rangeOfInteger' | attribute in this document whose attribute syntax is 'rangeOfInteger' | |||
| (i.e., 'X:Y' indicating X as a minimum value and Y as a maximum value), | (i.e., 'X:Y' indicating X as a minimum value and Y as a maximum value), | |||
| then the constraint applies to both integers. | then the constraint applies to both integers. | |||
| 4.1.14 'dateTime' | 4.1.14 'dateTime' | |||
| The 'dateTime' attribute syntax is a standard, fixed length, 11 octet | The 'dateTime' attribute syntax is a standard, fixed length, 11 octet | |||
| representation of the "DateAndTime" syntax as defined in RFC 2579 | representation of the "DateAndTime" syntax as defined in RFC 2579 | |||
| Expires September 1, 2000 | ||||
| [RFC2579]. RFC 2579 also identifies an 8 octet representation of a | [RFC2579]. RFC 2579 also identifies an 8 octet representation of a | |||
| "DateAndTime" value, but IPP objects MUST use the 11 octet | "DateAndTime" value, but IPP objects MUST use the 11 octet | |||
| representation. A user interface will provide a mapping between | representation. A user interface will provide a mapping between | |||
| protocol dateTime values and displayable user-friendly words or | protocol dateTime values and displayable user-friendly words or | |||
| presentation values and phrases which are localized to the natural | presentation values and phrases which are localized to the natural | |||
| language and date format of the user, including time zone. | language and date format of the user, including time zone. | |||
| 4.1.15 'resolution' | 4.1.15 'resolution' | |||
| The 'resolution' attribute syntax specifies a two-dimensional resolution | The 'resolution' attribute syntax specifies a two-dimensional resolution | |||
| skipping to change at page 79, line 41 ¶ | skipping to change at page 80, line 5 ¶ | |||
| 4.1.16 '1setOf X' | 4.1.16 '1setOf X' | |||
| The '1setOf X' attribute syntax is 1 or more values of attribute syntax | The '1setOf X' attribute syntax is 1 or more values of attribute syntax | |||
| type X. This syntax type is used for multi-valued attributes. The | type X. This syntax type is used for multi-valued attributes. The | |||
| syntax type is called '1setOf' rather than just 'setOf' as a reminder | syntax type is called '1setOf' rather than just 'setOf' as a reminder | |||
| that the set of values MUST NOT be empty (i.e., a set of size 0). Sets | that the set of values MUST NOT be empty (i.e., a set of size 0). Sets | |||
| are normally unordered. However each attribute description of this type | are normally unordered. However each attribute description of this type | |||
| may specify that the values MUST be in a certain order for that | may specify that the values MUST be in a certain order for that | |||
| attribute. | attribute. | |||
| Expires November 22, 2000 | ||||
| 4.2 Job Template Attributes | 4.2 Job Template Attributes | |||
| Job Template attributes describe job processing behavior. Support for | Job Template attributes describe job processing behavior. Support for | |||
| Job Template attributes by a Printer object is OPTIONAL (see section | Job Template attributes by a Printer object is OPTIONAL (see section | |||
| 12.2.3 for a description of support for OPTIONAL attributes). Also, | 12.2.3 for a description of support for OPTIONAL attributes). Also, | |||
| clients OPTIONALLY supply Job Template attributes in create requests. | clients OPTIONALLY supply Job Template attributes in create requests. | |||
| Job Template attributes conform to the following rules. For each Job | Job Template attributes conform to the following rules. For each Job | |||
| Template attribute called "xxx": | Template attribute called "xxx": | |||
| 1. If the Printer object supports "xxx" then it MUST support both a | 1. If the Printer object supports "xxx" then it MUST support both a | |||
| "xxx-default" attribute (unless there is a "No" in the table below) | "xxx-default" attribute (unless there is a "No" in the table below) | |||
| and a "xxx-supported" attribute. If the Printer object doesn't | and a "xxx-supported" attribute. If the Printer object doesn't | |||
| support "xxx", then it MUST support neither an "xxx-default" | support "xxx", then it MUST support neither an "xxx-default" | |||
| attribute nor an "xxx-supported" attribute, and it MUST treat an | attribute nor an "xxx-supported" attribute, and it MUST treat an | |||
| attribute "xxx" supplied by a client as unsupported. An attribute | attribute "xxx" supplied by a client as unsupported. An attribute | |||
| "xxx" may be supported for some document formats and not supported | "xxx" may be supported for some document formats and not supported | |||
| Expires September 1, 2000 | ||||
| for other document formats. For example, it is expected that a | for other document formats. For example, it is expected that a | |||
| Printer object would only support "orientation-requested" for some | Printer object would only support "orientation-requested" for some | |||
| document formats (such as 'text/plain' or 'text/html') but not | document formats (such as 'text/plain' or 'text/html') but not | |||
| others (such as 'application/postscript'). | others (such as 'application/postscript'). | |||
| 2. "xxx" is OPTIONALLY supplied by the client in a create request. | 2. "xxx" is OPTIONALLY supplied by the client in a create request. | |||
| If "xxx" is supplied, the client is indicating a desired job | If "xxx" is supplied, the client is indicating a desired job | |||
| processing behavior for this Job. When "xxx" is not supplied, the | processing behavior for this Job. When "xxx" is not supplied, the | |||
| client is indicating that the Printer object apply its default job | client is indicating that the Printer object apply its default job | |||
| processing behavior at job processing time if the document content | processing behavior at job processing time if the document content | |||
| skipping to change at page 80, line 44 ¶ | skipping to change at page 81, line 5 ¶ | |||
| attribute is plural, such as "finishings" or "sides". In such | attribute is plural, such as "finishings" or "sides". In such | |||
| cases the "xxx-supported" attribute names are: "finishings- | cases the "xxx-supported" attribute names are: "finishings- | |||
| supported" and "sides-supported". | supported" and "sides-supported". | |||
| 4. The "xxx-default" default value attribute describes what will be | 4. The "xxx-default" default value attribute describes what will be | |||
| done at job processing time when no other job processing | done at job processing time when no other job processing | |||
| information is supplied by the client (either explicitly as an IPP | information is supplied by the client (either explicitly as an IPP | |||
| attribute in the create request or implicitly as an embedded | attribute in the create request or implicitly as an embedded | |||
| instruction within the document data). | instruction within the document data). | |||
| Expires November 22, 2000 | ||||
| If an application wishes to present an end user with a list of supported | If an application wishes to present an end user with a list of supported | |||
| values from which to choose, the application SHOULD query the Printer | values from which to choose, the application SHOULD query the Printer | |||
| object for its supported value attributes. The application SHOULD also | object for its supported value attributes. The application SHOULD also | |||
| query the default value attributes. If the application then limits | query the default value attributes. If the application then limits | |||
| selectable values to only those value that are supported, the | selectable values to only those value that are supported, the | |||
| application can guarantee that the values supplied by the client in the | application can guarantee that the values supplied by the client in the | |||
| create request all fall within the set of supported values at the | create request all fall within the set of supported values at the | |||
| Printer. When querying the Printer, the client MAY enumerate each | Printer. When querying the Printer, the client MAY enumerate each | |||
| attribute by name in the Get-Printer-Attributes Request, or the client | attribute by name in the Get-Printer-Attributes Request, or the client | |||
| MAY just name the "job-template" group in order to get the complete set | MAY just name the "job-template" group in order to get the complete set | |||
| of supported attributes (both supported and default attributes). | of supported attributes (both supported and default attributes). | |||
| The "finishings" attribute is an example of a Job Template attribute. | The "finishings" attribute is an example of a Job Template attribute. | |||
| It can take on a set of values such as 'staple', 'punch', and/or | It can take on a set of values such as 'staple', 'punch', and/or | |||
| 'cover'. A client can query the Printer object for the "finishings- | 'cover'. A client can query the Printer object for the "finishings- | |||
| Expires September 1, 2000 | ||||
| supported" attribute and the "finishings-default" attribute. The | supported" attribute and the "finishings-default" attribute. The | |||
| supported attribute contains a set of supported values. The default | supported attribute contains a set of supported values. The default | |||
| value attribute contains the finishing value(s) that will be used for a | value attribute contains the finishing value(s) that will be used for a | |||
| new Job if the client does not supply a "finishings" attribute in the | new Job if the client does not supply a "finishings" attribute in the | |||
| create request and the document data does not contain any corresponding | create request and the document data does not contain any corresponding | |||
| finishing instructions. If the client does supply the "finishings" | finishing instructions. If the client does supply the "finishings" | |||
| attribute in the create request, the IPP object validates the value or | attribute in the create request, the IPP object validates the value or | |||
| values to make sure that they are a subset of the supported values | values to make sure that they are a subset of the supported values | |||
| identified in the Printer object's "finishings-supported" attribute. | identified in the Printer object's "finishings-supported" attribute. | |||
| See section 3.1.7. | See section 3.1.7. | |||
| The table below summarizes the names and relationships for all Job | The table below summarizes the names and relationships for all Job | |||
| Template attributes. The first column of the table (labeled "Job | Template attributes. The first column of the table (labeled "Job | |||
| Attribute") shows the name and syntax for each Job Template attribute in | Attribute") shows the name and syntax for each Job Template attribute in | |||
| the Job object. These are the attributes that can optionally be supplied | the Job object. These are the attributes that can optionally be supplied | |||
| by the client in a create request. The last two columns (labeled | by the client in a create request. The last two columns (labeled | |||
| "Printer: Default Value Attribute" and "Printer: Supported Values | "Printer: Default Value Attribute" and "Printer: Supported Values | |||
| Attribute") shows the name and syntax for each Job Template attribute in | Attribute") show the name and syntax for each Job Template attribute in | |||
| the Printer object (the default value attribute and the supported values | the Printer object (the default value attribute and the supported values | |||
| attribute). A "No" in the table means the Printer MUST NOT support the | attribute). A "No" in the table means the Printer MUST NOT support the | |||
| attribute (that is, the attribute is simply not applicable). For | attribute (that is, the attribute is simply not applicable). For | |||
| brevity in the table, the 'text' and 'name' entries do not show the | brevity in the table, the 'text' and 'name' entries do not show the | |||
| maximum length for each attribute. | maximum length for each attribute. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +===================+======================+======================+ | +===================+======================+======================+ | |||
| | Job Attribute |Printer: Default Value| Printer: Supported | | | Job Attribute |Printer: Default Value| Printer: Supported | | |||
| | | Attribute | Values Attribute | | | | Attribute | Values Attribute | | |||
| +===================+======================+======================+ | +===================+======================+======================+ | |||
| | job-priority | job-priority-default |job-priority-supported| | | job-priority | job-priority-default |job-priority-supported| | |||
| | (integer 1:100) | (integer 1:100) |(integer 1:100) | | | (integer 1:100) | (integer 1:100) |(integer 1:100) | | |||
| +-------------------+----------------------+----------------------+ | +-------------------+----------------------+----------------------+ | |||
| | job-hold-until | job-hold-until- |job-hold-until- | | | job-hold-until | job-hold-until- |job-hold-until- | | |||
| | (type3 keyword | | default | supported | | | (type3 keyword | | default | supported | | |||
| | name) | (type3 keyword | |(1setOf ( | | | name) | (type3 keyword | |(1setOf ( | | |||
| skipping to change at page 83, line 5 ¶ | skipping to change at page 83, line 5 ¶ | |||
| | media | media-default | media-supported | | | media | media-default | media-supported | | |||
| | (type3 keyword | | (type3 keyword | |(1setOf ( | | | (type3 keyword | | (type3 keyword | |(1setOf ( | | |||
| | name) | name) |type3 keyword | name))| | | name) | name) |type3 keyword | name))| | |||
| | | | | | | | | | | |||
| | | | media-ready | | | | | media-ready | | |||
| | | |(1setOf ( | | | | |(1setOf ( | | |||
| | | |type3 keyword | name))| | | | |type3 keyword | name))| | |||
| +-------------------+----------------------+----------------------+ | +-------------------+----------------------+----------------------+ | |||
| | printer-resolution| printer-resolution- | printer-resolution- | | | printer-resolution| printer-resolution- | printer-resolution- | | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| | (resolution) | default | supported | | | (resolution) | default | supported | | |||
| | | (resolution) |(1setOf resolution) | | | | (resolution) |(1setOf resolution) | | |||
| +-------------------+----------------------+----------------------+ | +-------------------+----------------------+----------------------+ | |||
| | print-quality | print-quality-default| print-quality- | | | print-quality | print-quality-default| print-quality- | | |||
| | (type2 enum) | (type2 enum) | supported | | | (type2 enum) | (type2 enum) | supported | | |||
| | | |(1setOf type2 enum) | | | | |(1setOf type2 enum) | | |||
| +-------------------+----------------------+----------------------+ | +-------------------+----------------------+----------------------+ | |||
| 4.2.1 job-priority (integer(1:100)) | 4.2.1 job-priority (integer(1:100)) | |||
| skipping to change at page 84, line 5 ¶ | skipping to change at page 84, line 5 ¶ | |||
| of values is: 25 and 75; if n = 3, the sequence of values is: 17, 50 | of values is: 25 and 75; if n = 3, the sequence of values is: 17, 50 | |||
| and 83; if n = 10, the sequence of values is: 5, 15, 25, 35, 45, 55, | and 83; if n = 10, the sequence of values is: 5, 15, 25, 35, 45, 55, | |||
| 65, 75, 85, and 95; if n = 100, the sequence of values is: 1, 2, 3, | 65, 75, 85, and 95; if n = 100, the sequence of values is: 1, 2, 3, | |||
| ... 100. | ... 100. | |||
| If the value of the Printer object's "job-priority-supported" is 10 and | If the value of the Printer object's "job-priority-supported" is 10 and | |||
| the client supplies values in the range 1 to 10, the Printer object maps | the client supplies values in the range 1 to 10, the Printer object maps | |||
| them to 5, in the range 11 to 20, the Printer object maps them to 15, | them to 5, in the range 11 to 20, the Printer object maps them to 15, | |||
| etc. | etc. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.2.2 job-hold-until (type3 keyword | name (MAX)) | 4.2.2 job-hold-until (type3 keyword | name (MAX)) | |||
| This attribute specifies the named time period during which the Job MUST | This attribute specifies the named time period during which the Job MUST | |||
| become a candidate for printing. | become a candidate for printing. | |||
| Standard keyword values for named time periods are: | Standard keyword values for named time periods are: | |||
| 'no-hold': immediately, if there are not other reasons to hold the | 'no-hold': immediately, if there are not other reasons to hold the | |||
| job | job | |||
| 'indefinite': - the job is held indefinitely, until a client | 'indefinite': - the job is held indefinitely, until a client | |||
| skipping to change at page 85, line 5 ¶ | skipping to change at page 85, line 5 ¶ | |||
| (unlike most Job Template attributes that are used if necessary at job | (unlike most Job Template attributes that are used if necessary at job | |||
| processing time). | processing time). | |||
| 4.2.3 job-sheets (type3 keyword | name(MAX)) | 4.2.3 job-sheets (type3 keyword | name(MAX)) | |||
| This attribute determines which job start/end sheet(s), if any, MUST be | This attribute determines which job start/end sheet(s), if any, MUST be | |||
| printed with a job. | printed with a job. | |||
| Standard keyword values are: | Standard keyword values are: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'none': no job sheet is printed | 'none': no job sheet is printed | |||
| 'standard': one or more site specific standard job sheets are | 'standard': one or more site specific standard job sheets are | |||
| printed, e.g. a single start sheet or both start and end sheet is | printed, e.g. a single start sheet or both start and end sheet is | |||
| printed | printed | |||
| An administrator MAY define additional values using the 'name' or | An administrator MAY define additional values using the 'name' or | |||
| 'keyword' attribute syntax, depending on implementation. | 'keyword' attribute syntax, depending on implementation. | |||
| The effect of this attribute on jobs with multiple documents MAY be | The effect of this attribute on jobs with multiple documents MAY be | |||
| affected by the "multiple-document-handling" job attribute (section | affected by the "multiple-document-handling" job attribute (section | |||
| skipping to change at page 86, line 5 ¶ | skipping to change at page 86, line 5 ¶ | |||
| separately. The Printer object MUST force each copy of the result | separately. The Printer object MUST force each copy of the result | |||
| of processing the data in a single document to start on a new media | of processing the data in a single document to start on a new media | |||
| sheet. If more than one copy is made, the ordering of the sets of | sheet. If more than one copy is made, the ordering of the sets of | |||
| media sheets resulting from processing the document data MUST be | media sheets resulting from processing the document data MUST be | |||
| a(*), a(*), ..., b(*), b(*) ... . | a(*), a(*), ..., b(*), b(*) ... . | |||
| 'separate-documents-collated-copies': If a Job object has multiple | 'separate-documents-collated-copies': If a Job object has multiple | |||
| documents, say, the document data is called a and b, then the | documents, say, the document data is called a and b, then the | |||
| result of processing the data in each document instance MUST be | result of processing the data in each document instance MUST be | |||
| treated as a single sequence of media sheets for finishing | treated as a single sequence of media sheets for finishing | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| operations; that is, the sets a(*) and b(*) would each be finished | operations; that is, the sets a(*) and b(*) would each be finished | |||
| separately. The Printer object MUST force each copy of the result | separately. The Printer object MUST force each copy of the result | |||
| of processing the data in a single document to start on a new media | of processing the data in a single document to start on a new media | |||
| sheet. If more than one copy is made, the ordering of the sets of | sheet. If more than one copy is made, the ordering of the sets of | |||
| media sheets resulting from processing the document data MUST be | media sheets resulting from processing the document data MUST be | |||
| a(*), b(*), a(*), b(*), ... . | a(*), b(*), a(*), b(*), ... . | |||
| 'single-document-new-sheet': Same as 'single-document', except that | 'single-document-new-sheet': Same as 'single-document', except that | |||
| the Printer object MUST ensure that the first impression of each | the Printer object MUST ensure that the first impression of each | |||
| document instance in the job is placed on a new media sheet. This | document instance in the job is placed on a new media sheet. This | |||
| value allows multiple documents to be stapled together with a | value allows multiple documents to be stapled together with a | |||
| skipping to change at page 87, line 5 ¶ | skipping to change at page 87, line 5 ¶ | |||
| 4.2.4) and the relationship of this attribute and the other attributes | 4.2.4) and the relationship of this attribute and the other attributes | |||
| that control document processing is described in section 15.3. | that control document processing is described in section 15.3. | |||
| 4.2.6 finishings (1setOf type2 enum) | 4.2.6 finishings (1setOf type2 enum) | |||
| This attribute identifies the finishing operations that the Printer uses | This attribute identifies the finishing operations that the Printer uses | |||
| for each copy of each printed document in the Job. For Jobs with | for each copy of each printed document in the Job. For Jobs with | |||
| multiple documents, the "multiple-document-handling" attribute | multiple documents, the "multiple-document-handling" attribute | |||
| determines what constitutes a "copy" for purposes of finishing. | determines what constitutes a "copy" for purposes of finishing. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Standard enum values are: | Standard enum values are: | |||
| Value Symbolic Name and Description | Value Symbolic Name and Description | |||
| '3' 'none': Perform no finishing | '3' 'none': Perform no finishing | |||
| '4' 'staple': Bind the document(s) with one or more staples. The | '4' 'staple': Bind the document(s) with one or more staples. The | |||
| exact number and placement of the staples is site- | exact number and placement of the staples is site- | |||
| defined. | defined. | |||
| '5' 'punch': This value indicates that holes are required in the | '5' 'punch': This value indicates that holes are required in the | |||
| finished document. The exact number and placement of the | finished document. The exact number and placement of the | |||
| skipping to change at page 88, line 5 ¶ | skipping to change at page 88, line 5 ¶ | |||
| and/or site-defined. | and/or site-defined. | |||
| '25' 'edge-stitch-top': Bind the document(s) with one or more | '25' 'edge-stitch-top': Bind the document(s) with one or more | |||
| staples (wire stitches) along the top edge. The exact | staples (wire stitches) along the top edge. The exact | |||
| number and placement of the staples is implementation | number and placement of the staples is implementation | |||
| and/or site-defined. | and/or site-defined. | |||
| '26' 'edge-stitch-right': Bind the document(s) with one or more | '26' 'edge-stitch-right': Bind the document(s) with one or more | |||
| staples (wire stitches) along the right edge. The exact | staples (wire stitches) along the right edge. The exact | |||
| number and placement of the staples is implementation | number and placement of the staples is implementation | |||
| and/or site-defined. | and/or site-defined. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| '27' 'edge-stitch-bottom': Bind the document(s) with one or more | '27' 'edge-stitch-bottom': Bind the document(s) with one or more | |||
| staples (wire stitches) along the bottom edge. The exact | staples (wire stitches) along the bottom edge. The exact | |||
| number and placement of the staples is implementation | number and placement of the staples is implementation | |||
| and/or site-defined. | and/or site-defined. | |||
| '28' 'staple-dual-left': Bind the document(s) with two staples | '28' 'staple-dual-left': Bind the document(s) with two staples | |||
| (wire stitches) along the left edge assuming a portrait | (wire stitches) along the left edge assuming a portrait | |||
| document (see above). | document (see above). | |||
| '29' 'staple-dual-top': Bind the document(s) with two staples | '29' 'staple-dual-top': Bind the document(s) with two staples | |||
| (wire stitches) along the top edge assuming a portrait | (wire stitches) along the top edge assuming a portrait | |||
| skipping to change at page 88, line 30 ¶ | skipping to change at page 88, line 30 ¶ | |||
| '31' 'staple-dual-bottom': Bind the document(s) with two staples | '31' 'staple-dual-bottom': Bind the document(s) with two staples | |||
| (wire stitches) along the bottom edge assuming a portrait | (wire stitches) along the bottom edge assuming a portrait | |||
| document (see above). | document (see above). | |||
| The 'staple-xxx' values are specified with respect to the document as if | The 'staple-xxx' values are specified with respect to the document as if | |||
| the document were a portrait document. If the document is actually a | the document were a portrait document. If the document is actually a | |||
| landscape or a reverse-landscape document, the client supplies the | landscape or a reverse-landscape document, the client supplies the | |||
| appropriate transformed value. For example, to position a staple in the | appropriate transformed value. For example, to position a staple in the | |||
| upper left hand corner of a landscape document when held for reading, | upper left hand corner of a landscape document when held for reading, | |||
| the client supplies the 'staple-bottom-left' value (since landscape is | the client supplies the 'staple-bottom-left' value (since landscape is | |||
| defined as a +90 degree rotation from portrait, i.e., anti-clockwise). | defined as a +90 degree rotation of the image with respect to the media | |||
| On the other hand, to position a staple in the upper left hand corner of | from portrait, i.e., anti-clockwise). On the other hand, to position a | |||
| a reverse-landscape document when held for reading, the client supplies | staple in the upper left hand corner of a reverse-landscape document | |||
| the 'staple-top-right' value (since reverse-landscape is defined as a - | when held for reading, the client supplies the 'staple-top-right' value | |||
| 90 degree rotation from portrait, i.e., clockwise). | (since reverse-landscape is defined as a -90 degree rotation of the | |||
| image with respect to the media from portrait, i.e., clockwise). | ||||
| The angle (vertical, horizontal, angled) of each staple with respect to | The angle (vertical, horizontal, angled) of each staple with respect to | |||
| the document depends on the implementation which may in turn depend on | the document depends on the implementation which may in turn depend on | |||
| the value of the attribute. | the value of the attribute. | |||
| Note: The effect of this attribute on jobs with multiple documents is | Note: The effect of this attribute on jobs with multiple documents is | |||
| controlled by the "multiple-document-handling" job attribute (section | controlled by the "multiple-document-handling" job attribute (section | |||
| 4.2.4) and the relationship of this attribute and the other attributes | 4.2.4) and the relationship of this attribute and the other attributes | |||
| that control document processing is described in section 15.3. | that control document processing is described in section 15.3. | |||
| skipping to change at page 89, line 5 ¶ | skipping to change at page 89, line 5 ¶ | |||
| This attribute identifies the range(s) of print-stream pages that the | This attribute identifies the range(s) of print-stream pages that the | |||
| Printer object uses for each copy of each document which are to be | Printer object uses for each copy of each document which are to be | |||
| printed. Nothing is printed for any pages identified that do not exist | printed. Nothing is printed for any pages identified that do not exist | |||
| in the document(s). Ranges MUST be in ascending order, for example: 1- | in the document(s). Ranges MUST be in ascending order, for example: 1- | |||
| 3, 5-7, 15-19 and MUST NOT overlap, so that a non-spooling Printer | 3, 5-7, 15-19 and MUST NOT overlap, so that a non-spooling Printer | |||
| object can process the job in a single pass. If the ranges are not | object can process the job in a single pass. If the ranges are not | |||
| ascending or are overlapping, the IPP object MUST reject the request and | ascending or are overlapping, the IPP object MUST reject the request and | |||
| return the 'client-error-bad-request' status code. The attribute is | return the 'client-error-bad-request' status code. The attribute is | |||
| associated with print-stream pages not application-numbered pages (for | associated with print-stream pages not application-numbered pages (for | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| example, the page numbers found in the headers and or footers for | example, the page numbers found in the headers and or footers for | |||
| certain word processing applications). | certain word processing applications). | |||
| For Jobs with multiple documents, the "multiple-document-handling" | For Jobs with multiple documents, the "multiple-document-handling" | |||
| attribute determines what constitutes a "copy" for purposes of the | attribute determines what constitutes a "copy" for purposes of the | |||
| specified page range(s). When "multiple-document-handling" is 'single- | specified page range(s). When "multiple-document-handling" is 'single- | |||
| document', the Printer object MUST apply each supplied page range once | document', the Printer object MUST apply each supplied page range once | |||
| to the concatenation of the print-stream pages. For example, if there | to the concatenation of the print-stream pages. For example, if there | |||
| are 8 documents of 10 pages each, the page-range '41:60' prints the | are 8 documents of 10 pages each, the page-range '41:60' prints the | |||
| pages in the 5th and 6th documents as a single document and none of the | pages in the 5th and 6th documents as a single document and none of the | |||
| skipping to change at page 90, line 5 ¶ | skipping to change at page 90, line 5 ¶ | |||
| 'two-sided-long-edge': imposes each consecutive pair of print-stream | 'two-sided-long-edge': imposes each consecutive pair of print-stream | |||
| pages upon front and back sides of consecutive media sheets, such | pages upon front and back sides of consecutive media sheets, such | |||
| that the orientation of each pair of print-stream pages on the | that the orientation of each pair of print-stream pages on the | |||
| medium would be correct for the reader as if for binding on the | medium would be correct for the reader as if for binding on the | |||
| long edge. This imposition is sometimes called 'duplex' or 'head- | long edge. This imposition is sometimes called 'duplex' or 'head- | |||
| to-head'. | to-head'. | |||
| 'two-sided-short-edge': imposes each consecutive pair of print-stream | 'two-sided-short-edge': imposes each consecutive pair of print-stream | |||
| pages upon front and back sides of consecutive media sheets, such | pages upon front and back sides of consecutive media sheets, such | |||
| that the orientation of each pair of print-stream pages on the | that the orientation of each pair of print-stream pages on the | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| medium would be correct for the reader as if for binding on the | medium would be correct for the reader as if for binding on the | |||
| short edge. This imposition is sometimes called 'tumble' or 'head- | short edge. This imposition is sometimes called 'tumble' or 'head- | |||
| to-toe'. | to-toe'. | |||
| 'two-sided-long-edge', 'two-sided-short-edge', 'tumble', and 'duplex' | 'two-sided-long-edge', 'two-sided-short-edge', 'tumble', and 'duplex' | |||
| all work the same for portrait or landscape. However 'head-to-toe' is | all work the same for portrait or landscape. However 'head-to-toe' is | |||
| 'tumble' in portrait but 'duplex' in landscape. 'head-to-head' also | 'tumble' in portrait but 'duplex' in landscape. 'head-to-head' also | |||
| switches between 'duplex' and 'tumble' when using portrait and landscape | switches between 'duplex' and 'tumble' when using portrait and landscape | |||
| modes. | modes. | |||
| skipping to change at page 91, line 5 ¶ | skipping to change at page 91, line 5 ¶ | |||
| This attribute indicates the desired orientation for printed print- | This attribute indicates the desired orientation for printed print- | |||
| stream pages; it does not describe the orientation of the client- | stream pages; it does not describe the orientation of the client- | |||
| supplied print-stream pages. | supplied print-stream pages. | |||
| For some document formats (such as 'application/postscript'), the | For some document formats (such as 'application/postscript'), the | |||
| desired orientation of the print-stream pages is specified within the | desired orientation of the print-stream pages is specified within the | |||
| document data. This information is generated by a device driver prior | document data. This information is generated by a device driver prior | |||
| to the submission of the print job. Other document formats (such as | to the submission of the print job. Other document formats (such as | |||
| 'text/plain') do not include the notion of desired orientation within | 'text/plain') do not include the notion of desired orientation within | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| the document data. In the latter case it is possible for the Printer | the document data. In the latter case it is possible for the Printer | |||
| object to bind the desired orientation to the document data after it has | object to bind the desired orientation to the document data after it has | |||
| been submitted. It is expected that a Printer object would only support | been submitted. It is expected that a Printer object would only support | |||
| "orientations-requested" for some document formats (e.g., 'text/plain' | "orientations-requested" for some document formats (e.g., 'text/plain' | |||
| or 'text/html') but not others (e.g., 'application/postscript'). This | or 'text/html') but not others (e.g., 'application/postscript'). This | |||
| is no different than any other Job Template attribute since section 4.2, | is no different than any other Job Template attribute since section 4.2, | |||
| item 1, points out that a Printer object may support or not support any | item 1, points out that a Printer object may support or not support any | |||
| Job Template attribute based on the document format supplied by the | Job Template attribute based on the document format supplied by the | |||
| client. However, a special mention is made here since it is very likely | client. However, a special mention is made here since it is very likely | |||
| that a Printer object will support "orientation-requested" for only a | that a Printer object will support "orientation-requested" for only a | |||
| skipping to change at page 92, line 5 ¶ | skipping to change at page 92, line 5 ¶ | |||
| only one finishing position. Thus a 'text'/plain' | only one finishing position. Thus a 'text'/plain' | |||
| portrait document can be stapled "on the right" by a | portrait document can be stapled "on the right" by a | |||
| simple finishing device as is common use with some middle | simple finishing device as is common use with some middle | |||
| eastern languages such as Hebrew. | eastern languages such as Hebrew. | |||
| Note: The effect of this attribute on jobs with multiple documents is | Note: The effect of this attribute on jobs with multiple documents is | |||
| controlled by the "multiple-document-handling" job attribute (section | controlled by the "multiple-document-handling" job attribute (section | |||
| 4.2.4) and the relationship of this attribute and the other attributes | 4.2.4) and the relationship of this attribute and the other attributes | |||
| that control document processing is described in section 15.3. | that control document processing is described in section 15.3. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.2.11 media (type3 keyword | name(MAX)) | 4.2.11 media (type3 keyword | name(MAX)) | |||
| This attribute identifies the medium that the Printer uses for all | This attribute identifies the medium that the Printer uses for all | |||
| impressions of the Job. | impressions of the Job. | |||
| The values for "media" include medium-names, medium-sizes, input-trays | The values for "media" include medium-names, medium-sizes, input-trays | |||
| and electronic forms so that one attribute specifies the media. If a | and electronic forms so that one attribute specifies the media. If a | |||
| Printer object supports a medium name as a value of this attribute, such | Printer object supports a medium name as a value of this attribute, such | |||
| a medium name implicitly selects an input-tray that contains the | a medium name implicitly selects an input-tray that contains the | |||
| specified medium. If a Printer object supports a medium size as a value | specified medium. If a Printer object supports a medium size as a value | |||
| skipping to change at page 93, line 5 ¶ | skipping to change at page 93, line 5 ¶ | |||
| Job. | Job. | |||
| The standard enum values are: | The standard enum values are: | |||
| Value Symbolic Name and Description | Value Symbolic Name and Description | |||
| '3' 'draft': lowest quality available on the printer | '3' 'draft': lowest quality available on the printer | |||
| '4' 'normal': normal or intermediate quality on the printer | '4' 'normal': normal or intermediate quality on the printer | |||
| '5' 'high': highest quality available on the printer | '5' 'high': highest quality available on the printer | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.3 Job Description Attributes | 4.3 Job Description Attributes | |||
| The attributes in this section form the attribute group called "job- | The attributes in this section form the attribute group called "job- | |||
| description". The following table summarizes these attributes. The | description". The following table summarizes these attributes. The | |||
| third column indicates whether the attribute is a REQUIRED attribute | third column indicates whether the attribute is a REQUIRED attribute | |||
| that MUST be supported by Printer objects. If it is not indicated as | that MUST be supported by Printer objects. If it is not indicated as | |||
| REQUIRED, then it is OPTIONAL. The maximum size in octets for 'text' | REQUIRED, then it is OPTIONAL. The maximum size in octets for 'text' | |||
| and 'name' attributes is indicated in parenthesizes. | and 'name' attributes is indicated in parenthesizes. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | Attribute | Syntax | REQUIRED? | | | Attribute | Syntax | REQUIRED? | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-uri | uri | REQUIRED | | | job-uri | uri | REQUIRED | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-id | integer(1:MAX) | REQUIRED | | | job-id | integer(1:MAX) | REQUIRED | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-printer-uri | uri | REQUIRED | | | job-printer-uri | uri | REQUIRED | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-more-info | uri | | | | job-more-info | uri | | | |||
| skipping to change at page 95, line 5 ¶ | skipping to change at page 95, line 5 ¶ | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-message-from-operator | text (127) | | | | job-message-from-operator | text (127) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-k-octets | integer (0:MAX) | | | | job-k-octets | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-impressions | integer (0:MAX) | | | | job-impressions | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-media-sheets | integer (0:MAX) | | | | job-media-sheets | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| | job-k-octets-processed | integer (0:MAX) | | | | job-k-octets-processed | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-impressions-completed | integer (0:MAX) | | | | job-impressions-completed | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | job-media-sheets-completed | integer (0:MAX) | | | | job-media-sheets-completed | integer (0:MAX) | | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | attributes-charset | charset | REQUIRED | | | attributes-charset | charset | REQUIRED | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| | attributes-natural-language| naturalLanguage | REQUIRED | | | attributes-natural-language| naturalLanguage | REQUIRED | | |||
| +----------------------------+----------------------+----------------+ | +----------------------------+----------------------+----------------+ | |||
| skipping to change at page 96, line 5 ¶ | skipping to change at page 96, line 5 ¶ | |||
| "Object Identity". | "Object Identity". | |||
| 4.3.3 job-printer-uri (uri) | 4.3.3 job-printer-uri (uri) | |||
| This REQUIRED attribute identifies the Printer object that created this | This REQUIRED attribute identifies the Printer object that created this | |||
| Job object. When a Printer object creates a Job object, it populates | Job object. When a Printer object creates a Job object, it populates | |||
| this attribute with the Printer object URI that was used in the create | this attribute with the Printer object URI that was used in the create | |||
| request. This attribute permits a client to identify the Printer object | request. This attribute permits a client to identify the Printer object | |||
| that created this Job object when only the Job object's URI is available | that created this Job object when only the Job object's URI is available | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| to the client. The client queries the creating Printer object to | to the client. The client queries the creating Printer object to | |||
| determine which languages, charsets, operations, are supported for this | determine which languages, charsets, operations, are supported for this | |||
| Job. | Job. | |||
| For a description of this attribute and its relationship to "job-uri" | For a description of this attribute and its relationship to "job-uri" | |||
| and "job-id" attribute, see the discussion in section 2.4 on "Object | and "job-id" attribute, see the discussion in section 2.4 on "Object | |||
| Identity". | Identity". | |||
| 4.3.4 job-more-info (uri) | 4.3.4 job-more-info (uri) | |||
| skipping to change at page 97, line 5 ¶ | skipping to change at page 97, line 5 ¶ | |||
| attribute. This originating user id is used for authorization checks | attribute. This originating user id is used for authorization checks | |||
| (if any) on all subsequent operations. | (if any) on all subsequent operations. | |||
| 4.3.7 job-state (type1 enum) | 4.3.7 job-state (type1 enum) | |||
| This REQUIRED attribute identifies the current state of the job. Even | This REQUIRED attribute identifies the current state of the job. Even | |||
| though the IPP protocol defines seven values for job states (plus the | though the IPP protocol defines seven values for job states (plus the | |||
| out-of-band 'unknown' value - see Section 4.1), implementations only | out-of-band 'unknown' value - see Section 4.1), implementations only | |||
| need to support those states which are appropriate for the particular | need to support those states which are appropriate for the particular | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| implementation. In other words, a Printer supports only those job | implementation. In other words, a Printer supports only those job | |||
| states implemented by the output device and available to the Printer | states implemented by the output device and available to the Printer | |||
| object implementation. | object implementation. | |||
| Standard enum values are: | Standard enum values are: | |||
| Values Symbolic Name and Description | Values Symbolic Name and Description | |||
| '3' 'pending': The job is a candidate to start processing, but is | '3' 'pending': The job is a candidate to start processing, but is | |||
| not yet processing. | not yet processing. | |||
| skipping to change at page 98, line 5 ¶ | skipping to change at page 98, line 5 ¶ | |||
| job. Most implementations won't bother with this nuance. | job. Most implementations won't bother with this nuance. | |||
| '6' 'processing-stopped': The job has stopped while processing | '6' 'processing-stopped': The job has stopped while processing | |||
| for any number of reasons and will return to the | for any number of reasons and will return to the | |||
| 'processing' state as soon as the reasons are no longer | 'processing' state as soon as the reasons are no longer | |||
| present. | present. | |||
| The job's "job-state-reason" attribute MAY indicate why | The job's "job-state-reason" attribute MAY indicate why | |||
| the job has stopped processing. For example, if the | the job has stopped processing. For example, if the | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| output device is stopped, the 'printer-stopped' value MAY | output device is stopped, the 'printer-stopped' value MAY | |||
| be included in the job's "job-state-reasons" attribute. | be included in the job's "job-state-reasons" attribute. | |||
| Note: When an output device is stopped, the device | Note: When an output device is stopped, the device | |||
| usually indicates its condition in human readable form | usually indicates its condition in human readable form | |||
| locally at the device. A client can obtain more complete | locally at the device. A client can obtain more complete | |||
| device status remotely by querying the Printer object's | device status remotely by querying the Printer object's | |||
| "printer-state", "printer-state-reasons" and "printer- | "printer-state", "printer-state-reasons" and "printer- | |||
| state-message" attributes. | state-message" attributes. | |||
| skipping to change at page 99, line 5 ¶ | skipping to change at page 99, line 5 ¶ | |||
| 'completed-successfully', 'completed-with-warnings', or | 'completed-successfully', 'completed-with-warnings', or | |||
| 'completed-with-errors' values. | 'completed-with-errors' values. | |||
| The final value for this attribute MUST be one of: 'completed', | The final value for this attribute MUST be one of: 'completed', | |||
| 'canceled', or 'aborted' before the Printer removes the job altogether. | 'canceled', or 'aborted' before the Printer removes the job altogether. | |||
| The length of time that jobs remain in the 'canceled', 'aborted', and | The length of time that jobs remain in the 'canceled', 'aborted', and | |||
| 'completed' states depends on implementation. See section 4.3.7.2. | 'completed' states depends on implementation. See section 4.3.7.2. | |||
| The following figure shows the normal job state transitions. | The following figure shows the normal job state transitions. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +----> canceled | +----> canceled | |||
| / | / | |||
| +----> pending --------> processing ---------+------> completed | +----> pending --------> processing ---------+------> completed | |||
| | ^ ^ \ | | ^ ^ \ | |||
| --->+ | | +----> aborted | --->+ | | +----> aborted | |||
| | v v / | | v v / | |||
| +----> pending-held processing-stopped ---+ | +----> pending-held processing-stopped ---+ | |||
| Normally a job progresses from left to right. Other state transitions | Normally a job progresses from left to right. Other state transitions | |||
| are unlikely, but are not forbidden. Not shown are the transitions to | are unlikely, but are not forbidden. Not shown are the transitions to | |||
| skipping to change at page 100, line 5 ¶ | skipping to change at page 100, line 5 ¶ | |||
| Job Retention: When a job enters one of the three terminal job states: | Job Retention: When a job enters one of the three terminal job states: | |||
| 'completed', 'canceled', or 'aborted', the IPP Printer object MAY | 'completed', 'canceled', or 'aborted', the IPP Printer object MAY | |||
| "retain" the job in a restartable condition for an implementation- | "retain" the job in a restartable condition for an implementation- | |||
| defined time period. This time period MAY be zero seconds and MAY | defined time period. This time period MAY be zero seconds and MAY | |||
| depend on the terminal job state. This phase is called Job Retention. | depend on the terminal job state. This phase is called Job Retention. | |||
| While in the Job Retention phase, the job's document data is retained | While in the Job Retention phase, the job's document data is retained | |||
| and a client may restart the job using the Restart-Job operation. If | and a client may restart the job using the Restart-Job operation. If | |||
| the IPP object supports the Restart-Job operation, then it SHOULD | the IPP object supports the Restart-Job operation, then it SHOULD | |||
| indicate that the job is restartable by adding the 'job-restartable' | indicate that the job is restartable by adding the 'job-restartable' | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| value to the job's "job-state-reasons" attribute (see Section 4.3.8) | value to the job's "job-state-reasons" attribute (see Section 4.3.8) | |||
| during the Job Retention phase. | during the Job Retention phase. | |||
| Job History: After the Job Retention phase expires for a job, the | Job History: After the Job Retention phase expires for a job, the | |||
| Printer object deletes the document data for the job and the job becomes | Printer object deletes the document data for the job and the job becomes | |||
| part of the Job History. The Printer object MAY also delete any number | part of the Job History. The Printer object MAY also delete any number | |||
| of the job attributes. Since the job is no longer restartable, the | of the job attributes. Since the job is no longer restartable, the | |||
| Printer object MUST remove the 'job-restartable' value from the job's | Printer object MUST remove the 'job-restartable' value from the job's | |||
| "job-state-reasons" attribute, if present. | "job-state-reasons" attribute, if present. | |||
| skipping to change at page 100, line 31 ¶ | skipping to change at page 100, line 31 ¶ | |||
| Using the Get-Jobs operation and supplying the 'not-completed' value for | Using the Get-Jobs operation and supplying the 'not-completed' value for | |||
| the "which-jobs" operation attribute, a client is requesting jobs in the | the "which-jobs" operation attribute, a client is requesting jobs in the | |||
| Job Not Completed phase. Using the Get-Jobs operation and supplying the | Job Not Completed phase. Using the Get-Jobs operation and supplying the | |||
| 'completed' value for the "which-jobs" operation attribute, a client is | 'completed' value for the "which-jobs" operation attribute, a client is | |||
| requesting jobs in the Job Retention and Job History phases. Using the | requesting jobs in the Job Retention and Job History phases. Using the | |||
| Get-Job-Attributes operation, a client is requesting a job in any phase | Get-Job-Attributes operation, a client is requesting a job in any phase | |||
| except Job Removal. After Job Removal, the Get-Job-Attributes and Get- | except Job Removal. After Job Removal, the Get-Job-Attributes and Get- | |||
| Jobs operations no longer are capable of returning any information about | Jobs operations no longer are capable of returning any information about | |||
| a job. | a job. | |||
| 4.3.8 job-state-reasons (1setOf type2 keyword) | 4.3.8 job-state-reasons (1setOf type2 keyword) | |||
| This REQUIRED attribute provides additional information about the job's | This REQUIRED attribute provides additional information about the job's | |||
| current state, i.e., information that augments the value of the job's | current state, i.e., information that augments the value of the job's | |||
| "job-state" attribute. | "job-state" attribute. | |||
| These values MAY be used with any job state or states for which the | These values MAY be used with any job state or states for which the | |||
| reason makes sense. Some of these value definitions indicate | reason makes sense. Some of these value definitions indicate | |||
| conformance requirements; the rest are OPTIONAL. Furthermore, when | conformance requirements; the rest are OPTIONAL. Furthermore, when | |||
| implemented, the Printer MUST return these values when the reason | implemented, the Printer MUST return these values when the reason | |||
| applies and MUST NOT return them when the reason no longer applies | applies and MUST NOT return them when the reason no longer applies | |||
| skipping to change at page 101, line 5 ¶ | skipping to change at page 101, line 5 ¶ | |||
| extensible. | extensible. | |||
| The following standard keyword values are defined. For ease of | The following standard keyword values are defined. For ease of | |||
| understanding, the values are presented in the order in which the | understanding, the values are presented in the order in which the | |||
| reasons are likely to occur (if implemented), starting with the 'job- | reasons are likely to occur (if implemented), starting with the 'job- | |||
| incoming' value: | incoming' value: | |||
| 'none': There are no reasons for the job's current state. This | 'none': There are no reasons for the job's current state. This | |||
| state reason is semantically equivalent to "job-state-reasons" | state reason is semantically equivalent to "job-state-reasons" | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| without any value and MUST be used when there is no other value, | without any value and MUST be used when there is no other value, | |||
| since the 1setOf attribute syntax requires at least one value. | since the 1setOf attribute syntax requires at least one value. | |||
| 'job-incoming': Either (1) the Printer has accepted the Create-Job | 'job-incoming': Either (1) the Printer has accepted the Create-Job | |||
| operation and is expecting additional Send-Document and/or Send-URI | operation and is expecting additional Send-Document and/or Send-URI | |||
| operations, or (2) the Printer is retrieving/accepting document | operations, or (2) the Printer is retrieving/accepting document | |||
| data as a result of a Print-Job, Print-URI, Send-Document or Send- | data as a result of a Print-Job, Print-URI, Send-Document or Send- | |||
| URI operation. | URI operation. | |||
| 'job-data-insufficient': The Create-Job operation has been accepted | 'job-data-insufficient': The Create-Job operation has been accepted | |||
| by the Printer, but the Printer is expecting additional document | by the Printer, but the Printer is expecting additional document | |||
| data before it can move the job into the 'processing' state. If a | data before it can move the job into the 'processing' state. If a | |||
| skipping to change at page 102, line 5 ¶ | skipping to change at page 102, line 5 ¶ | |||
| the job, such as media, fonts, resource objects, etc., is not ready | the job, such as media, fonts, resource objects, etc., is not ready | |||
| on any of the physical printer's for which the job is a candidate. | on any of the physical printer's for which the job is a candidate. | |||
| This condition MAY be detected when the job is accepted, or | This condition MAY be detected when the job is accepted, or | |||
| subsequently while the job is pending or processing, depending on | subsequently while the job is pending or processing, depending on | |||
| implementation. The job may remain in its current state or be | implementation. The job may remain in its current state or be | |||
| moved to the 'pending-held' state, depending on implementation | moved to the 'pending-held' state, depending on implementation | |||
| and/or job scheduling policy. | and/or job scheduling policy. | |||
| 'printer-stopped-partly': The value of the Printer's "printer-state- | 'printer-stopped-partly': The value of the Printer's "printer-state- | |||
| reasons" attribute contains the value 'stopped-partly'. | reasons" attribute contains the value 'stopped-partly'. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'printer-stopped': The value of the Printer's "printer-state" | 'printer-stopped': The value of the Printer's "printer-state" | |||
| attribute is 'stopped'. | attribute is 'stopped'. | |||
| 'job-interpreting': Job is in the 'processing' state, but more | 'job-interpreting': Job is in the 'processing' state, but more | |||
| specifically, the Printer is interpreting the document data. | specifically, the Printer is interpreting the document data. | |||
| 'job-queued': Job is in the 'processing' state, but more | 'job-queued': Job is in the 'processing' state, but more | |||
| specifically, the Printer has queued the document data. | specifically, the Printer has queued the document data. | |||
| 'job-transforming': Job is in the 'processing' state, but more | 'job-transforming': Job is in the 'processing' state, but more | |||
| specifically, the Printer is interpreting document data and | specifically, the Printer is interpreting document data and | |||
| producing another electronic representation. | producing another electronic representation. | |||
| skipping to change at page 103, line 5 ¶ | skipping to change at page 103, line 5 ¶ | |||
| at the console. | at the console. | |||
| 'aborted-by-system': The job (1) is in the process of being aborted, | 'aborted-by-system': The job (1) is in the process of being aborted, | |||
| (2) has been aborted by the system and placed in the 'aborted' | (2) has been aborted by the system and placed in the 'aborted' | |||
| state, or (3) has been aborted by the system and placed in the | state, or (3) has been aborted by the system and placed in the | |||
| 'pending-held' state, so that a user or operator can manually try | 'pending-held' state, so that a user or operator can manually try | |||
| the job again. This value SHOULD be supported. | the job again. This value SHOULD be supported. | |||
| 'unsupported-compression': The job was aborted by the system because | 'unsupported-compression': The job was aborted by the system because | |||
| the Printer determined while attempting to decompress the document- | the Printer determined while attempting to decompress the document- | |||
| data's that the compression is actually not among those supported | data's that the compression is actually not among those supported | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| by the Printer. This value MUST be supported, since "compressions | by the Printer. This value MUST be supported, since "compressions | |||
| is a REQUIRED operation attribute. | is a REQUIRED operation attribute. | |||
| 'compression-error': The job was aborted by the system because the | 'compression-error': The job was aborted by the system because the | |||
| Printer encountered an error in the document-data while | Printer encountered an error in the document-data while | |||
| decompressing it. If the Printer posts this reason, the document- | decompressing it. If the Printer posts this reason, the document- | |||
| data has already passed any tests that would have led to the | data has already passed any tests that would have led to the | |||
| 'unsupported-compression' job-state-reason. | 'unsupported-compression' job-state-reason. | |||
| 'unsupported-document-format': The job was aborted by the system | 'unsupported-document-format': The job was aborted by the system | |||
| because the document-data's document-format is not among those | because the document-data's document-format is not among those | |||
| supported by the Printer. If the client specifies the document- | supported by the Printer. If the client specifies the document- | |||
| skipping to change at page 104, line 5 ¶ | skipping to change at page 104, line 5 ¶ | |||
| 'job-restartable' - This job is retained (see section 4.3.7.2) and is | 'job-restartable' - This job is retained (see section 4.3.7.2) and is | |||
| currently able to be restarted using the Restart-Job operation (see | currently able to be restarted using the Restart-Job operation (see | |||
| section 3.3.7). If 'job-restartable' is a value of the job's 'job- | section 3.3.7). If 'job-restartable' is a value of the job's 'job- | |||
| state-reasons' attribute, then the IPP object MUST accept a | state-reasons' attribute, then the IPP object MUST accept a | |||
| Restart-Job operation for that job. This value SHOULD be supported | Restart-Job operation for that job. This value SHOULD be supported | |||
| if the Restart-Job operation is supported. | if the Restart-Job operation is supported. | |||
| 'queued-in-device': The job has been forwarded to a device or print | 'queued-in-device': The job has been forwarded to a device or print | |||
| system that is unable to send back status. The Printer sets the | system that is unable to send back status. The Printer sets the | |||
| job's "job-state " attribute to 'completed' and adds the 'queued- | job's "job-state " attribute to 'completed' and adds the 'queued- | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| in-device' value to the job's "job-state-reasons" attribute to | in-device' value to the job's "job-state-reasons" attribute to | |||
| indicate that the Printer has no additional information about the | indicate that the Printer has no additional information about the | |||
| job and never will have any better information. See section | job and never will have any better information. See section | |||
| 4.3.7.1. | 4.3.7.1. | |||
| 4.3.9 job-state-message (text(MAX)) | 4.3.9 job-state-message (text(MAX)) | |||
| This attribute specifies information about the "job-state" and "job- | This attribute specifies information about the "job-state" and "job- | |||
| state-reasons" attributes in human readable text. If the Printer object | state-reasons" attributes in human readable text. If the Printer object | |||
| supports this attribute, the Printer object MUST be able to generate | supports this attribute, the Printer object MUST be able to generate | |||
| skipping to change at page 104, line 31 ¶ | skipping to change at page 104, line 31 ¶ | |||
| values of the "job-state" and "job-states-reasons" attributes, such as | values of the "job-state" and "job-states-reasons" attributes, such as | |||
| interpreter error information. Otherwise, application programs might | interpreter error information. Otherwise, application programs might | |||
| attempt to parse the (localized text). For such additional information | attempt to parse the (localized text). For such additional information | |||
| such as interpreter errors for application program consumption or | such as interpreter errors for application program consumption or | |||
| specific document access errors, new attributes with keyword values, | specific document access errors, new attributes with keyword values, | |||
| needs to be developed and registered. | needs to be developed and registered. | |||
| 4.3.10 job-detailed-status-messages (1setOf text(MAX)) | 4.3.10 job-detailed-status-messages (1setOf text(MAX)) | |||
| This attribute specifies additional detailed and technical information | This attribute specifies additional detailed and technical information | |||
| about the job. Neither the Printer nor the client localizes the | about the job. The Printer NEED NOT localize the message(s), since they | |||
| message(s), since they are intended for use by the system administrator | are intended for use by the system administrator or other experienced | |||
| or other experienced technical persons. Clients MUST NOT attempt to | technical persons. Localization might obscure the technical meaning of | |||
| parse the value of this attribute. See "job-document-access-errors" | such messages. Clients MUST NOT attempt to parse the value of this | |||
| (section 4.3.11) for additional errors that a program can process. | attribute. See "job-document-access-errors" (section 4.3.11) for | |||
| additional errors that a program can process. | ||||
| 4.3.11 job-document-access-errors (1setOf text(MAX)) | 4.3.11 job-document-access-errors (1setOf text(MAX)) | |||
| This attribute provides additional information about each document | This attribute provides additional information about each document | |||
| access error for this job encountered by the Printer after it returned a | access error for this job encountered by the Printer after it returned a | |||
| response to the Print-URI or Send-URI operation and subsequently | response to the Print-URI or Send-URI operation and subsequently | |||
| attempted to access document(s) supplied in the Print-URI or Send-URI | attempted to access document(s) supplied in the Print-URI or Send-URI | |||
| operation. For errors in the protocol that is identified by the URI | operation. For errors in the protocol that is identified by the URI | |||
| scheme in the "document-uri" operation attribute, such as 'http:' or | scheme in the "document-uri" operation attribute, such as 'http:' or | |||
| 'ftp:', the error code is returned in parentheses, followed by the URI. | 'ftp:', the error code is returned in parentheses, followed by the URI. | |||
| skipping to change at page 105, line 5 ¶ | skipping to change at page 105, line 5 ¶ | |||
| 990510.pdf | 990510.pdf | |||
| Most Internet protocols use decimal error codes (unlike IPP), so the | Most Internet protocols use decimal error codes (unlike IPP), so the | |||
| ASCII error code representation is in decimal. | ASCII error code representation is in decimal. | |||
| 4.3.12 number-of-documents (integer(0:MAX)) | 4.3.12 number-of-documents (integer(0:MAX)) | |||
| This attribute indicates the number of documents in the job, i.e., the | This attribute indicates the number of documents in the job, i.e., the | |||
| number of Send-Document, Send-URI, Print-Job, or Print-URI operations | number of Send-Document, Send-URI, Print-Job, or Print-URI operations | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| that the Printer has accepted for this job, regardless of whether the | that the Printer has accepted for this job, regardless of whether the | |||
| document data has reached the Printer object or not. | document data has reached the Printer object or not. | |||
| Implementations supporting the OPTIONAL Create-Job/Send-Document/Send- | Implementations supporting the OPTIONAL Create-Job/Send-Document/Send- | |||
| URI operations SHOULD support this attribute so that clients can query | URI operations SHOULD support this attribute so that clients can query | |||
| the number of documents in each job. | the number of documents in each job. | |||
| 4.3.13 output-device-assigned (name(127)) | 4.3.13 output-device-assigned (name(127)) | |||
| This attribute identifies the output device to which the Printer object | This attribute identifies the output device to which the Printer object | |||
| skipping to change at page 106, line 5 ¶ | skipping to change at page 106, line 5 ¶ | |||
| jobs' "time-at-xxx(integer)" (time tick) job attributes whose events | jobs' "time-at-xxx(integer)" (time tick) job attributes whose events | |||
| have occurred either to: | have occurred either to: | |||
| 1. 0 to indicate that the event happened before the most recent power | 1. 0 to indicate that the event happened before the most recent power | |||
| up OR | up OR | |||
| 2. the negative of the number of seconds before the most recent power- | 2. the negative of the number of seconds before the most recent power- | |||
| up that the event took place, though the negative number NEED NOT | up that the event took place, though the negative number NEED NOT | |||
| reflect the exact number of seconds. | reflect the exact number of seconds. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If a client queries a "time-at-xxx(integer)" time tick Job attribute and | If a client queries a "time-at-xxx(integer)" time tick Job attribute and | |||
| finds the value to be 0 or negative, the client MUST assume that the | finds the value to be 0 or negative, the client MUST assume that the | |||
| event occurred in some life other than the Printer's current life. | event occurred in some life other than the Printer's current life. | |||
| Note: A Printer does not change the values of any "date-time-at- | Note: A Printer does not change the values of any "date-time-at- | |||
| xxx(dateTime)" job attributes on power-up. | xxx(dateTime)" job attributes on power-up. | |||
| 4.3.14.1 time-at-creation (integer(MIN:MAX)) | 4.3.14.1 time-at-creation (integer(MIN:MAX)) | |||
| skipping to change at page 107, line 5 ¶ | skipping to change at page 107, line 5 ¶ | |||
| 'integer' value of a "time-at-xxx" attribute is the number of seconds | 'integer' value of a "time-at-xxx" attribute is the number of seconds | |||
| ago that the "time-at-xxx" event occurred. A client can compute the | ago that the "time-at-xxx" event occurred. A client can compute the | |||
| wall-clock time at which the "time-at-xxx" event occurred by subtracting | wall-clock time at which the "time-at-xxx" event occurred by subtracting | |||
| this difference from the client's wall-clock time. | this difference from the client's wall-clock time. | |||
| 4.3.14.5 date-time-at-creation (dateTime) | 4.3.14.5 date-time-at-creation (dateTime) | |||
| This attribute indicates the date and time at which the Job object was | This attribute indicates the date and time at which the Job object was | |||
| created. | created. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.3.14.6 date-time-at-processing (dateTime) | 4.3.14.6 date-time-at-processing (dateTime) | |||
| This attribute indicates the date and time at which the Job object first | This attribute indicates the date and time at which the Job object first | |||
| began processing after the create operation or the most recent Restart- | began processing after the create operation or the most recent Restart- | |||
| Job operation. | Job operation. | |||
| 4.3.14.7 date-time-at-completed (dateTime) | 4.3.14.7 date-time-at-completed (dateTime) | |||
| This attribute indicates the date and time at which the Job object | This attribute indicates the date and time at which the Job object | |||
| completed (or was canceled or aborted). | completed (or was canceled or aborted). | |||
| skipping to change at page 108, line 5 ¶ | skipping to change at page 108, line 5 ¶ | |||
| This attribute specifies the total size of the document(s) in K octets, | This attribute specifies the total size of the document(s) in K octets, | |||
| i.e., in units of 1024 octets requested to be processed in the job. The | i.e., in units of 1024 octets requested to be processed in the job. The | |||
| value MUST be rounded up, so that a job between 1 and 1024 octets MUST | value MUST be rounded up, so that a job between 1 and 1024 octets MUST | |||
| be indicated as being 1, 1025 to 2048 MUST be 2, etc. | be indicated as being 1, 1025 to 2048 MUST be 2, etc. | |||
| This value MUST NOT include the multiplicative factors contributed by | This value MUST NOT include the multiplicative factors contributed by | |||
| the number of copies specified by the "copies" attribute, independent of | the number of copies specified by the "copies" attribute, independent of | |||
| whether the device can process multiple copies without making multiple | whether the device can process multiple copies without making multiple | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| passes over the job or document data and independent of whether the | passes over the job or document data and independent of whether the | |||
| output is collated or not. Thus the value is independent of the | output is collated or not. Thus the value is independent of the | |||
| implementation and indicates the size of the document(s) measured in K | implementation and indicates the size of the document(s) measured in K | |||
| octets independent of the number of copies. | octets independent of the number of copies. | |||
| This value MUST also not include the multiplicative factor due to a | This value MUST also not include the multiplicative factor due to a | |||
| copies instruction embedded in the document data. If the document data | copies instruction embedded in the document data. If the document data | |||
| actually includes replications of the document data, this value will | actually includes replications of the document data, this value will | |||
| include such replication. In other words, this value is always the size | include such replication. In other words, this value is always the size | |||
| of the source document data, rather than a measure of the hardcopy | of the source document data, rather than a measure of the hardcopy | |||
| skipping to change at page 109, line 5 ¶ | skipping to change at page 109, line 5 ¶ | |||
| allows the system administrator to control the lower and upper bounds of | allows the system administrator to control the lower and upper bounds of | |||
| both (1) the size of the document(s) with "job-k-octets-supported" and | both (1) the size of the document(s) with "job-k-octets-supported" and | |||
| "job-impressions-supported" and (2) the size of the job with "job-media- | "job-impressions-supported" and (2) the size of the job with "job-media- | |||
| sheets-supported". | sheets-supported". | |||
| 4.3.18 Job Progress Attributes | 4.3.18 Job Progress Attributes | |||
| This sub-section defines job attributes that describe the progress of | This sub-section defines job attributes that describe the progress of | |||
| the job. These attributes are intended to be counters. That is, the | the job. These attributes are intended to be counters. That is, the | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| value for a job that has not started processing MUST be 0. When the | value for a job that has not started processing MUST be 0. When the | |||
| job's "job-state" is 'processing' or 'processing-stopped', this value is | job's "job-state" is 'processing' or 'processing-stopped', this value is | |||
| intended to contain the amount of the job that has been processed to the | intended to contain the amount of the job that has been processed to the | |||
| time at which the attributes are requested. When the job enters the | time at which the attributes are requested. When the job enters the | |||
| 'completed', 'canceled', or 'aborted' states, these values are the final | 'completed', 'canceled', or 'aborted' states, these values are the final | |||
| values for the job. | values for the job. | |||
| 4.3.18.1 job-k-octets-processed (integer(0:MAX)) | 4.3.18.1 job-k-octets-processed (integer(0:MAX)) | |||
| This attribute specifies the total number of octets processed in K | This attribute specifies the total number of octets processed in K | |||
| skipping to change at page 110, line 5 ¶ | skipping to change at page 110, line 5 ¶ | |||
| any Job attributes with attribute syntax 'text' and 'name' that were | any Job attributes with attribute syntax 'text' and 'name' that were | |||
| supplied by the client in the create request. See Section 3.1.4 for a | supplied by the client in the create request. See Section 3.1.4 for a | |||
| complete description of the "attributes-charset" operation attribute. | complete description of the "attributes-charset" operation attribute. | |||
| This attribute does not indicate the charset in which the 'text' and | This attribute does not indicate the charset in which the 'text' and | |||
| 'name' values are stored internally in the Job object. The internal | 'name' values are stored internally in the Job object. The internal | |||
| charset is implementation-defined. The IPP object MUST convert from | charset is implementation-defined. The IPP object MUST convert from | |||
| whatever the internal charset is to that being requested in an operation | whatever the internal charset is to that being requested in an operation | |||
| as specified in Section 3.1.4. | as specified in Section 3.1.4. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.3.20 attributes-natural-language (naturalLanguage) | 4.3.20 attributes-natural-language (naturalLanguage) | |||
| This REQUIRED attribute is populated using the value in the client | This REQUIRED attribute is populated using the value in the client | |||
| supplied "attributes-natural-language" attribute in the create request. | supplied "attributes-natural-language" attribute in the create request. | |||
| It identifies the natural language used for any Job attributes with | It identifies the natural language used for any Job attributes with | |||
| attribute syntax 'text' and 'name' that were supplied by the client in | attribute syntax 'text' and 'name' that were supplied by the client in | |||
| the create request. See Section 3.1.4 for a complete description of the | the create request. See Section 3.1.4 for a complete description of the | |||
| "attributes-natural-language" operation attribute. See Sections 4.1.1.2 | "attributes-natural-language" operation attribute. See Sections 4.1.1.2 | |||
| and 4.1.2.2 for how a Natural Language Override may be supplied | and 4.1.2.2 for how a Natural Language Override may be supplied | |||
| explicitly for each 'text' and 'name' attribute value that differs from | explicitly for each 'text' and 'name' attribute value that differs from | |||
| skipping to change at page 111, line 5 ¶ | skipping to change at page 111, line 5 ¶ | |||
| These attributes form the attribute group called "printer-description". | These attributes form the attribute group called "printer-description". | |||
| The following table summarizes these attributes, their syntax, and | The following table summarizes these attributes, their syntax, and | |||
| whether or not they are REQUIRED for a Printer object to support. If | whether or not they are REQUIRED for a Printer object to support. If | |||
| they are not indicated as REQUIRED, they are OPTIONAL. The maximum size | they are not indicated as REQUIRED, they are OPTIONAL. The maximum size | |||
| in octets for 'text' and 'name' attributes is indicated in | in octets for 'text' and 'name' attributes is indicated in | |||
| parenthesizes. | parenthesizes. | |||
| Note: How these attributes are set by an Administrator is outside the | Note: How these attributes are set by an Administrator is outside the | |||
| scope of this IPP/1.1 document. | scope of this IPP/1.1 document. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | Attribute | Syntax | REQUIRED? | | | Attribute | Syntax | REQUIRED? | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | printer-uri-supported | 1setOf uri | REQUIRED | | | printer-uri-supported | 1setOf uri | REQUIRED | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | uri-security-supported | 1setOf type2 keyword | REQUIRED | | | uri-security-supported | 1setOf type2 keyword | REQUIRED | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | uri-authentication- | 1setOf type2 keyword | REQUIRED | | | uri-authentication- | 1setOf type2 keyword | REQUIRED | | |||
| | supported | | | | | supported | | | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| skipping to change at page 112, line 5 ¶ | skipping to change at page 112, line 5 ¶ | |||
| | supported | | | | | supported | | | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | document-format-default | mimeMediaType | REQUIRED | | | document-format-default | mimeMediaType | REQUIRED | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | document-format-supported | 1setOf mimeMediaType | REQUIRED | | | document-format-supported | 1setOf mimeMediaType | REQUIRED | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | printer-is-accepting-jobs | boolean | REQUIRED | | | printer-is-accepting-jobs | boolean | REQUIRED | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | queued-job-count | integer (0:MAX) | REQUIRED | | | queued-job-count | integer (0:MAX) | REQUIRED | | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | printer-message-from- | text (127) | | | | printer-message-from- | text (127) | | | |||
| | operator | | | | | operator | | | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | color-supported | boolean | | | | color-supported | boolean | | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | reference-uri-schemes- | 1setOf uriScheme | | | | reference-uri-schemes- | 1setOf uriScheme | | | |||
| | supported | | | | | supported | | | | |||
| +----------------------------+---------------------------+-----------+ | +----------------------------+---------------------------+-----------+ | |||
| | pdl-override-supported | type2 keyword | REQUIRED | | | pdl-override-supported | type2 keyword | REQUIRED | | |||
| skipping to change at page 113, line 5 ¶ | skipping to change at page 113, line 5 ¶ | |||
| 4.4.2 uri-authentication-supported (1setOf type2 keyword) | 4.4.2 uri-authentication-supported (1setOf type2 keyword) | |||
| This REQUIRED Printer attribute MUST have the same cardinality (contain | This REQUIRED Printer attribute MUST have the same cardinality (contain | |||
| the same number of values) as the "printer-uri-supported" attribute. | the same number of values) as the "printer-uri-supported" attribute. | |||
| This attribute identifies the Client Authentication mechanism associated | This attribute identifies the Client Authentication mechanism associated | |||
| with each URI listed in the "printer-uri-supported" attribute. The | with each URI listed in the "printer-uri-supported" attribute. The | |||
| Printer object uses the specified mechanism to identify the | Printer object uses the specified mechanism to identify the | |||
| authenticated user (see section 8.3) . The "i th" value in "uri- | authenticated user (see section 8.3) . The "i th" value in "uri- | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| authentication-supported" corresponds to the "i th" value in "printer- | authentication-supported" corresponds to the "i th" value in "printer- | |||
| uri-supported" and it describes the authentication mechanisms used by | uri-supported" and it describes the authentication mechanisms used by | |||
| the Printer when accessed via that URI. See [IPP-PRO] for more details | the Printer when accessed via that URI. See [IPP-PRO] for more details | |||
| on Client Authentication. | on Client Authentication. | |||
| The following standard keyword values are defined: | The following standard keyword values are defined: | |||
| 'none': There is no authentication mechanism associated with the URI. | 'none': There is no authentication mechanism associated with the URI. | |||
| The Printer object assumes that the authenticated user is | The Printer object assumes that the authenticated user is | |||
| "anonymous". | "anonymous". | |||
| skipping to change at page 114, line 5 ¶ | skipping to change at page 114, line 5 ¶ | |||
| The following standard keyword values are defined: | The following standard keyword values are defined: | |||
| 'none': There are no secure communication channel protocols in use | 'none': There are no secure communication channel protocols in use | |||
| for the given URI. | for the given URI. | |||
| 'ssl3': SSL3 [SSL] is the secure communications channel protocol in | 'ssl3': SSL3 [SSL] is the secure communications channel protocol in | |||
| use for the given URI. | use for the given URI. | |||
| 'tls': TLS [RFC2246] is the secure communications channel protocol | 'tls': TLS [RFC2246] is the secure communications channel protocol | |||
| in use for the given URI. | in use for the given URI. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| This attribute is orthogonal to the definition of a Client | This attribute is orthogonal to the definition of a Client | |||
| Authentication mechanism. Specifically, 'none' does not exclude Client | Authentication mechanism. Specifically, 'none' does not exclude Client | |||
| Authentication. See section 4.4.2. | Authentication. See section 4.4.2. | |||
| Consider the following example. For a single Printer object, an | Consider the following example. For a single Printer object, an | |||
| administrator configures the "printer-uri-supported", "uri- | administrator configures the "printer-uri-supported", "uri- | |||
| authentication-supported" and "uri-security-supported" attributes as | authentication-supported" and "uri-security-supported" attributes as | |||
| follows: | follows: | |||
| skipping to change at page 115, line 5 ¶ | skipping to change at page 115, line 5 ¶ | |||
| that the Printer will issue a challenge and that the Printer will | that the Printer will issue a challenge and that the Printer will | |||
| use the name supplied by the digest mechanism to determine the | use the name supplied by the digest mechanism to determine the | |||
| authenticated user (see section 8.3) . Because this challenge | authenticated user (see section 8.3) . Because this challenge | |||
| occurs in a tls session, the channel is secure. | occurs in a tls session, the channel is secure. | |||
| It is expected that many IPP Printer objects will be configured to | It is expected that many IPP Printer objects will be configured to | |||
| support only one channel (either configured to use TLS access or not) | support only one channel (either configured to use TLS access or not) | |||
| and only one authentication mechanism. Such Printer objects only have | and only one authentication mechanism. Such Printer objects only have | |||
| one URI listed in the "printer-uri-supported" attribute. No matter the | one URI listed in the "printer-uri-supported" attribute. No matter the | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| configuration of the Printer object (whether it has only one URI or more | configuration of the Printer object (whether it has only one URI or more | |||
| than one URI), a client MUST supply only one URI in the target "printer- | than one URI), a client MUST supply only one URI in the target "printer- | |||
| uri" operation attribute. | uri" operation attribute. | |||
| 4.4.4 printer-name (name(127)) | 4.4.4 printer-name (name(127)) | |||
| This REQUIRED Printer attribute contains the name of the Printer object. | This REQUIRED Printer attribute contains the name of the Printer object. | |||
| It is a name that is more end-user friendly than a URI. An administrator | It is a name that is more end-user friendly than a URI. An administrator | |||
| determines a printer's name and sets this attribute to that name. This | determines a printer's name and sets this attribute to that name. This | |||
| name may be the last part of the printer's URI or it may be unrelated. | name may be the last part of the printer's URI or it may be unrelated. | |||
| skipping to change at page 116, line 5 ¶ | skipping to change at page 116, line 5 ¶ | |||
| installer for this Printer object. This attribute is intended for | installer for this Printer object. This attribute is intended for | |||
| consumption by automata. The mechanics of print driver installation is | consumption by automata. The mechanics of print driver installation is | |||
| outside the scope of this IPP/1.1 document. The device manufacturer may | outside the scope of this IPP/1.1 document. The device manufacturer may | |||
| initially populate this attribute. | initially populate this attribute. | |||
| 4.4.9 printer-make-and-model (text(127)) | 4.4.9 printer-make-and-model (text(127)) | |||
| This Printer attribute identifies the make and model of the device. The | This Printer attribute identifies the make and model of the device. The | |||
| device manufacturer may initially populate this attribute. | device manufacturer may initially populate this attribute. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.4.10 printer-more-info-manufacturer (uri) | 4.4.10 printer-more-info-manufacturer (uri) | |||
| This Printer attribute contains a URI used to obtain more information | This Printer attribute contains a URI used to obtain more information | |||
| about this type of device. The information obtained from this URI is | about this type of device. The information obtained from this URI is | |||
| intended for end user consumption. Features outside the scope of IPP | intended for end user consumption. Features outside the scope of IPP | |||
| can be accessed from this URI (e.g., latest firmware, upgrades, print | can be accessed from this URI (e.g., latest firmware, upgrades, print | |||
| drivers, optional features available, details on color support). The | drivers, optional features available, details on color support). The | |||
| information is intended to be germane to this printer without regard to | information is intended to be germane to this printer without regard to | |||
| site specific modifications or services. The device manufacturer may | site specific modifications or services. The device manufacturer may | |||
| initially populate this attribute. | initially populate this attribute. | |||
| skipping to change at page 117, line 5 ¶ | skipping to change at page 117, line 5 ¶ | |||
| Each keyword value MAY have a suffix to indicate its level of severity. | Each keyword value MAY have a suffix to indicate its level of severity. | |||
| The three levels are: report (least severe), warning, and error (most | The three levels are: report (least severe), warning, and error (most | |||
| severe). | severe). | |||
| - '-report': This suffix indicates that the reason is a "report". An | - '-report': This suffix indicates that the reason is a "report". An | |||
| implementation may choose to omit some or all reports. Some reports | implementation may choose to omit some or all reports. Some reports | |||
| specify finer granularity about the printer state; others serve as | specify finer granularity about the printer state; others serve as | |||
| a precursor to a warning. A report MUST contain nothing that could | a precursor to a warning. A report MUST contain nothing that could | |||
| affect the printed output. | affect the printed output. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| - '-warning': This suffix indicates that the reason is a "warning". | - '-warning': This suffix indicates that the reason is a "warning". | |||
| An implementation may choose to omit some or all warnings. Warnings | An implementation may choose to omit some or all warnings. Warnings | |||
| serve as a precursor to an error. A warning MUST contain nothing | serve as a precursor to an error. A warning MUST contain nothing | |||
| that prevents a job from completing, though in some cases the | that prevents a job from completing, though in some cases the | |||
| output may be of lower quality. | output may be of lower quality. | |||
| - '-error': This suffix indicates that the reason is an "error". An | - '-error': This suffix indicates that the reason is an "error". An | |||
| implementation MUST include all errors. If this attribute contains | implementation MUST include all errors. If this attribute contains | |||
| one or more errors, printer MUST be in the stopped state. | one or more errors, printer MUST be in the stopped state. | |||
| skipping to change at page 118, line 5 ¶ | skipping to change at page 118, line 5 ¶ | |||
| in the printed output of such a pause. This value MUST be | in the printed output of such a pause. This value MUST be | |||
| supported, if the Pause-Printer operation is supported. | supported, if the Pause-Printer operation is supported. | |||
| 'shutdown': Someone has removed a Printer object from service, and | 'shutdown': Someone has removed a Printer object from service, and | |||
| the device may be powered down or physically removed. In this | the device may be powered down or physically removed. In this | |||
| state, a Printer object MUST NOT produce printed output, and unless | state, a Printer object MUST NOT produce printed output, and unless | |||
| the Printer object is realized by a print server that is still | the Printer object is realized by a print server that is still | |||
| active, the Printer object MUST perform no other operations | active, the Printer object MUST perform no other operations | |||
| requested by a client, including returning this value. If a Printer | requested by a client, including returning this value. If a Printer | |||
| object had been printing a job when it was shutdown, the Printer | object had been printing a job when it was shutdown, the Printer | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| NEED NOT resume printing that job when the Printer is no longer | NEED NOT resume printing that job when the Printer is no longer | |||
| shutdown. If the Printer resumes printing such a job, it may leave | shutdown. If the Printer resumes printing such a job, it may leave | |||
| evidence in the printed output of such a shutdown, e.g. the part | evidence in the printed output of such a shutdown, e.g. the part | |||
| printed before the shutdown may be printed a second time after the | printed before the shutdown may be printed a second time after the | |||
| shutdown. | shutdown. | |||
| 'connecting-to-device': The Printer object has scheduled a job on the | 'connecting-to-device': The Printer object has scheduled a job on the | |||
| output device and is in the process of connecting to a shared | output device and is in the process of connecting to a shared | |||
| network output device (and might not be able to actually start | network output device (and might not be able to actually start | |||
| printing the job for an arbitrarily long time depending on the | printing the job for an arbitrarily long time depending on the | |||
| usage of the output device by other servers on the network). | usage of the output device by other servers on the network). | |||
| skipping to change at page 119, line 5 ¶ | skipping to change at page 119, line 5 ¶ | |||
| 'marker-supply-low': The device is low on at least one marker supply. | 'marker-supply-low': The device is low on at least one marker supply. | |||
| (e.g. toner, ink, ribbon) | (e.g. toner, ink, ribbon) | |||
| 'marker-supply-empty: The device is out of at least one marker | 'marker-supply-empty: The device is out of at least one marker | |||
| supply. (e.g. toner, ink, ribbon) | supply. (e.g. toner, ink, ribbon) | |||
| 'marker-waste-almost-full': The device marker supply waste receptacle | 'marker-waste-almost-full': The device marker supply waste receptacle | |||
| is almost full. | is almost full. | |||
| 'marker-waste-full': The device marker supply waste receptacle is | 'marker-waste-full': The device marker supply waste receptacle is | |||
| full. | full. | |||
| 'fuser-over-temp': The fuser temperature is above normal. | 'fuser-over-temp': The fuser temperature is above normal. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'fuser-under-temp': The fuser temperature is below normal. | 'fuser-under-temp': The fuser temperature is below normal. | |||
| 'opc-near-eol': The optical photo conductor is near end of life. | 'opc-near-eol': The optical photo conductor is near end of life. | |||
| 'opc-life-over': The optical photo conductor is no longer | 'opc-life-over': The optical photo conductor is no longer | |||
| functioning. | functioning. | |||
| 'developer-low': The device is low on developer. | 'developer-low': The device is low on developer. | |||
| 'developer-empty: The device is out of developer. | 'developer-empty: The device is out of developer. | |||
| 'interpreter-resource-unavailable': An interpreter resource is | 'interpreter-resource-unavailable': An interpreter resource is | |||
| unavailable (i.e. font, form) | unavailable (i.e. font, form) | |||
| 4.4.13 printer-state-message (text(MAX)) | 4.4.13 printer-state-message (text(MAX)) | |||
| skipping to change at page 120, line 5 ¶ | skipping to change at page 120, line 5 ¶ | |||
| 4.4.15 operations-supported (1setOf type2 enum) | 4.4.15 operations-supported (1setOf type2 enum) | |||
| This REQUIRED Printer attribute specifies the set of supported | This REQUIRED Printer attribute specifies the set of supported | |||
| operations for this Printer object and contained Job objects. | operations for this Printer object and contained Job objects. | |||
| This attribute is encoded as any other enum attribute syntax according | This attribute is encoded as any other enum attribute syntax according | |||
| to [IPP-PRO] as 32-bits. However, all 32-bit enum values for this | to [IPP-PRO] as 32-bits. However, all 32-bit enum values for this | |||
| attribute MUST NOT exceed 0x00008FFF, since these same values are also | attribute MUST NOT exceed 0x00008FFF, since these same values are also | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| passed in two octets in the "operation-id" parameter (see section 3.1.1) | passed in two octets in the "operation-id" parameter (see section 3.1.1) | |||
| in each Protocol request with the two high order octets omitted in order | in each Protocol request with the two high order octets omitted in order | |||
| to indicate the operation being performed [IPP-PRO]. | to indicate the operation being performed [IPP-PRO]. | |||
| The following standard enum and "operation-id" (see section 3.1.2) | The following standard enum and "operation-id" (see section 3.1.2) | |||
| values are defined: | values are defined: | |||
| Value Operation Name | Value Operation Name | |||
| ----------------- ------------------------------------- | ----------------- ------------------------------------- | |||
| skipping to change at page 121, line 5 ¶ | skipping to change at page 121, line 5 ¶ | |||
| This REQUIRED Printer attribute identifies the charset that the Printer | This REQUIRED Printer attribute identifies the charset that the Printer | |||
| object has been configured to represent 'text' and 'name' Printer | object has been configured to represent 'text' and 'name' Printer | |||
| attributes that are set by the operator, system administrator, or | attributes that are set by the operator, system administrator, or | |||
| manufacturer, i.e., for "printer-name" (name), "printer-location" | manufacturer, i.e., for "printer-name" (name), "printer-location" | |||
| (text), "printer-info" (text), and "printer-make-and-model" (text). | (text), "printer-info" (text), and "printer-make-and-model" (text). | |||
| Therefore, the value of the Printer object's "charset-configured" | Therefore, the value of the Printer object's "charset-configured" | |||
| attribute MUST also be among the values of the Printer object's | attribute MUST also be among the values of the Printer object's | |||
| "charset-supported" attribute. | "charset-supported" attribute. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.4.18 charset-supported (1setOf charset) | 4.4.18 charset-supported (1setOf charset) | |||
| This REQUIRED Printer attribute identifies the set of charsets that the | This REQUIRED Printer attribute identifies the set of charsets that the | |||
| Printer and contained Job objects support in attributes with attribute | Printer and contained Job objects support in attributes with attribute | |||
| syntax 'text' and 'name'. At least the value 'utf-8' MUST be present, | syntax 'text' and 'name'. At least the value 'utf-8' MUST be present, | |||
| since IPP objects MUST support the UTF-8 [RFC2279] charset. If a | since IPP objects MUST support the UTF-8 [RFC2279] charset. If a | |||
| Printer object supports a charset, it means that for all attributes of | Printer object supports a charset, it means that for all attributes of | |||
| syntax 'text' and 'name' the IPP object MUST (1) accept the charset in | syntax 'text' and 'name' the IPP object MUST (1) accept the charset in | |||
| requests and return the charset in responses as needed. | requests and return the charset in responses as needed. | |||
| skipping to change at page 122, line 5 ¶ | skipping to change at page 122, line 5 ¶ | |||
| attributes and Operation Messages (see Section 3.1.5) in operation | attributes and Operation Messages (see Section 3.1.5) in operation | |||
| responses, the Printer and Job objects MUST be able to generate messages | responses, the Printer and Job objects MUST be able to generate messages | |||
| in any of the Printer's supported natural languages. See section 3.1.4 | in any of the Printer's supported natural languages. See section 3.1.4 | |||
| for the definition of 'text' and 'name' attributes in operation requests | for the definition of 'text' and 'name' attributes in operation requests | |||
| and responses. | and responses. | |||
| Note: A Printer object that supports multiple natural languages, often | Note: A Printer object that supports multiple natural languages, often | |||
| has separate catalogs of messages, one for each natural language | has separate catalogs of messages, one for each natural language | |||
| supported. | supported. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.4.21 document-format-default (mimeMediaType) | 4.4.21 document-format-default (mimeMediaType) | |||
| This REQUIRED Printer attribute identifies the document format that the | This REQUIRED Printer attribute identifies the document format that the | |||
| Printer object has been configured to assume if the client does not | Printer object has been configured to assume if the client does not | |||
| supply a "document-format" operation attribute in any of the operation | supply a "document-format" operation attribute in any of the operation | |||
| requests that supply document data. The standard values for this | requests that supply document data. The standard values for this | |||
| attribute are Internet Media types (sometimes called MIME types). For | attribute are Internet Media types (sometimes called MIME types). For | |||
| further details see the description of the 'mimeMediaType' attribute | further details see the description of the 'mimeMediaType' attribute | |||
| syntax in Section 4.1.9. | syntax in Section 4.1.9. | |||
| skipping to change at page 123, line 5 ¶ | skipping to change at page 123, line 5 ¶ | |||
| This Printer attribute provides a message from an operator, system | This Printer attribute provides a message from an operator, system | |||
| administrator or "intelligent" process to indicate to the end user | administrator or "intelligent" process to indicate to the end user | |||
| information or status of the printer, such as why it is unavailable or | information or status of the printer, such as why it is unavailable or | |||
| when it is expected to be available. | when it is expected to be available. | |||
| 4.4.26 color-supported (boolean) | 4.4.26 color-supported (boolean) | |||
| This Printer attribute identifies whether the device is capable of any | This Printer attribute identifies whether the device is capable of any | |||
| type of color printing at all, including highlight color. All document | type of color printing at all, including highlight color. All document | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| instructions having to do with color are embedded within the document | instructions having to do with color are embedded within the document | |||
| PDL (none are external IPP attributes in IPP/1.1). | PDL (none are external IPP attributes in IPP/1.1). | |||
| Note: end-users are able to determine the nature and details of the | Note: end-users are able to determine the nature and details of the | |||
| color support by querying the "printer-more-info-manufacturer" Printer | color support by querying the "printer-more-info-manufacturer" Printer | |||
| attribute. | attribute. | |||
| 4.4.27 reference-uri-schemes-supported (1setOf uriScheme) | 4.4.27 reference-uri-schemes-supported (1setOf uriScheme) | |||
| This Printer attribute specifies which URI schemes are supported for use | This Printer attribute specifies which URI schemes are supported for use | |||
| skipping to change at page 123, line 34 ¶ | skipping to change at page 123, line 34 ¶ | |||
| The Printer object MAY OPTIONALLY support other URI schemes (see section | The Printer object MAY OPTIONALLY support other URI schemes (see section | |||
| 4.1.6). | 4.1.6). | |||
| 4.4.28 pdl-override-supported (type2 keyword) | 4.4.28 pdl-override-supported (type2 keyword) | |||
| This REQUIRED Printer attribute expresses the ability for a particular | This REQUIRED Printer attribute expresses the ability for a particular | |||
| Printer implementation to either attempt to override document data | Printer implementation to either attempt to override document data | |||
| instructions with IPP attributes or not. | instructions with IPP attributes or not. | |||
| This attribute takes on the following values: | This attribute takes on the following keyword values: | |||
| - 'attempted': This value indicates that the Printer object attempts | - 'attempted': This value indicates that the Printer object attempts | |||
| to make the IPP attribute values take precedence over embedded | to make the IPP attribute values take precedence over embedded | |||
| instructions in the document data, however there is no guarantee. | instructions in the document data, however there is no guarantee. | |||
| - 'not-attempted': This value indicates that the Printer object makes | - 'not-attempted': This value indicates that the Printer object makes | |||
| no attempt to make the IPP attribute values take precedence over | no attempt to make the IPP attribute values take precedence over | |||
| embedded instructions in the document data. | embedded instructions in the document data. | |||
| Section 15 contains a full description of how this attribute interacts | Section 15 contains a full description of how this attribute interacts | |||
| with and affects other IPP attributes, especially the "ipp-attribute- | with and affects other IPP attributes, especially the "ipp-attribute- | |||
| skipping to change at page 124, line 5 ¶ | skipping to change at page 124, line 5 ¶ | |||
| 4.4.29 printer-up-time (integer(1:MAX)) | 4.4.29 printer-up-time (integer(1:MAX)) | |||
| This REQUIRED Printer attribute indicates the amount of time (in | This REQUIRED Printer attribute indicates the amount of time (in | |||
| seconds) that this Printer instance has been up and running. The value | seconds) that this Printer instance has been up and running. The value | |||
| is a monotonically increasing value starting from 1 when the Printer | is a monotonically increasing value starting from 1 when the Printer | |||
| object is started-up (initialized, booted, etc.). This value is used to | object is started-up (initialized, booted, etc.). This value is used to | |||
| populate the Event Time Job Description Job attributes "time-at- | populate the Event Time Job Description Job attributes "time-at- | |||
| creation", "time-at-processing", and "time-at-completed" (see section | creation", "time-at-processing", and "time-at-completed" (see section | |||
| 4.3.14). | 4.3.14). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| If the Printer object goes down at some value 'n', and comes back up, | If the Printer object goes down at some value 'n', and comes back up, | |||
| the implementation MAY: | the implementation MAY: | |||
| 1. Know how long it has been down, and resume at some value greater | 1. Know how long it has been down, and resume at some value greater | |||
| than 'n', or | than 'n', or | |||
| 2. Restart from 1. | 2. Restart from 1. | |||
| In other words, if the device or devices that the Printer object is | In other words, if the device or devices that the Printer object is | |||
| representing are restarted or power cycled, the Printer object MAY | representing are restarted or power cycled, the Printer object MAY | |||
| continue counting this value or MAY reset this value to 1 depending on | continue counting this value or MAY reset this value to 1 depending on | |||
| skipping to change at page 124, line 57 ¶ | skipping to change at page 124, line 57 ¶ | |||
| The client SHOULD display any dateTime attributes to the user in client | The client SHOULD display any dateTime attributes to the user in client | |||
| local time by converting the 'dateTime' value returned by the server to | local time by converting the 'dateTime' value returned by the server to | |||
| the time zone of the client, rather than using the time zone returned by | the time zone of the client, rather than using the time zone returned by | |||
| the Printer in attributes that use the 'dateTime' attribute syntax. | the Printer in attributes that use the 'dateTime' attribute syntax. | |||
| 4.4.31 multiple-operation-time-out (integer(1:MAX)) | 4.4.31 multiple-operation-time-out (integer(1:MAX)) | |||
| This Printer attributes identifies the minimum time (in seconds) that | This Printer attributes identifies the minimum time (in seconds) that | |||
| the Printer object waits for additional Send-Document or Send-URI | the Printer object waits for additional Send-Document or Send-URI | |||
| operations to follow a still-open multi-document Job object before | operations to follow a still-open Job object before taking any recovery | |||
| taking any recovery actions, such as the ones indicated in section | actions, such as the ones indicated in section 3.3.1. If the Printer | |||
| 3.3.1. If the Printer object supports the Create-Job and Send-Document | ||||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| operations (see section 3.2.4 and 3.3.1), it MUST support this | object supports the Create-Job and Send-Document operations (see section | |||
| attribute. | 3.2.4 and 3.3.1), it MUST support this attribute. | |||
| It is RECOMMENDED that vendors supply a value for this attribute that is | It is RECOMMENDED that vendors supply a value for this attribute that is | |||
| between 60 and 240 seconds. An implementation MAY allow a system | between 60 and 240 seconds. An implementation MAY allow a system | |||
| administrator to set this attribute (by means outside this IPP/1.1 | administrator to set this attribute (by means outside this IPP/1.1 | |||
| document). If so, the system administrator MAY be able to set values | document). If so, the system administrator MAY be able to set values | |||
| outside this range. | outside this range. | |||
| 4.4.32 compression-supported (1setOf type3 keyword) | 4.4.32 compression-supported (1setOf type3 keyword) | |||
| This REQUIRED Printer attribute identifies the set of supported | This REQUIRED Printer attribute identifies the set of supported | |||
| compression algorithms for document data. Compression only applies to | compression algorithms for document data. Compression only applies to | |||
| the document data; compression does not apply to the encoding of the IPP | the document data; compression does not apply to the encoding of the IPP | |||
| operation itself. The supported values are used to validate the client | operation itself. The supported values are used to validate the client | |||
| supplied "compression" operation attributes in Print-Job, Send-Document, | supplied "compression" operation attributes in Print-Job, Send-Document, | |||
| and Send-URI requests. | and Send-URI requests. | |||
| Standard values are : | Standard keyword values are : | |||
| 'none': no compression is used. | 'none': no compression is used. | |||
| 'deflate': ZIP public domain inflate/deflate) compression technology | 'deflate': ZIP public domain inflate/deflate) compression technology | |||
| [RFC1951] | ||||
| 'gzip' GNU zip compression technology described in RFC 1952 | 'gzip' GNU zip compression technology described in RFC 1952 | |||
| [RFC1952]. | [RFC1952]. | |||
| 'compress': UNIX compression technology | 'compress': UNIX compression technology [RFC1977] | |||
| 4.4.33 job-k-octets-supported (rangeOfInteger(0:MAX)) | 4.4.33 job-k-octets-supported (rangeOfInteger(0:MAX)) | |||
| This Printer attribute specifies the upper and lower bounds of total | This Printer attribute specifies the upper and lower bounds of total | |||
| sizes of jobs in K octets, i.e., in units of 1024 octets. The supported | sizes of jobs in K octets, i.e., in units of 1024 octets. The supported | |||
| values are used to validate the client supplied "job-k-octets" operation | values are used to validate the client supplied "job-k-octets" operation | |||
| attributes in create requests. The corresponding job description | attributes in create requests. The corresponding job description | |||
| attribute "job-k-octets" is defined in section 4.3.17.1. | attribute "job-k-octets" is defined in section 4.3.17.1. | |||
| 4.4.34 job-impressions-supported (rangeOfInteger(0:MAX)) | 4.4.34 job-impressions-supported (rangeOfInteger(0:MAX)) | |||
| skipping to change at page 126, line 5 ¶ | skipping to change at page 126, line 5 ¶ | |||
| is defined in section 4.3.17.2. | is defined in section 4.3.17.2. | |||
| 4.4.35 job-media-sheets-supported (rangeOfInteger(0:MAX)) | 4.4.35 job-media-sheets-supported (rangeOfInteger(0:MAX)) | |||
| This Printer attribute specifies the upper and lower bounds for the | This Printer attribute specifies the upper and lower bounds for the | |||
| number of media sheets per job. The supported values are used to | number of media sheets per job. The supported values are used to | |||
| validate the client supplied "job-media-sheets" operation attributes in | validate the client supplied "job-media-sheets" operation attributes in | |||
| create requests. The corresponding Job attribute "job-media-sheets" is | create requests. The corresponding Job attribute "job-media-sheets" is | |||
| defined in section 4.3.17.3. | defined in section 4.3.17.3. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 4.4.36 pages-per-minute (integer(0:MAX)) | 4.4.36 pages-per-minute (integer(0:MAX)) | |||
| This Printer attributes specifies the nominal number of pages per minute | This Printer attributes specifies the nominal number of pages per minute | |||
| to the nearest whole number which may be generated by this printer | to the nearest whole number which may be generated by this printer | |||
| (e.g., simplex, black-and-white). This attribute is informative, not a | (e.g., simplex, black-and-white). This attribute is informative, not a | |||
| service guarantee. Generally, it is the value used in the marketing | service guarantee. Generally, it is the value used in the marketing | |||
| literature to describe the device. | literature to describe the device. | |||
| A value of 0 indicates a device that takes more than two minutes to | A value of 0 indicates a device that takes more than two minutes to | |||
| process a page. | process a page. | |||
| skipping to change at page 127, line 5 ¶ | skipping to change at page 127, line 5 ¶ | |||
| Attributes. | Attributes. | |||
| 5. Conformance | 5. Conformance | |||
| This section describes conformance issues and requirements. This | This section describes conformance issues and requirements. This | |||
| document introduces model entities such as objects, operations, | document introduces model entities such as objects, operations, | |||
| attributes, attribute syntaxes, and attribute values. These conformance | attributes, attribute syntaxes, and attribute values. These conformance | |||
| sections describe the conformance requirements which apply to these | sections describe the conformance requirements which apply to these | |||
| model entities. | model entities. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 5.1 Client Conformance Requirements | 5.1 Client Conformance Requirements | |||
| This section describes the conformance requirements for a client (see | This section describes the conformance requirements for a client (see | |||
| section 2.1), whether it be: | section 2.1), whether it be: | |||
| 1. contained within software controlled by an end user, e.g. activated | 1. contained within software controlled by an end user, e.g. activated | |||
| by the "Print" menu item in an application that sends IPP requests | by the "Print" menu item in an application that sends IPP requests | |||
| or | or | |||
| 2. the print server component that sends IPP requests to either an | 2. the print server component that sends IPP requests to either an | |||
| skipping to change at page 128, line 5 ¶ | skipping to change at page 128, line 5 ¶ | |||
| A response MAY contain attribute groups, attributes, attribute syntaxes, | A response MAY contain attribute groups, attributes, attribute syntaxes, | |||
| values, and status codes that the client does not expect. Therefore, a | values, and status codes that the client does not expect. Therefore, a | |||
| client implementation MUST gracefully handle such responses and not | client implementation MUST gracefully handle such responses and not | |||
| refuse to inter-operate with a conforming Printer that is returning IETF | refuse to inter-operate with a conforming Printer that is returning IETF | |||
| standards track extension or vendor extensions, including attribute | standards track extension or vendor extensions, including attribute | |||
| groups, attributes, attribute syntaxes, attribute values, status codes, | groups, attributes, attribute syntaxes, attribute values, status codes, | |||
| and out-of-band attribute values that conform to Section 6. Clients may | and out-of-band attribute values that conform to Section 6. Clients may | |||
| choose to ignore any parameters, attributes, attribute syntaxes, or | choose to ignore any parameters, attributes, attribute syntaxes, or | |||
| values that they do not understand. | values that they do not understand. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| While a client is sending data to a printer, it SHOULD do its best to | While a client is sending data to a printer, it SHOULD do its best to | |||
| prevent a channel from being closed by a lower layer when the channel is | prevent a channel from being closed by a lower layer when the channel is | |||
| blocked (i.e. flow-controlled off) for whatever reason, e.g. 'out of | blocked (i.e. flow-controlled off) for whatever reason, e.g. 'out of | |||
| paper' or 'job ahead hasn't freed up enough memory'. However, the layer | paper' or 'job ahead hasn't freed up enough memory'. However, the layer | |||
| that launched the print submission (e.g. an end user) MAY close the | that launched the print submission (e.g. an end user) MAY close the | |||
| channel in order to cancel the job. When a client closes a channel, a | channel in order to cancel the job. When a client closes a channel, a | |||
| Printer MAY print all or part of the received portion of the document. | Printer MAY print all or part of the received portion of the document. | |||
| See the "Encoding and Transport" document [IPP-PRO] for more details. | See the "Encoding and Transport" document [IPP-PRO] for more details. | |||
| A client MUST support Client Authentication as defined in the IPP/1.1 | A client MUST support Client Authentication as defined in the IPP/1.1 | |||
| skipping to change at page 129, line 5 ¶ | skipping to change at page 129, line 5 ¶ | |||
| Print-Job (section 3.2.1) REQUIRED | Print-Job (section 3.2.1) REQUIRED | |||
| Print-URI (section 3.2.2) OPTIONAL | Print-URI (section 3.2.2) OPTIONAL | |||
| Validate-Job (section 3.2.3) REQUIRED | Validate-Job (section 3.2.3) REQUIRED | |||
| Create-Job (section 3.2.4) OPTIONAL | Create-Job (section 3.2.4) OPTIONAL | |||
| Get-Printer-Attributes (section 3.2.5) REQUIRED | Get-Printer-Attributes (section 3.2.5) REQUIRED | |||
| Get-Jobs (section 3.2.6) REQUIRED | Get-Jobs (section 3.2.6) REQUIRED | |||
| Pause-Printer (section 3.2.7) OPTIONAL | Pause-Printer (section 3.2.7) OPTIONAL | |||
| Resume-Printer (section 3.2.8) OPTIONAL | Resume-Printer (section 3.2.8) OPTIONAL | |||
| Purge-Jobs (section 3.2.9) OPTIONAL | Purge-Jobs (section 3.2.9) OPTIONAL | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| For a Job object: | For a Job object: | |||
| Send-Document (section 3.3.1) OPTIONAL | Send-Document (section 3.3.1) OPTIONAL | |||
| Send-URI (section 3.3.2) OPTIONAL | Send-URI (section 3.3.2) OPTIONAL | |||
| Cancel-Job (section 3.3.3) REQUIRED | Cancel-Job (section 3.3.3) REQUIRED | |||
| Get-Job-Attributes (section 3.3.4) REQUIRED | Get-Job-Attributes (section 3.3.4) REQUIRED | |||
| Hold-Job (section 3.3.5) OPTIONAL | Hold-Job (section 3.3.5) OPTIONAL | |||
| Release-Job (section 3.3.6) OPTIONAL | Release-Job (section 3.3.6) OPTIONAL | |||
| Restart-Job (section 3.3.7) OPTIONAL | Restart-Job (section 3.3.7) OPTIONAL | |||
| skipping to change at page 130, line 5 ¶ | skipping to change at page 130, line 5 ¶ | |||
| objects MUST accept requests containing a "version-number" parameter | objects MUST accept requests containing a "version-number" parameter | |||
| with a '1.1' value (or reject the request if the operation is not | with a '1.1' value (or reject the request if the operation is not | |||
| supported). | supported). | |||
| It is beyond the scope of this specification to mandate conformance with | It is beyond the scope of this specification to mandate conformance with | |||
| previous versions. IPP/1.1 was deliberately designed, however, to make | previous versions. IPP/1.1 was deliberately designed, however, to make | |||
| supporting previous versions easy. It is worth noting that, at the time | supporting previous versions easy. It is worth noting that, at the time | |||
| of composing this specification (1999), we would expect IPP/1.1 Printer | of composing this specification (1999), we would expect IPP/1.1 Printer | |||
| implementations to: | implementations to: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| understand any valid request in the format of IPP/1.0, or 1.1; | understand any valid request in the format of IPP/1.0, or 1.1; | |||
| respond appropriately with a response containing the same "version- | respond appropriately with a response containing the same "version- | |||
| number" parameter value used by the client in the request. | number" parameter value used by the client in the request. | |||
| And we would expect IPP/1.1 clients to: | And we would expect IPP/1.1 clients to: | |||
| understand any valid response in the format of IPP/1.0, or 1.1. | understand any valid response in the format of IPP/1.0, or 1.1. | |||
| It is recommended that IPP/1.1 clients try supplying alternate version | It is recommended that IPP/1.1 clients try supplying alternate version | |||
| skipping to change at page 131, line 5 ¶ | skipping to change at page 131, line 5 ¶ | |||
| [IPP-PRO]. A Printer implementation MAY allow an administrator to | [IPP-PRO]. A Printer implementation MAY allow an administrator to | |||
| configure the Printer so that all, some, or none of the users are | configure the Printer so that all, some, or none of the users are | |||
| authenticated. See also section 8 of this document. | authenticated. See also section 8 of this document. | |||
| An IPP Printer implementation SHOULD contain support for Operation | An IPP Printer implementation SHOULD contain support for Operation | |||
| Privacy and Server Authentication as defined in the IPP/1.1 Encoding and | Privacy and Server Authentication as defined in the IPP/1.1 Encoding and | |||
| Transport document [IPP-PRO]. A Printer implementation MAY allow an | Transport document [IPP-PRO]. A Printer implementation MAY allow an | |||
| administrator to configure the degree of support for Operation Privacy | administrator to configure the degree of support for Operation Privacy | |||
| and Server Authentication. See also section 8 of this document. | and Server Authentication. See also section 8 of this document. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Security MUST NOT be compromised when a client supplies a lower | Security MUST NOT be compromised when a client supplies a lower | |||
| "version-number" parameter in a request. For example, if an IPP/1.1 | "version-number" parameter in a request. For example, if an IPP/1.1 | |||
| conforming Printer object accepts version '1.0' requests and is | conforming Printer object accepts version '1.0' requests and is | |||
| configured to enforce Digest Authentication, it MUST do the same for a | configured to enforce Digest Authentication, it MUST do the same for a | |||
| version '1.0' request. | version '1.0' request. | |||
| 5.3 Charset and Natural Language Requirements | 5.3 Charset and Natural Language Requirements | |||
| All clients and IPP objects MUST support the 'utf-8' charset as defined | All clients and IPP objects MUST support the 'utf-8' charset as defined | |||
| in section 4.1.7. | in section 4.1.7. | |||
| skipping to change at page 132, line 5 ¶ | skipping to change at page 132, line 5 ¶ | |||
| (this document). | (this document). | |||
| These extension procedures are aligned with the guidelines as set forth | These extension procedures are aligned with the guidelines as set forth | |||
| by the IESG [IANA-CON]. Section 11 describes how to propose new | by the IESG [IANA-CON]. Section 11 describes how to propose new | |||
| registrations for consideration. IANA will reject registration | registrations for consideration. IANA will reject registration | |||
| proposals that leave out required information or do not follow the | proposals that leave out required information or do not follow the | |||
| appropriate format described in Section 11. The IPP/1.1 Model and | appropriate format described in Section 11. The IPP/1.1 Model and | |||
| Semantics document may also be extended by an appropriate RFC that | Semantics document may also be extended by an appropriate RFC that | |||
| specifies any of the above extensions. | specifies any of the above extensions. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 6.1 Typed 'keyword' and 'enum' Extensions | 6.1 Typed 'keyword' and 'enum' Extensions | |||
| IPP allows for 'keyword' and 'enum' extensions (see sections 4.1.2.3 and | IPP allows for 'keyword' and 'enum' extensions (see sections 4.1.2.3 and | |||
| 4.1.4). This document uses prefixes to the 'keyword' and 'enum' basic | 4.1.4). This document uses prefixes to the 'keyword' and 'enum' basic | |||
| attribute syntax type in order to communicate extra information to the | attribute syntax type in order to communicate extra information to the | |||
| reader through its name. This extra information is not represented in | reader through its name. This extra information is not represented in | |||
| the protocol because it is unimportant to a client or Printer object. | the protocol because it is unimportant to a client or Printer object. | |||
| The list below describes the prefixes and their meaning. | The list below describes the prefixes and their meaning. | |||
| "type1": This IPP specification document must be revised (or another | "type1": This IPP specification document must be revised (or another | |||
| skipping to change at page 133, line 5 ¶ | skipping to change at page 133, line 5 ¶ | |||
| future maintenance that might be required for that registration. | future maintenance that might be required for that registration. | |||
| For type2 and type3 keywords, the proposer includes the name of the | For type2 and type3 keywords, the proposer includes the name of the | |||
| keyword in the registration proposal and the name is part of the | keyword in the registration proposal and the name is part of the | |||
| technical review. | technical review. | |||
| After type2 and type3 enums specifications are approved, the IPP | After type2 and type3 enums specifications are approved, the IPP | |||
| Designated Expert in consultation with IANA assigns the next available | Designated Expert in consultation with IANA assigns the next available | |||
| enum number for each enum value. | enum number for each enum value. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| IANA will publish approved type2 and type3 keyword and enum attributes | IANA will publish approved type2 and type3 keyword and enum attributes | |||
| value registration specifications in: | value registration specifications in: | |||
| ftp.isi.edu/iana/assignments/ipp/attribute-values/xxx/yyy.txt | ftp.isi.edu/iana/assignments/ipp/attribute-values/xxx/yyy.txt | |||
| where xxx is the attribute name that specifies the initial values and | where xxx is the attribute name that specifies the initial values and | |||
| yyy.txt is a descriptive file name that contains one or more enums or | yyy.txt is a descriptive file name that contains one or more enums or | |||
| keywords approved at the same time. For example, if several additional | keywords approved at the same time. For example, if several additional | |||
| enums for stapling are approved for use with the "finishings" attribute | enums for stapling are approved for use with the "finishings" attribute | |||
| (and "finishings-default" and "finishings-supported" attributes), IANA | (and "finishings-default" and "finishings-supported" attributes), IANA | |||
| skipping to change at page 134, line 5 ¶ | skipping to change at page 134, line 5 ¶ | |||
| case. That is, two names with the same spelling but different case are | case. That is, two names with the same spelling but different case are | |||
| to be treated as if identical. Also, the labels in a domain name must | to be treated as if identical. Also, the labels in a domain name must | |||
| follow the rules for ARPANET host names: They must start with a letter, | follow the rules for ARPANET host names: They must start with a letter, | |||
| end with a letter or digit, and have as interior characters only | end with a letter or digit, and have as interior characters only | |||
| letters, digits, and hyphen. Labels must be 63 characters or less. | letters, digits, and hyphen. Labels must be 63 characters or less. | |||
| Labels are separated by the "." character. | Labels are separated by the "." character. | |||
| For vendor enum extensions, implementers MUST use values in the reserved | For vendor enum extensions, implementers MUST use values in the reserved | |||
| integer range which is 2**30 to 2**31-1. | integer range which is 2**30 to 2**31-1. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 6.2 Attribute Extensibility | 6.2 Attribute Extensibility | |||
| Attribute names (see section 4.1.3) are type2 keywords. Therefore, new | Attribute names (see section 4.1.3) are type2 keywords. Therefore, new | |||
| attributes may be registered and have the same status as attributes in | attributes may be registered and have the same status as attributes in | |||
| this document by following the type2 extension rules. For vendor | this document by following the type2 extension rules. For vendor | |||
| attribute extensions, implementers SHOULD use keywords with a suitable | attribute extensions, implementers SHOULD use keywords with a suitable | |||
| distinguishing prefix as described in Section 6.1. | distinguishing prefix as described in Section 6.1. | |||
| IANA will publish approved attribute registration specifications as | IANA will publish approved attribute registration specifications as | |||
| separate files: | separate files: | |||
| skipping to change at page 135, line 5 ¶ | skipping to change at page 135, line 5 ¶ | |||
| For attribute syntaxes, the IPP Designated Expert in consultation with | For attribute syntaxes, the IPP Designated Expert in consultation with | |||
| IANA assigns the next attribute syntax code in the appropriate range as | IANA assigns the next attribute syntax code in the appropriate range as | |||
| specified in [IPP-PRO]. IANA will publish approved attribute syntax | specified in [IPP-PRO]. IANA will publish approved attribute syntax | |||
| registration specifications as separate files: | registration specifications as separate files: | |||
| ftp.isi.edu/iana/assignments/ipp/attribute-syntaxes/xxx-yyy.txt | ftp.isi.edu/iana/assignments/ipp/attribute-syntaxes/xxx-yyy.txt | |||
| where 'xxx-yyy' is the new attribute syntax name. | where 'xxx-yyy' is the new attribute syntax name. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 6.4 Operation Extensibility | 6.4 Operation Extensibility | |||
| Operations (see section 3) may also be registered following the type2 | Operations (see section 3) may also be registered following the type2 | |||
| procedures described in Section 6.1, though major new operations will | procedures described in Section 6.1, though major new operations will | |||
| usually be done by a new standards track RFC that augments this | usually be done by a new standards track RFC that augments this | |||
| document. For vendor operation extensions, implementers MUST use the | document. For vendor operation extensions, implementers MUST use the | |||
| range for the "operation-id" in requests specified in Section 4.4.15 | range for the "operation-id" in requests specified in Section 4.4.15 | |||
| "operations-supported" Printer attribute. | "operations-supported" Printer attribute. | |||
| For operations, the IPP Designated Expert in consultation with IANA | For operations, the IPP Designated Expert in consultation with IANA | |||
| skipping to change at page 136, line 5 ¶ | skipping to change at page 136, line 5 ¶ | |||
| "informational" - Request received, continuing process | "informational" - Request received, continuing process | |||
| "successful" - The action was successfully received, understood, and | "successful" - The action was successfully received, understood, and | |||
| accepted | accepted | |||
| "redirection" - Further action must be taken in order to complete the | "redirection" - Further action must be taken in order to complete the | |||
| request | request | |||
| "client-error" - The request contains bad syntax or cannot be | "client-error" - The request contains bad syntax or cannot be | |||
| fulfilled | fulfilled | |||
| "server-error" - The IPP object failed to fulfill an apparently | "server-error" - The IPP object failed to fulfill an apparently | |||
| valid request | valid request | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| For vendor operation status code extensions, implementers MUST use the | For vendor operation status code extensions, implementers MUST use the | |||
| top of each range as specified in Section 13. | top of each range as specified in Section 13. | |||
| For operation status codes, the IPP Designated Expert in consultation | For operation status codes, the IPP Designated Expert in consultation | |||
| with IANA assigns the next status code in the appropriate class range as | with IANA assigns the next status code in the appropriate class range as | |||
| specified in Section 13. IANA will publish approved status code | specified in Section 13. IANA will publish approved status code | |||
| registration specifications as separate files: | registration specifications as separate files: | |||
| ftp.isi.edu/iana/assignments/ipp/status-codes/xxx-yyy.txt | ftp.isi.edu/iana/assignments/ipp/status-codes/xxx-yyy.txt | |||
| skipping to change at page 137, line 5 ¶ | skipping to change at page 137, line 5 ¶ | |||
| is the registry for all Internet media types. | is the registry for all Internet media types. | |||
| 6.9 Registration of charsets for use in 'charset' attribute values | 6.9 Registration of charsets for use in 'charset' attribute values | |||
| The "attributes-charset" attribute's syntax is 'charset'. This means | The "attributes-charset" attribute's syntax is 'charset'. This means | |||
| that valid values are charsets names. When a charset in the IANA | that valid values are charsets names. When a charset in the IANA | |||
| registry has more than one name (alias), the name labeled as "(preferred | registry has more than one name (alias), the name labeled as "(preferred | |||
| MIME name)", if present, MUST be used (see Section 4.1.7). IANA is the | MIME name)", if present, MUST be used (see Section 4.1.7). IANA is the | |||
| registry for charsets following the procedures of [RFC2278]. | registry for charsets following the procedures of [RFC2278]. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 7. Internationalization Considerations | 7. Internationalization Considerations | |||
| Some of the attributes have values that are text strings and names which | Some of the attributes have values that are text strings and names which | |||
| are intended for human understanding rather than machine understanding | are intended for human understanding rather than machine understanding | |||
| (see the 'text' and 'name' attribute syntaxes in Sections 4.1.1 and | (see the 'text' and 'name' attribute syntaxes in Sections 4.1.1 and | |||
| 4.1.2). | 4.1.2). | |||
| In each operation request, the client | In each operation request, the client | |||
| - identifies the charset and natural language of the request which | - identifies the charset and natural language of the request which | |||
| skipping to change at page 138, line 5 ¶ | skipping to change at page 138, line 5 ¶ | |||
| The "charset-supported" attributed identifies the supported charsets. | The "charset-supported" attributed identifies the supported charsets. | |||
| If a charset is supported, the IPP object MUST be capable of converting | If a charset is supported, the IPP object MUST be capable of converting | |||
| to and from that charset into any other supported charset. In many | to and from that charset into any other supported charset. In many | |||
| cases, an IPP object will support only one charset and it MUST be the | cases, an IPP object will support only one charset and it MUST be the | |||
| UTF-8 charset. | UTF-8 charset. | |||
| The "charset-configured" attribute identifies the one supported charset | The "charset-configured" attribute identifies the one supported charset | |||
| which is the native charset given the current configuration of the IPP | which is the native charset given the current configuration of the IPP | |||
| object (administrator defined). | object (administrator defined). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The "generated-natural-language-supported" attribute identifies the set | The "generated-natural-language-supported" attribute identifies the set | |||
| of supported natural languages for generated messages; it is not related | of supported natural languages for generated messages; it is not related | |||
| to the set of natural languages that must be accepted for client | to the set of natural languages that must be accepted for client | |||
| supplied 'text' and 'name' attributes. For client supplied 'text' and | supplied 'text' and 'name' attributes. For client supplied 'text' and | |||
| 'name' attributes, an IPP object MUST accept ALL supplied natural | 'name' attributes, an IPP object MUST accept ALL supplied natural | |||
| languages. Just because a Printer object is currently configured to | languages. Just because a Printer object is currently configured to | |||
| support 'en-us' natural language does not mean that the Printer object | support 'en-us' natural language does not mean that the Printer object | |||
| should reject a job if the client supplies a job name that is in 'fr- | should reject a job if the client supplies a job name that is in 'fr- | |||
| ca'. | ca'. | |||
| skipping to change at page 139, line 5 ¶ | skipping to change at page 139, line 5 ¶ | |||
| "generated-natural-language-supported" natural languages. If a | "generated-natural-language-supported" natural languages. If a | |||
| client requests some natural language for these attributes other | client requests some natural language for these attributes other | |||
| than one of the supported values, the IPP object SHOULD respond | than one of the supported values, the IPP object SHOULD respond | |||
| using the value of the "natural-language-configured" attribute | using the value of the "natural-language-configured" attribute | |||
| (using the Natural Language Override mechanism if needed). | (using the Natural Language Override mechanism if needed). | |||
| The 'text' and 'name' attributes specified in this version of this | The 'text' and 'name' attributes specified in this version of this | |||
| document (additional ones will be registered according to the procedures | document (additional ones will be registered according to the procedures | |||
| in Section 6) are: | in Section 6) are: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Attributes Source | Attributes Source | |||
| Operation Attributes: | Operation Attributes: | |||
| job-name (name) client | job-name (name) client | |||
| document-name (name) client | document-name (name) client | |||
| requesting-user-name (name) client | requesting-user-name (name) client | |||
| status-message (text) Job or Printer object | status-message (text) Job or Printer object | |||
| detailed-status-message (text) Job or Printer object - | detailed-status-message (text) Job or Printer object - | |||
| see rule 1 | see rule 1 | |||
| document-access-error (text) Job or Printer object - | document-access-error (text) Job or Printer object - | |||
| skipping to change at page 140, line 5 ¶ | skipping to change at page 140, line 5 ¶ | |||
| Printer Description Attributes: | Printer Description Attributes: | |||
| printer-name (name(127)) administrator | printer-name (name(127)) administrator | |||
| printer-location (text(127)) administrator | printer-location (text(127)) administrator | |||
| printer-info (text(127)) administrator | printer-info (text(127)) administrator | |||
| printer-make-and-model (text(127)) administrator or | printer-make-and-model (text(127)) administrator or | |||
| manufacturer | manufacturer | |||
| printer-state-message (text) Printer object | printer-state-message (text) Printer object | |||
| printer-message-from-operator operator | printer-message-from-operator operator | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| (text(127)) | (text(127)) | |||
| Rule 1 - Neither the Printer nor the client localizes these message | Rule 1 - Neither the Printer nor the client localizes these message | |||
| attributes, since they are intended for use by the system administrator | attributes, since they are intended for use by the system administrator | |||
| or other experienced technical persons. | or other experienced technical persons. | |||
| 8. Security Considerations | 8. Security Considerations | |||
| It is difficult to anticipate the security risks that might exist in any | It is difficult to anticipate the security risks that might exist in any | |||
| given IPP environment. For example, if IPP is used within a given | given IPP environment. For example, if IPP is used within a given | |||
| skipping to change at page 140, line 47 ¶ | skipping to change at page 140, line 47 ¶ | |||
| operation status codes that allow an IPP server to return information | operation status codes that allow an IPP server to return information | |||
| back to a client about any potential access control violations for an | back to a client about any potential access control violations for an | |||
| IPP object. | IPP object. | |||
| During a create operation, the client's identity is recorded in the Job | During a create operation, the client's identity is recorded in the Job | |||
| object in an implementation-defined attribute. This information can be | object in an implementation-defined attribute. This information can be | |||
| used to verify a client's identity for subsequent operations on that Job | used to verify a client's identity for subsequent operations on that Job | |||
| object in order to enforce any access control policy that might be in | object in order to enforce any access control policy that might be in | |||
| effect. See section 8.3 below for more details. | effect. See section 8.3 below for more details. | |||
| Since the security levels or the specific threats that any given IPP | Since the security levels or the specific threats that an IPP system | |||
| system administrator may be concerned with cannot be anticipated, IPP | administrator may be concerned with cannot be anticipated, IPP MUST be | |||
| MUST be capable of operating with different security mechanisms and | capable of operating with different security mechanisms and security | |||
| security policies as required by the individual installation. Security | policies as required by the individual installation. Security policies | |||
| policies might vary from very strong, to very weak, to none at all, and | might vary from very strong, to very weak, to none at all, and | |||
| corresponding security mechanisms will be required. | corresponding security mechanisms will be required. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 8.1 Security Scenarios | 8.1 Security Scenarios | |||
| The following sections describe specific security attacks for IPP | The following sections describe specific security attacks for IPP | |||
| environments. Where examples are provided they should be considered | environments. Where examples are provided they should be considered | |||
| illustrative of the environment and not an exhaustive set. Not all of | illustrative of the environment and not an exhaustive set. Not all of | |||
| these environments will necessarily be addressed in initial | these environments will necessarily be addressed in initial | |||
| implementations of IPP. | implementations of IPP. | |||
| 8.1.1 Client and Server in the Same Security Domain | 8.1.1 Client and Server in the Same Security Domain | |||
| skipping to change at page 142, line 5 ¶ | skipping to change at page 142, line 5 ¶ | |||
| authenticating "proxies" is not specified in this document. | authenticating "proxies" is not specified in this document. | |||
| 8.2 URIs in Operation, Job, and Printer attributes | 8.2 URIs in Operation, Job, and Printer attributes | |||
| The "printer-uri-supported" attribute contains the Printer object's | The "printer-uri-supported" attribute contains the Printer object's | |||
| URI(s). Its companion attribute, "uri-security-supported", identifies | URI(s). Its companion attribute, "uri-security-supported", identifies | |||
| the security mechanism used for each URI listed in the "printer-uri- | the security mechanism used for each URI listed in the "printer-uri- | |||
| supported" attribute. For each Printer operation request, a client MUST | supported" attribute. For each Printer operation request, a client MUST | |||
| supply only one URI in the "printer-uri" operation attribute. In other | supply only one URI in the "printer-uri" operation attribute. In other | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| words, even though the Printer supports more than one URI, the client | words, even though the Printer supports more than one URI, the client | |||
| only interacts with the Printer object using one if its URIs. This | only interacts with the Printer object using one if its URIs. This | |||
| duality is not needed for Job objects, since the Printer objects is the | duality is not needed for Job objects, since the Printer objects is the | |||
| factory for Job objects, and the Printer object will generate the | factory for Job objects, and the Printer object will generate the | |||
| correct URI for new Job objects depending on the Printer object's | correct URI for new Job objects depending on the Printer object's | |||
| security configuration. | security configuration. | |||
| 8.3 URIs for each authentication mechanisms | 8.3 URIs for each authentication mechanisms | |||
| Each URI has an authentication mechanism associated with it. If the URI | Each URI has an authentication mechanism associated with it. If the URI | |||
| skipping to change at page 143, line 5 ¶ | skipping to change at page 143, line 5 ¶ | |||
| be canceled via 'digest' authentication. With the first policy, the job | be canceled via 'digest' authentication. With the first policy, the job | |||
| could not be canceled in this way. | could not be canceled in this way. | |||
| A client is able to determine the authentication mechanism used to | A client is able to determine the authentication mechanism used to | |||
| create a job. It is the i'th value of the Printer's "uri-authentication- | create a job. It is the i'th value of the Printer's "uri-authentication- | |||
| supported" attribute (see section 4.4.2), where i is the index of the | supported" attribute (see section 4.4.2), where i is the index of the | |||
| element of the Printer's "printer-uri-supported" attribute (see section | element of the Printer's "printer-uri-supported" attribute (see section | |||
| 4.4.1) equal to the job's "job-printer-uri" attribute (see section | 4.4.1) equal to the job's "job-printer-uri" attribute (see section | |||
| 4.3.3). | 4.3.3). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 8.4 Restricted Queries | 8.4 Restricted Queries | |||
| In many IPP operations, a client supplies a list of attributes to be | In many IPP operations, a client supplies a list of attributes to be | |||
| returned in the response. For security reasons, an IPP object may be | returned in the response. For security reasons, an IPP object may be | |||
| configured not to return all attributes (or all values) that a client | configured not to return all attributes (or all values) that a client | |||
| requests. The job attributes returned MAY depend on whether the | requests. The job attributes returned MAY depend on whether the | |||
| requesting user is the same as the user that submitted the job. The IPP | requesting user is the same as the user that submitted the job. The IPP | |||
| object MAY even return none of the requested attributes. In such cases, | object MAY even return none of the requested attributes. In such cases, | |||
| the status returned is the same as if the object had returned all | the status returned is the same as if the object had returned all | |||
| requested attributes. The client cannot tell by such a response whether | requested attributes. The client cannot tell by such a response whether | |||
| skipping to change at page 144, line 5 ¶ | skipping to change at page 144, line 5 ¶ | |||
| of authentication of such foreign jobs. One approach would be to treat | of authentication of such foreign jobs. One approach would be to treat | |||
| all such foreign jobs as belonging to users other than the user of the | all such foreign jobs as belonging to users other than the user of the | |||
| IPP client. Another approach would be for the foreign job to belong to | IPP client. Another approach would be for the foreign job to belong to | |||
| 'anonymous'. Only if the IPP client has been authenticated as an | 'anonymous'. Only if the IPP client has been authenticated as an | |||
| operator or administrator of the IPP Printer object, could the foreign | operator or administrator of the IPP Printer object, could the foreign | |||
| jobs be queried by an IPP request. Alternatively, if the security | jobs be queried by an IPP request. Alternatively, if the security | |||
| policy is to allow users to query other users' jobs, then the foreign | policy is to allow users to query other users' jobs, then the foreign | |||
| jobs would also be visible to an end-user IPP client using Get-Jobs and | jobs would also be visible to an end-user IPP client using Get-Jobs and | |||
| Get-Job-Attributes. | Get-Job-Attributes. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 9. References | 9. References | |||
| [ASME-Y14.1M] | [ASME-Y14.1M] | |||
| Metric Drawing Sheet Size and Format, ASME Y14.1M-1995. This | Metric Drawing Sheet Size and Format, ASME Y14.1M-1995. This | |||
| standard defines metric sheet sizes and formats for engineering | standard defines metric sheet sizes and formats for engineering | |||
| drawings. | drawings. | |||
| [ASCII] | [ASCII] | |||
| Coded Character Set - 7-bit American Standard Code for Information | Coded Character Set - 7-bit American Standard Code for Information | |||
| Interchange (ASCII), ANSI X3.4-1986. This standard is the | Interchange (ASCII), ANSI X3.4-1986. This standard is the | |||
| skipping to change at page 145, line 5 ¶ | skipping to change at page 145, line 5 ¶ | |||
| [ISO10646-1] | [ISO10646-1] | |||
| ISO/IEC 10646-1:1993, "Information technology -- Universal | ISO/IEC 10646-1:1993, "Information technology -- Universal | |||
| Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and | Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and | |||
| Basic Multilingual Plane, JTC1/SC2." | Basic Multilingual Plane, JTC1/SC2." | |||
| [ISO8859-1] | [ISO8859-1] | |||
| ISO/IEC 8859-1:1987, "Information technology -- 8-bit One-Byte | ISO/IEC 8859-1:1987, "Information technology -- 8-bit One-Byte | |||
| Coded Character Set - Part 1: Latin Alphabet Nr 1", 1987, JTC1/SC2. | Coded Character Set - Part 1: Latin Alphabet Nr 1", 1987, JTC1/SC2. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| [ISO10175] | [ISO10175] | |||
| ISO/IEC 10175 Document Printing Application (DPA), June 1996. | ISO/IEC 10175 Document Printing Application (DPA), June 1996. | |||
| [LDPA] | [LDPA] | |||
| T. Hastings, S. Isaacson, M. MacKay, C. Manros, D. Taylor, P. | T. Hastings, S. Isaacson, M. MacKay, C. Manros, D. Taylor, P. | |||
| Zehler, "LDPA - Lightweight Document Printing Application", | Zehler, "LDPA - Lightweight Document Printing Application", | |||
| October 1996, | October 1996, | |||
| ftp://ftp.pwg.org/pub/pwg/ipp/historic/ldpa/ldpa8.pdf.gz | ftp://ftp.pwg.org/pub/pwg/ipp/historic/ldpa/ldpa8.pdf.gz | |||
| skipping to change at page 145, line 42 ¶ | skipping to change at page 145, line 42 ¶ | |||
| 1179, August 1990. | 1179, August 1990. | |||
| [RFC1759] | [RFC1759] | |||
| Smith, R., Wright, F., Hastings, T., Zilles, S., and Gyllenskog, | Smith, R., Wright, F., Hastings, T., Zilles, S., and Gyllenskog, | |||
| J., "Printer MIB", RFC 1759, March 1995. | J., "Printer MIB", RFC 1759, March 1995. | |||
| [RFC1766] | [RFC1766] | |||
| H. Alvestrand, "Tags for the Identification of Languages", RFC | H. Alvestrand, "Tags for the Identification of Languages", RFC | |||
| 1766, March 1995. | 1766, March 1995. | |||
| [RFC1951] | ||||
| P. Deutsch, "DEFLATE Compressed Data Format Specification version | ||||
| 1.3 ", RFC 1951, May 1996. | ||||
| [RFC1952] | [RFC1952] | |||
| P. Deutsch, "GZIP file format specification version 4.3", RFC 1952, | P. Deutsch, "GZIP file format specification version 4.3", RFC 1952, | |||
| May 1996. | May 1996. | |||
| [RFC1977] | ||||
| V. Schryver, "PPP BSD Compression Protocol", RFC 1977, August 1996. | ||||
| [RFC2026] | [RFC2026] | |||
| S. Bradner, "The Internet Standards Process -- Revision 3", RFC | S. Bradner, "The Internet Standards Process -- Revision 3", RFC | |||
| 2026, October 1996. | 2026, October 1996. | |||
| [RFC2045] | [RFC2045] | |||
| N. Fried, N. Borenstein, ", Multipurpose Internet Mail Extensions | N. Fried, N. Borenstein, ", Multipurpose Internet Mail Extensions | |||
| (MIME) Part One: Format of Internet Message Bodies " RFC 2045, | (MIME) Part One: Format of Internet Message Bodies " RFC 2045, | |||
| November 1996. | November 1996. | |||
| Expires November 22, 2000 | ||||
| [RFC2046] | [RFC2046] | |||
| Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. | Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. | |||
| N. Freed & N. Borenstein. November 1996. (Obsoletes RFC1521, | N. Freed & N. Borenstein. November 1996. (Obsoletes RFC1521, | |||
| RFC1522, RFC1590), RFC 2046. | RFC1522, RFC1590), RFC 2046. | |||
| Expires September 1, 2000 | ||||
| [RFC2048] | [RFC2048] | |||
| N. Freed, J. Klensin & J. Postel, "Multipurpose Internet Mail | N. Freed, J. Klensin & J. Postel, "Multipurpose Internet Mail | |||
| Extension (MIME) Part Four: Registration Procedures". RFC 2048, | Extension (MIME) Part Four: Registration Procedures". RFC 2048, | |||
| November 1996. | November 1996. | |||
| [RFC2119] | [RFC2119] | |||
| S. Bradner, "Key words for use in RFCs to Indicate Requirement | S. Bradner, "Key words for use in RFCs to Indicate Requirement | |||
| Levels", RFC 2119 , March 1997 | Levels", RFC 2119 , March 1997 | |||
| [RFC2228] | [RFC2228] | |||
| skipping to change at page 146, line 57 ¶ | skipping to change at page 147, line 5 ¶ | |||
| [RFC2566] | [RFC2566] | |||
| R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, | R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, | |||
| "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, | "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, | |||
| April 1999. | April 1999. | |||
| [RFC2567] | [RFC2567] | |||
| Wright, D., "Design Goals for an Internet Printing Protocol", RFC | Wright, D., "Design Goals for an Internet Printing Protocol", RFC | |||
| 2567, April 1999. | 2567, April 1999. | |||
| Expires November 22, 2000 | ||||
| [RFC2568] | [RFC2568] | |||
| Zilles, S., "Rationale for the Structure and Model and Protocol for | Zilles, S., "Rationale for the Structure and Model and Protocol for | |||
| the Internet Printing Protocol", RFC 2568, April 1999. | the Internet Printing Protocol", RFC 2568, April 1999. | |||
| Expires September 1, 2000 | ||||
| [RFC2569] | [RFC2569] | |||
| Herriot, R., Hastings, T., Jacobs, N., Martin, J., "Mapping between | Herriot, R., Hastings, T., Jacobs, N., Martin, J., "Mapping between | |||
| LPD and IPP Protocols", RFC 2569, April 1999. | LPD and IPP Protocols", RFC 2569, April 1999. | |||
| [RFC2579] | [RFC2579] | |||
| K. McCloghrie, D. Perkins, J. Schoenwaelder, "Textual Conventions | K. McCloghrie, D. Perkins, J. Schoenwaelder, "Textual Conventions | |||
| for SMIv2" RFC 2579 (Also STD0058), April 1999. | for SMIv2" RFC 2579 (Also STD0058), April 1999. | |||
| [RFC2616] | [RFC2616] | |||
| R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. | R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. | |||
| skipping to change at page 147, line 55 ¶ | skipping to change at page 148, line 4 ¶ | |||
| Xerox Corporation | Xerox Corporation | |||
| 737 Hawaii St. ESAE 231 | 737 Hawaii St. ESAE 231 | |||
| El Segundo, CA 90245 | El Segundo, CA 90245 | |||
| Phone: 310-333-6413 | Phone: 310-333-6413 | |||
| Fax: 310-333-5514 | Fax: 310-333-5514 | |||
| e-mail: hastings@cp10.es.xerox.com | e-mail: hastings@cp10.es.xerox.com | |||
| Robert Herriot | Robert Herriot | |||
| Xerox Corp. | Xerox Corp. | |||
| Expires November 22, 2000 | ||||
| 3400 Hill View Ave, Building 1 | 3400 Hill View Ave, Building 1 | |||
| Palo Alto, CA 94304 | Palo Alto, CA 94304 | |||
| Phone: 650-813-7696 | Phone: 650-813-7696 | |||
| Expires September 1, 2000 | ||||
| Fax: 650-813-6860 | Fax: 650-813-6860 | |||
| e-mail: robert.herriot@pahv.xerox.com | e-mail: robert.herriot@pahv.xerox.com | |||
| Roger deBry | Roger deBry | |||
| Utah Valley State College | Utah Valley State College | |||
| Orem, UT 84058 | Orem, UT 84058 | |||
| Phone: (801) 222-8000 | Phone: (801) 222-8000 | |||
| EMail: debryro@uvsc.edu | EMail: debryro@uvsc.edu | |||
| skipping to change at page 149, line 5 ¶ | skipping to change at page 149, line 5 ¶ | |||
| IPP Mailing List Subscription: ipp-request@pwg.org | IPP Mailing List Subscription: ipp-request@pwg.org | |||
| IPP Web Page: http://www.pwg.org/ipp/ | IPP Web Page: http://www.pwg.org/ipp/ | |||
| Implementers of this specification document are encouraged to join IPP | Implementers of this specification document are encouraged to join IPP | |||
| Mailing List in order to participate in any discussions of clarification | Mailing List in order to participate in any discussions of clarification | |||
| issues and review of registration proposals for additional attributes | issues and review of registration proposals for additional attributes | |||
| and values. | and values. | |||
| Other Participants: | Other Participants: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Chuck Adams - Tektronix Shivaun Albright - HP | Chuck Adams - Tektronix Shivaun Albright - HP | |||
| Stefan Andersson - Axis Jeff Barnett - IBM | Stefan Andersson - Axis Jeff Barnett - IBM | |||
| Ron Bergman - Hitachi Koki Imaging Dennis Carney - IBM | Ron Bergman - Hitachi Koki Imaging Dennis Carney - IBM | |||
| Systems | Systems | |||
| Keith Carter - IBM Angelo Caruso - Xerox | Keith Carter - IBM Angelo Caruso - Xerox | |||
| Rajesh Chawla - TR Computing Nancy Chen - Okidata | Rajesh Chawla - TR Computing Nancy Chen - Okidata | |||
| Solutions | Solutions | |||
| Josh Cohen - Microsoft Jeff Copeland - QMS | Josh Cohen - Microsoft Jeff Copeland - QMS | |||
| Andy Davidson - Tektronix Roger deBry - IBM | Andy Davidson - Tektronix Roger deBry - IBM | |||
| Maulik Desai - Auco Mabry Dozier - QMS | Maulik Desai - Auco Mabry Dozier - QMS | |||
| skipping to change at page 150, line 5 ¶ | skipping to change at page 150, line 5 ¶ | |||
| Hideki Tanaka - Cannon Information Devon Taylor - Novell, Inc. | Hideki Tanaka - Cannon Information Devon Taylor - Novell, Inc. | |||
| Systems | Systems | |||
| Mike Timperman - Lexmark Atsushi Uchino - Epson | Mike Timperman - Lexmark Atsushi Uchino - Epson | |||
| Shigeru Ueda - Canon Bob Von Andel - Allegro Software | Shigeru Ueda - Canon Bob Von Andel - Allegro Software | |||
| William Wagner - NetSilicon/DPI Jim Walker - DAZEL | William Wagner - NetSilicon/DPI Jim Walker - DAZEL | |||
| Chris Wellens - Interworking Labs Trevor Wells - Hewlett Packard | Chris Wellens - Interworking Labs Trevor Wells - Hewlett Packard | |||
| Craig Whittle - Sharp Labs Rob Whittle - Novell, Inc. | Craig Whittle - Sharp Labs Rob Whittle - Novell, Inc. | |||
| Jasper Wong - Xionics Don Wright - Lexmark | Jasper Wong - Xionics Don Wright - Lexmark | |||
| Michael Wu - Heidelberg Digital Rick Yardumian - Xerox | Michael Wu - Heidelberg Digital Rick Yardumian - Xerox | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Michael Yeung - Canon Information Lloyd Young - Lexmark | Michael Yeung - Canon Information Lloyd Young - Lexmark | |||
| Systems | Systems | |||
| Atsushi Yuki - Kyocera Peter Zehler - Xerox | Atsushi Yuki - Kyocera Peter Zehler - Xerox | |||
| William Zhang- Canon Information Frank Zhao - Panasonic | William Zhang- Canon Information Frank Zhao - Panasonic | |||
| Systems | Systems | |||
| Steve Zilles - Adobe Rob Zirnstein - Canon Information | Steve Zilles - Adobe Rob Zirnstein - Canon Information | |||
| Systems | Systems | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 11. Formats for IPP Registration Proposals | 11. Formats for IPP Registration Proposals | |||
| In order to propose an IPP extension for registration, the proposer must | In order to propose an IPP extension for registration, the proposer must | |||
| submit an application to IANA by email to "iana@iana.org" or by filling | submit an application to IANA by email to "iana@iana.org" or by filling | |||
| out the appropriate form on the IANA web pages (http://www.iana.org). | out the appropriate form on the IANA web pages (http://www.iana.org). | |||
| This section specifies the required information and the formats for | This section specifies the required information and the formats for | |||
| proposing registrations of extensions to IPP as provided in Section 6 | proposing registrations of extensions to IPP as provided in Section 6 | |||
| for: | for: | |||
| skipping to change at page 152, line 5 ¶ | skipping to change at page 152, line 5 ¶ | |||
| Note: For type3 keywords, the proposer will be the point of contact for | Note: For type3 keywords, the proposer will be the point of contact for | |||
| the approved registration specification, if any maintenance of the | the approved registration specification, if any maintenance of the | |||
| registration specification is needed. | registration specification is needed. | |||
| 11.3 Type2 enum attribute values registration | 11.3 Type2 enum attribute values registration | |||
| Type of registration: type2 enum attribute value | Type of registration: type2 enum attribute value | |||
| Name of attribute to which this enum specification is to be added: | Name of attribute to which this enum specification is to be added: | |||
| Keyword symbolic name of this enum value: | Keyword symbolic name of this enum value: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Numeric value (to be assigned by the IPP Designated Expert in | Numeric value (to be assigned by the IPP Designated Expert in | |||
| consultation with IANA): | consultation with IANA): | |||
| Specification of this enum value (follow the style of IPP Model Section | Specification of this enum value (follow the style of IPP Model Section | |||
| 4.1.4): | 4.1.4): | |||
| Name of proposer: | Name of proposer: | |||
| Address of proposer: | Address of proposer: | |||
| Email address of proposer: | Email address of proposer: | |||
| Note: For type2 enums, the Designated Expert will be the point of | Note: For type2 enums, the Designated Expert will be the point of | |||
| contact for the approved registration specification, if any maintenance | contact for the approved registration specification, if any maintenance | |||
| skipping to change at page 153, line 5 ¶ | skipping to change at page 153, line 5 ¶ | |||
| Specification of this attribute (follow the style of IPP Model Section | Specification of this attribute (follow the style of IPP Model Section | |||
| 4.2): | 4.2): | |||
| Name of proposer: | Name of proposer: | |||
| Address of proposer: | Address of proposer: | |||
| Email address of proposer: | Email address of proposer: | |||
| Note: For attributes, the IPP Designated Expert will be the point of | Note: For attributes, the IPP Designated Expert will be the point of | |||
| contact for the approved registration specification, if any maintenance | contact for the approved registration specification, if any maintenance | |||
| of the registration specification is needed. | of the registration specification is needed. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 11.6 Attribute Syntax registration | 11.6 Attribute Syntax registration | |||
| Type of registration: attribute syntax | Type of registration: attribute syntax | |||
| Proposed name of this attribute syntax: | Proposed name of this attribute syntax: | |||
| Type of attribute syntax (integer, octetString, character-string, see | Type of attribute syntax (integer, octetString, character-string, see | |||
| [IPP-PRO]): | [IPP-PRO]): | |||
| Numeric tag according to [IPP-PRO] (to be assigned by the IPP Designated | Numeric tag according to [IPP-PRO] (to be assigned by the IPP Designated | |||
| Expert in consultation with IANA): | Expert in consultation with IANA): | |||
| Specification of this attribute (follow the style of IPP Model Section | Specification of this attribute (follow the style of IPP Model Section | |||
| 4.1): | 4.1): | |||
| skipping to change at page 154, line 5 ¶ | skipping to change at page 154, line 5 ¶ | |||
| Specification of this attribute group (follow the style of IPP Model | Specification of this attribute group (follow the style of IPP Model | |||
| Section 3): | Section 3): | |||
| Name of proposer: | Name of proposer: | |||
| Address of proposer: | Address of proposer: | |||
| Email address of proposer: | Email address of proposer: | |||
| Note: For attribute groups, the IPP Designated Expert will be the point | Note: For attribute groups, the IPP Designated Expert will be the point | |||
| of contact for the approved registration specification, if any | of contact for the approved registration specification, if any | |||
| maintenance of the registration specification is needed. | maintenance of the registration specification is needed. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 11.9 Status code registration | 11.9 Status code registration | |||
| Type of registration: status code | Type of registration: status code | |||
| Keyword symbolic name of this status code value: | Keyword symbolic name of this status code value: | |||
| Numeric value (to be assigned by the IPP Designated Expert in | Numeric value (to be assigned by the IPP Designated Expert in | |||
| consultation with IANA): | consultation with IANA): | |||
| Operations that this status code may be used with: | Operations that this status code may be used with: | |||
| Specification of this status code (follow the style of IPP Model Section | Specification of this status code (follow the style of IPP Model Section | |||
| 13 APPENDIX B: Status Codes and Suggested Status Code Messages): | 13 APPENDIX B: Status Codes and Suggested Status Code Messages): | |||
| Name of proposer: | Name of proposer: | |||
| skipping to change at page 155, line 5 ¶ | skipping to change at page 155, line 5 ¶ | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", | |||
| "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be | "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be | |||
| interpreted as described in RFC 2119 [RFC2119]. | interpreted as described in RFC 2119 [RFC2119]. | |||
| 12.1.1 NEED NOT | 12.1.1 NEED NOT | |||
| This term is not included in RFC 2119. The verb "NEED NOT" indicates an | This term is not included in RFC 2119. The verb "NEED NOT" indicates an | |||
| action that the subject of the sentence does not have to implement in | action that the subject of the sentence does not have to implement in | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| order to claim conformance to the standard. The verb "NEED NOT" is used | order to claim conformance to the standard. The verb "NEED NOT" is used | |||
| instead of "MAY NOT" since "MAY NOT" sounds like a prohibition. | instead of "MAY NOT" since "MAY NOT" sounds like a prohibition. | |||
| 12.2 Model Terminology | 12.2 Model Terminology | |||
| 12.2.1 Keyword | 12.2.1 Keyword | |||
| Keywords are used within this document as identifiers of semantic | Keywords are used within this document as identifiers of semantic | |||
| entities within the abstract model (see section 4.1.2.3). Attribute | entities within the abstract model (see section 4.1.2.3). Attribute | |||
| names, some attribute values, attribute syntaxes, and attribute group | names, some attribute values, attribute syntaxes, and attribute group | |||
| skipping to change at page 156, line 5 ¶ | skipping to change at page 156, line 5 ¶ | |||
| section 3. | section 3. | |||
| 12.2.2.3 Attribute Value | 12.2.2.3 Attribute Value | |||
| Each attribute has one or more values. Attribute values are represented | Each attribute has one or more values. Attribute values are represented | |||
| in the syntax type specified for that attribute. In running text in this | in the syntax type specified for that attribute. In running text in this | |||
| document, attribute values are indicated inside single quotation marks | document, attribute values are indicated inside single quotation marks | |||
| ('), whether their attribute syntax is keyword, integer, text, etc. | ('), whether their attribute syntax is keyword, integer, text, etc. | |||
| where the quotation marks are not part of the value itself. | where the quotation marks are not part of the value itself. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 12.2.2.4 Attribute Syntax | 12.2.2.4 Attribute Syntax | |||
| Each attribute is defined using an explicit syntax type. In this | Each attribute is defined using an explicit syntax type. In this | |||
| document, each syntax type is defined as a keyword with specific | document, each syntax type is defined as a keyword with specific | |||
| meaning. The "Encoding and Transport" document [IPP-PRO] indicates the | meaning. The "Encoding and Transport" document [IPP-PRO] indicates the | |||
| actual "on-the-wire" encoding rules for each syntax type. Attribute | actual "on-the-wire" encoding rules for each syntax type. Attribute | |||
| syntax types are defined in section 4.1. | syntax types are defined in section 4.1. | |||
| 12.2.3 Supports | 12.2.3 Supports | |||
| skipping to change at page 157, line 5 ¶ | skipping to change at page 157, line 5 ¶ | |||
| 1) If a Printer object is not physically capable of stapling, the | 1) If a Printer object is not physically capable of stapling, the | |||
| "finishings-supported" attribute MUST NOT be populated with the | "finishings-supported" attribute MUST NOT be populated with the | |||
| value of 'staple'. | value of 'staple'. | |||
| 2) A Printer object is physically capable of stapling, however an | 2) A Printer object is physically capable of stapling, however an | |||
| implementation chooses not to support stapling in the IPP | implementation chooses not to support stapling in the IPP | |||
| "finishings" attribute. In this case, 'staple' MUST NOT be a value | "finishings" attribute. In this case, 'staple' MUST NOT be a value | |||
| in the "finishings-supported" Printer object attribute. Without | in the "finishings-supported" Printer object attribute. Without | |||
| support for the value 'staple', an IPP end user would have no means | support for the value 'staple', an IPP end user would have no means | |||
| within the protocol itself to request that a Job be stapled. | within the protocol itself to request that a Job be stapled. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| However, an existing document data formatter might be able to | However, an existing document data formatter might be able to | |||
| request that the document be stapled directly with an embedded | request that the document be stapled directly with an embedded | |||
| instruction within the document data. In this case, the IPP | instruction within the document data. In this case, the IPP | |||
| implementation does not "support" stapling, however the end user is | implementation does not "support" stapling, however the end user is | |||
| still able to have some control over the stapling of the completed | still able to have some control over the stapling of the completed | |||
| job. | job. | |||
| 3) A Printer object is physically capable of stapling, and an | 3) A Printer object is physically capable of stapling, and an | |||
| implementation chooses to support stapling in the IPP "finishings" | implementation chooses to support stapling in the IPP "finishings" | |||
| attribute. In this case, 'staple' MUST be a value in the | attribute. In this case, 'staple' MUST be a value in the | |||
| "finishings-supported" Printer object attribute. Doing so, would | "finishings-supported" Printer object attribute. Doing so, would | |||
| skipping to change at page 158, line 5 ¶ | skipping to change at page 158, line 5 ¶ | |||
| sheets, the system administrator sets the only supported value for the | sheets, the system administrator sets the only supported value for the | |||
| "job-sheets-supported" attribute to 'none'. In this case, if a client | "job-sheets-supported" attribute to 'none'. In this case, if a client | |||
| requests anything except 'none', the create request is rejected or the | requests anything except 'none', the create request is rejected or the | |||
| "job-sheets" value is ignored (depending on the value of "ipp-attribute- | "job-sheets" value is ignored (depending on the value of "ipp-attribute- | |||
| fidelity"). To force the use of job start/end sheets on all jobs, the | fidelity"). To force the use of job start/end sheets on all jobs, the | |||
| administrator does not include the value 'none' in the "job-sheets- | administrator does not include the value 'none' in the "job-sheets- | |||
| supported" attribute. In this case, if a client requests 'none', the | supported" attribute. In this case, if a client requests 'none', the | |||
| create request is rejected or the "job-sheets" value is ignored (again | create request is rejected or the "job-sheets" value is ignored (again | |||
| depending on the value of "ipp-attribute-fidelity"). | depending on the value of "ipp-attribute-fidelity"). | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 12.2.4 print-stream page | 12.2.4 print-stream page | |||
| A "print-stream page" is a page according to the definition of pages in | A "print-stream page" is a page according to the definition of pages in | |||
| the language used to express the document data. | the language used to express the document data. | |||
| 12.2.5 impression | 12.2.5 impression | |||
| An "impression" is the image (possibly many print-stream pages in | An "impression" is the image (possibly many print-stream pages in | |||
| different configurations) imposed onto a single media page. | different configurations) imposed onto a single media page. | |||
| skipping to change at page 159, line 5 ¶ | skipping to change at page 159, line 5 ¶ | |||
| first status code of that class, with the exception that an unrecognized | first status code of that class, with the exception that an unrecognized | |||
| response MUST NOT be cached. For example, if an unrecognized status | response MUST NOT be cached. For example, if an unrecognized status | |||
| code of "client-error-xxx-yyy" is received by the client, it can safely | code of "client-error-xxx-yyy" is received by the client, it can safely | |||
| assume that there was something wrong with its request and treat the | assume that there was something wrong with its request and treat the | |||
| response as if it had received a "client-error-bad-request" status code. | response as if it had received a "client-error-bad-request" status code. | |||
| In such cases, IPP applications SHOULD present the OPTIONAL message (if | In such cases, IPP applications SHOULD present the OPTIONAL message (if | |||
| present) to the end user since the message is likely to contain human | present) to the end user since the message is likely to contain human | |||
| readable information which will help to explain the unusual status. The | readable information which will help to explain the unusual status. The | |||
| name of the enum is the suggested status message for US English. | name of the enum is the suggested status message for US English. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The status code values range from 0x0000 to 0x7FFF. The value ranges | The status code values range from 0x0000 to 0x7FFF. The value ranges | |||
| for each status code class are as follows: | for each status code class are as follows: | |||
| "successful" - 0x0000 to 0x00FF | "successful" - 0x0000 to 0x00FF | |||
| "informational" - 0x0100 to 0x01FF | "informational" - 0x0100 to 0x01FF | |||
| "redirection" - 0x0200 to 0x02FF | "redirection" - 0x0200 to 0x02FF | |||
| "client-error" - 0x0400 to 0x04FF | "client-error" - 0x0400 to 0x04FF | |||
| "server-error" - 0x0500 to 0x05FF | "server-error" - 0x0500 to 0x05FF | |||
| The top half (128 values) of each range (0x0n40 to 0x0nFF, for n = 0 to | The top half (128 values) of each range (0x0n40 to 0x0nFF, for n = 0 to | |||
| skipping to change at page 160, line 5 ¶ | skipping to change at page 160, line 5 ¶ | |||
| the Job object into the 'completed' state is the only indicator that the | the Job object into the 'completed' state is the only indicator that the | |||
| job has been printed. | job has been printed. | |||
| 13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001) | 13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001) | |||
| The request has succeeded, but some supplied (1) attributes were ignored | The request has succeeded, but some supplied (1) attributes were ignored | |||
| or (2) unsupported values were substituted with supported values or were | or (2) unsupported values were substituted with supported values or were | |||
| ignored in order to perform the operation without rejecting it. | ignored in order to perform the operation without rejecting it. | |||
| Unsupported attributes, attribute syntaxes, or values MUST be returned | Unsupported attributes, attribute syntaxes, or values MUST be returned | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| in the Unsupported Attributes group of the response for all operations. | in the Unsupported Attributes group of the response for all operations. | |||
| There is an exception to this rule for the query operations: Get- | There is an exception to this rule for the query operations: Get- | |||
| Printer-Attributes, Get-Jobs, and Get-Job-Attributes for the "requested- | Printer-Attributes, Get-Jobs, and Get-Job-Attributes for the "requested- | |||
| attributes" operation attribute only. When the supplied values of the | attributes" operation attribute only. When the supplied values of the | |||
| "requested-attributes" operation attribute are requesting attributes | "requested-attributes" operation attribute are requesting attributes | |||
| that are not supported, the IPP object MAY, but is NOT REQUIRED to, | that are not supported, the IPP object MAY, but is NOT REQUIRED to, | |||
| return the "requested-attributes" attribute in the Unsupported Attribute | return the "requested-attributes" attribute in the Unsupported Attribute | |||
| response group (with the unsupported values only). See sections 3.1.7 | response group (with the unsupported values only). See sections 3.1.7 | |||
| and 3.2.1.2. | and 3.2.1.2. | |||
| skipping to change at page 161, line 5 ¶ | skipping to change at page 161, line 5 ¶ | |||
| the request without modifications. | the request without modifications. | |||
| 13.1.4.2 client-error-forbidden (0x0401) | 13.1.4.2 client-error-forbidden (0x0401) | |||
| The IPP object understood the request, but is refusing to fulfill it. | The IPP object understood the request, but is refusing to fulfill it. | |||
| Additional authentication information or authorization credentials will | Additional authentication information or authorization credentials will | |||
| not help and the request SHOULD NOT be repeated. This status code is | not help and the request SHOULD NOT be repeated. This status code is | |||
| commonly used when the IPP object does not wish to reveal exactly why | commonly used when the IPP object does not wish to reveal exactly why | |||
| the request has been refused or when no other response is applicable. | the request has been refused or when no other response is applicable. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.4.3 client-error-not-authenticated (0x0402) | 13.1.4.3 client-error-not-authenticated (0x0402) | |||
| The request requires user authentication. The IPP client may repeat the | The request requires user authentication. The IPP client may repeat the | |||
| request with suitable authentication information. If the request already | request with suitable authentication information. If the request already | |||
| included authentication information, then this status code indicates | included authentication information, then this status code indicates | |||
| that authorization has been refused for those credentials. If this | that authorization has been refused for those credentials. If this | |||
| response contains the same challenge as the prior response, and the user | response contains the same challenge as the prior response, and the user | |||
| agent has already attempted authentication at least once, then the | agent has already attempted authentication at least once, then the | |||
| response message may contain relevant diagnostic information. This | response message may contain relevant diagnostic information. This | |||
| status codes reveals more information than "client-error-forbidden". | status codes reveals more information than "client-error-forbidden". | |||
| skipping to change at page 162, line 5 ¶ | skipping to change at page 162, line 5 ¶ | |||
| indication is given of whether the condition is temporary or permanent. | indication is given of whether the condition is temporary or permanent. | |||
| For example, a client with an old reference to a Job (a URI) tries to | For example, a client with an old reference to a Job (a URI) tries to | |||
| cancel the Job, however in the mean time the Job might have been | cancel the Job, however in the mean time the Job might have been | |||
| completed and all record of it at the Printer has been deleted. This | completed and all record of it at the Printer has been deleted. This | |||
| status code, 'client-error-not-found' is returned indicating that the | status code, 'client-error-not-found' is returned indicating that the | |||
| referenced Job can not be found. This error status code is also used | referenced Job can not be found. This error status code is also used | |||
| when a client supplies a URI as a reference to the document data in | when a client supplies a URI as a reference to the document data in | |||
| either a Print-URI or Send-URI operation, but the document can not be | either a Print-URI or Send-URI operation, but the document can not be | |||
| found. | found. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| In practice, an IPP application should avoid a not found situation by | In practice, an IPP application should avoid a not found situation by | |||
| first querying and presenting a list of valid Printer URIs and Job URIs | first querying and presenting a list of valid Printer URIs and Job URIs | |||
| to the end-user. | to the end-user. | |||
| 13.1.4.8 client-error-gone (0x0407) | 13.1.4.8 client-error-gone (0x0407) | |||
| The requested object is no longer available and no forwarding address is | The requested object is no longer available and no forwarding address is | |||
| known. This condition should be considered permanent. Clients with | known. This condition should be considered permanent. Clients with | |||
| link editing capabilities should delete references to the request URI | link editing capabilities should delete references to the request URI | |||
| after user approval. If the IPP object does not know or has no facility | after user approval. If the IPP object does not know or has no facility | |||
| to determine, whether or not the condition is permanent, the status code | to determine, whether or not the condition is permanent, the status code | |||
| "client-error-not-found" should be used instead. | "client-error-not-found" should be used instead. | |||
| This response is primarily intended to assist the task of maintenance by | This response is primarily intended to assist the task of maintenance by | |||
| notifying the recipient that the resource is intentionally unavailable | notifying the recipient that the resource is intentionally unavailable | |||
| and that the IPP object administrator desires that remote links to that | and that the IPP object administrator desires that remote links to that | |||
| resource be removed. It is not necessary to mark all permanently | resource be removed. It is not necessary to mark all permanently | |||
| unavailable resources as "gone" or to keep the mark for any length of | unavailable resources as "gone" or to keep the mark for any length of | |||
| time -- that is left to the discretion of the IPP object administrator. | time -- that is left to the discretion of the IPP object administrator | |||
| and/or Printer implementation. | ||||
| 13.1.4.9 client-error-request-entity-too-large (0x0408) | 13.1.4.9 client-error-request-entity-too-large (0x0408) | |||
| The IPP object is refusing to process a request because the request | The IPP object is refusing to process a request because the request | |||
| entity is larger than the IPP object is willing or able to process. An | entity is larger than the IPP object is willing or able to process. An | |||
| IPP Printer returns this status code when it limits the size of print | IPP Printer returns this status code when it limits the size of print | |||
| jobs and it receives a print job that exceeds that limit or when the | jobs and it receives a print job that exceeds that limit or when the | |||
| attributes are so many that their encoding causes the request entity to | attributes are so many that their encoding causes the request entity to | |||
| exceed IPP object capacity. | exceed IPP object capacity. | |||
| skipping to change at page 163, line 5 ¶ | skipping to change at page 163, line 5 ¶ | |||
| Note: For attribute values that are URIs, this rare condition is only | Note: For attribute values that are URIs, this rare condition is only | |||
| likely to occur when a client has improperly submitted a request with | likely to occur when a client has improperly submitted a request with | |||
| long query information (e.g. an IPP application allows an end-user to | long query information (e.g. an IPP application allows an end-user to | |||
| enter an invalid URI), when the client has descended into a URI "black | enter an invalid URI), when the client has descended into a URI "black | |||
| hole" of redirection (e.g., a redirected URI prefix that points to a | hole" of redirection (e.g., a redirected URI prefix that points to a | |||
| suffix of itself), or when the IPP object is under attack by a client | suffix of itself), or when the IPP object is under attack by a client | |||
| attempting to exploit security holes present in some IPP objects using | attempting to exploit security holes present in some IPP objects using | |||
| fixed-length buffers for reading or manipulating the Request-URI. | fixed-length buffers for reading or manipulating the Request-URI. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.4.11 client-error-document-format-not-supported (0x040A) | 13.1.4.11 client-error-document-format-not-supported (0x040A) | |||
| The IPP object is refusing to service the request because the document | The IPP object is refusing to service the request because the document | |||
| data is in a format, as specified in the "document-format" operation | data is in a format, as specified in the "document-format" operation | |||
| attribute, that is not supported by the Printer object. This error is | attribute, that is not supported by the Printer object. This error is | |||
| returned independent of the client-supplied "ipp-attribute-fidelity". | returned independent of the client-supplied "ipp-attribute-fidelity". | |||
| The Printer object MUST return this status code, even if there are other | The Printer object MUST return this status code, even if there are other | |||
| Job Template attributes that are not supported as well, since this error | Job Template attributes that are not supported as well, since this error | |||
| is a bigger problem than with Job Template attributes. See sections | is a bigger problem than with Job Template attributes. See sections | |||
| 3.1.6.1, 3.1.7, and 3.2.1.1. | 3.1.6.1, 3.1.7, and 3.2.1.1. | |||
| skipping to change at page 164, line 5 ¶ | skipping to change at page 164, line 5 ¶ | |||
| operation is not supported. See sections 3.1.6.1 and 3.1.7. | operation is not supported. See sections 3.1.6.1 and 3.1.7. | |||
| 13.1.4.14 client-error-charset-not-supported (0x040D) | 13.1.4.14 client-error-charset-not-supported (0x040D) | |||
| For any operation, if the IPP Printer does not support the charset | For any operation, if the IPP Printer does not support the charset | |||
| supplied by the client in the "attributes-charset" operation attribute, | supplied by the client in the "attributes-charset" operation attribute, | |||
| the Printer MUST reject the operation and return this status and any | the Printer MUST reject the operation and return this status and any | |||
| 'text' or 'name' attributes using the 'utf-8' charset (see Section | 'text' or 'name' attributes using the 'utf-8' charset (see Section | |||
| 3.1.4.1). See sections 3.1.6.1 and 3.1.7. | 3.1.4.1). See sections 3.1.6.1 and 3.1.7. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.4.15 client-error-conflicting-attributes (0x040E) | 13.1.4.15 client-error-conflicting-attributes (0x040E) | |||
| The request is rejected because some attribute values conflicted with | The request is rejected because some attribute values conflicted with | |||
| the values of other attributes which this document does not permit to be | the values of other attributes which this document does not permit to be | |||
| substituted or ignored. The Printer object MUST also return in the | substituted or ignored. The Printer object MUST also return in the | |||
| Unsupported Attributes Group the conflicting attributes supplied by the | Unsupported Attributes Group the conflicting attributes supplied by the | |||
| client. See sections 3.1.7 and 3.2.1.2. | client. See sections 3.1.7 and 3.2.1.2. | |||
| 13.1.4.16 client-error-compression-not-supported (0x040F) | 13.1.4.16 client-error-compression-not-supported (0x040F) | |||
| skipping to change at page 165, line 5 ¶ | skipping to change at page 165, line 5 ¶ | |||
| the accessibility or access the document data specified in the | the accessibility or access the document data specified in the | |||
| "document-uri" operation attribute. The Printer MAY also return a | "document-uri" operation attribute. The Printer MAY also return a | |||
| specific document access error code using the "document-access-error" | specific document access error code using the "document-access-error" | |||
| operation attribute (see section 3.1.6.4). This error is returned | operation attribute (see section 3.1.6.4). This error is returned | |||
| independent of the client-supplied "ipp-attribute-fidelity". The | independent of the client-supplied "ipp-attribute-fidelity". The | |||
| Printer object MUST return this status code, even if there are Job | Printer object MUST return this status code, even if there are Job | |||
| Template attributes that are not supported as well, since this error is | Template attributes that are not supported as well, since this error is | |||
| a bigger problem than with Job Template attributes. See sections | a bigger problem than with Job Template attributes. See sections | |||
| 3.1.6.1 and 3.1.7. | 3.1.6.1 and 3.1.7. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.5 Server Error Status Codes | 13.1.5 Server Error Status Codes | |||
| This class of status codes indicates cases in which the IPP object is | This class of status codes indicates cases in which the IPP object is | |||
| aware that it has erred or is incapable of performing the request. The | aware that it has erred or is incapable of performing the request. The | |||
| IPP object SHOULD include a message containing an explanation of the | IPP object SHOULD include a message containing an explanation of the | |||
| error situation, and whether it is a temporary or permanent condition. | error situation, and whether it is a temporary or permanent condition. | |||
| 13.1.5.1 server-error-internal-error (0x0500) | 13.1.5.1 server-error-internal-error (0x0500) | |||
| The IPP object encountered an unexpected condition that prevented it | The IPP object encountered an unexpected condition that prevented it | |||
| skipping to change at page 166, line 5 ¶ | skipping to change at page 166, line 5 ¶ | |||
| error message. The error response SHOULD contain a "status-message" | error message. The error response SHOULD contain a "status-message" | |||
| attribute (see section 3.1.6.2) describing why that version is not | attribute (see section 3.1.6.2) describing why that version is not | |||
| supported and what other versions are supported by that IPP object. See | supported and what other versions are supported by that IPP object. See | |||
| sections 3.1.6.1, 3.1.7, and 3.1.8. | sections 3.1.6.1, 3.1.7, and 3.1.8. | |||
| The error response MUST identify in the "version-number" operation | The error response MUST identify in the "version-number" operation | |||
| parameter the closest version number that the IPP object does support. | parameter the closest version number that the IPP object does support. | |||
| For example, if a client supplies version '1.0' and an IPP/1.1 object | For example, if a client supplies version '1.0' and an IPP/1.1 object | |||
| supports version '1.0', then it responds with version '1.0' in all | supports version '1.0', then it responds with version '1.0' in all | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| responses to such a request. If the IPP/1.1 object does not support | responses to such a request. If the IPP/1.1 object does not support | |||
| version '1.0', then it should accept the request and respond with | version '1.0', then it should accept the request and respond with | |||
| version '1.1' or may reject the request and respond with this error code | version '1.1' or may reject the request and respond with this error code | |||
| and version '1.1'. If a client supplies a version '1.2', the IPP/1.1 | and version '1.1'. If a client supplies a version '1.2', the IPP/1.1 | |||
| object should accept the request and return version '1.1' or may reject | object should accept the request and return version '1.1' or may reject | |||
| the request and respond with this error code and version '1.1'. See | the request and respond with this error code and version '1.1'. See | |||
| sections 3.1.8 and 4.4.14. | sections 3.1.8 and 4.4.14. | |||
| 13.1.5.5 server-error-device-error (0x0504) | 13.1.5.5 server-error-device-error (0x0504) | |||
| skipping to change at page 167, line 5 ¶ | skipping to change at page 167, line 5 ¶ | |||
| "printer-is-accepting-jobs" attribute to 'false' (by means outside the | "printer-is-accepting-jobs" attribute to 'false' (by means outside the | |||
| scope of this IPP/1.1 document). | scope of this IPP/1.1 document). | |||
| 13.1.5.8 server-error-busy (0x0507) | 13.1.5.8 server-error-busy (0x0507) | |||
| A temporary error indicating that the Printer is too busy processing | A temporary error indicating that the Printer is too busy processing | |||
| jobs and/or other requests. The client SHOULD try the unmodified request | jobs and/or other requests. The client SHOULD try the unmodified request | |||
| again at some later point in time with an expectation that the temporary | again at some later point in time with an expectation that the temporary | |||
| busy condition will have been cleared. | busy condition will have been cleared. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.1.5.9 server-error-job-canceled (0x0508) | 13.1.5.9 server-error-job-canceled (0x0508) | |||
| An error indicating that the job has been canceled by an operator or the | An error indicating that the job has been canceled by an operator or the | |||
| system while the client was transmitting the data to the IPP Printer. | system while the client was transmitting the data to the IPP Printer. | |||
| If a job-id and job-uri had been created, then they are returned in the | If a job-id and job-uri had been created, then they are returned in the | |||
| Print-Job, Send-Document, or Send-URI response as usual; otherwise, no | Print-Job, Send-Document, or Send-URI response as usual; otherwise, no | |||
| job-id and job-uri are returned in the response. | job-id and job-uri are returned in the response. | |||
| 13.1.5.10 server-error-multiple-document-jobs-not-supported (0x0509) | 13.1.5.10 server-error-multiple-document-jobs-not-supported (0x0509) | |||
| The IPP object does not support multiple documents per job and a client | The IPP object does not support multiple documents per job and a client | |||
| attempted to supply document data with a second Send-Document or Send- | attempted to supply document data with a second Send-Document or Send- | |||
| URI operation. | URI operation. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13.2 Status Codes for IPP Operations | 13.2 Status Codes for IPP Operations | |||
| PJ = Print-Job, PU = Print-URI, CJ = Create-Job, SD = Send-Document | PJ = Print-Job, PU = Print-URI, CJ = Create-Job, SD = Send-Document | |||
| SU = Send-URI, V = Validate-Job, GA = Get-Job-Attributes and | SU = Send-URI, V = Validate-Job, GA = Get-Job-Attributes and | |||
| Get-Printer-Attributes, GJ = Get-Jobs, C = Cancel-Job | Get-Printer-Attributes, GJ = Get-Jobs, C = Cancel-Job | |||
| IPP Operations | IPP Operations | |||
| IPP Status Keyword PJ PU CJ SD SU V GA GJ C | IPP Status Keyword PJ PU CJ SD SU V GA GJ C | |||
| ------------------ -- -- -- -- -- - -- -- - | ------------------ -- -- -- -- -- - -- -- - | |||
| successful-ok x x x x x x x x x | successful-ok x x x x x x x x x | |||
| skipping to change at page 169, line 5 ¶ | skipping to change at page 169, line 5 ¶ | |||
| server-error-service-unavailable x x x x x x x x x | server-error-service-unavailable x x x x x x x x x | |||
| server-error-version-not-supported x x x x x x x x x | server-error-version-not-supported x x x x x x x x x | |||
| server-error-device-error x x x x x | server-error-device-error x x x x x | |||
| server-error-temporary-error x x x x x | server-error-temporary-error x x x x x | |||
| server-error-not-accepting-jobs x x x x | server-error-not-accepting-jobs x x x x | |||
| server-error-busy x x x x x x x x x | server-error-busy x x x x x x x x x | |||
| server-error-job-canceled x x x | server-error-job-canceled x x x | |||
| server-error-multiple-document-jobs- x x | server-error-multiple-document-jobs- x x | |||
| not-supported | not-supported | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| HJ = Hold-Job, RJ = Release-Job, RS = Restart-Job | HJ = Hold-Job, RJ = Release-Job, RS = Restart-Job | |||
| PP = Pause-Printer, RP = Resume-Printer, PJ = Purge-Jobs | PP = Pause-Printer, RP = Resume-Printer, PJ = Purge-Jobs | |||
| IPP Operations (cont.) | IPP Operations (cont.) | |||
| IPP Status Keyword HJ RJ RS PP RP PJ | IPP Status Keyword HJ RJ RS PP RP PJ | |||
| ------------------ -- -- -- -- -- -- | ------------------ -- -- -- -- -- -- | |||
| successful-ok x x x x x x | successful-ok x x x x x x | |||
| successful-ok-ignored-or-substituted- x x x x x x | successful-ok-ignored-or-substituted- x x x x x x | |||
| attributes | attributes | |||
| skipping to change at page 170, line 5 ¶ | skipping to change at page 170, line 5 ¶ | |||
| server-error-service-unavailable x x x x x x | server-error-service-unavailable x x x x x x | |||
| server-error-version-not-supported x x x x x x | server-error-version-not-supported x x x x x x | |||
| server-error-device-error | server-error-device-error | |||
| server-error-temporary-error x x x x x x | server-error-temporary-error x x x x x x | |||
| server-error-not-accepting-jobs | server-error-not-accepting-jobs | |||
| server-error-busy x x x x x x | server-error-busy x x x x x x | |||
| server-error-job-canceled | server-error-job-canceled | |||
| server-error-multiple-document-jobs- | server-error-multiple-document-jobs- | |||
| not-supported | not-supported | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 14. APPENDIX C: "media" keyword values | 14. APPENDIX C: "media" keyword values | |||
| 14. APPENDIX C: "media" keyword values | 14. APPENDIX C: "media" keyword values | |||
| Standard keyword values are taken from several sources. | Standard keyword values are taken from several sources. | |||
| Standard values are defined (taken from DPA[ISO10175] and the Printer | Standard values are defined (taken from DPA[ISO10175] and the Printer | |||
| MIB[RFC1759]): | MIB[RFC1759]): | |||
| skipping to change at page 171, line 5 ¶ | skipping to change at page 171, line 5 ¶ | |||
| 'na-legal-colored': Specifies the North American legal colored medium | 'na-legal-colored': Specifies the North American legal colored medium | |||
| The following standard values are defined for envelopes: | The following standard values are defined for envelopes: | |||
| 'iso-b4-envelope': Specifies the ISO B4 envelope medium | 'iso-b4-envelope': Specifies the ISO B4 envelope medium | |||
| 'iso-b5-envelope': Specifies the ISO B5 envelope medium | 'iso-b5-envelope': Specifies the ISO B5 envelope medium | |||
| 'iso-c3-envelope': Specifies the ISO C3 envelope medium | 'iso-c3-envelope': Specifies the ISO C3 envelope medium | |||
| 'iso-c4-envelope': Specifies the ISO C4 envelope medium | 'iso-c4-envelope': Specifies the ISO C4 envelope medium | |||
| 'iso-c5-envelope': Specifies the ISO C5 envelope medium | 'iso-c5-envelope': Specifies the ISO C5 envelope medium | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-c6-envelope': Specifies the ISO C6 envelope medium | 'iso-c6-envelope': Specifies the ISO C6 envelope medium | |||
| 'iso-designated-long-envelope': Specifies the ISO Designated Long | 'iso-designated-long-envelope': Specifies the ISO Designated Long | |||
| envelope medium | envelope medium | |||
| 'na-10x13-envelope': Specifies the North American 10x13 envelope | 'na-10x13-envelope': Specifies the North American 10x13 envelope | |||
| medium | medium | |||
| 'na-9x12-envelope': Specifies the North American 9x12 envelope medium | 'na-9x12-envelope': Specifies the North American 9x12 envelope medium | |||
| 'monarch-envelope': Specifies the Monarch envelope | 'monarch-envelope': Specifies the Monarch envelope | |||
| 'na-number-10-envelope': Specifies the North American number 10 | 'na-number-10-envelope': Specifies the North American number 10 | |||
| business envelope medium | business envelope medium | |||
| 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | |||
| skipping to change at page 172, line 5 ¶ | skipping to change at page 172, line 5 ¶ | |||
| 'iso-a4-translucent': Specifies the ISO A4 translucent medium: 210 mm | 'iso-a4-translucent': Specifies the ISO A4 translucent medium: 210 mm | |||
| x 297 mm | x 297 mm | |||
| 'iso-a5-transparent': Specifies the ISO A5 transparent medium: 148 mm | 'iso-a5-transparent': Specifies the ISO A5 transparent medium: 148 mm | |||
| x 210 mm | x 210 mm | |||
| 'iso-a5-translucent': Specifies the ISO A5 translucent medium: 148 mm | 'iso-a5-translucent': Specifies the ISO A5 translucent medium: 148 mm | |||
| x 210 mm | x 210 mm | |||
| 'iso-a6-white': Specifies the ISO A6 white medium: 105 mm x 148 mm | 'iso-a6-white': Specifies the ISO A6 white medium: 105 mm x 148 mm | |||
| 'iso-a7-white': Specifies the ISO A7 white medium: 74 mm x 105 mm | 'iso-a7-white': Specifies the ISO A7 white medium: 74 mm x 105 mm | |||
| 'iso-a8-white': Specifies the ISO A8 white medium: 52 mm x 74 mm | 'iso-a8-white': Specifies the ISO A8 white medium: 52 mm x 74 mm | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-a9-white': Specifies the ISO A9 white medium: 37 mm x 52 mm | 'iso-a9-white': Specifies the ISO A9 white medium: 37 mm x 52 mm | |||
| 'iso-10-white': Specifies the ISO A10 white medium: 26 mm x 37 mm | 'iso-10-white': Specifies the ISO A10 white medium: 26 mm x 37 mm | |||
| 'iso-b0-white': Specifies the ISO B0 white medium: 1000 mm x 1414 mm | 'iso-b0-white': Specifies the ISO B0 white medium: 1000 mm x 1414 mm | |||
| 'iso-b1-white': Specifies the ISO B1 white medium: 707 mm x 1000 mm | 'iso-b1-white': Specifies the ISO B1 white medium: 707 mm x 1000 mm | |||
| 'iso-b2-white': Specifies the ISO B2 white medium: 500 mm x 707 mm | 'iso-b2-white': Specifies the ISO B2 white medium: 500 mm x 707 mm | |||
| 'iso-b3-white': Specifies the ISO B3 white medium: 353 mm x 500 mm | 'iso-b3-white': Specifies the ISO B3 white medium: 353 mm x 500 mm | |||
| 'iso-b6-white': Specifies the ISO B6 white medium: 125 mm x 176 mm | 'iso-b6-white': Specifies the ISO B6 white medium: 125 mm x 176 mm | |||
| 'iso-b7-white': Specifies the ISO B7 white medium: 88 mm x 125 mm | 'iso-b7-white': Specifies the ISO B7 white medium: 88 mm x 125 mm | |||
| 'iso-b8-white': Specifies the ISO B8 white medium: 62 mm x 88 mm | 'iso-b8-white': Specifies the ISO B8 white medium: 62 mm x 88 mm | |||
| 'iso-b9-white': Specifies the ISO B9 white medium: 44 mm x 62 mm | 'iso-b9-white': Specifies the ISO B9 white medium: 44 mm x 62 mm | |||
| skipping to change at page 173, line 5 ¶ | skipping to change at page 173, line 5 ¶ | |||
| 'jis-b10-white': Specifies the JIS B10 white medium: 32 mm x 45 mm | 'jis-b10-white': Specifies the JIS B10 white medium: 32 mm x 45 mm | |||
| The following standard values are defined for American Standard (i.e. | The following standard values are defined for American Standard (i.e. | |||
| ANSI) engineering media: | ANSI) engineering media: | |||
| 'a-white': Specifies the engineering ANSI A size white medium: 8.5 | 'a-white': Specifies the engineering ANSI A size white medium: 8.5 | |||
| inches x 11 inches | inches x 11 inches | |||
| 'a-transparent': Specifies the engineering ANSI A size transparent | 'a-transparent': Specifies the engineering ANSI A size transparent | |||
| medium: 8.5 inches x 11 inches | medium: 8.5 inches x 11 inches | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'a-translucent': Specifies the engineering ANSI A size translucent | 'a-translucent': Specifies the engineering ANSI A size translucent | |||
| medium: 8.5 inches x 11 inches | medium: 8.5 inches x 11 inches | |||
| 'b-white': Specifies the engineering ANSI B size white medium: 11 | 'b-white': Specifies the engineering ANSI B size white medium: 11 | |||
| inches x 17 inches | inches x 17 inches | |||
| 'b-transparent': Specifies the engineering ANSI B size transparent | 'b-transparent': Specifies the engineering ANSI B size transparent | |||
| medium: 11 inches x 17 inches) | medium: 11 inches x 17 inches) | |||
| 'b-translucent': Specifies the engineering ANSI B size translucent | 'b-translucent': Specifies the engineering ANSI B size translucent | |||
| medium: 11 inches x 17 inches | medium: 11 inches x 17 inches | |||
| 'c-white': Specifies the engineering ANSI C size white medium: 17 | 'c-white': Specifies the engineering ANSI C size white medium: 17 | |||
| skipping to change at page 174, line 5 ¶ | skipping to change at page 174, line 5 ¶ | |||
| 'bxsynchro-transparent': Specifies the roll paper having the width of | 'bxsynchro-transparent': Specifies the roll paper having the width of | |||
| the longer edge (17 inches) of the engineering ANSI B size | the longer edge (17 inches) of the engineering ANSI B size | |||
| transparent medium and cuts synchronizing with data. | transparent medium and cuts synchronizing with data. | |||
| 'bxsynchro-translucent': Specifies the roll paper having the width of | 'bxsynchro-translucent': Specifies the roll paper having the width of | |||
| the longer edge (17 inches) of the engineering ANSI B size | the longer edge (17 inches) of the engineering ANSI B size | |||
| translucent medium and cuts synchronizing with data. | translucent medium and cuts synchronizing with data. | |||
| 'cxsynchro-white': Specifies the roll paper having the width of the | 'cxsynchro-white': Specifies the roll paper having the width of the | |||
| longer edge (22 inches) of the engineering ANSI C size white medium | longer edge (22 inches) of the engineering ANSI C size white medium | |||
| and cuts synchronizing with data. | and cuts synchronizing with data. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'cxsynchro-transparent': Specifies the roll paper having the width of | 'cxsynchro-transparent': Specifies the roll paper having the width of | |||
| the longer edge (22 inches) of the engineering ANSI C size | the longer edge (22 inches) of the engineering ANSI C size | |||
| transparent medium and cuts synchronizing with data. | transparent medium and cuts synchronizing with data. | |||
| 'cxsynchro-translucent': Specifies the roll paper having the width of | 'cxsynchro-translucent': Specifies the roll paper having the width of | |||
| the longer edge (22 inches) of the engineering ANSI C size | the longer edge (22 inches) of the engineering ANSI C size | |||
| translucent medium and cuts synchronizing with data. | translucent medium and cuts synchronizing with data. | |||
| 'dxsynchro-white': Specifies the roll paper having the width of the | 'dxsynchro-white': Specifies the roll paper having the width of the | |||
| longer edge (34 inches) of the engineering ANSI D size white medium | longer edge (34 inches) of the engineering ANSI D size white medium | |||
| and cuts synchronizing with data. | and cuts synchronizing with data. | |||
| skipping to change at page 175, line 5 ¶ | skipping to change at page 175, line 5 ¶ | |||
| medium: 18 inches x 24 inches | medium: 18 inches x 24 inches | |||
| 'arch-d-white': Specifies the Architectural D size white medium: 24 | 'arch-d-white': Specifies the Architectural D size white medium: 24 | |||
| inches x 36 inches | inches x 36 inches | |||
| 'arch-d-transparent': Specifies the Architectural D size transparent | 'arch-d-transparent': Specifies the Architectural D size transparent | |||
| medium: 24 inches x 36 inches | medium: 24 inches x 36 inches | |||
| 'arch-d-translucent': Specifies the Architectural D size translucent | 'arch-d-translucent': Specifies the Architectural D size translucent | |||
| medium: 24 inches x 36 inches | medium: 24 inches x 36 inches | |||
| 'arch-e-white': Specifies the Architectural E size white medium: 36 | 'arch-e-white': Specifies the Architectural E size white medium: 36 | |||
| inches x 48 inches | inches x 48 inches | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'arch-e-transparent': Specifies the Architectural E size transparent | 'arch-e-transparent': Specifies the Architectural E size transparent | |||
| medium: 36 inches x 48 inches | medium: 36 inches x 48 inches | |||
| 'arch-e-translucent': Specifies the Architectural E size translucent | 'arch-e-translucent': Specifies the Architectural E size translucent | |||
| medium: 36 inches x 48 inches | medium: 36 inches x 48 inches | |||
| The following standard values are defined for American Architectural | The following standard values are defined for American Architectural | |||
| engineering media for devices that provide the "synchro-cut" feature | engineering media for devices that provide the "synchro-cut" feature | |||
| (see section 14.1): | (see section 14.1): | |||
| skipping to change at page 176, line 5 ¶ | skipping to change at page 176, line 5 ¶ | |||
| 'arch-exsynchro-white': Specifies the roll paper having the width of | 'arch-exsynchro-white': Specifies the roll paper having the width of | |||
| the longer edge (48 inches) of the Architectural E size white | the longer edge (48 inches) of the Architectural E size white | |||
| medium and cuts synchronizing with data. | medium and cuts synchronizing with data. | |||
| 'arch-exsynchro-transparent': Specifies the roll paper having the | 'arch-exsynchro-transparent': Specifies the roll paper having the | |||
| width of the longer edge (48 inches) of the Architectural E size | width of the longer edge (48 inches) of the Architectural E size | |||
| transparent medium and cuts synchronizing with data. | transparent medium and cuts synchronizing with data. | |||
| 'arch-exsynchro-translucent': Specifies the roll paper having the | 'arch-exsynchro-translucent': Specifies the roll paper having the | |||
| width of the longer edge (48 inches) of the Architectural E size | width of the longer edge (48 inches) of the Architectural E size | |||
| translucent medium and cuts synchronizing with data. | translucent medium and cuts synchronizing with data. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| The following standard values are defined for Japanese and European | The following standard values are defined for Japanese and European | |||
| Standard (i.e. ISO) engineering media, which are of a long fixed size | Standard (i.e. ISO) engineering media, which are of a long fixed size | |||
| [ASME-Y14.1M]: | [ASME-Y14.1M]: | |||
| 'iso-a1x3-white': Specifies the ISO A1X3 white medium having the | 'iso-a1x3-white': Specifies the ISO A1X3 white medium having the | |||
| width of the longer edge (841 mm) of the ISO A1 medium | width of the longer edge (841 mm) of the ISO A1 medium | |||
| 'iso-a1x3-transparent': Specifies the ISO A1X3 transparent medium | 'iso-a1x3-transparent': Specifies the ISO A1X3 transparent medium | |||
| having the width of the longer edge (841 mm) of the ISO A1 | having the width of the longer edge (841 mm) of the ISO A1 | |||
| medium | medium | |||
| skipping to change at page 177, line 5 ¶ | skipping to change at page 177, line 5 ¶ | |||
| medium | medium | |||
| 'iso-a3x3-white': Specifies the ISO A3X3 white medium having the | 'iso-a3x3-white': Specifies the ISO A3X3 white medium having the | |||
| width of the longer edge (420 mm) of the ISO A3 medium | width of the longer edge (420 mm) of the ISO A3 medium | |||
| 'iso-a3x3-transparent': Specifies the ISO A3X3 transparent medium | 'iso-a3x3-transparent': Specifies the ISO A3X3 transparent medium | |||
| having the width of the longer edge (420 mm) of the ISO A3 | having the width of the longer edge (420 mm) of the ISO A3 | |||
| medium | medium | |||
| 'iso-a3x3-translucent': Specifies the ISO A3X3 translucent medium | 'iso-a3x3-translucent': Specifies the ISO A3X3 translucent medium | |||
| having the width of the longer edge (420 mm) of the ISO A3 | having the width of the longer edge (420 mm) of the ISO A3 | |||
| medium | medium | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-a3x4-white': Specifies the ISO A3X4 white medium having the | 'iso-a3x4-white': Specifies the ISO A3X4 white medium having the | |||
| width of the longer edge (420 mm) of the ISO A3 medium | width of the longer edge (420 mm) of the ISO A3 medium | |||
| 'iso-a3x4-transparent': Specifies the ISO A3X4 transparent medium | 'iso-a3x4-transparent': Specifies the ISO A3X4 transparent medium | |||
| having the width of the longer edge (420 mm) of the ISO A3 | having the width of the longer edge (420 mm) of the ISO A3 | |||
| medium | medium | |||
| 'iso-a3x4-translucent': Specifies the ISO A3X4 translucent medium | 'iso-a3x4-translucent': Specifies the ISO A3X4 translucent medium | |||
| having the width of the longer edge (420 mm) of the ISO A3 | having the width of the longer edge (420 mm) of the ISO A3 | |||
| medium | medium | |||
| 'iso-a3x5-white': Specifies the ISO A3X5 white medium having the | 'iso-a3x5-white': Specifies the ISO A3X5 white medium having the | |||
| skipping to change at page 178, line 5 ¶ | skipping to change at page 178, line 5 ¶ | |||
| medium | medium | |||
| 'iso-a4x4-translucent': Specifies the ISO A4X4 translucent medium | 'iso-a4x4-translucent': Specifies the ISO A4X4 translucent medium | |||
| having the width of the longer edge (297 mm) of the ISO A4 | having the width of the longer edge (297 mm) of the ISO A4 | |||
| medium | medium | |||
| 'iso-a4x5-white': Specifies the ISO A4X5 white medium having the | 'iso-a4x5-white': Specifies the ISO A4X5 white medium having the | |||
| width of the longer edge (297 mm) of the ISO A4 medium | width of the longer edge (297 mm) of the ISO A4 medium | |||
| 'iso-a4x5-transparent': Specifies the ISO A4X5 transparent medium | 'iso-a4x5-transparent': Specifies the ISO A4X5 transparent medium | |||
| having the width of the longer edge (297 mm) of the ISO A4 | having the width of the longer edge (297 mm) of the ISO A4 | |||
| medium | medium | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-a4x5-translucent': Specifies the ISO A4X5 translucent medium | 'iso-a4x5-translucent': Specifies the ISO A4X5 translucent medium | |||
| having the width of the longer edge (297 mm) of the ISO A4 | having the width of the longer edge (297 mm) of the ISO A4 | |||
| medium | medium | |||
| 'iso-a4x6-white': Specifies the ISO A4X6 white medium having the | 'iso-a4x6-white': Specifies the ISO A4X6 white medium having the | |||
| width of the longer edge (297 mm) of the ISO A4 medium | width of the longer edge (297 mm) of the ISO A4 medium | |||
| 'iso-a4x6-transparent': Specifies the ISO A4X6 transparent medium | 'iso-a4x6-transparent': Specifies the ISO A4X6 transparent medium | |||
| having the width of the longer edge (297 mm) of the ISO A4 | having the width of the longer edge (297 mm) of the ISO A4 | |||
| medium | medium | |||
| 'iso-a4x6-translucent': Specifies the ISO A4X6 translucent medium | 'iso-a4x6-translucent': Specifies the ISO A4X6 translucent medium | |||
| skipping to change at page 179, line 5 ¶ | skipping to change at page 179, line 5 ¶ | |||
| 'iso-a0xsynchro-transparent': Specifies the paper having the width of | 'iso-a0xsynchro-transparent': Specifies the paper having the width of | |||
| the longer edge (1189 mm) of the ISO A0 transparent medium and | the longer edge (1189 mm) of the ISO A0 transparent medium and | |||
| cuts synchronizing with data. | cuts synchronizing with data. | |||
| 'iso-a0xsynchro-translucent': Specifies the paper having the width of | 'iso-a0xsynchro-translucent': Specifies the paper having the width of | |||
| the longer edge (1189 mm) of the ISO A0 translucent medium and | the longer edge (1189 mm) of the ISO A0 translucent medium and | |||
| cuts synchronizing with data. | cuts synchronizing with data. | |||
| 'iso-a1xsynchro-white': Specifies the paper having the width of the | 'iso-a1xsynchro-white': Specifies the paper having the width of the | |||
| longer edge (841 mm) of the ISO A1 white medium and cuts | longer edge (841 mm) of the ISO A1 white medium and cuts | |||
| synchronizing with data. | synchronizing with data. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-a1xsynchro-transparent': Specifies the paper having the width of | 'iso-a1xsynchro-transparent': Specifies the paper having the width of | |||
| the longer edge (841 mm) of the ISO A1 transparent medium and | the longer edge (841 mm) of the ISO A1 transparent medium and | |||
| cuts synchronizing with data. | cuts synchronizing with data. | |||
| 'iso-a1xsynchro-translucent': Specifies the paper having the width of | 'iso-a1xsynchro-translucent': Specifies the paper having the width of | |||
| the longer edge (841 mm) of the ISO A1 translucent medium and | the longer edge (841 mm) of the ISO A1 translucent medium and | |||
| cuts synchronizing with data. | cuts synchronizing with data. | |||
| 'iso-a2xsynchro-white': Specifies the paper having the width of the | 'iso-a2xsynchro-white': Specifies the paper having the width of the | |||
| longer edge (594 mm) of the ISO A2 white medium and cuts | longer edge (594 mm) of the ISO A2 white medium and cuts | |||
| synchronizing with data. | synchronizing with data. | |||
| skipping to change at page 180, line 5 ¶ | skipping to change at page 180, line 5 ¶ | |||
| synchro size, and the selection is implementation-defined. | synchro size, and the selection is implementation-defined. | |||
| 'auto-transparent': Specifies that the printer selects the | 'auto-transparent': Specifies that the printer selects the | |||
| transparent medium with the appropriate fixed size (e.g. a1, a2, | transparent medium with the appropriate fixed size (e.g. a1, a2, | |||
| etc.) or data-synchro size, and the selection is implementation- | etc.) or data-synchro size, and the selection is implementation- | |||
| defined. | defined. | |||
| 'auto-translucent': Specifies that the printer selects the | 'auto-translucent': Specifies that the printer selects the | |||
| translucent medium with the appropriate fixed size (e.g. a1, a2, | translucent medium with the appropriate fixed size (e.g. a1, a2, | |||
| etc.) or data-synchro size, and the selection is implementation- | etc.) or data-synchro size, and the selection is implementation- | |||
| defined. | defined. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'auto-fixed-size-white': Specifies that the printer selects the white | 'auto-fixed-size-white': Specifies that the printer selects the white | |||
| medium with the appropriate fixed size (e.g. a1, a2, etc.) or | medium with the appropriate fixed size (e.g. a1, a2, etc.) or | |||
| the appropriate long fixed size listed above. | the appropriate long fixed size listed above. | |||
| 'auto-fixed-size-transparent': Specifies that the printer selects the | 'auto-fixed-size-transparent': Specifies that the printer selects the | |||
| transparent medium with the appropriate fixed size (e.g. a1, a2, | transparent medium with the appropriate fixed size (e.g. a1, a2, | |||
| etc.) or the appropriate long fixed size listed above. | etc.) or the appropriate long fixed size listed above. | |||
| 'auto-fixed-size-translucent': Specifies that the printer selects the | 'auto-fixed-size-translucent': Specifies that the printer selects the | |||
| translucent medium with the appropriate fixed size (e.g. a1, a2, | translucent medium with the appropriate fixed size (e.g. a1, a2, | |||
| etc.) or the appropriate long fixed size listed above. | etc.) or the appropriate long fixed size listed above. | |||
| skipping to change at page 181, line 5 ¶ | skipping to change at page 181, line 5 ¶ | |||
| ISO 216 | ISO 216 | |||
| 'iso-a5': Specifies the ISO A5 size: 148 mm by 210 mm as defined in | 'iso-a5': Specifies the ISO A5 size: 148 mm by 210 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-a6': Specifies the ISO A6 size: 105 mm by 148 mm as defined in | 'iso-a6': Specifies the ISO A6 size: 105 mm by 148 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-a7': Specifies the ISO A7 size: 74 mm by 105 mm as defined in | 'iso-a7': Specifies the ISO A7 size: 74 mm by 105 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-a8': Specifies the ISO A8 size: 52 mm by 74 mm as defined in ISO | 'iso-a8': Specifies the ISO A8 size: 52 mm by 74 mm as defined in ISO | |||
| 216 | 216 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-a9': Specifies the ISO A9 size: 37 mm by 52 mm as defined in ISO | 'iso-a9': Specifies the ISO A9 size: 37 mm by 52 mm as defined in ISO | |||
| 216 | 216 | |||
| 'iso-a10': Specifies the ISO A10 size: 26 mm by 37 mm as defined in | 'iso-a10': Specifies the ISO A10 size: 26 mm by 37 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b0': Specifies the ISO B0 size: 1000 mm by 1414 mm as defined in | 'iso-b0': Specifies the ISO B0 size: 1000 mm by 1414 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b1': Specifies the ISO B1 size: 707 mm by 1000 mm as defined in | 'iso-b1': Specifies the ISO B1 size: 707 mm by 1000 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b2': Specifies the ISO B2 size: 500 mm by 707 mm as defined in | 'iso-b2': Specifies the ISO B2 size: 500 mm by 707 mm as defined in | |||
| skipping to change at page 182, line 5 ¶ | skipping to change at page 182, line 5 ¶ | |||
| ISO 269 | ISO 269 | |||
| 'iso-designated-long': Specifies the ISO Designated Long size: 110 mm | 'iso-designated-long': Specifies the ISO Designated Long size: 110 mm | |||
| by 220 mm as defined in ISO 269 | by 220 mm as defined in ISO 269 | |||
| 'na-10x13-envelope': Specifies the North American 10x13 size: 10 | 'na-10x13-envelope': Specifies the North American 10x13 size: 10 | |||
| inches by 13 inches | inches by 13 inches | |||
| 'na-9x12-envelope': Specifies the North American 9x12 size: 9 inches | 'na-9x12-envelope': Specifies the North American 9x12 size: 9 inches | |||
| by 12 inches | by 12 inches | |||
| 'na-number-10-envelope': Specifies the North American number 10 | 'na-number-10-envelope': Specifies the North American number 10 | |||
| business envelope size: 4.125 inches by 9.5 inches | business envelope size: 4.125 inches by 9.5 inches | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | |||
| size | size | |||
| 'na-9x11-envelope': Specifies the North American 9x11 inch envelope | 'na-9x11-envelope': Specifies the North American 9x11 inch envelope | |||
| size | size | |||
| 'na-10x14-envelope': Specifies the North American 10x14 inch envelope | 'na-10x14-envelope': Specifies the North American 10x14 inch envelope | |||
| size | size | |||
| 'na-number-9-envelope': Specifies the North American number 9 | 'na-number-9-envelope': Specifies the North American number 9 | |||
| business envelope size | business envelope size | |||
| 'na-6x9-envelope': Specifies the North American 6x9 envelope size | 'na-6x9-envelope': Specifies the North American 6x9 envelope size | |||
| skipping to change at page 183, line 5 ¶ | skipping to change at page 183, line 5 ¶ | |||
| inches | inches | |||
| 'arch-b': Specifies the Architectural B size medium: 12 inches x 18 | 'arch-b': Specifies the Architectural B size medium: 12 inches x 18 | |||
| inches | inches | |||
| 'arch-c': Specifies the Architectural C size medium: 18 inches x 24 | 'arch-c': Specifies the Architectural C size medium: 18 inches x 24 | |||
| inches | inches | |||
| 'arch-d': Specifies the Architectural D size medium: 24 inches x 36 | 'arch-d': Specifies the Architectural D size medium: 24 inches x 36 | |||
| inches | inches | |||
| 'arch-e': Specifies the Architectural E size medium: 36 inches x 48 | 'arch-e': Specifies the Architectural E size medium: 36 inches x 48 | |||
| inches | inches | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 14.1.Examples | 14.1.Examples | |||
| Below are examples to supplement the engineering media value | Below are examples to supplement the engineering media value | |||
| definitions. | definitions. | |||
| Example 1: "Synchro-Cut", a device cutting the roll paper in | Example 1: "Synchro-Cut", a device cutting the roll paper in | |||
| synchronization with the data | synchronization with the data | |||
| data height: A1 height | data height: A1 height | |||
| skipping to change at page 184, line 5 ¶ | skipping to change at page 184, line 5 ¶ | |||
| direction |//////////////|/////| | | \ | direction |//////////////|/////| | | \ | |||
| |//////////////|/////| | | / | |//////////////|/////| | | / | |||
| |//////////////|/////| | v / | |//////////////|/////| | v / | |||
| +------------------------------------------/ | +------------------------------------------/ | |||
| | | | | |||
| | | | | |||
| |<------ CUT HERE (to synchronize | |<------ CUT HERE (to synchronize | |||
| | with data width) | | with data width) | |||
| | | | | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Example 2: "Auto-Cut", a device cutting the roll paper at multiples of | Example 2: "Auto-Cut", a device cutting the roll paper at multiples of | |||
| fixed-size media width | fixed-size media width | |||
| data height: A1 height | data height: A1 height | |||
| data width (shaded): A1 width < data width < (A1 width) x 2 | data width (shaded): A1 width < data width < (A1 width) x 2 | |||
| specified value: 'auto-fixed-size-white' | specified value: 'auto-fixed-size-white' | |||
| | | | | | | |||
| |<--- data width --->| | |<--- data width --->| | |||
| | | | | | | |||
| skipping to change at page 185, line 5 ¶ | skipping to change at page 185, line 5 ¶ | |||
| direction |//////////////|/////| | | \ | direction |//////////////|/////| | | \ | |||
| |//////////////|/////| | | / | |//////////////|/////| | | / | |||
| |//////////////|/////| | v / | |//////////////|/////| | v / | |||
| +------------------------------------------/ | +------------------------------------------/ | |||
| | | | | |||
| | | | | |||
| |<--- CUT HERE | |<--- CUT HERE | |||
| | (to synchronize | | (to synchronize | |||
| | with data width) | | with data width) | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Example 3: the 'iso-a4x4-white' fixed size paper | Example 3: the 'iso-a4x4-white' fixed size paper | |||
| paper height: A4 height | paper height: A4 height | |||
| paper width: (A4 width) x 4 | paper width: (A4 width) x 4 | |||
| specified value: 'iso-a4x4-white' | specified value: 'iso-a4x4-white' | |||
| | | | | | | | | | | | | |||
| |<- A4 width ->|<- A4 width ->|<- A4 width ->|<- A4 width ->| | |<- A4 width ->|<- A4 width ->|<- A4 width ->|<- A4 width ->| | |||
| | | | | | | | | | | | | |||
| skipping to change at page 186, line 5 ¶ | skipping to change at page 186, line 5 ¶ | |||
| | | | | | | | | | | | | | | |||
| | | | | | | | | | | | | | | |||
| | A4 | | | | | | A4 | | | | | |||
| | height | | | | | | height | | | | | |||
| | | | | | | | | | | | | | | |||
| | | | | | | | | | | | | | | |||
| | | | | | | | | | | | | | | |||
| | v | | | | | | v | | | | | |||
| +-----------------------------------------------------------+ | +-----------------------------------------------------------+ | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Example 4: "Synchro-Cut", a device cutting the fixed size paper in | Example 4: "Synchro-Cut", a device cutting the fixed size paper in | |||
| synchronization with the data | synchronization with the data | |||
| data height: A4 height | data height: A4 height | |||
| data width (shaded): (A4 width) x 2 < data width < (A4 width) x 3 | data width (shaded): (A4 width) x 2 < data width < (A4 width) x 3 | |||
| specified value: 'iso-a4xsynchro-white' | specified value: 'iso-a4xsynchro-white' | |||
| | | | | | | |||
| |<---------- data width ----------->| | |<---------- data width ----------->| | |||
| | | | | | | |||
| skipping to change at page 187, line 5 ¶ | skipping to change at page 187, line 5 ¶ | |||
| feed | |//////////////|//////////////|/////| height | | feed | |//////////////|//////////////|/////| height | | |||
| direction |//////////////|//////////////|/////| | | | direction |//////////////|//////////////|/////| | | | |||
| |//////////////|//////////////|/////| | | | |//////////////|//////////////|/////| | | | |||
| |//////////////|//////////////|/////| v | | |//////////////|//////////////|/////| v | | |||
| +--------------------------------------------+ | +--------------------------------------------+ | |||
| | | | | |||
| CUT HERE ---->| | CUT HERE ---->| | |||
| (to synchronize | | (to synchronize | | |||
| with data width) | | with data width) | | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| Standard keyword values are taken from several sources. | Standard keyword values are taken from several sources. | |||
| Standard values are defined (taken from DPA[ISO10175] and the Printer | Standard values are defined (taken from DPA[ISO10175] and the Printer | |||
| MIB[RFC1759]): | MIB[RFC1759]): | |||
| 'default': The default medium for the output device | 'default': The default medium for the output device | |||
| 'iso-a4-white': Specifies the ISO A4 white medium | 'iso-a4-white': Specifies the ISO A4 white medium | |||
| 'iso-a4-colored': Specifies the ISO A4 colored medium | 'iso-a4-colored': Specifies the ISO A4 colored medium | |||
| 'iso-a4-transparent' Specifies the ISO A4 transparent medium | 'iso-a4-transparent' Specifies the ISO A4 transparent medium | |||
| skipping to change at page 188, line 5 ¶ | skipping to change at page 188, line 5 ¶ | |||
| 'na-10x13-envelope': Specifies the North American 10x13 envelope | 'na-10x13-envelope': Specifies the North American 10x13 envelope | |||
| medium | medium | |||
| 'na-9x12-envelope': Specifies the North American 9x12 envelope medium | 'na-9x12-envelope': Specifies the North American 9x12 envelope medium | |||
| 'monarch-envelope': Specifies the Monarch envelope | 'monarch-envelope': Specifies the Monarch envelope | |||
| 'na-number-10-envelope': Specifies the North American number 10 | 'na-number-10-envelope': Specifies the North American number 10 | |||
| business envelope medium | business envelope medium | |||
| 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | 'na-7x9-envelope': Specifies the North American 7x9 inch envelope | |||
| 'na-9x11-envelope': Specifies the North American 9x11 inch envelope | 'na-9x11-envelope': Specifies the North American 9x11 inch envelope | |||
| 'na-10x14-envelope': Specifies the North American 10x14 inch envelope | 'na-10x14-envelope': Specifies the North American 10x14 inch envelope | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'na-number-9-envelope': Specifies the North American number 9 | 'na-number-9-envelope': Specifies the North American number 9 | |||
| business envelope | business envelope | |||
| 'na-6x9-envelope': Specifies the North American 6x9 inch envelope | 'na-6x9-envelope': Specifies the North American 6x9 inch envelope | |||
| 'na-10x15-envelope': Specifies the North American 10x15 inch envelope | 'na-10x15-envelope': Specifies the North American 10x15 inch envelope | |||
| The following standard values are defined for the less commonly used | The following standard values are defined for the less commonly used | |||
| media (white-only): | media (white-only): | |||
| 'executive-white': Specifies the white executive medium | 'executive-white': Specifies the white executive medium | |||
| 'folio-white': Specifies the folio white medium | 'folio-white': Specifies the folio white medium | |||
| skipping to change at page 189, line 5 ¶ | skipping to change at page 189, line 5 ¶ | |||
| 'a-white': Specifies the engineering A size medium | 'a-white': Specifies the engineering A size medium | |||
| 'b-white': Specifies the engineering B size medium | 'b-white': Specifies the engineering B size medium | |||
| 'c-white': Specifies the engineering C size medium | 'c-white': Specifies the engineering C size medium | |||
| 'd-white': Specifies the engineering D size medium | 'd-white': Specifies the engineering D size medium | |||
| 'e-white': Specifies the engineering E size medium | 'e-white': Specifies the engineering E size medium | |||
| The following standard values are defined for input-trays (from ISO DPA | The following standard values are defined for input-trays (from ISO DPA | |||
| and the Printer MIB): | and the Printer MIB): | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'top': The top input tray in the printer. | 'top': The top input tray in the printer. | |||
| 'middle': The middle input tray in the printer. | 'middle': The middle input tray in the printer. | |||
| 'bottom': The bottom input tray in the printer. | 'bottom': The bottom input tray in the printer. | |||
| 'envelope': The envelope input tray in the printer. | 'envelope': The envelope input tray in the printer. | |||
| 'manual': The manual feed input tray in the printer. | 'manual': The manual feed input tray in the printer. | |||
| 'large-capacity': The large capacity input tray in the printer. | 'large-capacity': The large capacity input tray in the printer. | |||
| 'main': The main input tray | 'main': The main input tray | |||
| 'side': The side input tray | 'side': The side input tray | |||
| The following standard values are defined for media sizes (from ISO | The following standard values are defined for media sizes (from ISO | |||
| skipping to change at page 190, line 5 ¶ | skipping to change at page 190, line 5 ¶ | |||
| ISO 216 | ISO 216 | |||
| 'iso-b5': Specifies the ISO B5 size: 176 mm by 250 mm as defined in | 'iso-b5': Specifies the ISO B5 size: 176 mm by 250 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b6': Specifies the ISO B6 size: 125 mm by 176 mm as defined in | 'iso-b6': Specifies the ISO B6 size: 125 mm by 176 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b7': Specifies the ISO B7 size: 88 mm by 125 mm as defined in | 'iso-b7': Specifies the ISO B7 size: 88 mm by 125 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'iso-b8': Specifies the ISO B8 size: 62 mm by 88 mm as defined in ISO | 'iso-b8': Specifies the ISO B8 size: 62 mm by 88 mm as defined in ISO | |||
| 216 | 216 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'iso-b9': Specifies the ISO B9 size: 44 mm by 62 mm as defined in ISO | 'iso-b9': Specifies the ISO B9 size: 44 mm by 62 mm as defined in ISO | |||
| 216 | 216 | |||
| 'iso-b10': Specifies the ISO B10 size: 31 mm by 44 mm as defined in | 'iso-b10': Specifies the ISO B10 size: 31 mm by 44 mm as defined in | |||
| ISO 216 | ISO 216 | |||
| 'na-letter': Specifies the North American letter size: 8.5 inches by | 'na-letter': Specifies the North American letter size: 8.5 inches by | |||
| 11 inches | 11 inches | |||
| 'na-legal': Specifies the North American legal size: 8.5 inches by 14 | 'na-legal': Specifies the North American legal size: 8.5 inches by 14 | |||
| inches | inches | |||
| 'executive': Specifies the executive size (7.25 X 10.5 in) | 'executive': Specifies the executive size (7.25 X 10.5 in) | |||
| skipping to change at page 191, line 5 ¶ | skipping to change at page 191, line 5 ¶ | |||
| 'jis-b4': Specifies the JIS B4 size: 257mm x 364mm | 'jis-b4': Specifies the JIS B4 size: 257mm x 364mm | |||
| 'jis-b5': Specifies the JIS B5 size: 182mm x 257mm | 'jis-b5': Specifies the JIS B5 size: 182mm x 257mm | |||
| 'jis-b6': Specifies the JIS B6 size: 128mm x 182mm | 'jis-b6': Specifies the JIS B6 size: 128mm x 182mm | |||
| 'jis-b7': Specifies the JIS B7 size: 91mm x 128mm | 'jis-b7': Specifies the JIS B7 size: 91mm x 128mm | |||
| 'jis-b8': Specifies the JIS B8 size: 64mm x 91mm | 'jis-b8': Specifies the JIS B8 size: 64mm x 91mm | |||
| 'jis-b9': Specifies the JIS B9 size: 45mm x 64mm | 'jis-b9': Specifies the JIS B9 size: 45mm x 64mm | |||
| 'jis-b10': Specifies the JIS B10 size: 32mm x 45mm | 'jis-b10': Specifies the JIS B10 size: 32mm x 45mm | |||
| The following standard values are defined for engineering media sizes: | The following standard values are defined for engineering media sizes: | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 'a': Specifies the engineering A size: 8.5 inches x 11 inches | 'a': Specifies the engineering A size: 8.5 inches x 11 inches | |||
| 'b': Specifies the engineering B size: 11 inches x 17 inches | 'b': Specifies the engineering B size: 11 inches x 17 inches | |||
| 'c': Specifies the engineering C size: 17 inches x 22 inches | 'c': Specifies the engineering C size: 17 inches x 22 inches | |||
| 'd': Specifies the engineering D size: 22 inches x 34 inches | 'd': Specifies the engineering D size: 22 inches x 34 inches | |||
| 'e': Specifies the engineering E size: 34 inches x 44 inches | 'e': Specifies the engineering E size: 34 inches x 44 inches | |||
| 15. APPENDIX D: Processing IPP Attributes | 15. APPENDIX D: Processing IPP Attributes | |||
| When submitting a print job to a Printer object, the IPP model allows a | When submitting a print job to a Printer object, the IPP model allows a | |||
| client to supply operation and Job Template attributes along with the | client to supply operation and Job Template attributes along with the | |||
| skipping to change at page 192, line 5 ¶ | skipping to change at page 192, line 5 ¶ | |||
| the job exactly as specified with no exceptions, and if that can't be | the job exactly as specified with no exceptions, and if that can't be | |||
| done, don't even bother printing the job at all." In the second case, | done, don't even bother printing the job at all." In the second case, | |||
| the client is indicating to the Printer object: "It is more important to | the client is indicating to the Printer object: "It is more important to | |||
| make sure the job is printed rather than be processed exactly as | make sure the job is printed rather than be processed exactly as | |||
| specified; just make sure the job is printed even if client supplied | specified; just make sure the job is printed even if client supplied | |||
| attributes need to be changed or ignored." | attributes need to be changed or ignored." | |||
| The IPP model accounts for this situation by introducing an "ipp- | The IPP model accounts for this situation by introducing an "ipp- | |||
| attribute-fidelity" attribute. | attribute-fidelity" attribute. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| In a create request, "ipp-attribute-fidelity" is a boolean operation | In a create request, "ipp-attribute-fidelity" is a boolean operation | |||
| attribute that is OPTIONALLY supplied by the client. The value 'true' | attribute that is OPTIONALLY supplied by the client. The value 'true' | |||
| indicates that total fidelity to client supplied Job Template attributes | indicates that total fidelity to client supplied Job Template attributes | |||
| and values is required. The client is requesting that the Job be | and values is required. The client is requesting that the Job be | |||
| printed exactly as specified, and if that is not possible then the job | printed exactly as specified, and if that is not possible then the job | |||
| MUST be rejected rather than processed incorrectly. The value 'false' | MUST be rejected rather than processed incorrectly. The value 'false' | |||
| indicates that a reasonable attempt to print the Job is acceptable. If | indicates that a reasonable attempt to print the Job is acceptable. If | |||
| a Printer does not support some of the client supplied Job Template | a Printer does not support some of the client supplied Job Template | |||
| attributes or values, the Printer MUST ignore them or substitute any | attributes or values, the Printer MUST ignore them or substitute any | |||
| supported value for unsupported values, respectively. The Printer may | supported value for unsupported values, respectively. The Printer may | |||
| skipping to change at page 193, line 5 ¶ | skipping to change at page 193, line 5 ¶ | |||
| value of the IPP attribute SHOULD take precedence over the document | value of the IPP attribute SHOULD take precedence over the document | |||
| instruction. Consider the case where a previously formatted file of | instruction. Consider the case where a previously formatted file of | |||
| document data is sent to an IPP Printer. In this case, if the client | document data is sent to an IPP Printer. In this case, if the client | |||
| supplies any attributes at job submission time, the client desires that | supplies any attributes at job submission time, the client desires that | |||
| those attributes override the embedded instructions. Consider the case | those attributes override the embedded instructions. Consider the case | |||
| were a previously formatted document has embedded in it commands to load | were a previously formatted document has embedded in it commands to load | |||
| 'iso-a4' media. However, the document is passed to an end user that | 'iso-a4' media. However, the document is passed to an end user that | |||
| only has access to a printer with 'na-letter' media loaded. That end | only has access to a printer with 'na-letter' media loaded. That end | |||
| user most likely wants to submit that document to an IPP Printer with | user most likely wants to submit that document to an IPP Printer with | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| the "media" Job Template attribute set to 'na-letter'. The job | the "media" Job Template attribute set to 'na-letter'. The job | |||
| submission attribute should take precedence over the embedded PDL | submission attribute should take precedence over the embedded PDL | |||
| instruction. However, until companies that supply document data | instruction. However, until companies that supply document data | |||
| interpreters allow a way for external IPP attributes to take precedence | interpreters allow a way for external IPP attributes to take precedence | |||
| over embedded job production instructions, a Printer might not be able | over embedded job production instructions, a Printer might not be able | |||
| to support the semantics that IPP attributes override the embedded | to support the semantics that IPP attributes override the embedded | |||
| instructions. | instructions. | |||
| The IPP model accounts for this situation by introducing a "pdl- | The IPP model accounts for this situation by introducing a "pdl- | |||
| override-supported" attribute that describes the Printer objects | override-supported" attribute that describes the Printer objects | |||
| skipping to change at page 194, line 5 ¶ | skipping to change at page 194, line 5 ¶ | |||
| At job processing time, an implementation that supports the value of | At job processing time, an implementation that supports the value of | |||
| 'not-attempted' might do one of the following actions: | 'not-attempted' might do one of the following actions: | |||
| 1) Simply pre-pend the document data with the PDL instruction that | 1) Simply pre-pend the document data with the PDL instruction that | |||
| corresponds to the client-supplied PDL attribute, such that if the | corresponds to the client-supplied PDL attribute, such that if the | |||
| document data also has the same PDL instruction, it will override | document data also has the same PDL instruction, it will override | |||
| what the Printer object pre-pended. In other words, this | what the Printer object pre-pended. In other words, this | |||
| implementation is using the same implementation semantics for the | implementation is using the same implementation semantics for the | |||
| client-supplied IPP attributes as for the Printer object defaults. | client-supplied IPP attributes as for the Printer object defaults. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 2) Parse the document data and replace the conflicting embedded | 2) Parse the document data and replace the conflicting embedded | |||
| instruction with a new embedded instruction that approximates, but | instruction with a new embedded instruction that approximates, but | |||
| does not match, the semantic intent of the IPP attribute value. | does not match, the semantic intent of the IPP attribute value. | |||
| Note: The "ipp-attribute-fidelity" attribute applies to the Printer's | Note: The "ipp-attribute-fidelity" attribute applies to the Printer's | |||
| ability to either accept or reject other unsupported Job Template | ability to either accept or reject other unsupported Job Template | |||
| attributes. In other words, if "ipp-attribute-fidelity" is set to | attributes. In other words, if "ipp-attribute-fidelity" is set to | |||
| 'true', a Job is accepted if and only if the client supplied Job | 'true', a Job is accepted if and only if the client supplied Job | |||
| Template attributes and values are supported by the Printer. Whether | Template attributes and values are supported by the Printer. Whether | |||
| skipping to change at page 195, line 5 ¶ | skipping to change at page 195, line 5 ¶ | |||
| 2. The document data is in the form of a print-stream in a known | 2. The document data is in the form of a print-stream in a known | |||
| media type. The "page-ranges" attribute is used to select, as | media type. The "page-ranges" attribute is used to select, as | |||
| specified in section 4.2.7, a sub-sequence of the pages in the | specified in section 4.2.7, a sub-sequence of the pages in the | |||
| print-stream that are to be processed and images. | print-stream that are to be processed and images. | |||
| 3. The input to this step is a sequence of print-stream pages. This | 3. The input to this step is a sequence of print-stream pages. This | |||
| step is controlled by the "number-up" attribute. If the value of | step is controlled by the "number-up" attribute. If the value of | |||
| "number-up" is N, then during the processing of the print-stream | "number-up" is N, then during the processing of the print-stream | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| pages, each N print-stream pages are positioned, as specified in | pages, each N print-stream pages are positioned, as specified in | |||
| section 4.2.9, to create a single impression. If a given document | section 4.2.9, to create a single impression. If a given document | |||
| does not have N more print-stream pages, then the completion of the | does not have N more print-stream pages, then the completion of the | |||
| impression is controlled by the "multiple-document-handling" | impression is controlled by the "multiple-document-handling" | |||
| attribute as described in section 4.2.4; when the value of this | attribute as described in section 4.2.4; when the value of this | |||
| attribute is 'single-document' or 'single-document-new-sheet', the | attribute is 'single-document' or 'single-document-new-sheet', the | |||
| print-stream pages of document data from subsequent documents is | print-stream pages of document data from subsequent documents is | |||
| used to complete the impression. | used to complete the impression. | |||
| The size(scaling), position(translation) and rotation of the print- | The size(scaling), position(translation) and rotation of the print- | |||
| skipping to change at page 195, line 56 ¶ | skipping to change at page 195, line 56 ¶ | |||
| manually at the discretion of the Printer object. | manually at the discretion of the Printer object. | |||
| 16. APPENDIX E: Generic Directory Schema | 16. APPENDIX E: Generic Directory Schema | |||
| This section defines a generic schema for an entry in a directory | This section defines a generic schema for an entry in a directory | |||
| service. A directory service is a means by which service users can | service. A directory service is a means by which service users can | |||
| locate service providers. In IPP environments, this means that IPP | locate service providers. In IPP environments, this means that IPP | |||
| Printers can be registered (either automatically or with the help of an | Printers can be registered (either automatically or with the help of an | |||
| administrator) as entries of type printer in the directory using an | administrator) as entries of type printer in the directory using an | |||
| implementation specific mechanism such as entry attributes, entry type | implementation specific mechanism such as entry attributes, entry type | |||
| fields, specific branches, etc. IPP clients can search or browse for | fields, specific branches, etc. Directory clients can search or browse | |||
| entries of type printer. Clients use the directory service to find | for entries of type printer. Clients use the directory service to find | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| entries based on naming, organizational contexts, or filtered searches | entries based on naming, organizational contexts, or filtered searches | |||
| on attribute values of entries. For example, a client can find all | on attribute values of entries. For example, a client can find all | |||
| printers in the "Local Department" context. Authentication and | printers in the "Local Department" context. Authentication and | |||
| authorization are also often part of a directory service so that an | authorization are also often part of a directory service so that an | |||
| administrator can place limits on end users so that they are only | administrator can place limits on end users so that they are only | |||
| allowed to find entries to which they have certain access rights. IPP | allowed to find entries to which they have certain access rights. IPP | |||
| itself does not require any specific directory service protocol or | itself does not require any specific directory service protocol or | |||
| provider. | provider. | |||
| Note: Some directory implementations allow for the notion of "aliasing". | Note: Some directory implementations allow for the notion of "aliasing". | |||
| skipping to change at page 196, line 35 ¶ | skipping to change at page 196, line 35 ¶ | |||
| applied to the attributes of IPP Printers objects. The conformance | applied to the attributes of IPP Printers objects. The conformance | |||
| labeling in this Appendix is intended to apply to directory templates | labeling in this Appendix is intended to apply to directory templates | |||
| and to IPP Printer implementations that subscribe by adding one or more | and to IPP Printer implementations that subscribe by adding one or more | |||
| entries to a directory. RECOMMENDED attributes SHOULD be associated | entries to a directory. RECOMMENDED attributes SHOULD be associated | |||
| with each directory entry. OPTIONAL attributes MAY be associated with | with each directory entry. OPTIONAL attributes MAY be associated with | |||
| the directory entry (if known or supported). In addition, all directory | the directory entry (if known or supported). In addition, all directory | |||
| entry attributes SHOULD reflect the current attribute values for the | entry attributes SHOULD reflect the current attribute values for the | |||
| corresponding Printer object. | corresponding Printer object. | |||
| The names of attributes in directory schema and entries SHOULD be the | The names of attributes in directory schema and entries SHOULD be the | |||
| same as the IPP Printer attribute names as shown. | same as the IPP Printer attribute names as shown, as much as possible. | |||
| In order to bridge between the directory service and the IPP Printer | In order to bridge between the directory service and the IPP Printer | |||
| object, one of the RECOMMENDED directory entry attributes is the Printer | object, one of the RECOMMENDED directory entry attributes is the Printer | |||
| object's "printer-uri-supported" attribute. The IPP client queries the | object's "printer-uri-supported" attribute. The directory client | |||
| "printer-uri-supported" attribute in the directory entry and then | queries the "printer-uri-supported" attribute (or its equivalent) in the | |||
| addresses the IPP Printer object using one of its URIs. The "uri- | directory entry and then the IPP client addresses the IPP Printer object | |||
| security-supported" attribute identifies the protocol (if any) used to | using one of its URIs. The "uri-security-supported" attribute | |||
| secure a channel. | identifies the protocol (if any) used to secure a channel. | |||
| The following attributes define the generic schema for directory entries | The following attributes define the generic schema for directory entries | |||
| of type PRINTER: | of type PRINTER: | |||
| printer-uri-supported RECOMMENDED Section 4.4.1 | printer-uri-supported RECOMMENDED Section 4.4.1 | |||
| uri-authentication-supported RECOMMENDED Section 4.4.2 | uri-authentication-supported RECOMMENDED Section 4.4.2 | |||
| uri-security-supported RECOMMENDED Section 4.4.3 | uri-security-supported RECOMMENDED Section 4.4.3 | |||
| printer-name RECOMMENDED Section 4.4.4 | printer-name RECOMMENDED Section 4.4.4 | |||
| printer-location RECOMMENDED Section 4.4.5 | printer-location RECOMMENDED Section 4.4.5 | |||
| printer-info OPTIONAL Section 4.4.6 | printer-info OPTIONAL Section 4.4.6 | |||
| printer-more-info OPTIONAL Section 4.4.7 | printer-more-info OPTIONAL Section 4.4.7 | |||
| printer-make-and-model RECOMMENDED Section 4.4.9 | printer-make-and-model RECOMMENDED Section 4.4.9 | |||
| ipp-versions-supported RECOMMENDED Section 4.4.14 | ipp-versions-supported RECOMMENDED Section 4.4.14 | |||
| multiple-document-jobs-supported OPTIONAL Section 4.4.16 | multiple-document-jobs-supported OPTIONAL Section 4.4.16 | |||
| charset-supported OPTIONAL Section 4.4.18 | charset-supported OPTIONAL Section 4.4.18 | |||
| generated-natural-language- | generated-natural-language- | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| supported OPTIONAL Section 4.4.20 | supported OPTIONAL Section 4.4.20 | |||
| document-format-supported RECOMMENDED Section 4.4.22 | document-format-supported RECOMMENDED Section 4.4.22 | |||
| color-supported RECOMMENDED Section 4.4.26 | color-supported RECOMMENDED Section 4.4.26 | |||
| compression-supported RECOMMENDED Section 4.4.32 | compression-supported RECOMMENDED Section 4.4.32 | |||
| pages-per-minute OPTIONAL Section 4.4.36 | pages-per-minute OPTIONAL Section 4.4.36 | |||
| pages-per-minute-color OPTIONAL Section 4.4.37 | pages-per-minute-color OPTIONAL Section 4.4.37 | |||
| finishings-supported OPTIONAL Section 4.2.6 | finishings-supported OPTIONAL Section 4.2.6 | |||
| number-up-supported OPTIONAL Section 4.2.7 | number-up-supported OPTIONAL Section 4.2.7 | |||
| sides-supported RECOMMENDED Section 4.2.8 | sides-supported RECOMMENDED Section 4.2.8 | |||
| media-supported RECOMMENDED Section 4.2.11 | media-supported RECOMMENDED Section 4.2.11 | |||
| printer-resolution-supported OPTIONAL Section 4.2.12 | printer-resolution-supported OPTIONAL Section 4.2.12 | |||
| print-quality-supported OPTIONAL Section 4.2.13 | print-quality-supported OPTIONAL Section 4.2.13 | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 17. APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and | 17. APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and | |||
| Semantics" Documents | Semantics" Documents | |||
| This Appendix is divided into two lists that summarize the differences | This Appendix is divided into two lists that summarize the differences | |||
| between IPP/1.1 (this document) and IPP/1.0 [RFC2566]. The section | between IPP/1.1 (this document) and IPP/1.0 [RFC2566]. The section | |||
| numbers refer to the numbers in this document which in some cases have | numbers refer to the numbers in this document which in some cases have | |||
| changed from RFC 2566. When a change affects multiple sections, the | changed from RFC 2566. When a change affects multiple sections, the | |||
| item is listed once in the order of the first section affected and the | item is listed once in the order of the first section affected and the | |||
| remaining affected section numbers are indicated. | remaining affected section numbers are indicated. | |||
| The first list contains extensions and clarifications and the second | The first list contains extensions and clarifications and the second | |||
| list contains changes in semantics or conformance. However, client and | list contains changes in semantics or conformance. However, client and | |||
| IPP object implementations of IPP/1.0 may implement any of the | IPP object implementations of IPP/1.0 MAY implement any of the | |||
| extensions and clarifications in this document. | extensions and clarifications in this document. | |||
| The following extensions and clarifications have been incorporated into | The following extensions and clarifications have been incorporated into | |||
| this document: | this document: | |||
| 1. Section 2.1 - clarified that the term "client" can be either | 1. Section 2.1 - clarified that the term "client" can be either | |||
| contained in software controlled by an end user or a part of a | contained in software controlled by an end user or a part of a | |||
| print server that controls devices. | print server that controls devices. | |||
| 2. Section 2 - clarified that the term "IPP object" and "Printer | 2. Section 2 - clarified that the term "IPP object" and "Printer | |||
| object" can either be embedded in a device object or part of a | object" can either be embedded in a device object or part of a | |||
| skipping to change at page 199, line 5 ¶ | skipping to change at page 199, line 5 ¶ | |||
| 10. Sections 3.1.7 - Added this new section to clarify returning | 10. Sections 3.1.7 - Added this new section to clarify returning | |||
| Unsupported Attributes for all operations, including only returning | Unsupported Attributes for all operations, including only returning | |||
| attributes that were in the request. Moved the text from section | attributes that were in the request. Moved the text from section | |||
| 3.2.1.2 Unsupported Attributes to this section. | 3.2.1.2 Unsupported Attributes to this section. | |||
| 11. Sections 3.1.7 and 4.1 - clarified the encoding of the "out- | 11. Sections 3.1.7 and 4.1 - clarified the encoding of the "out- | |||
| of-band" 'unsupported' and 'unknown' values. | of-band" 'unsupported' and 'unknown' values. | |||
| 12. Section 3.1.8 - clarified that only the version number | 12. Section 3.1.8 - clarified that only the version number | |||
| parameter will be carried forward into future major or minor | parameter will be carried forward into future major or minor | |||
| versions of the protocol. | versions of the protocol. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 13. Section 3.1.8 - relaxed the requirements to increment the | 13. Section 3.1.8 - relaxed the requirements to increment the | |||
| major version number in future versions of the Model and Semantics | major version number in future versions of the Model and Semantics | |||
| document. | document. | |||
| 14. Section 3.1.9, and 3.2.5 - added the 'processing' state to the | 14. Section 3.1.9, and 3.2.5 - added the 'processing' state to the | |||
| list of job states that a job can be in after a Create-Job | list of job states that a job can be in after a Create-Job | |||
| operation. | operation. | |||
| 15. Section 3.1.9 - clarified that a non-spooling Printer MAY | 15. Section 3.1.9 - clarified that a non-spooling Printer MAY | |||
| accept zero or more subsequent jobs while processing a job and flow | accept zero or more subsequent jobs while processing a job and flow | |||
| control them down. Subsequent create requests are rejected with | control them down. Subsequent create requests are rejected with | |||
| skipping to change at page 199, line 51 ¶ | skipping to change at page 199, line 51 ¶ | |||
| an operator. | an operator. | |||
| 25. Section 3.3.1.1 - clarified that a Create-Job Send-Document | 25. Section 3.3.1.1 - clarified that a Create-Job Send-Document | |||
| with "last-document" = 'true' and no data is not an error; its a | with "last-document" = 'true' and no data is not an error; its a | |||
| job with no documents. | job with no documents. | |||
| 26. Sections 3.3.5, 3.3.6, and 3.3.7 - added the OPTIONAL Hold- | 26. Sections 3.3.5, 3.3.6, and 3.3.7 - added the OPTIONAL Hold- | |||
| Job, Release-Job, and Restart-Job operations. Clarified the | Job, Release-Job, and Restart-Job operations. Clarified the | |||
| Restart-Job operation so that the Printer MUST re-fetch any | Restart-Job operation so that the Printer MUST re-fetch any | |||
| documents passed by-reference (Print-URI or Send-URI). | documents passed by-reference (Print-URI or Send-URI). | |||
| 27. Section 4.1 - clarified that the encoding of the out-of-band | 27. Section 4.1 - clarified that the encoding of the out-of-band | |||
| values are specified in the Encoding and Transport" document. | values are specified in the Encoding and Transport" document. | |||
| 28. Sections 4.1.1 and 4.1.2 - clarified that the maximum 'text' | 28. Section 4.1 - Clarified that the requirement that clients MUST | |||
| NOT send "out-of-band" values in requests applies only to | ||||
| operations defined in this document. Other operations are allowed | ||||
| to define "out-of-band" values that clients can supply. | ||||
| 29. Sections 4.1.1 and 4.1.2 - clarified that the maximum 'text' | ||||
| and 'name' values of 1023 and 255 are for the 'textWithoutLanguage' | and 'name' values of 1023 and 255 are for the 'textWithoutLanguage' | |||
| portion of the 'textWithLanguage' form, so that the maximum number | portion of the 'textWithLanguage' form, so that the maximum number | |||
| of octets for the actual text and name data is the same for the | of octets for the actual text and name data is the same for the | |||
| without and with language forms; the 'naturalLanguage' part is in | without and with language forms; the 'naturalLanguage' part is in | |||
| addition. | addition. | |||
| 29. Section 4.1.9.1 - clarified that 'application/octet-stream' | ||||
| auto-sensing can happen at create request time and/or job/document | ||||
| processing time. | ||||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| 30. Section 4.1.14 - clarified that the localization of dateTime | 30. Section 4.1.9 - clarified that 'mimeMediaType' values can | |||
| include any parameters from the IANA Registry, not just charset | ||||
| parameters. | ||||
| 31. Section 4.1.9.1 - clarified that 'application/octet-stream' | ||||
| auto-sensing can happen at create request time and/or job/document | ||||
| processing time. | ||||
| 32. Section 4.1.9.1 - clarified that auto-sensing involves the | ||||
| Printer examining some number of octets of document data using an | ||||
| implementation-dependent method. | ||||
| 33. Section 4.1.14 - clarified that the localization of dateTime | ||||
| by the client includes the time zone. | by the client includes the time zone. | |||
| 31. Section 4.2 - clarified that xxx-supported have multiple | 34. Section 4.2 - clarified that xxx-supported have multiple | |||
| keywords and/or names by adding parentheses to the table to give: | keywords and/or names by adding parentheses to the table to give: | |||
| (1setOf (type3 keyword | name)) | (1setOf (type3 keyword | name)) | |||
| 32. Section 4.2.2 - added the 'indefinite' keyword value to the | 35. Section 4.2.2 - added the 'indefinite' keyword value to the | |||
| "job-hold-until" attribute for use with the create operations and | "job-hold-until" attribute for use with the create operations and | |||
| Hold-Job and Restart-Job operations. | Hold-Job and Restart-Job operations. | |||
| 33. Section 4.2.6 - added more enum values to the "finishings" Job | 36. Section 4.2.6 - added more enum values to the "finishings" Job | |||
| Template attribute. | Template attribute. | |||
| 34. Section 4.3.7 - added that a forwarding server that cannot get | 37. Section 4.2.6 - clarified that the landscape definition is a | |||
| rotation of the image with respect to the medium. | ||||
| 38. Section 4.3.7 - added that a forwarding server that cannot get | ||||
| any job state MAY return the job's state as 'completed', provided | any job state MAY return the job's state as 'completed', provided | |||
| that it also return the new 'queued-in-device' job state reason. | that it also return the new 'queued-in-device' job state reason. | |||
| 35. Section 4.3.7.2 - added the Partitioning of Job States section | 39. Section 4.3.7.2 - added the Partitioning of Job States section | |||
| to clarify the concepts of Job Retention, Job History, and Job | to clarify the concepts of Job Retention, Job History, and Job | |||
| Removal. | Removal. | |||
| 36. Section 4.3.8 - added 'job-data-insufficient' job state reason | 40. Section 4.3.8 - added 'job-data-insufficient' job state reason | |||
| to indicate whether sufficient data has arrived for the document to | to indicate whether sufficient data has arrived for the document to | |||
| start to be processed. | start to be processed. | |||
| 37. Section 4.3.8 - added 'document-access-error' job state reason | 41. Section 4.3.8 - added 'document-access-error' job state reason | |||
| to indicate an access error of any kind. | to indicate an access error of any kind. | |||
| 38. Section 4.3.8 - added 'job-queued-for-marker' job state reason | 42. Section 4.3.8 - added 'job-queued-for-marker' job state reason | |||
| to indicate whether the job has completed some processing and is | to indicate whether the job has completed some processing and is | |||
| waiting for the marker. | waiting for the marker. | |||
| 39. Section 4.3.8 - added 'unsupported-compression' and | 43. Section 4.3.8 - added 'unsupported-compression' and | |||
| 'compression-error' job state reasons to indicate compression not | 'compression-error' job state reasons to indicate compression not | |||
| supported or compression processing error after the create has been | supported or compression processing error after the create has been | |||
| accepted. | accepted. | |||
| 40. Section 4.3.8 - added 'unsupported-document-format' and | 44. Section 4.3.8 - added 'unsupported-document-format' and | |||
| 'document-format-error' job state reasons to indicate document not | 'document-format-error' job state reasons to indicate document not | |||
| supported or document format processing error after the create has | supported or document format processing error after the create has | |||
| been accepted. | been accepted. | |||
| 41. Section 4.3.8 - added 'queued-in-device' job state reason to | 45. Section 4.3.8 - added 'queued-in-device' job state reason to | |||
| indicate that a job as been forwarded to a print system or device | indicate that a job as been forwarded to a print system or device | |||
| that does not provide any job status. | that does not provide any job status. | |||
| 42. Section 4.3.10 - added "job-detailed-status-messages (1setOf | 46. Section 4.3.10 - added "job-detailed-status-messages (1setOf | |||
| text(MAX)) for returning detailed error messages. | text(MAX)) for returning detailed error messages. | |||
| 43. Section 4.3.11 - added the "job-document-access-errors (1setOf | 47. Section 4.3.11 - added the "job-document-access-errors (1setOf | |||
| text(MAX)) | text(MAX)) | |||
| 44. Section 4.3.14.2 - clarified that the time recorded is the | 48. Section 4.3.14.2 - clarified that the time recorded is the | |||
| first time processing since the create operation or the Restart-Job | first time processing since the create operation or the Restart-Job | |||
| operation. | operation. | |||
| 45. Section 4.3.14.2 and 4.3.14.3 - clarified that the out-of-band | ||||
| Expires November 22, 2000 | ||||
| 49. Section 4.3.14.2 and 4.3.14.3 - clarified that the out-of-band | ||||
| value 'no-value' is returned if the job has not started processing | value 'no-value' is returned if the job has not started processing | |||
| or has not completed, respectively. | or has not completed, respectively. | |||
| 46. Section 4.3.14 - Added the OPTIONAL "date-time-at-creation", | 50. Section 4.3.14 - Added the OPTIONAL "date-time-at-creation", | |||
| "date-time-at-processing", and "date-time-at-completed" Event Time | "date-time-at-processing", and "date-time-at-completed" Event Time | |||
| Job Description attributes | Job Description attributes | |||
| 47. Section 4.4.3 - added the 'tls' value to "uri-security- | 51. Section 4.4.3 - added the 'tls' value to "uri-security- | |||
| supported" attribute. | supported" attribute. | |||
| 48. Section 4.4.3 - clarified "uri-security-supported" is | 52. Section 4.4.3 - clarified "uri-security-supported" is | |||
| orthogonal to Client Authentication so that 'none' does not exclude | orthogonal to Client Authentication so that 'none' does not exclude | |||
| Client Authentication. | Client Authentication. | |||
| 53. Section 4.4.11 - simplified the "printer-state" descriptions | ||||
| Expires September 1, 2000 | ||||
| 49. Section 4.4.11 - simplified the "printer-state" descriptions | ||||
| while generalizing to allow high end devices that interpret one or | while generalizing to allow high end devices that interpret one or | |||
| more jobs while marking another. Indicated that 'spool-area-full' | more jobs while marking another. Indicated that 'spool-area-full' | |||
| and 'stopped-partly' "printer-state-reasons" may be used to provide | and 'stopped-partly' "printer-state-reasons" may be used to provide | |||
| further state information. | further state information. | |||
| 50. Section 4.4.12 - added the 'moving-to-paused' keyword value to | 54. Section 4.4.12 - added the 'moving-to-paused' keyword value to | |||
| the "printer-state-reasons" attribute for use with the Pause- | the "printer-state-reasons" attribute for use with the Pause- | |||
| Printer operation. | Printer operation. | |||
| 51. Section 4.4.12 - replaced the duplicate 'marker-supply-low' | 55. Section 4.4.12 - replaced the duplicate 'marker-supply-low' | |||
| keyword with the missing 'toner-empty' keyword for the "printer- | keyword with the missing 'toner-empty' keyword for the "printer- | |||
| state-reasons" attribute. (This correction was also made before | state-reasons" attribute. (This correction was also made before | |||
| RFC 2566 was published). | RFC 2566 was published). | |||
| 52. Section 4.4.12 - clarified 'spool-area-full' "printer-state- | 56. Section 4.4.12 - clarified 'spool-area-full' "printer-state- | |||
| reasons" to include non-spooling printers to indicate when it can | reasons" to include non-spooling printers to indicate when it can | |||
| and cannot accept another job. | and cannot accept another job. | |||
| 53. Section 4.4.15 - added the enum values to the "operations- | 57. Section 4.4.15 - added the enum values to the "operations- | |||
| supported" attribute for the new operations. Clarified that the | supported" attribute for the new operations. Clarified that the | |||
| values of this attribute are encoded as any enum, namely 32-bit | values of this attribute are encoded as any enum, namely 32-bit | |||
| values. | values. | |||
| 54. Section 4.4.30 - clarified that the dateTime value of | 58. Section 4.4.30 - clarified that the dateTime value of | |||
| "printer-current-time" is on a "best efforts basis". If a proper | "printer-current-time" is on a "best efforts basis". If a proper | |||
| date-time cannot be obtained, the implementation returns the 'no- | date-time cannot be obtained, the implementation returns the 'no- | |||
| value' out-of-band value. Also clarified that the time zone NEED | value' out-of-band value. Also clarified that the time zone NEED | |||
| NOT be the time zone that the people near the device use and that | NOT be the time zone that the people near the device use and that | |||
| the client SHOULD display the dateTime attributes in the user's | the client SHOULD display the dateTime attributes in the user's | |||
| local time. | local time. | |||
| 55. Sections 4.4.36 and 4.4.37 - added the OPTIONAL "pages-per- | 59. Sections 4.4.36 and 4.4.37 - added the OPTIONAL "pages-per- | |||
| minute" and "pages-per-minute-color" Printer Description | minute" and "pages-per-minute-color" Printer Description | |||
| attributes. | attributes. | |||
| 56. Section 5.1 - clarified that the client conformance | 60. Section 5.1 - clarified that the client conformance | |||
| requirements apply to clients controlled by an end user and clients | requirements apply to clients controlled by an end user and clients | |||
| in servers. | in servers. | |||
| 57. Section 5.1 - clarified that any response MAY contain | 61. Section 5.1 - clarified that any response MAY contain | |||
| additional attribute groups, attributes, attribute syntaxes, or | additional attribute groups, attributes, attribute syntaxes, or | |||
| attribute values. | attribute values. | |||
| 58. Section 5.1 - clarified that a client SHOULD do its best to | 62. Section 5.1 - clarified that a client SHOULD do its best to | |||
| prevent a channel from being closed by a lower layer when the | prevent a channel from being closed by a lower layer when the | |||
| channel is flow controlled off by the IPP Printer. | channel is flow controlled off by the IPP Printer. | |||
| 59. Section 5.2 - clarified that the IPP object requirements apply | 63. Section 5.2 - clarified that the IPP object requirements apply | |||
| to objects embedded in devices or that are parts of servers. | to objects embedded in devices or that are parts of servers. | |||
| 60. Section 5.2.2 - clarified that IPP objects MAY return | 64. Section 5.2.2 - clarified that IPP objects MAY return | |||
| operation responses that contain attribute groups, attribute names, | operation responses that contain attribute groups, attribute names, | |||
| Expires November 22, 2000 | ||||
| attribute syntaxes, attribute values, and status codes that are | attribute syntaxes, attribute values, and status codes that are | |||
| extensions to this standard. | extensions to this standard. | |||
| 61. Section 6 - changed the terminology of "private extensions" to | 65. Section 6 - changed the terminology of "private extensions" to | |||
| "vendor extensions" and indicated that they are registered with | "vendor extensions" and indicated that they are registered with | |||
| IANA along with IETF standards track extensions. | IANA along with IETF standards track extensions. | |||
| 62. Section 6.7 - inserted this section on registering out-of-band | 66. Section 6.7 - inserted this section on registering out-of-band | |||
| attribute values with IANA as extensions. | attribute values with IANA as extensions. | |||
| 63. Section 8.3 - clarified the use of URIs for each Client | 67. Section 8.3 - clarified the use of URIs for each Client | |||
| Authentication mechanism. | Authentication mechanism. | |||
| 64. Section 8.5 - added the security discussion around the new | 68. Section 8.5 - added the security discussion around the new | |||
| operator/administrator operations. | operator/administrator operations. | |||
| 69. Section 13.1.4.16 - added client-error-compression-not- | ||||
| Expires September 1, 2000 | ||||
| 65. Section 13.1.4.16 - added client-error-compression-not- | ||||
| supported (0x040F) | supported (0x040F) | |||
| 66. Section 13.1.4.17 - added client-error-compression-error | 70. Section 13.1.4.17 - added client-error-compression-error | |||
| (0x0410) | (0x0410) | |||
| 67. Section 13.1.4.18 - added client-error-document-format-error | 71. Section 13.1.4.18 - added client-error-document-format-error | |||
| (0x0411) | (0x0411) | |||
| 68. Section 13.1.4.19 - added client-error-document-access-error | 72. Section 13.1.4.19 - added client-error-document-access-error | |||
| (0x0412) | (0x0412) | |||
| 69. Section 13.1.5.10 - added server-error-multiple-document-jobs- | 73. Section 13.1.5.10 - added server-error-multiple-document-jobs- | |||
| not-supported (0x0509) | not-supported (0x0509) | |||
| 70. Section 14 - added 'a-white', 'b-white', 'c-white', 'd-white', | 74. Section 14 - added 'a-white', 'b-white', 'c-white', 'd-white', | |||
| and 'e-white' and clarified that the existing 'a', 'b', 'c', 'd', | and 'e-white' and clarified that the existing 'a', 'b', 'c', 'd', | |||
| and 'e' values are size values. Added American, Japanese, and | and 'e' values are size values. Added American, Japanese, and | |||
| European Engineering sizes, filled out -transparent and - | European Engineering sizes, filled out -transparent and - | |||
| translucent media names and drawings for the synchro cut sizes. | translucent media names and drawings for the synchro cut sizes. | |||
| 71. Section 16 - added the OPTIONAL "pages-per-minute" and "pages- | 75. Section 16 - softened the RECOMMENDATION for IPP Printer | |||
| attributes in a Directory schema so that they can have equivalents. | ||||
| 76. Section 16 - added the OPTIONAL "pages-per-minute" and "pages- | ||||
| per-minute-color" Printer attributes to the Directory schema. | per-minute-color" Printer attributes to the Directory schema. | |||
| 72. Section 16 - added OPTIONAL "multiple-document-jobs-supported" | 77. Section 16 - added OPTIONAL "multiple-document-jobs-supported" | |||
| to the Directory schema. | to the Directory schema. | |||
| 73. Section 16 - added RECOMMENDED "uri-authentication-supported", | 78. Section 16 - added RECOMMENDED "uri-authentication-supported", | |||
| "ipp-versions-supported", and "compression-supported" to the | "ipp-versions-supported", and "compression-supported" to the | |||
| Directory schema. | Directory schema. | |||
| The following changes in semantics and/or conformance have been | The following changes in semantics and/or conformance have been | |||
| incorporated into this document: | incorporated into this document: | |||
| 1. Section 3.1.8, 5.2.4, and 13.1.5.4 - Clients and IPP objects MUST | 1. Section 3.1.6.3 - allowed a Printer to localize the "detailed- | |||
| status-message" operation response attribute, but indicated that | ||||
| such localization might obscure the technical meaning of such | ||||
| messages. | ||||
| 2. Section 3.1.8, 5.2.4, and 13.1.5.4 - Clients and IPP objects MUST | ||||
| support version 1.1 conformance requirements. It is | support version 1.1 conformance requirements. It is | |||
| recommended that they interoperate with 1.0. Also clarified | recommended that they interoperate with 1.0. Also clarified | |||
| that IPP Printers MUST accept '1.1' requests. It is | that IPP Printers MUST accept '1.1' requests. It is | |||
| recommended that they also accept '1.x' requests. | recommended that they also accept '1.x' requests. | |||
| 2. Section 3.2.1.1 and section 4.4.32 - changed the "compression" | 3. Section 3.2.1.1 and section 4.4.32 - changed the "compression" | |||
| operation and the "compression-supported" Printer Description | operation and the "compression-supported" Printer Description | |||
| attribute from OPTIONAL to REQUIRED. | attribute from OPTIONAL to REQUIRED. | |||
| 3. Sections 3.2.1.2 and 4.3.8 - changed "job-state-reasons" from | 4. Sections 3.2.1.2 and 4.3.8 - changed "job-state-reasons" from | |||
| RECOMMENDED to REQUIRED, so that "job-state-reasons" MUST be | RECOMMENDED to REQUIRED, so that "job-state-reasons" MUST be | |||
| returned in create operation responses. | returned in create operation responses. | |||
| 4. Sections 3.2.4, 3.3.1, 4.4.16, and 16 - changed Create-Job/Send- | ||||
| Expires November 22, 2000 | ||||
| 5. Sections 3.2.4, 3.3.1, 4.4.16, and 16 - changed Create-Job/Send- | ||||
| Document so that they MAY be implemented while only supporting | Document so that they MAY be implemented while only supporting | |||
| one document jobs. Added the "multiple-document-jobs-supported" | one document jobs. Added the "multiple-document-jobs-supported" | |||
| boolean Printer Description attribute to indicate whether | boolean Printer Description attribute to indicate whether | |||
| Create-Job/Send-Document support multiple document jobs or not. | Create-Job/Send-Document support multiple document jobs or not. | |||
| Added to the Directory schema. | Added to the Directory schema. | |||
| 5. Section 4.1.9 - deleted 'text/plain; charset=iso-10646-ucs-2', | 6. Section 4.1.9 - deleted 'text/plain; charset=iso-10646-ucs-2', | |||
| since binary is not legal with the 'text' type. | since binary is not legal with the 'text' type. | |||
| 6. Section 4.2.4 - indicated that the "multiple-document-handling" | 7. Section 4.1.9.1 - added the RECOMMENDATION that a Printer indicate | |||
| by printing on the job's job-start-sheet that auto-sensing has | ||||
| occurred and what document format was auto-sensed. | ||||
| 8. Section 4.2.4 - indicated that the "multiple-document-handling" | ||||
| Job Template attribute MUST be supported with at least one value | Job Template attribute MUST be supported with at least one value | |||
| if the Printer supports multiple documents per job | if the Printer supports multiple documents per job | |||
| 7. Section 4.3.7.2 - indicated that the 'job-restartable' job state | 9. Section 4.3.7.2 - indicated that the 'job-restartable' job state | |||
| reason SHOULD be supported if the Restart-Job operation is | reason SHOULD be supported if the Restart-Job operation is | |||
| supported. | supported. | |||
| 8. Section 4.3.8 - changed "job-state-reasons" from RECOMMENDED to | 10. Section 4.3.8 - changed "job-state-reasons" from RECOMMENDED to | |||
| REQUIRED. | REQUIRED. | |||
| 9. Section 4.3.8 - clarified the conformance of the values of the | 11. Section 4.3.8 - clarified the conformance of the values of the | |||
| "job-state-reasons" attribute by copying conformance | "job-state-reasons" attribute by copying conformance | |||
| Expires September 1, 2000 | ||||
| requirements from other sections of the document so that it is | requirements from other sections of the document so that it is | |||
| clear from reading the definition of "job-state-reasons" which | clear from reading the definition of "job-state-reasons" which | |||
| values MUST or SHOULD be supported. The 'none', 'unsupported- | values MUST or SHOULD be supported. The 'none', 'unsupported- | |||
| compression', and 'unsupported-document-format' values MUST be | compression', and 'unsupported-document-format' values MUST be | |||
| supported. The ''job-hold-until-specified' SHOULD be specified | supported. The ''job-hold-until-specified' SHOULD be specified | |||
| if the "job-hold-until" Job Template is supported. The | if the "job-hold-until" Job Template is supported. The | |||
| following values SHOULD be supported: 'job-canceled-by-user', | following values SHOULD be supported: 'job-canceled-by-user', | |||
| 'aborted-by-system', and 'job-completed-successfully'. The | 'aborted-by-system', and 'job-completed-successfully'. The | |||
| 'job-canceled-by-operator' SHOULD be supported if the | 'job-canceled-by-operator' SHOULD be supported if the | |||
| implementation permits canceling by other than the job owner. | implementation permits canceling by other than the job owner. | |||
| The 'job-canceled-at-device' SHOULD be supported if the device | The 'job-canceled-at-device' SHOULD be supported if the device | |||
| supports canceling jobs at the console. The 'job-completed- | supports canceling jobs at the console. The 'job-completed- | |||
| with-warnings' SHOULD be supported, if the implementation | with-warnings' SHOULD be supported, if the implementation | |||
| detects warnings. The 'job-completed-with-errors' SHOULD be | detects warnings. The 'job-completed-with-errors' SHOULD be | |||
| supported if the implementation detects errors. The 'job- | supported if the implementation detects errors. The 'job- | |||
| restartable' SHOULD be supported if the Restart-Job operation is | restartable' SHOULD be supported if the Restart-Job operation is | |||
| supported. | supported. | |||
| 10. Section 4.3.14 - changed the "time-at-creation", "time-at- | 12. Section 4.3.10 - allowed a Printer to localize the "job-detailed- | |||
| status-message" Job Description attribute, but indicated that | ||||
| such localization might obscure the technical meaning of such | ||||
| messages. | ||||
| 13. Section 4.3.14 - changed the "time-at-creation", "time-at- | ||||
| processing", and "time-at-completed" Event Time Job Description | processing", and "time-at-completed" Event Time Job Description | |||
| attributes from OPTIONAL to REQUIRED. | attributes from OPTIONAL to REQUIRED. | |||
| 11. Section 4.3.14.4 - added the REQUIRED "job-printer-up-time | 14. Section 4.3.14.4 - added the REQUIRED "job-printer-up-time | |||
| (integer(1:MAX))" Job Description attribute as an alias for | (integer(1:MAX))" Job Description attribute as an alias for | |||
| "printer-up-time" to reduce number of operations to get job | "printer-up-time" to reduce number of operations to get job | |||
| times. | times. | |||
| 12. Section 4.4.2 - added the REQUIRED "uri-authentication-supported | 15. Section 4.4.2 - added the REQUIRED "uri-authentication-supported | |||
| (1setOf type2 keyword)" Printer Description attribute to | (1setOf type2 keyword)" Printer Description attribute to | |||
| describe the Client Authentication used by each Printer URI. | describe the Client Authentication used by each Printer URI. | |||
| 13. Section 4.4.12 - changed "printer-state-reasons" Printer | 16. Section 4.4.12 - changed "printer-state-reasons" Printer | |||
| Description attribute from OPTIONAL to REQUIRED. | Description attribute from OPTIONAL to REQUIRED. | |||
| 14. Section 4.4.12 - changed 'paused' value of "printer-state- | ||||
| Expires November 22, 2000 | ||||
| 17. Section 4.4.12 - changed 'paused' value of "printer-state- | ||||
| reasons" to MUST if Pause-Printer operation is supported. | reasons" to MUST if Pause-Printer operation is supported. | |||
| 15. Section 4.4.14 - added the REQUIRED "ipp-versions-supported | 18. Section 4.4.14 - added the REQUIRED "ipp-versions-supported | |||
| (1setOf keyword)" Printer Description attribute, since IPP/1.1 | (1setOf keyword)" Printer Description attribute, since IPP/1.1 | |||
| Printers do not have to support version '1.0' conformance | Printers do not have to support version '1.0' conformance | |||
| requirements. Section 4.4.16 - added the "multiple-document- | requirements. Section 4.4.16 - added the "multiple-document- | |||
| jobs-supported (boolean)" Printer Description attribute so that | jobs-supported (boolean)" Printer Description attribute so that | |||
| a client can tell whether a Printer that supports Create- | a client can tell whether a Printer that supports Create- | |||
| Job/Send-Document supports multiple document jobs or not. This | Job/Send-Document supports multiple document jobs or not. This | |||
| attribute is REQUIRED if the Create-Job operation is supported. | attribute is REQUIRED if the Create-Job operation is supported. | |||
| 16. Section 4.4.24 - changed the "queued-job-count" Printer | 19. Section 4.4.24 - changed the "queued-job-count" Printer | |||
| Description attribute from RECOMMENDED to REQUIRED. | Description attribute from RECOMMENDED to REQUIRED. | |||
| 17. Section 4.4.32 - changed "compression-supported (1setOf type3 | 20. Section 4.4.32 - changed "compression-supported (1setOf type3 | |||
| keyword)" Printer Description attribute from OPTIONAL to | keyword)" Printer Description attribute from OPTIONAL to | |||
| REQUIRED. | REQUIRED. | |||
| 18. Section 5.1 - changed the client security requirements from | 21. Section 5.1 - changed the client security requirements from | |||
| RECOMMENDED non-standards track SSL3 to MUST support Client | RECOMMENDED non-standards track SSL3 to MUST support Client | |||
| Authentication as defined in the IPP/1.1 Encoding and Transport | Authentication as defined in the IPP/1.1 Encoding and Transport | |||
| document [IPP-PRO]. A client SHOULD support Operation Privacy | document [IPP-PRO]. A client SHOULD support Operation Privacy | |||
| and Server Authentication as defined in the IPP/1.1 Encoding and | and Server Authentication as defined in the IPP/1.1 Encoding and | |||
| Transport document [IPP-PRO]. | Transport document [IPP-PRO]. | |||
| 19. Section 5.2.7 - changed the IPP object security requirements from | 22. Section 5.2.7 - changed the IPP object security requirements from | |||
| OPTIONAL non-standards track SSL3 to SHOULD contain support for | OPTIONAL non-standards track SSL3 to SHOULD contain support for | |||
| Client Authentication as defined in the IPP/1.1 Encoding and | Client Authentication as defined in the IPP/1.1 Encoding and | |||
| Transport document [IPP-PRO]. A Printer implementation MAY | Transport document [IPP-PRO]. A Printer implementation MAY | |||
| Expires September 1, 2000 | ||||
| allow an administrator to configure the Printer so that all, | allow an administrator to configure the Printer so that all, | |||
| some, or none of the users are authenticated. An IPP Printer | some, or none of the users are authenticated. An IPP Printer | |||
| implementation SHOULD contain support for Operation Privacy and | implementation SHOULD contain support for Operation Privacy and | |||
| Server Authentication as defined in the IPP/1.1 Encoding and | Server Authentication as defined in the IPP/1.1 Encoding and | |||
| Transport document [IPP-PRO]. A Printer implementation MAY | Transport document [IPP-PRO]. A Printer implementation MAY | |||
| allow an administrator to configure the degree of support for | allow an administrator to configure the degree of support for | |||
| Operation Privacy and Server Authentication. Security MUST NOT | Operation Privacy and Server Authentication. Security MUST NOT | |||
| be compromised when the client supplies a lower version-number | be compromised when the client supplies a lower version-number | |||
| in a request. | in a request. | |||
| skipping to change at page 204, line 33 ¶ | skipping to change at page 205, line 4 ¶ | |||
| This document and translations of it may be copied and furnished to | This document and translations of it may be copied and furnished to | |||
| others, and derivative works that comment on or otherwise explain it or | others, and derivative works that comment on or otherwise explain it or | |||
| assist in its implementation may be prepared, copied, published and | assist in its implementation may be prepared, copied, published and | |||
| distributed, in whole or in part, without restriction of any kind, | distributed, in whole or in part, without restriction of any kind, | |||
| provided that the above copyright notice and this paragraph are included | provided that the above copyright notice and this paragraph are included | |||
| on all such copies and derivative works. However, this document itself | on all such copies and derivative works. However, this document itself | |||
| may not be modified in any way, such as by removing the copyright notice | may not be modified in any way, such as by removing the copyright notice | |||
| or references to the Internet Society or other Internet organizations, | or references to the Internet Society or other Internet organizations, | |||
| except as needed for the purpose of developing Internet standards in | except as needed for the purpose of developing Internet standards in | |||
| which case the procedures for copyrights defined in the Internet | which case the procedures for copyrights defined in the Internet | |||
| Expires November 22, 2000 | ||||
| Standards process must be followed, or as required to translate it into | Standards process must be followed, or as required to translate it into | |||
| languages other than English. | languages other than English. | |||
| The limited permissions granted above are perpetual and will not be | The limited permissions granted above are perpetual and will not be | |||
| revoked by the Internet Society or its successors or assigns. | revoked by the Internet Society or its successors or assigns. | |||
| This document and the information contained herein is provided on an "AS | This document and the information contained herein is provided on an "AS | |||
| IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK | IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK | |||
| FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT | FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT | |||
| LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT | LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT | |||
| INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | |||
| FITNESS FOR A PARTICULAR PURPOSE. | FITNESS FOR A PARTICULAR PURPOSE. | |||
| Expires September 1, 2000 | Expires November 22, 2000 | |||
| End of changes. 345 change blocks. | ||||
| 671 lines changed or deleted | 722 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||