Attributes or Set-Job-Attributes operation accepts any value of
the specified attribute syntax. The attribute syntaxes
supported are enumerated below.
a. Any text(127)
b. Any name(127)
c. Any uri
d. Any boolean
e. Any positive integer
f. Any dateTime
g. 1setOf any uri
5. Combination of 'Any of "xxx-supported"' or 'Any name'. If a
Printer implementation doesn't want to allow setting values
indicated in this Appendix as "any xxx", it can make the value
be not-settable.
Table 7 - Values allowed for Job Template Attributes in the
Set-Job-Attributes Operation
Job Template Attributes Values allowed for
Set
job-priority (integer(1:100)) Any of "xxx-
supported"
job-hold-until (type3 keyword | name (MAX)) Any of "xxx-
supported"
job-sheets (type3 keyword | name(MAX)) Any of "xxx-
supported"
multiple-document-handling (type2 keyword) Any of "xxx-
supported"
copies (integer(1:MAX)) Any of "xxx-
supported"
finishings (1setOf type2 enum) Any of "xxx-
supported"
page-ranges (1setOf rangeOfInteger (1:MAX)) Any of "xxx-
supported"
sides (type2 keyword) Any of "xxx-
supported"
number-up (integer(1:MAX)) Any of "xxx-
supported"
orientation-requested (type2 enum) Any of "xxx-
supported"
media (type3 keyword | name(MAX)) Any of "xxx-
supported"
printer-resolution (resolution) Any of "xxx-
supported"
print-quality (type2 enum) Any of "xxx-
supported"
Table 8 - Values allowed for Job Description Attributes in the
Set-Job-Attributes Operation
Job Description Attributes Values allowed for
Set
job-uri (uri) READ-ONLY
job-id (integer(1:MAX)) READ-ONLY
job-printer-uri (uri) READ-ONLY
job-more-info (uri) READ-ONLY
job-name (name(MAX)) Any name(MAX)
job-originating-user-name (name(MAX)) READ-ONLY
job-state (type1 enum) READ-ONLY
job-state-reasons (1setOf type2 keyword) READ-ONLY
job-state-message (text(MAX)) READ-ONLY
job-detailed-status-messages (1setOf READ-ONLY
text(MAX))
job-document-access-errors (1setOf READ-ONLY
text(MAX))
number-of-documents (integer(0:MAX)) READ-ONLY
output-device-assigned (name(127)) READ-ONLY
time-at-creation (integer(MIN:MAX)) READ-ONLY
time-at-processing (integer(MIN:MAX)) READ-ONLY
time-at-completed (integer(MIN:MAX)) READ-ONLY
job-printer-up-time (integer(1:MAX)) READ-ONLY
date-time-at-creation (dateTime) READ-ONLY
Job Description Attributes Values allowed for
Set
date-time-at-processing (dateTime) READ-ONLY
date-time-at-completed (dateTime) READ-ONLY
number-of-intervening-jobs (integer(0:MAX)) READ-ONLY
job-message-from-operator (text(127)) Any text(127)
job-k-octets (integer(0:MAX)) READ-ONLY
job-impressions (integer(0:MAX)) READ-ONLY
job-media-sheets (integer(0:MAX)) READ-ONLY
job-k-octets-processed (integer(0:MAX)) READ-ONLY
job-impressions-completed (integer(0:MAX)) READ-ONLY
job-media-sheets-completed (integer(0:MAX)) READ-ONLY
attributes-charset (charset) READ-ONLY
attributes-natural-language READ-ONLY
(naturalLanguage)
Table 9 - Values allowed for Printer Job Template Attributes in
the Set-Printer-Attributes Operation
Printer Job Template Attributes Values allowed
for Set
job-priority-default (integer(1:100)) Any of "xxx-
supported"
job-hold-until-default (type3 keyword | name Any of "xxx-
(MAX)) supported"
job-sheets-default (type3 keyword | name(MAX)) Any of "xxx-
supported"
multiple-document-handling-default (type2 Any of "xxx-
keyword) supported"
copies-default (integer(1:MAX)) Any of "xxx-
supported"
Printer Job Template Attributes Values allowed
for Set
finishings-default (1setOf type2 enum) Any of "xxx-
supported"
sides-default (type2 keyword) Any of "xxx-
supported"
number-up-default (integer(1:MAX)) Any of "xxx-
supported"
orientation-requested-default (type2 enum) Any of "xxx-
supported"
media-default (type3 keyword | name(MAX)) Any of "xxx-
supported"
printer-resolution-default (resolution) Any of "xxx-
supported"
print-quality-default (type2 enum) Any of "xxx-
supported"
job-priority-supported (integer(1:100)) From Get-
Printer-
Supported-Values
job-hold-until-supported (1setOf(type3 keyword From Get-
| name (MAX))) Printer-
Supported-Values
job-sheets-supported (1setOf(type3 keyword | From Get-
name(MAX))) Printer-
Supported-Values
multiple-document-handling-supported (1setOf From Get-
type2 keyword) Printer-
Supported-Values
copies-supported (rangeOfInteger(1:MAX)) From Get-
Printer-
Supported-Values
finishings-supported (1setOf type2 enum) From Get-
Printer-
Supported-Values
Printer Job Template Attributes Values allowed
for Set
page-ranges-supported (boolean) From Get-
Printer-
Supported-Values
sides-supported (1setOf type2 keyword) From Get-
Printer-
Supported-Values
number-up-supported (1setOf (integer(1:MAX) | From Get-
rangeOfInteger(1:MAX))) Printer-
Supported-Values
orientation-requested-supported (1setOf type2 From Get-
enum) Printer-
Supported-Values
media-supported (1setOf (type3 keyword | From Get-
name(MAX))) Printer-
Supported-Values
printer-resolution-supported (1setOf From Get-
resolution) Printer-
Supported-Values
print-quality-supported (1setOf type2 enum) From Get-
Printer-
Supported-Values
media-ready (type3 keyword | name(MAX)) From Get-
Printer-
Supported-Values
Table 10 - Values allowed for Printer Description Attributes in
the Set-Printer-Attributes Operation
Printer Description Attributes Values allowed for
Set
printer-uri-supported (1setOf uri) READ-ONLY
uri-authentication-supported (1setOf type2 READ-ONLY
keyword)
uri-security-supported (1setOf type2 READ-ONLY
keyword)
printer-xri-supported (1setOf collection)
member attributes:
xri-uri (uri) any uriScheme of
"xri-uri-scheme-
supported" from
Get-Printer-
Attributes
xri-authentication (type2 keyword) any keyword of
"xri-
authentication-
supported" from
Get-Printer-
Attributes
xri-security (type2 keyword) any keyword of
"xri-security-
supported" from
Get-Printer-
Attributes
xri-uri-scheme-supported (1setOf uriScheme) READ-ONLY
xri-authentication-supported (1setOf type2 READ-ONLY
keyword)
xri-security-supported (1setOf type2 READ-ONLY
keyword)
Printer Description Attributes Values allowed for
Set
printer-name (name(127)) Any name(127)
printer-location (text(127)) Any text(127)
printer-info (text(127)) Any text(127)
printer-more-info (uri) Any uri
printer-driver-installer (uri) Any uri
printer-make-and-model (text(127)) Any text(127)
printer-more-info-manufacturer (uri) Any uri
printer-state (type1 enum) READ-ONLY
printer-state-reasons (1setOf type2 READ-ONLY
keyword)
printer-state-message (text(MAX)) READ-ONLY
ipp-versions-supported (1setOf type2 From Get-Printer-
keyword) Supported-Values
operations-supported (1setOf type2 enum) From Get-Printer-
Supported-Values
multiple-document-jobs-supported (boolean) From Get-Printer-
Supported-Values
charset-configured (charset) Any of "xxx-
supported", use
"charset-supported"
charset-supported (1setOf charset) From Get-Printer-
Supported-Values
Printer Description Attributes Values allowed for
Set
natural-language-configured Any of "xxx-
(naturalLanguage) supported", use
"generated-natural-
language-supported"
generated-natural-language-supported From Get-Printer-
(1setOf naturalLanguage) Supported-Values
document-format-default (mimeMediaType) Any of "xxx-
supported"
document-format-supported (1setOf From Get-Printer-
mimeMediaType) Supported-Values
printer-is-accepting-jobs (boolean) READ-ONLY
queued-job-count (integer(0:MAX)) READ-ONLY
printer-message-from-operator (text(127)) Any text(127)
color-supported (boolean) From Get-Printer-
Supported-Values
reference-uri-schemes-supported (1setOf From Get-Printer-
uriScheme) Supported-Values
pdl-override-supported (type2 keyword) From Get-Printer-
Supported-Values
printer-up-time (integer(1:MAX)) READ-ONLY
printer-current-time (dateTime) Any dateTime **
multiple-operation-time-out any positive
(integer(1:MAX)) integer
compression-supported (1setOf type3 From Get-Printer-
keyword) Supported-Values
job-k-octets-supported From Get-Printer-
(rangeOfInteger(0:MAX)) Supported-Values
Printer Description Attributes Values allowed for
Set
job-impressions-supported From-Get-Printer-
(rangeOfInteger(0:MAX)) Supported-Values
job-media-sheets-supported From Get-Printer-
(rangeOfInteger(0:MAX)) Supported-Values
pages-per-minute (integer(0:MAX)) READ-ONLY
pages-per-minute-color (integer(0:MAX)) READ-ONLY
printer-settable-attributes-supported From Get-Printer-
(1setOf type2 keyword) Supported-Values
job-settable-attributes-supported (1setOf From Get-Printer-
type2 keyword) Supported-Values
document-format-varying-attributes (1setOf READ-ONLY
type2 keyword)
printer-message-time (integer(MIN:MAX)) READ-ONLY
printer-message-date-time(dateTime) READ-ONLY
** - The "printer-current-time" (dateTime) attribute is settable in
order to allow an administrator to correct an incorrect dateTime or
time zone.
Appendix B: Attributes returned from Get-Printer-Supported-Values
(Normative)
This Appendix is a normative part of this document and lists all the
attributes that are possible for an implementation to return in a
Get-Printer-Supported-Values response, i.e., all the "xxx-supported"
attributes that can be supplied in a Set-Printer-Attributes request.
READ-ONLY attributes MUST NOT be returned in a Get-Printer-
Supported-Values response and are indicated in the tables as "READ-
ONLY - MUST NOT be returned."
For the following attributes, the value allowed by the Set-Printer-
Attributes operation MUST be a single integer value in the range
specified by the value returned by the Get-Printer-Supported-Values
operation.
Table 11 - Printer Job Template Attributes returned from
Get-Printer-Supported-Values
Printer Job Template Attributes Values Returned
job-priority-supported (integer(1:100)) rangeOfInteger(1:100)
For the following attributes, the value allowed by the Set-Printer-
Attributes operation MUST be a single rangeOfInteger value whose
bounds do not exceed those of the range specified by the value
returned by the Get-Printer-Supported-Values operation.
Table 12 - Printer Job Template Attributes returned from
Get-Printer-Supported-Values
Printer Job Template Attributes Values Returned
copies-supported (rangeOfInteger(1:MAX)) rangeOfInteger(1:MAX)
The following table has the same criteria as the last, but is for
Printer Description attributes.
Table 13 - Printer Description Attributes returned from
Get-Printer-Supported-Values
Printer Description Attributes Values allowed for Set
job-k-octets-supported rangeOfInteger(0:MAX)
(rangeOfInteger(0:MAX))
job-impressions-supported
(rangeOfInteger(0:MAX)) rangeOfInteger(0:MAX)
job-media-sheets-supported rangeOfInteger(0:MAX)
(rangeOfInteger(0:MAX))
For the following attributes, the value allowed by the Set-Printer-
Attributes operation MUST be one or more integers and rangeOfInteger
values, such that the integer values described by these integers and
rangeOfInteger is the same as or a subset of the integers described
by the integers and rangeOf Integer of values returned by the Get-
Printer-Supported-Values operation.
Table 14 - Printer Job Template Attributes returned from
Get-Printer-Supported-Values
Printer Job Template Attributes Values Returned
number-up-supported (1setOf (integer(1:MAX) 1setOf
| rangeOfInteger(1:MAX))) (integer(1:MAX) |
rangeOfInteger(1:MA
X))
For the following attributes, the value allowed by the Set-Printer-
Attributes operation MUST be one or more values, where each such
value matches a value returned by the Get-Printer-Supported-Values
operation. A keyword, enum, boolean, charset, naturalLanguage,
uriScheme, mimeMediaType or resolution value matches if it is equal.
For Job Template attributes, with the attribute syntax 'type3 keyword
| name', any 'name' attribute syntax value matches the 'admin-define'
out-of-band value, if the implementation allows the administrator to
set any name values for the attribute.
Table 15 - Printer Job Template Attributes returned from
Get-Printer-Supported-Values
Printer Job Template Attributes Values Returned
job-hold-until-supported (1setOf(type3 1setOf (type3
keyword | name (MAX))) keyword | 'admin-
define')
job-sheets-supported (1setOf(type3 keyword 1setOf (type3
| name(MAX))) keyword | 'admin-
define')
multiple-document-handling-supported 1setOf type2
(1setOf type2 keyword) keyword
finishings-supported (1setOf type2 enum) 1setOf type2 enum
page-ranges-supported (boolean) 1setOf boolean **
sides-supported (1setOf type2 keyword) 1setOf type2
keyword
orientation-requested-supported (1setOf 1setOf type2 enum
type2 enum)
Printer Job Template Attributes Values Returned
media-supported (1setOf (type3 keyword | 1setOf (type3
name(MAX))) keyword | 'admin-
define')
printer-resolution-supported (1setOf 1setOf resolution
resolution)
print-quality-supported (1setOf type2 enum) 1setOf type2 enum
** Note: the Get-Printer-Supported-Values returns a '1setOf boolean'
so that all possible values are indicated, while ** Get-Printer-
Attributes returns only a single 'boolean' value.
The following table has the same criteria as the last, but is for
Printer Description attributes.
Table 16 - Printer Description Attributes returned from
Get-Printer-Supported-Values
Printer Description Attributes Values allowed for
Set
printer-uri-supported (1setOf uri) READ-ONLY - MUST
NOT be returned
uri-authentication-supported (1setOf type2 READ-ONLY - MUST
keyword) NOT be returned
uri-security-supported (1setOf type2 READ-ONLY - MUST
keyword) NOT be returned
printer-xri-supported (1setOf collection) MUST NOT be
returned; see next
three attributes
returned with Get-
Printer-Attributes:
xri-uri-scheme-supported (1setOf uriScheme) READ-ONLY - MUST
NOT be returned
xri-authentication-supported (1setOf type2 READ-ONLY - MUST
keyword) NOT be returned
xri-security-supported (1setOf type2 READ-ONLY - MUST
keyword) NOT be returned
Printer Description Attributes Values allowed for
Set
ipp-versions-supported (1setOf type2 1setOf type2
keyword) keyword
operations-supported (1setOf type2 enum) 1setOf type2
keyword
multiple-document-jobs-supported (boolean) 1setOf boolean **
charset-supported (1setOf charset) 1setOf charset
generated-natural-language-supported 1setOf
(1setOf naturalLanguage) naturalLanguage
document-format-supported (1setOf 1setOf
mimeMediaType) mimeMediaType
color-supported (boolean) 1setOf boolean **
reference-uri-schemes-supported (1setOf 1setOf uriScheme
uriScheme)
pdl-override-supported (type2 keyword) 1setOf type2
keyword **
compression-supported (1setOf type3 1setOf type3
keyword) keyword
printer-settable-attributes-supported 1setOf type2
(1setOf type2 keyword) keyword
job-settable-attributes-supported (1setOf 1setOf type2
type2 keyword) keyword
** Note: the Get-Printer-Supported-Values returns a '1setOf X' so
that all possible values are indicated, while Get-Printer-Attributes
returns only a single 'X' value.
Appendix C: Description of the Base IPP Documents (Informative)
The base set of IPP documents includes:
Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the
Internet Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer's Guide [RFC3196]
Mapping between LPD and IPP Protocols [RFC2569]
The "Design Goals for an Internet Printing Protocol" document takes a
broad look at distributed printing functionality, and it enumerates
real-life scenarios that help to clarify the features that need to be
included in a printing protocol for the Internet. It identifies
requirements for three types of users: end users, operators, and
administrators. It calls out a subset of end user requirements that
are satisfied in IPP/1.0 [RFC2566, RFC2565]. A few OPTIONAL operator
operations have been added to IPP/1.1 [RFC2911, RFC2910].
The "Rationale for the Structure and Model and Protocol for the
Internet Printing Protocol" document describes IPP from a high level
view, defines a roadmap for the various documents that form the suite
of IPP specification documents, and gives background and rationale
for the IETF IPP working group's major decisions.
The "Internet Printing Protocol/1.1: Model and Semantics" document
describes a simplified model with abstract objects, their attributes,
and their operations. The model introduces a Printer and a Job. The
Job supports multiple documents per Job. The model document also
addresses how security, internationalization, and directory issues
are addressed.
The "Internet Printing Protocol/1.1: Encoding and Transport" document
is a formal mapping of the abstract operations and attributes defined
in the model document onto HTTP/1.1 [RFC2616]. It also defines the
encoding rules for a new Internet MIME media type called
"application/ipp". This document also defines the rules for
transporting over HTTP, a message body whose Content-Type is
"application/ipp". This document defines the 'ipp' scheme for
identifying IPP printers and jobs.
The "Internet Printing Protocol/1.1: Implementer's Guide" document
gives insight and advice to implementers of IPP clients and IPP
objects. It 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 IPP object implementations. For example, a typical order of
processing requests is given, including error checking. Motivation
for some of the specification decisions are also included.
The "Mapping between LPD and IPP Protocols" document gives some
advice to implementers of gateways between IPP and LPD (Line Printer
Daemon) implementations.
Authors' Addresses
Carl Kugler
IBM
P.O. Box 1900
Boulder, CO 80301-9191
Phone: (303) 924-5060
EMail: kugler@us.ibm.com
Tom Hastings
Xerox Corporation
737 Hawaii St. ESAE 231
El Segundo, CA 90245
Phone: 310-333-6413
Fax: 310-333-5514
EMail: hastings@cp10.es.xerox.com
Robert Herriot
Consultant
706 Colorado Ave
Palo Alto, CA 94303
Phone: 650-327-4466
Fax: 650-327-4466
EMail: bob@Herriot.com
Harry Lewis
IBM
6300 Diagonal Hwy.
Boulder, CO 80301-9191
Phone: (303) 924-5337
EMail: harryl@us.ibm.com
IPP Web Page: http://www.pwg.org/ipp/
IPP Mailing List: ipp@pwg.org
To subscribe to the ipp mailing list, send the following email:
1) send it to majordomo@pwg.org
2) leave the subject line blank
3) put the following two lines in the message body:
subscribe ipp
end
Implementers of this specification document are encouraged to join
the IPP Mailing List in order to participate in any discussions of
clarification issues and review of registration proposals for
additional attributes and values. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe
to the mailing list in order to send a question or comment to the
mailing list.
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included 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 or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFCEditor function is currently provided by the
Internet Society.