]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/man-ipptoolfile.html
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / doc / help / man-ipptoolfile.html
CommitLineData
c277f98c 1<!DOCTYPE HTML>
a2326b5b
MS
2<html>
3<!-- SECTION: Man Pages -->
4<head>
5 <link rel="stylesheet" type="text/css" href="../cups-printable.css">
6 <title>ipptoolfile(5)</title>
7</head>
8<body>
9<h1 class="title">ipptoolfile(5)</h1>
10<h2 class="title"><a name="NAME">Name</a></h2>
11ipptoolfile - ipptool file format
a2326b5b 12<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
6b13fa61 13The
87030afb 14<b>ipptool</b>(1)
f1dd3a39
MS
15program accepts free-form plain text files that describe one or more IPP requests.
16Comments start with the "#" character and continue to the end of the line.
17Each request is enclosed by curly braces, for example:
2909c66c 18<pre class="man">
a2326b5b
MS
19
20 # This is a comment
21 {
22 # The name of the test
f1dd3a39 23 NAME "Print PDF File"
a2326b5b
MS
24
25 # The request to send
26 OPERATION Print-Job
f1dd3a39 27
a2326b5b
MS
28 GROUP operation-attributes-tag
29 ATTR charset attributes-charset utf-8
30 ATTR language attributes-natural-language en
31 ATTR uri printer-uri $uri
32 ATTR name requesting-user-name $user
f1dd3a39
MS
33 ATTR mimeMediaType document-format application/pdf
34
35 GROUP job-attributes-tag
36 ATTR collection media-col {
37 # US Letter plain paper from the "main" tray
38 MEMBER collection media-size {
39 MEMBER integer x-dimension 21590
40 MEMBER integer y-dimension 27940
41 }
42 MEMBER integer media-top-margin 423
43 MEMBER integer media-bottom-margin 423
44 MEMBER integer media-left-margin 423
45 MEMBER integer media-right-margin 423
46 MEMBER keyword media-source "main"
47 MEMBER keyword media-type "stationery"
48 }
49
50 FILE testfile.pdf
a2326b5b
MS
51
52 # The response to expect
53 STATUS successful-ok
6b13fa61 54 EXPECT job-id OF-TYPE integer WITH-VALUE >0
a2326b5b
MS
55 EXPECT job-uri OF-TYPE uri
56 }
57 {
58 # The name of the test
f1dd3a39 59 NAME "Wait for Job to Complete"
a2326b5b
MS
60
61 # The request to send
62 OPERATION Get-Job-Attributes
f1dd3a39 63
a2326b5b
MS
64 GROUP operation-attributes-tag
65 ATTR charset attributes-charset utf-8
66 ATTR language attributes-natural-language en
67 ATTR uri printer-uri $uri
68 ATTR integer job-id $job-id
69 ATTR name requesting-user-name $user
70
71 # The response to expect
72 STATUS successful-ok
6b13fa61 73 EXPECT job-id OF-TYPE integer WITH-VALUE $job-id
a2326b5b 74 EXPECT job-uri OF-TYPE uri
f1dd3a39 75 EXPECT job-state OF-TYPE enum WITH-VALUE >5 REPEAT-NO-MATCH
a2326b5b 76 EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
f1dd3a39
MS
77
78 # Show the job state until completed...
79 DISPLAY job-state
80 DISPLAY job-state-reasons
a2326b5b
MS
81 }
82</pre>
6b13fa61
MS
83<h3><a name="TOP_LEVEL_DIRECTIVES">Top-level Directives</a></h3>
84The following directives can be used outside of a <i>test</i>:
2909c66c 85<dl class="man">
6b13fa61 86<dt><b>{ </b><i>test </i><b>}</b>
2909c66c 87<dd style="margin-left: 5.0em">Defines a test.
6b13fa61
MS
88<dt><b>DEFINE </b><i>variable-name value</i>
89<dd style="margin-left: 5.0em">Defines the named variable to the given value. This is equivalent to specifying <i>-d variable-name=value</i> on the
87030afb 90<b>ipptool</b>(8)
6b13fa61
MS
91command-line.
92<dt><b>DEFINE-DEFAULT </b><i>variable-name value</i>
93<dd style="margin-left: 5.0em">Defines the named variable to the given value if it does not already have a value.
94<dt><b>FILE-ID "</b><i>identifier</i><b>"</b>
2909c66c 95<dd style="margin-left: 5.0em">Specifies an identifier string for the current file.
6b13fa61
MS
96<dt><b>IGNORE-ERRORS yes</b>
97<dd style="margin-left: 5.0em"><dt><b>IGNORE-ERRORS no</b>
98<dd style="margin-left: 5.0em">Specifies whether, by default,
87030afb 99<b>ipptool</b>(8)
6b13fa61
MS
100will ignore errors and continue with subsequent tests.
101<dt><b>INCLUDE "</b><i>filename</i><b>"</b>
102<dd style="margin-left: 5.0em"><dt><b>INCLUDE &lt;</b><i>filename</i><b>></b>
103<dd style="margin-left: 5.0em">Includes another test file. The first form includes a file relative to the current test file, while the second form includes a file from the
87030afb 104<b>ipptool</b>(8)
6b13fa61
MS
105include directory.
106<dt><b>INCLUDE-IF-DEFINED </b><i>name </i><b>"</b><i>filename</i><b>"</b>
107<dd style="margin-left: 5.0em"><dt><b>INCLUDE-IF-DEFINED </b><i>name </i><b>&lt;</b><i>filename</i><b>></b>
108<dd style="margin-left: 5.0em">Includes another test file if the named variable is defined. The first form includes a file relative to the current test file, while the second form includes a file from the
87030afb 109<b>ipptool</b>(8)
a2326b5b 110include directory.
6b13fa61
MS
111<dt><b>INCLUDE-IF-NOT-DEFINED </b><i>name </i><b>"</b><i>filename</i><b>"</b>
112<dd style="margin-left: 5.0em"><dt><b>INCLUDE-IF-NOT-DEFINED </b><i>name </i><b>&lt;</b><i>filename</i><b>></b>
113<dd style="margin-left: 5.0em">Includes another test file if the named variable is not defined. The first form includes a file relative to the current test file, while the second form includes a file from the
87030afb 114<b>ipptool</b>(8)
6b13fa61
MS
115include directory.
116<dt><b>SKIP-IF-DEFINED </b><i>variable-name</i>
117<dd style="margin-left: 5.0em"><dt><b>SKIP-IF-NOT-DEFINED </b><i>variable-name</i>
118<dd style="margin-left: 5.0em">Specifies that the remainder of the test file should be skipped when the variable is or is not defined.
119<dt><b>STOP-AFTER-INCLUDE-ERROR no</b>
120<dd style="margin-left: 5.0em"><dt><b>STOP-AFTER-INCLUDE-ERROR yes</b>
2909c66c 121<dd style="margin-left: 5.0em">Specifies whether tests will be stopped after an error in an included file.
6b13fa61
MS
122<dt><b>TRANSFER auto</b>
123<dd style="margin-left: 5.0em">Specifies that tests will, by default, use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
124<dt><b>TRANSFER chunked</b>
125<dd style="margin-left: 5.0em">Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding: chunked" header. This is the default and is equivalent to specifying <i>-c</i> on the
87030afb 126<b>ipptool</b>(8)
6b13fa61
MS
127command-line. Support for chunked requests is required for conformance with all versions of IPP.
128<dt><b>TRANSFER length</b>
129<dd style="margin-left: 5.0em">Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:" header. This is equivalent to specifying <i>-l</i> on the
87030afb 130<b>ipptool</b>(8)
6b13fa61
MS
131command-line. Support for content length requests is required for conformance with all versions of IPP.
132<dt><b>VERSION 1.0</b>
133<dd style="margin-left: 5.0em"><dt><b>VERSION 1.1</b>
134<dd style="margin-left: 5.0em"><dt><b>VERSION 2.0</b>
135<dd style="margin-left: 5.0em"><dt><b>VERSION 2.1</b>
136<dd style="margin-left: 5.0em"><dt><b>VERSION 2.2</b>
2909c66c 137<dd style="margin-left: 5.0em">Specifies the default IPP version number to use for the tests that follow.
2909c66c 138</dl>
6b13fa61
MS
139<h3><a name="TEST_DIRECTIVES">Test Directives</a></h3>
140The following directives are understood within a <i>test</i>:
2909c66c 141<dl class="man">
345e10ca
MS
142<dt><b>ATTR </b><i>out-of-band-tag attribute-name</i>
143<dd style="margin-left: 5.0em"><dt><b>ATTR </b><i>tag attribute-name value(s)</i>
f1dd3a39 144<dd style="margin-left: 5.0em">Adds an attribute to the test request.
345e10ca 145Out-of-band tags (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) have no value.
d784ca2f 146Values for other tags are delimited by the comma (",") character - escape commas using the "\" character.
f1dd3a39 147Common attributes and values are listed in the IANA IPP registry - see references below.
6b13fa61 148<dt><b>ATTR collection </b><i>attribute-name </i><b>{ MEMBER </b><i>tag member-name value(s) ... </i><b>}</b> [ <i>... </i><b>,{ </b><i>... </i><b>} </b>]
f1dd3a39
MS
149<dd style="margin-left: 5.0em">Adds a collection attribute to the test request.
150Member attributes follow the same syntax as regular attributes and can themselves be nested collections.
151Multiple collection values can be supplied as needed, separated by commas.
6b13fa61
MS
152<dt><b>COMPRESSION deflate</b>
153<dd style="margin-left: 5.0em"><dt><b>COMPRESSION gzip</b>
154<dd style="margin-left: 5.0em"><dt><b>COMPRESSION none</b>
155<dd style="margin-left: 5.0em">Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request.
f1dd3a39
MS
156<dt><b>DELAY </b><i>seconds</i>[<i>,repeat-seconds</i>]
157<dd style="margin-left: 5.0em">Specifies a delay in seconds before this test will be run.
158If two values are specified, the second value is used as the delay between repeated tests.
6b13fa61 159<dt><b>DISPLAY </b><i>attribute-name</i>
2909c66c 160<dd style="margin-left: 5.0em">Specifies that value of the named attribute should be output as part of the
a2326b5b 161test report.
6b13fa61
MS
162<dt><b>EXPECT </b><i>attribute-name </i>[ <i>predicate(s) </i>]
163<dd style="margin-left: 5.0em"><dt><b>EXPECT ?</b><i>attribute-name predicate(s)</i>
164<dd style="margin-left: 5.0em"><dt><b>EXPECT !</b><i>attribute-name</i>
165<dd style="margin-left: 5.0em">Specifies that the response must/may/must not include the named attribute. Additional requirements can be added as predicates - see the "EXPECT PREDICATES" section for more information on predicates. Attribute names can specify member attributes by separating the attribute and member names with the forward slash, for example "media-col/media-size/x-dimension".
e83646d5
MS
166<dt><b>EXPECT-ALL </b><i>attribute-name </i>[ <i>predicate(s) </i>]
167<dd style="margin-left: 5.0em"><dt><b>EXPECT-ALL ?</b><i>attribute-name predicate(s)</i>
168<dd style="margin-left: 5.0em">Specifies that the response must/may include the named attribute and that all occurrences of that attribute must match the given predicates.
6b13fa61
MS
169<dt><b>FILE filename</b>
170<dd style="margin-left: 5.0em">Specifies a file to include at the end of the request. This is typically used when sending a test print file.
171<dt><b>GROUP tag</b>
2909c66c 172<dd style="margin-left: 5.0em">Specifies the group tag for subsequent attributes in the request.
6b13fa61
MS
173<dt><b>IGNORE-ERRORS yes</b>
174<dd style="margin-left: 5.0em"><dt><b>IGNORE-ERRORS no</b>
175<dd style="margin-left: 5.0em">Specifies whether
87030afb 176<b>ipptool</b>(8)
6b13fa61 177will ignore errors and continue with subsequent tests.
064e50fb
MS
178<dt><b>MONITOR-PRINTER-STATE </b>[ <i>printer-uri </i>] <b>{ EXPECT </b><i>attribute-name </i>[ <i>predicate(s) </i>] <b>}</b>
179<dd style="margin-left: 5.0em">Specifies printer state monitoring tests to run in parallel with the test operation.
180The monitoring tests will run until all of the <b>EXPECT</b> conditions are satisfied or the primary test operation has completed, whichever occurs first.
6b13fa61 181<dt><b>NAME "</b><i>literal string</i><b>"</b>
2909c66c 182<dd style="margin-left: 5.0em">Specifies the human-readable name of the test.
6b13fa61 183<dt><b>OPERATION </b><i>operation-code</i>
2909c66c 184<dd style="margin-left: 5.0em">Specifies the operation to be performed.
e639770b
MS
185<dt><b>PAUSE "</b><i>message</i><b>"</b>
186<dd style="margin-left: 5.0em">Displays the provided message and waits for the user to press a key to continue.
6b13fa61
MS
187<dt><b>REQUEST-ID </b><i>number</i>
188<dd style="margin-left: 5.0em"><dt><b>REQUEST-ID random</b>
189<dd style="margin-left: 5.0em">Specifies the request-id value to use in the request, either an integer or the word "random" to use a randomly generated value (the default).
190<dt><b>RESOURCE </b><i>path</i>
191<dd style="margin-left: 5.0em">Specifies an alternate resource path that is used for the HTTP POST request. The default is the resource from the URI provided to the
87030afb 192<b>ipptool</b>(8)
6b13fa61
MS
193program.
194<dt><b>SKIP-IF-DEFINED </b><i>variable-name</i>
195<dd style="margin-left: 5.0em"><dt><b>SKIP-IF-NOT-DEFINED </b><i>variable-name</i>
196<dd style="margin-left: 5.0em">Specifies that the current test should be skipped when the variable is or is not defined.
197<dt><b>SKIP-PREVIOUS-ERROR yes</b>
198<dd style="margin-left: 5.0em"><dt><b>SKIP-PREVIOUS-ERROR no</b>
199<dd style="margin-left: 5.0em">Specifies whether
87030afb 200<b>ipptool</b>(8)
6b13fa61
MS
201will skip the current test if the previous test resulted in an error/failure.
202<dt><b>STATUS </b><i>status-code </i>[ <i>predicate</i> ]
203<dd style="margin-left: 5.0em">Specifies an expected response status-code value. Additional requirements can be added as predicates - see the "STATUS PREDICATES" section for more information on predicates.
204<dt><b>TEST-ID "</b><i>identifier</i>"
2909c66c 205<dd style="margin-left: 5.0em">Specifies an identifier string for the current test.
6b13fa61
MS
206<dt><b>TRANSFER auto</b>
207<dd style="margin-left: 5.0em">Specifies that this test will use "Transfer-Encoding: chunked" if it has an attached file or "Content-Length:" otherwise.
208<dt><b>TRANSFER chunked</b>
209<dd style="margin-left: 5.0em">Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header.
210<dt><b>TRANSFER length</b>
2909c66c 211<dd style="margin-left: 5.0em">Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
6b13fa61
MS
212<dt><b>VERSION 1.0</b>
213<dd style="margin-left: 5.0em"><dt><b>VERSION 1.1</b>
214<dd style="margin-left: 5.0em"><dt><b>VERSION 2.0</b>
215<dd style="margin-left: 5.0em"><dt><b>VERSION 2.1</b>
216<dd style="margin-left: 5.0em"><dt><b>VERSION 2.2</b>
2909c66c 217<dd style="margin-left: 5.0em">Specifies the IPP version number to use for this test.
2909c66c 218</dl>
6b13fa61
MS
219<h3><a name="EXPECT_PREDICATES">Expect Predicates</a></h3>
220The following predicates are understood following the <b>EXPECT</b> test directive:
2909c66c 221<dl class="man">
6b13fa61
MS
222<dt><b>COUNT </b><i>number</i>
223<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to have the specified number of values.
224<dt><b>DEFINE-MATCH </b><i>variable-name</i>
90a7970b
MS
225<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>EXPECT</b> condition matches.
226A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
6b13fa61 227<dt><b>DEFINE-NO-MATCH </b><i>variable-name</i>
90a7970b
MS
228<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>EXPECT</b> condition does not match.
229A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
6b13fa61 230<dt><b>DEFINE-VALUE </b><i>variable-name</i>
90a7970b
MS
231<dd style="margin-left: 5.0em">Defines the variable to the value of the attribute when the <b>EXPECT</b> condition matches.
232A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
233<dt><b>DISPLAY-MATCH </b><i>"message"</i>
234<dd style="margin-left: 5.0em">Displays the specified message when the <b>EXPECT</b> condition matches.
6b13fa61
MS
235<dt><b>IF-DEFINED </b><i>variable-name</i>
236<dd style="margin-left: 5.0em">Makes the <b>EXPECT</b> conditions apply only if the specified variable is defined.
237<dt><b>IF-NOT-DEFINED </b><i>variable-name</i>
238<dd style="margin-left: 5.0em">Makes the <b>EXPECT</b> conditions apply only if the specified variable is not defined.
239<dt><b>IN-GROUP </b><i>tag</i>
240<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to be in the specified group tag.
064e50fb 241<dt><b>OF-TYPE </b><i>tag[(limits)|tag|...]</i>
6b13fa61 242<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to use one of the specified value tag(s).
064e50fb 243Most value tags also support the specification of limits in parenthesis, for example "name(42)" would allow nameWith/WithoutLanguage strings up to 42 octets in length, "name(4:MAX)" would allow nameWith/WithoutLanguage strings between 4 and 255 octets in length, and "integer(-273:MAX)" would allow integers between -273 and 2147483647.
6b13fa61 244<dt><b>REPEAT-LIMIT </b><i>number</i>
2909c66c 245<dd style="margin-left: 5.0em"><br>
6b13fa61
MS
246Specifies the maximum number of times to repeat if the <b>REPEAT-MATCH</b> or <b>REPEAT-NO-MATCH</b> predicate is specified. The default value is 1000.
247<dt><b>REPEAT-MATCH</b>
248<dd style="margin-left: 5.0em"><dt><b>REPEAT-NO-MATCH</b>
249<dd style="margin-left: 5.0em">Specifies that the current test should be repeated when the <b>EXPECT</b> condition matches or does not match.
250<dt><b>SAME-COUNT-AS </b><i>attribute-name</i>
251<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to have the same number of values as the specified parallel attribute.
252<dt><b>WITH-ALL-HOSTNAMES "</b><i>literal string</i><b>"</b>
253<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-HOSTNAMES "/</b><i>regular expression</i><b>/"</b>
2909c66c 254<dd style="margin-left: 5.0em">Requires that all URI values contain a matching hostname.
6b13fa61
MS
255<dt><b>WITH-ALL-RESOURCES "</b><i>literal string</i><b>"</b>
256<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-RESOURCES "/</b><i>regular expression</i><b>/"</b>
2909c66c 257<dd style="margin-left: 5.0em">Requires that all URI values contain a matching resource (including leading /).
6b13fa61
MS
258<dt><b>WITH-ALL-SCHEMES "</b><i>literal string</i><b>"</b>
259<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-SCHEMES "/</b><i>regular expression</i><b>/"</b>
2909c66c 260<dd style="margin-left: 5.0em">Requires that all URI values contain a matching scheme.
6b13fa61
MS
261<dt><b>WITH-ALL-VALUES "</b><i>literal string</i><b>"</b>
262<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the literal string. Comparisons are case-sensitive.
263<dt><b>WITH-ALL-VALUES &lt;</b><i>number</i>
264<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES =</b><i>number</i>
265<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES ></b><i>number</i>
266<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES </b><i>number</i>[<i>,...,number</i>]
267<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
268<dt><b>WITH-ALL-VALUES "false"</b>
269<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES "true"</b>
270<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the boolean value given.
271<dt><b>WITH-ALL-VALUES "/</b><i>regular expression</i><b>/"</b>
064e50fb
MS
272<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the regular expression, which must conform to the POSIX regular expression syntax.
273Comparisons are case-sensitive.
274<dt><b>WITH-DISTINCT-VALUES</b>
275<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute are unique.
276Comparisons are case-sensitive.
9a13f253 277Only charset, collection, enum, integer, keyword, mimeMediaType, naturalLanguage, rangeOfInteger, resolution, uriScheme attributes support this predicate.
6b13fa61
MS
278<dt><b>WITH-HOSTNAME "</b><i>literal string</i><b>"</b>
279<dd style="margin-left: 5.0em"><dt><b>WITH-HOSTNAME "/</b><i>regular expression</i><b>/"</b>
2909c66c 280<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching hostname.
6b13fa61
MS
281<dt><b>WITH-RESOURCE "</b><i>literal string</i><b>"</b>
282<dd style="margin-left: 5.0em"><dt><b>WITH-RESOURCE "/</b><i>regular expression</i><b>/"</b>
2909c66c 283<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching resource (including leading /).
6b13fa61
MS
284<dt><b>WITH-SCHEME "</b><i>literal string</i><b>"</b>
285<dd style="margin-left: 5.0em"><dt><b>WITH-SCHEME "/</b><i>regular expression</i><b>/"</b>
2909c66c 286<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching scheme.
6b13fa61
MS
287<dt><b>WITH-VALUE "</b><i>literal string</i><b>"</b>
288<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the literal string. Comparisons are case-sensitive.
289<dt><b>WITH-VALUE &lt;</b><i>number</i>
290<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE =</b><i>number</i>
291<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE ></b><i>number</i>
292<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE </b><i>number</i>[<i>,...,number</i>]
293<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
294<dt><b>WITH-VALUE "false"</b>
295<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE "true"</b>
296<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the boolean value given.
297<dt><b>WITH-VALUE "/</b><i>regular expression</i><b>/"</b>
298<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
a21c36fa
MS
299<dt><b>WITH-VALUE-FROM </b><i>attribute-name</i>
300<dd style="margin-left: 5.0em">Requires that the value(s) of the <b>EXPECT</b> attribute matches the value(s) in the specified attribute.
301For example, "EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported" requires that the "job-sheets" value is listed as a value of the "job-sheets-supported" attribute.
2909c66c 302</dl>
6b13fa61
MS
303<h3><a name="STATUS_PREDICATES">Status Predicates</a></h3>
304The following predicates are understood following the <b>STATUS</b> test directive:
2909c66c 305<dl class="man">
6b13fa61
MS
306<dt><b>DEFINE-MATCH </b><i>variable-name</i>
307<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>STATUS</b> matches. A side-effect of this predicate is that this <b>STATUS</b> will never fail a test.
308<dt><b>DEFINE-NO-MATCH </b><i>variable-name</i>
309<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>STATUS</b> does not match. A side-effect of this predicate is that this <b>STATUS</b> will never fail a test.
310<dt><b>IF-DEFINED </b><i>variable-name</i>
311<dd style="margin-left: 5.0em">Makes the <b>STATUS</b> apply only if the specified variable is defined.
312<dt><b>IF-NOT-DEFINED </b><i>variable-name</i>
313<dd style="margin-left: 5.0em">Makes the <b>STATUS</b> apply only if the specified variable is not defined.
314<dt><b>REPEAT-LIMIT </b><i>number</i>
2909c66c 315<dd style="margin-left: 5.0em"><br>
c277f98c 316Specifies the maximum number of times to repeat. The default value is 1000.
6b13fa61
MS
317<dt><b>REPEAT-MATCH</b>
318<dd style="margin-left: 5.0em"><dt><b>REPEAT-NO-MATCH</b>
319<dd style="margin-left: 5.0em">Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive.
2909c66c 320</dl>
6b13fa61 321<h3><a name="OPERATION_CODES">Operation Codes</a></h3>
345e10ca 322Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of names supported by
87030afb 323<b>ipptool</b>(8):
2909c66c 324<pre class="man">
6b13fa61 325
a2326b5b
MS
326 Activate-Printer
327 CUPS-Accept-Jobs
328 CUPS-Add-Modify-Class
329 CUPS-Add-Modify-Printer
330 CUPS-Authenticate-Job
331 CUPS-Delete-Class
332 CUPS-Delete-Printer
333 CUPS-Get-Classes
334 CUPS-Get-Default
335 CUPS-Get-Devices
336 CUPS-Get-Document
337 CUPS-Get-PPD
338 CUPS-Get-PPDs
339 CUPS-Get-Printers
340 CUPS-Move-Job
341 CUPS-Reject-Jobs
342 CUPS-Set-Default
343 Cancel-Current-Job
344 Cancel-Job
345 Cancel-Jobs
346 Cancel-My-Jobs
347 Cancel-Subscription
348 Close-Job
349 Create-Job
42404685
MS
350 Create-Job-Subscriptions
351 Create-Printer-Subscriptions
a2326b5b
MS
352 Deactivate-Printer
353 Disable-Printer
354 Enable-Printer
355 Get-Job-Attributes
356 Get-Jobs
357 Get-Notifications
358 Get-Printer-Attributes
359 Get-Printer-Support-Files
360 Get-Printer-Supported-Values
361 Get-Subscription-Attributes
362 Get-Subscriptions
363 Hold-Job
364 Hold-New-Jobs
82cc1f9a 365 Identify-Printer
a2326b5b
MS
366 Pause-Printer
367 Pause-Printer-After-Current-Job
368 Print-Job
369 Print-URI
370 Promote-Job
371 Purge-Jobs
372 Release-Held-New-Jobs
373 Release-Job
374 Renew-Subscription
375 Reprocess-Job
376 Restart-Job
377 Restart-Printer
378 Resubmit-Job
379 Resume-Job
380 Resume-Printer
381 Schedule-Job-After
382 Send-Document
9475ec92 383 Send-Hardcopy-Document
a2326b5b
MS
384 Send-Notifications
385 Send-URI
386 Set-Job-Attributes
387 Set-Printer-Attributes
388 Shutdown-Printer
389 Startup-Printer
390 Suspend-Current-Job
82cc1f9a 391 Validate-Document
a2326b5b
MS
392 Validate-Job
393</pre>
6b13fa61 394<h3><a name="STATUS_CODES">Status Codes</a></h3>
345e10ca 395Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of the names supported by
87030afb 396<b>ipptool</b>(8):
2909c66c 397<pre class="man">
6b13fa61
MS
398
399 client-error-account-authorization-failed
400 client-error-account-closed
401 client-error-account-info-needed
402 client-error-account-limit-reached
a2326b5b
MS
403 client-error-attributes-not-settable
404 client-error-attributes-or-values-not-supported
405 client-error-bad-request
406 client-error-charset-not-supported
407 client-error-compression-error
408 client-error-compression-not-supported
409 client-error-conflicting-attributes
410 client-error-document-access-error
411 client-error-document-format-error
412 client-error-document-format-not-supported
82cc1f9a
MS
413 client-error-document-password-error
414 client-error-document-permission-error
415 client-error-document-security-error
416 client-error-document-unprintable-error
a2326b5b
MS
417 client-error-forbidden
418 client-error-gone
419 client-error-ignored-all-notifications
420 client-error-ignored-all-subscriptions
421 client-error-not-authenticated
422 client-error-not-authorized
423 client-error-not-found
424 client-error-not-possible
425 client-error-print-support-file-not-found
426 client-error-request-entity-too-large
427 client-error-request-value-too-long
428 client-error-timeout
429 client-error-too-many-subscriptions
430 client-error-uri-scheme-not-supported
6b13fa61
MS
431 cups-error-account-authorization-failed
432 cups-error-account-closed
433 cups-error-account-info-needed
434 cups-error-account-limit-reached
a2326b5b
MS
435 cups-see-other
436 redirection-other-site
437 server-error-busy
438 server-error-device-error
439 server-error-internal-error
440 server-error-job-canceled
441 server-error-multiple-document-jobs-not-supported
442 server-error-not-accepting-jobs
443 server-error-operation-not-supported
444 server-error-printer-is-deactivated
445 server-error-service-unavailable
446 server-error-temporary-error
447 server-error-version-not-supported
448 successful-ok
449 successful-ok-but-cancel-subscription
450 successful-ok-conflicting-attributes
451 successful-ok-events-complete
452 successful-ok-ignored-notifications
453 successful-ok-ignored-or-substituted-attributes
454 successful-ok-ignored-subscriptions
455 successful-ok-too-many-events
456</pre>
6b13fa61 457<h3><a name="TAGS">Tags</a></h3>
345e10ca 458Value and group tags correspond to the names from RFC 8011 and other IPP extension specifications. Here are the group tags:
2909c66c 459<pre class="man">
6b13fa61
MS
460
461 document-attributes-tag
a2326b5b
MS
462 event-notification-attributes-tag
463 job-attributes-tag
464 operation-attributes-tag
465 printer-attributes-tag
466 subscription-attributes-tag
467 unsupported-attributes-tag
468</pre>
469<p>Here are the value tags:
2909c66c 470<pre class="man">
6b13fa61 471
a2326b5b
MS
472 admin-define
473 boolean
474 charset
475 collection
476 dateTime
477 default
478 delete-attribute
479 enum
480 integer
481 keyword
482 mimeMediaType
483 nameWithLanguage
484 nameWithoutLanguage
485 naturalLanguage
486 no-value
487 not-settable
488 octetString
489 rangeOfInteger
490 resolution
491 textWithLanguage
492 textWithoutLanguage
493 unknown
494 unsupported
495 uri
496 uriScheme
497</pre>
6b13fa61
MS
498<h3><a name="VARIABLES">Variables</a></h3>
499The
87030afb 500<b>ipptool</b>(8)
6b13fa61 501program maintains a list of variables that can be used in any literal string or attribute value by specifying "<i>$variable-name</i>". Aside from variables defined using the <i>-d</i> option or <b>DEFINE</b> directive, the following pre-defined variables are available:
2909c66c 502<dl class="man">
6b13fa61 503<dt><b>$$</b>
2909c66c 504<dd style="margin-left: 5.0em">Inserts a single "$" character.
6b13fa61
MS
505<dt><b>$ENV[</b><i>name</i><b>]</b>
506<dd style="margin-left: 5.0em">Inserts the value of the named environment variable, or an empty string if the environment variable is not defined.
c8d7d4bf
MS
507<dt><b>$date-current</b>
508<dd style="margin-left: 5.0em">Inserts the current date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ").
509<dt><b>$date-start</b>
510<dd style="margin-left: 5.0em">Inserts the starting date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ").
6b13fa61
MS
511<dt><b>$filename</b>
512<dd style="margin-left: 5.0em">Inserts the filename provided to
87030afb 513<b>ipptool</b>(8)
6b13fa61
MS
514with the <i>-f</i> option.
515<dt><b>$filetype</b>
516<dd style="margin-left: 5.0em">Inserts the MIME media type for the filename provided to
87030afb 517<b>ipptool</b>(8)
6b13fa61
MS
518with the <i>-f</i> option.
519<dt><b>$hostname</b>
520<dd style="margin-left: 5.0em">Inserts the hostname from the URI provided to
87030afb 521<b>ipptool</b>(8).
6b13fa61
MS
522<dt><b>$job-id</b>
523<dd style="margin-left: 5.0em">Inserts the last "job-id" attribute value returned in a test response or 0 if no "job-id" attribute has been seen.
524<dt><b>$job-uri</b>
525<dd style="margin-left: 5.0em">Inserts the last "job-uri" attribute value returned in a test response or an empty string if no "job-uri" attribute has been seen.
526<dt><b>$notify-subscription-id</b>
527<dd style="margin-left: 5.0em">Inserts the last "notify-subscription-id" attribute value returned in a test response or 0 if no "notify-subscription-id" attribute has been seen.
528<dt><b>$port</b>
529<dd style="margin-left: 5.0em">Inserts the port number from the URI provided to
87030afb 530<b>ipptool</b>(8).
6b13fa61
MS
531<dt><b>$resource</b>
532<dd style="margin-left: 5.0em">Inserts the resource path from the URI provided to
87030afb 533<b>ipptool</b>(8).
6b13fa61
MS
534<dt><b>$scheme</b>
535<dd style="margin-left: 5.0em">Inserts the scheme from the URI provided to
87030afb 536<b>ipptool</b>(8).
6b13fa61
MS
537<dt><b>$uri</b>
538<dd style="margin-left: 5.0em">Inserts the URI provided to
87030afb 539<b>ipptool</b>(8).
6b13fa61
MS
540<dt><b>$uriuser</b>
541<dd style="margin-left: 5.0em">Inserts the username from the URI provided to
87030afb 542<b>ipptool</b>(8),
6b13fa61
MS
543if any.
544<dt><b>$user</b>
2909c66c 545<dd style="margin-left: 5.0em">Inserts the current user's login name.
2909c66c 546</dl>
a2326b5b 547<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
87030afb 548<b>ipptool</b>(1),
6b13fa61
MS
549IANA IPP Registry (<a href="http://www.iana.org/assignments/ipp-registrations)">http://www.iana.org/assignments/ipp-registrations)</a>,
550PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp)">http://www.pwg.org/ipp)</a>,
f1dd3a39 551RFC 8011 (<a href="http://tools.ietf.org/html/rfc8011">http://tools.ietf.org/html/rfc8011</a>)
a2326b5b 552<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
064e50fb 553Copyright &copy; 2007-2021 by Apple Inc.
a2326b5b
MS
554
555</body>
556</html>