]>
Commit | Line | Data |
---|---|---|
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> | |
11 | ipptoolfile - ipptool file format | |
a2326b5b | 12 | <h2 class="title"><a name="DESCRIPTION">Description</a></h2> |
6b13fa61 | 13 | The |
87030afb | 14 | <b>ipptool</b>(1) |
f1dd3a39 MS |
15 | program accepts free-form plain text files that describe one or more IPP requests. |
16 | Comments start with the "#" character and continue to the end of the line. | |
17 | Each 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> |
84 | The 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 |
91 | command-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 |
100 | will 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 <</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 |
105 | include 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><</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 | 110 | include 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><</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 |
115 | include 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 |
127 | command-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 |
131 | command-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> |
140 | The 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 | 145 | Out-of-band tags (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) have no value. |
d784ca2f | 146 | Values for other tags are delimited by the comma (",") character - escape commas using the "\" character. |
f1dd3a39 | 147 | Common 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. |
150 | Member attributes follow the same syntax as regular attributes and can themselves be nested collections. | |
151 | Multiple 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. | |
158 | If 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 | 161 | test 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 | 177 | will 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. | |
180 | The 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 |
193 | program. |
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 |
201 | will 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> |
220 | The 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. |
226 | A 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. |
229 | A 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. |
232 | A 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 | 243 | Most 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 |
246 | Specifies 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 <</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 "<" 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. |
273 | Comparisons 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. | |
276 | Comparisons are case-sensitive. | |
9a13f253 | 277 | Only 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 <</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 "<" 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. | |
301 | For 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> |
304 | The 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 | 316 | Specifies 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 | 322 | Operation 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 | 395 | Status 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 | 458 | Value 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> |
499 | The | |
87030afb | 500 | <b>ipptool</b>(8) |
6b13fa61 | 501 | program 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 |
514 | with 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 |
518 | with 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 |
543 | if 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 |
549 | IANA IPP Registry (<a href="http://www.iana.org/assignments/ipp-registrations)">http://www.iana.org/assignments/ipp-registrations)</a>, |
550 | PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp)">http://www.pwg.org/ipp)</a>, | |
f1dd3a39 | 551 | RFC 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 | 553 | Copyright © 2007-2021 by Apple Inc. |
a2326b5b MS |
554 | |
555 | </body> | |
556 | </html> |