4 .\" ipptoolfile man page for CUPS.
6 .\" Copyright 2010 by Apple Inc.
8 .\" These coded instructions, statements, and computer programs are the
9 .\" property of Apple Inc. and are protected by Federal copyright
10 .\" law. Distribution and use rights are outlined in the file "LICENSE.txt"
11 .\" which should have been included with this file. If this file is
12 .\" file is missing or damaged, see the license at "http://www.cups.org/".
14 .TH ipptoolfile 5 "CUPS" "6 April 2010" "Apple Inc."
16 ipptoolfile \- ipptool file format
19 The \fIipptool(1)\fR program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curley braces, for example:
24 # The name of the test
25 NAME "Print PostScript Job"
29 GROUP operation-attributes-tag
30 ATTR charset attributes-charset utf-8
31 ATTR language attributes-natural-language en
32 ATTR uri printer-uri $uri
33 ATTR name requesting-user-name $user
36 # The response to expect
38 EXPECT attributes-charset OF-TYPE charset
39 EXPECT attributes-natural-language OF-TYPE naturalLanguage
40 EXPECT job-id OF-TYPE integer
41 EXPECT job-uri OF-TYPE uri
44 # The name of the test
45 NAME "Get Attributes of PostScript Job"
48 OPERATION Get-Job-Attributes
49 GROUP operation-attributes-tag
50 ATTR charset attributes-charset utf-8
51 ATTR language attributes-natural-language en
52 ATTR uri printer-uri $uri
53 ATTR integer job-id $job-id
54 ATTR name requesting-user-name $user
56 # The response to expect
58 EXPECT attributes-charset OF-TYPE charset
59 EXPECT attributes-natural-language OF-TYPE naturalLanguage
60 EXPECT job-id OF-TYPE integer
61 EXPECT job-uri OF-TYPE uri
62 EXPECT job-state OF-TYPE enum
63 EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
67 .SH TOP-LEVEL DIRECTIVES
68 The following directives can be used outside of a test:
73 DEFINE variable-name value
74 Defines the named variable to the given value. This is equivalent to specifying
75 "-d variable-name=value" on the \fIipptool\fR command-line.
80 Includes another test file. The first form includes a file relative to the
81 current test file, while the second form includes a file from the \fIipptool\fR
85 Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
86 requests with attached files and "Content-Length:" for requests without attached
90 Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding:
91 chunked" header. This is the default and is equivalent to specifying "-c" on the
92 \fIipptool\fR command-line. Support for chunked requests is required for
93 conformance with all versions of IPP.
96 Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:"
97 header. This is equivalent to specifying "-l" on the \fIipptool\fR command-line.
98 Support for content length requests is required for conformance with all
110 Specifies the default IPP version number to use for the tests that follow.
113 The following directives are understood in a test:
115 ATTR tag attribute-name value(s)
116 Adds an attribute to the test request. Values are separated by the comma (",")
117 character - escape commas using the "\" character.
119 ATTR collection attribute-name { MEMBER tag member-name value(s) ... } [ ... { ... } ]
120 Adds a collection attribute to the test request. Member attributes follow the
121 same syntax as regular attributes and can themselves be nested collections.
122 Multiple collection values can be supplied as needed.
125 Specifies a delay before this test will be run.
127 DISPLAY attribute-name
128 Specifies that value of the named attribute should be output as part of the
131 EXPECT attribute-name [ predicate(s) ]
133 EXPECT ?attribute-name predicate(s)
135 EXPECT !attribute-name
136 Specifies that the response must/may/must not include the named attribute.
137 Additional requirements can be added as predicates - see the "EXPECT PREDICATES"
138 section for more information on predicates.
141 Specifies a file to include at the end of the request. This is typically used
142 when sending a test print file.
145 Specifies the group tag for subsequent attributes in the request.
147 NAME "literal string"
148 Specifies the human-readable name of the test.
150 OPERATION operation-code
151 Specifies the operation to be performed.
156 Specifies the request-id value to use in the request, either an integer or the
157 word "random" to use a randomly generated value (the default).
160 Specifies an alternate resource path that is used for the HTTP POST request.
161 The default is the resource from the URI provided to the \fIipptool\fR program.
163 STATUS status-code [ predicate ]
164 Specifies an expected response status-code value. Additional requirements can be
165 added as predicates - see the "STATUS PREDICATES" section for more information
169 Specifies that this test will use "Transfer-Encoding: chunked" if it has an
170 attached file or "Content-Length:" otherwise.
173 Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked"
177 Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
188 Specifies the IPP version number to use for this test.
190 .SH EXPECT PREDICATES
191 The following predicates are understood following the EXPECT test directive:
194 Requires the EXPECT attribute to have the specified number of values.
196 IF-DEFINED variable-name
197 Makes the EXPECT conditions apply only if the specified variable is defined.
199 IF-UNDEFINED variable-name
200 Makes the EXPECT conditions apply only if the specified variable is not
204 Requires the EXPECT attribute to be in the specified group tag.
206 OF-TYPE tag[,tag,...]
207 Requires the EXPECT attribute to use the specified value tag(s).
209 SAME-COUNT-AS attribute-name
210 Requires the EXPECT attribute to have the same number of values as the specified
213 WITH-VALUE "literal string"
214 Requires at least one value of the EXPECT attribute to match the literal string.
215 Comparisons are case-sensitive.
217 WITH-VALUE "/regular expression/"
218 Requires that all values of the EXPECT attribute match the regular expression,
219 which must conform to the POSIX regular expression syntax.
220 Comparisons are case-sensitive.
222 .SH STATUS PREDICATES
223 The following predicates are understood following the STATUS test directive:
225 IF-DEFINED variable-name
226 Makes the STATUS apply only if the specified variable is defined.
228 IF-UNDEFINED variable-name
229 Makes the STATUS apply only if the specified variable is not defined.
232 Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from
233 RFC 2911 and other IPP extension specifications. Here is a complete list:
237 CUPS-Add-Modify-Class
238 CUPS-Add-Modify-Printer
239 CUPS-Authenticate-Job
259 Create-Job-Subscription
260 Create-Printer-Subscription
267 Get-Printer-Attributes
268 Get-Printer-Support-Files
269 Get-Printer-Supported-Values
270 Get-Subscription-Attributes
275 Pause-Printer-After-Current-Job
280 Release-Held-New-Jobs
294 Set-Printer-Attributes
302 Status codes correspond to the names from RFC 2911 and other IPP extension
303 specifications. Here is a complete list:
305 client-error-attributes-not-settable
306 client-error-attributes-or-values-not-supported
307 client-error-bad-request
308 client-error-charset-not-supported
309 client-error-compression-error
310 client-error-compression-not-supported
311 client-error-conflicting-attributes
312 client-error-document-access-error
313 client-error-document-format-error
314 client-error-document-format-not-supported
315 client-error-forbidden
317 client-error-ignored-all-notifications
318 client-error-ignored-all-subscriptions
319 client-error-not-authenticated
320 client-error-not-authorized
321 client-error-not-found
322 client-error-not-possible
323 client-error-print-support-file-not-found
324 client-error-request-entity-too-large
325 client-error-request-value-too-long
327 client-error-too-many-subscriptions
328 client-error-uri-scheme-not-supported
330 redirection-other-site
332 server-error-device-error
333 server-error-internal-error
334 server-error-job-canceled
335 server-error-multiple-document-jobs-not-supported
336 server-error-not-accepting-jobs
337 server-error-operation-not-supported
338 server-error-printer-is-deactivated
339 server-error-service-unavailable
340 server-error-temporary-error
341 server-error-version-not-supported
343 successful-ok-but-cancel-subscription
344 successful-ok-conflicting-attributes
345 successful-ok-events-complete
346 successful-ok-ignored-notifications
347 successful-ok-ignored-or-substituted-attributes
348 successful-ok-ignored-subscriptions
349 successful-ok-too-many-events
353 Value and group tags correspond to the names from RFC 2911 and other IPP
354 extension specifications. Here are the group tags:
356 event-notification-attributes-tag
358 operation-attributes-tag
359 printer-attributes-tag
360 subscription-attributes-tag
361 unsupported-attributes-tag
364 Here are the value tags:
394 The \fIipptool\fR program maintains a list of variables that can be used in any
395 literal string or attribute value by specifying "$variable-name". Aside from
396 variables defined using the "-d" option or "DEFINE" directive, the following
397 pre-defined variables are available:
400 Inserts a single "$" character.
403 Inserts the value of the named environment variable, or an empty string if the
404 environment variable is not defined.
407 Inserts the filename provided to \fIipptool\fR with the "-f" option.
410 Inserts the hostname from the URI provided to \fIipptool\fR.
413 Inserts the last job-id value returned in a test response or 0 if no job-id has
417 Inserts the last job-uri value returned in a test response or an empty string if
418 no job-uri has been seen.
421 Inserts the scheme from the URI provided to \fIipptool\fR.
423 $notify-subscription-id
424 Inserts the last notify-subscription-id value returnd in a test response or 0 if
425 no notify-subscription-id has been seen.
428 Inserts the port number from the URI provided to \fIipptool\fR.
431 Inserts the resource path from the URI provided to \fIipptool\fR.
434 Inserts the URI provided to \fIipptool\fR.
437 Inserts the current user's login name.
440 Inserts the username from the URI provided to \fIipptool\fR, if any.
445 http://localhost:631/help
448 Copyright 2007-2010 by Apple Inc.