]> git.ipfire.org Git - thirdparty/cups.git/blob - man/ipptoolfile.man
Add EXPECT-ALL directive to ipptool (STR #4469)
[thirdparty/cups.git] / man / ipptoolfile.man
1 .\"
2 .\" "$Id$"
3 .\"
4 .\" ipptoolfile man page for CUPS.
5 .\"
6 .\" Copyright 2010-2014 by Apple Inc.
7 .\"
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/".
13 .\"
14 .TH ipptoolfile 5 "CUPS" "3 February 2015" "Apple Inc."
15 .SH NAME
16 ipptoolfile \- ipptool file format
17 .SH DESCRIPTION
18 The
19 .BR ipptool (1)
20 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 curly braces, for example:
21 .nf
22
23 # This is a comment
24 {
25 # The name of the test
26 NAME "Print PostScript File"
27
28 # The request to send
29 OPERATION Print\-Job
30 GROUP operation\-attributes\-tag
31 ATTR charset attributes\-charset utf\-8
32 ATTR language attributes\-natural\-language en
33 ATTR uri printer\-uri $uri
34 ATTR name requesting\-user\-name $user
35 FILE testfile.ps
36
37 # The response to expect
38 STATUS successful\-ok
39 EXPECT job\-id OF\-TYPE integer WITH\-VALUE >0
40 EXPECT job\-uri OF\-TYPE uri
41 }
42 {
43 # The name of the test
44 NAME "Get Attributes of PostScript Job"
45
46 # The request to send
47 OPERATION Get\-Job\-Attributes
48 GROUP operation\-attributes\-tag
49 ATTR charset attributes\-charset utf\-8
50 ATTR language attributes\-natural\-language en
51 ATTR uri printer\-uri $uri
52 ATTR integer job\-id $job\-id
53 ATTR name requesting\-user\-name $user
54
55 # The response to expect
56 STATUS successful\-ok
57 EXPECT job\-id OF\-TYPE integer WITH\-VALUE $job\-id
58 EXPECT job\-uri OF\-TYPE uri
59 EXPECT job\-state OF\-TYPE enum WITH\-VALUE 3,4,5,6,7,8,9
60 EXPECT job\-originating\-user\-name OF\-TYPE name WITH\-VALUE "$user"
61 }
62 .fi
63 .SS TOP-LEVEL DIRECTIVES
64 The following directives can be used outside of a \fItest\fR:
65 .TP 5
66 \fB{ \fItest \fB}\fR
67 Defines a test.
68 .TP 5
69 \fBDEFINE \fIvariable-name value\fR
70 Defines the named variable to the given value. This is equivalent to specifying \fI\-d variable-name=value\fR on the
71 .BR ipptool (8)
72 command-line.
73 .TP 5
74 \fBDEFINE\-DEFAULT \fIvariable-name value\fR
75 Defines the named variable to the given value if it does not already have a value.
76 .TP 5
77 \fBFILE\-ID "\fIidentifier\fB"\fR
78 Specifies an identifier string for the current file.
79 .TP 5
80 \fBIGNORE\-ERRORS yes\fR
81 .TP 5
82 \fBIGNORE\-ERRORS no\fR
83 Specifies whether, by default,
84 .BR ipptool (8)
85 will ignore errors and continue with subsequent tests.
86 .TP 5
87 \fBINCLUDE "\fIfilename\fB"\fR
88 .TP 5
89 \fBINCLUDE <\fIfilename\fB>\fR
90 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
91 .BR ipptool (8)
92 include directory.
93 .TP 5
94 \fBINCLUDE\-IF\-DEFINED \fIname \fB"\fIfilename\fB"\fR
95 .TP 5
96 \fBINCLUDE\-IF\-DEFINED \fIname \fB<\fIfilename\fB>\fR
97 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
98 .BR ipptool (8)
99 include directory.
100 .TP 5
101 \fBINCLUDE\-IF\-NOT\-DEFINED \fIname \fB"\fIfilename\fB"\fR
102 .TP 5
103 \fBINCLUDE\-IF\-NOT\-DEFINED \fIname \fB<\fIfilename\fB>\fR
104 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
105 .BR ipptool (8)
106 include directory.
107 .TP 5
108 \fBSKIP\-IF\-DEFINED \fIvariable-name\fR
109 .TP 5
110 \fBSKIP\-IF\-NOT\-DEFINED \fIvariable-name\fR
111 Specifies that the remainder of the test file should be skipped when the variable is or is not defined.
112 .TP 5
113 \fBSTOP\-AFTER\-INCLUDE\-ERROR no\fR
114 .TP 5
115 \fBSTOP\-AFTER\-INCLUDE\-ERROR yes\fR
116 Specifies whether tests will be stopped after an error in an included file.
117 .TP 5
118 \fBTRANSFER auto\fR
119 Specifies that tests will, by default, use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
120 .TP 5
121 \fBTRANSFER chunked\fR
122 Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding: chunked" header. This is the default and is equivalent to specifying \fI\-c\fR on the
123 .BR ipptool (8)
124 command-line. Support for chunked requests is required for conformance with all versions of IPP.
125 .TP 5
126 \fBTRANSFER length\fR
127 Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:" header. This is equivalent to specifying \fI\-l\fR on the
128 .BR ipptool (8)
129 command-line. Support for content length requests is required for conformance with all versions of IPP.
130 .TP 5
131 \fBVERSION 1.0\fR
132 .TP 5
133 \fBVERSION 1.1\fR
134 .TP 5
135 \fBVERSION 2.0\fR
136 .TP 5
137 \fBVERSION 2.1\fR
138 .TP 5
139 \fBVERSION 2.2\fR
140 Specifies the default IPP version number to use for the tests that follow.
141 .SS TEST DIRECTIVES
142 The following directives are understood within a \fItest\fR:
143 .TP 5
144 \fBATTR \fItag attribute-name value(s)\fR
145 Adds an attribute to the test request. Values are separated by the comma (",") character - escape commas using the "\" character. Common attributes and values are listed in the IANA IPP registry - see references below.
146 .TP 5
147 \fBATTR collection \fIattribute-name \fB{ MEMBER \fItag member-name value(s) ... \fB}\fR [ \fI... \fB,{ \fI... \fB} \fR]
148 Adds a collection attribute to the test request. Member attributes follow the same syntax as regular attributes and can themselves be nested collections. Multiple collection values can be supplied as needed, separated by commas.
149 .TP 5
150 \fBCOMPRESSION deflate\fR
151 .TP 5
152 \fBCOMPRESSION gzip\fR
153 .TP 5
154 \fBCOMPRESSION none\fR
155 Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request.
156 .TP 5
157 \fBDELAY \fIseconds\fR
158 Specifies a delay before this test will be run.
159 .TP 5
160 \fBDISPLAY \fIattribute-name\fR
161 Specifies that value of the named attribute should be output as part of the
162 test report.
163 .TP 5
164 \fBEXPECT \fIattribute-name \fR[ \fIpredicate(s) \fR]
165 .TP 5
166 \fBEXPECT ?\fIattribute-name predicate(s)\fR
167 .TP 5
168 \fBEXPECT !\fIattribute-name\fR
169 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".
170 .TP 5
171 \fBEXPECT-ALL \fIattribute-name \fR[ \fIpredicate(s) \fR]
172 .TP 5
173 \fBEXPECT-ALL ?\fIattribute-name predicate(s)\fR
174 Specifies that the response must/may include the named attribute and that all occurrences of that attribute must match the given predicates.
175 .TP 5
176 \fBFILE filename\fR
177 Specifies a file to include at the end of the request. This is typically used when sending a test print file.
178 .TP 5
179 \fBGROUP tag\fR
180 Specifies the group tag for subsequent attributes in the request.
181 .TP 5
182 \fBIGNORE\-ERRORS yes\fR
183 .TP 5
184 \fBIGNORE\-ERRORS no\fR
185 Specifies whether
186 .BR ipptool (8)
187 will ignore errors and continue with subsequent tests.
188 .TP 5
189 \fBNAME "\fIliteral string\fB"\fR
190 Specifies the human-readable name of the test.
191 .TP 5
192 \fBOPERATION \fIoperation-code\fR
193 Specifies the operation to be performed.
194 .TP 5
195 \fBPAUSE "\fImessage\fB"\fR
196 Displays the provided message and waits for the user to press a key to continue.
197 .TP 5
198 \fBREQUEST\-ID \fInumber\fR\fR
199 .TP 5
200 \fBREQUEST\-ID random\fR
201 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).
202 .TP 5
203 \fBRESOURCE \fIpath\fR
204 Specifies an alternate resource path that is used for the HTTP POST request. The default is the resource from the URI provided to the
205 .BR ipptool (8)
206 program.
207 .TP 5
208 \fBSKIP\-IF\-DEFINED \fIvariable-name\fR
209 .TP 5
210 \fBSKIP\-IF\-NOT\-DEFINED \fIvariable-name\fR
211 Specifies that the current test should be skipped when the variable is or is not defined.
212 .TP 5
213 \fBSKIP\-PREVIOUS\-ERROR yes\fR
214 .TP 5
215 \fBSKIP\-PREVIOUS\-ERROR no\fR
216 Specifies whether
217 .BR ipptool (8)
218 will skip the current test if the previous test resulted in an error/failure.
219 .TP 5
220 \fBSTATUS \fIstatus-code \fR[ \fIpredicate\fR ]
221 Specifies an expected response status-code value. Additional requirements can be added as predicates - see the "STATUS PREDICATES" section for more information on predicates.
222 .TP 5
223 \fBTEST\-ID "\fIidentifier\fR"
224 Specifies an identifier string for the current test.
225 .TP 5
226 \fBTRANSFER auto\fR
227 Specifies that this test will use "Transfer-Encoding: chunked" if it has an attached file or "Content-Length:" otherwise.
228 .TP 5
229 \fBTRANSFER chunked\fR
230 Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header.
231 .TP 5
232 \fBTRANSFER length\fR
233 Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
234 .TP 5
235 \fBVERSION 1.0\fR
236 .TP 5
237 \fBVERSION 1.1\fR
238 .TP 5
239 \fBVERSION 2.0\fR
240 .TP 5
241 \fBVERSION 2.1\fR
242 .TP 5
243 \fBVERSION 2.2\fR
244 Specifies the IPP version number to use for this test.
245 .SS EXPECT PREDICATES
246 The following predicates are understood following the \fBEXPECT\fR test directive:
247 .TP 5
248 \fBCOUNT \fInumber\fR
249 Requires the \fBEXPECT\fR attribute to have the specified number of values.
250 .TP 5
251 \fBDEFINE\-MATCH \fIvariable-name\fR
252 Defines the variable to "1" when the \fBEXPECT\fR condition matches. A side-effect of this predicate is that this \fBEXPECT\fR will never fail a test.
253 .TP 5
254 \fBDEFINE\-NO\-MATCH \fIvariable-name\fR
255 Defines the variable to "1" when the \fBEXPECT\fR condition does not match. A side-effect of this predicate is that this \fBEXPECT\fR will never fail a test.
256 .TP 5
257 \fBDEFINE\-VALUE \fIvariable-name\fR
258 Defines the variable to the value of the attribute when the \fBEXPECT\fR condition matches. A side-effect of this predicate is that this \fBEXPECT\fR will never fail a test.
259 .TP 5
260 \fBIF\-DEFINED \fIvariable-name\fR
261 Makes the \fBEXPECT\fR conditions apply only if the specified variable is defined.
262 .TP 5
263 \fBIF\-NOT\-DEFINED \fIvariable-name\fR
264 Makes the \fBEXPECT\fR conditions apply only if the specified variable is not defined.
265 .TP 5
266 \fBIN\-GROUP \fItag\fR
267 Requires the \fBEXPECT\fR attribute to be in the specified group tag.
268 .TP 5
269 \fBOF\-TYPE \fItag[,tag,...]\fR
270 Requires the \fBEXPECT\fR attribute to use one of the specified value tag(s).
271 .TP 5
272 \fBREPEAT\-LIMIT \fInumber\fR
273 .br
274 Specifies the maximum number of times to repeat if the \fBREPEAT-MATCH\fR or \fBREPEAT-NO-MATCH\fR predicate is specified. The default value is 1000.
275 .TP 5
276 \fBREPEAT\-MATCH\fR
277 .TP 5
278 \fBREPEAT\-NO\-MATCH\fR
279 Specifies that the current test should be repeated when the \fBEXPECT\fR condition matches or does not match.
280 .TP 5
281 \fBSAME\-COUNT\-AS \fIattribute-name\fR
282 Requires the \fBEXPECT\fR attribute to have the same number of values as the specified parallel attribute.
283 .TP 5
284 \fBWITH\-ALL\-HOSTNAMES "\fIliteral string\fB"\fR
285 .TP 5
286 \fBWITH\-ALL\-HOSTNAMES "/\fIregular expression\fB/"\fR
287 Requires that all URI values contain a matching hostname.
288 .TP 5
289 \fBWITH\-ALL\-RESOURCES "\fIliteral string\fB"\fR
290 .TP 5
291 \fBWITH\-ALL\-RESOURCES "/\fIregular expression\fB/"\fR
292 Requires that all URI values contain a matching resource (including leading /).
293 .TP 5
294 \fBWITH\-ALL\-SCHEMES "\fIliteral string\fB"\fR
295 .TP 5
296 \fBWITH\-ALL-SCHEMES "/\fIregular expression\fB/"\fR
297 Requires that all URI values contain a matching scheme.
298 .TP 5
299 \fBWITH\-ALL\-VALUES "\fIliteral string\fB"\fR
300 Requires that all values of the \fBEXPECT\fR attribute match the literal string. Comparisons are case-sensitive.
301 .TP 5
302 \fBWITH\-ALL\-VALUES <\fInumber\fR
303 .TP 5
304 \fBWITH\-ALL\-VALUES =\fInumber\fR
305 .TP 5
306 \fBWITH\-ALL\-VALUES >\fInumber\fR
307 .TP 5
308 \fBWITH\-ALL\-VALUES \fInumber\fR[\fI,...,number\fR]
309 Requires that all values of the \fBEXPECT\fR attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range.
310 .TP 5
311 \fBWITH\-ALL\-VALUES "false"\fR
312 .TP 5
313 \fBWITH\-ALL\-VALUES "true"\fR
314 Requires that all values of the \fBEXPECT\fR attribute match the boolean value given.
315 .TP 5
316 \fBWITH\-ALL\-VALUES "/\fIregular expression\fB/"\fR
317 Requires that all values of the \fBEXPECT\fR attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
318 .TP 5
319 \fBWITH\-HOSTNAME "\fIliteral string\fB"\fR
320 .TP 5
321 \fBWITH\-HOSTNAME "/\fIregular expression\fB/"\fR
322 Requires that at least one URI value contains a matching hostname.
323 .TP 5
324 \fBWITH\-RESOURCE "\fIliteral string\fB"\fR
325 .TP 5
326 \fBWITH\-RESOURCE "/\fIregular expression\fB/"\fR
327 Requires that at least one URI value contains a matching resource (including leading /).
328 .TP 5
329 \fBWITH\-SCHEME "\fIliteral string\fB"\fR
330 .TP 5
331 \fBWITH\-SCHEME "/\fIregular expression\fB/"\fR
332 Requires that at least one URI value contains a matching scheme.
333 .TP 5
334 \fBWITH\-VALUE "\fIliteral string\fB"\fR
335 Requires that at least one value of the \fBEXPECT\fR attribute matches the literal string. Comparisons are case-sensitive.
336 .TP 5
337 \fBWITH\-VALUE <\fInumber\fR
338 .TP 5
339 \fBWITH\-VALUE =\fInumber\fR
340 .TP 5
341 \fBWITH\-VALUE >\fInumber\fR
342 .TP 5
343 \fBWITH\-VALUE \fInumber\fR[\fI,...,number\fR]
344 Requires that at least one value of the \fBEXPECT\fR attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range.
345 .TP 5
346 \fBWITH\-VALUE "false"\fR
347 .TP 5
348 \fBWITH\-VALUE "true"\fR
349 Requires that at least one value of the \fBEXPECT\fR attribute matches the boolean value given.
350 .TP 5
351 \fBWITH\-VALUE "/\fIregular expression\fB/"\fR
352 Requires that at least one value of the \fBEXPECT\fR attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
353 .SS STATUS PREDICATES
354 The following predicates are understood following the \fBSTATUS\fR test directive:
355 .TP 5
356 \fBDEFINE\-MATCH \fIvariable-name\fR
357 Defines the variable to "1" when the \fBSTATUS\fR matches. A side-effect of this predicate is that this \fBSTATUS\fR will never fail a test.
358 .TP 5
359 \fBDEFINE\-NO\-MATCH \fIvariable-name\fR
360 Defines the variable to "1" when the \fBSTATUS\fR does not match. A side-effect of this predicate is that this \fBSTATUS\fR will never fail a test.
361 .TP 5
362 \fBIF\-DEFINED \fIvariable-name\fR
363 Makes the \fBSTATUS\fR apply only if the specified variable is defined.
364 .TP 5
365 \fBIF\-NOT\-DEFINED \fIvariable-name\fR
366 Makes the \fBSTATUS\fR apply only if the specified variable is not defined.
367 .TP 5
368 \fBREPEAT\-LIMIT \fInumber\fR
369 .br
370 Specifies the maximum number of times to repeat. The default value is 1000.
371 .TP 5
372 \fBREPEAT\-MATCH\fR
373 .TP 5
374 \fBREPEAT\-NO\-MATCH\fR
375 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.
376 .SS OPERATION CODES
377 Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 2911 and other IPP extension specifications. Here is a complete list of names supported by
378 .BR ipptool (8):
379 .nf
380
381 Activate\-Printer
382 CUPS\-Accept\-Jobs
383 CUPS\-Add\-Modify\-Class
384 CUPS\-Add\-Modify\-Printer
385 CUPS\-Authenticate\-Job
386 CUPS\-Delete\-Class
387 CUPS\-Delete\-Printer
388 CUPS\-Get\-Classes
389 CUPS\-Get\-Default
390 CUPS\-Get\-Devices
391 CUPS\-Get\-Document
392 CUPS\-Get\-PPD
393 CUPS\-Get\-PPDs
394 CUPS\-Get\-Printers
395 CUPS\-Move\-Job
396 CUPS\-Reject\-Jobs
397 CUPS\-Set\-Default
398 Cancel\-Current\-Job
399 Cancel\-Job
400 Cancel\-Jobs
401 Cancel\-My\-Jobs
402 Cancel\-Subscription
403 Close\-Job
404 Create\-Job
405 Create\-Job\-Subscriptions
406 Create\-Printer\-Subscriptions
407 Deactivate\-Printer
408 Disable\-Printer
409 Enable\-Printer
410 Get\-Job\-Attributes
411 Get\-Jobs
412 Get\-Notifications
413 Get\-Printer\-Attributes
414 Get\-Printer\-Support\-Files
415 Get\-Printer\-Supported\-Values
416 Get\-Subscription\-Attributes
417 Get\-Subscriptions
418 Hold\-Job
419 Hold\-New\-Jobs
420 Identify\-Printer
421 Pause\-Printer
422 Pause\-Printer\-After\-Current\-Job
423 Print\-Job
424 Print\-URI
425 Promote\-Job
426 Purge\-Jobs
427 Release\-Held\-New\-Jobs
428 Release\-Job
429 Renew\-Subscription
430 Reprocess\-Job
431 Restart\-Job
432 Restart\-Printer
433 Resubmit\-Job
434 Resume\-Job
435 Resume\-Printer
436 Schedule\-Job\-After
437 Send\-Document
438 Send\-Hardcopy\-Document
439 Send\-Notifications
440 Send\-URI
441 Set\-Job\-Attributes
442 Set\-Printer\-Attributes
443 Shutdown\-Printer
444 Startup\-Printer
445 Suspend\-Current\-Job
446 Validate\-Document
447 Validate\-Job
448 .fi
449 .SS STATUS CODES
450 Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 2911 and other IPP extension specifications. Here is a complete list of the names supported by
451 .BR ipptool (8):
452 .nf
453
454 client\-error\-account\-authorization\-failed
455 client\-error\-account\-closed
456 client\-error\-account\-info\-needed
457 client\-error\-account\-limit\-reached
458 client\-error\-attributes\-not\-settable
459 client\-error\-attributes\-or\-values\-not\-supported
460 client\-error\-bad\-request
461 client\-error\-charset\-not\-supported
462 client\-error\-compression\-error
463 client\-error\-compression\-not\-supported
464 client\-error\-conflicting\-attributes
465 client\-error\-document\-access\-error
466 client\-error\-document\-format\-error
467 client\-error\-document\-format\-not\-supported
468 client\-error\-document\-password\-error
469 client\-error\-document\-permission\-error
470 client\-error\-document\-security\-error
471 client\-error\-document\-unprintable\-error
472 client\-error\-forbidden
473 client\-error\-gone
474 client\-error\-ignored\-all\-notifications
475 client\-error\-ignored\-all\-subscriptions
476 client\-error\-not\-authenticated
477 client\-error\-not\-authorized
478 client\-error\-not\-found
479 client\-error\-not\-possible
480 client\-error\-print\-support\-file\-not\-found
481 client\-error\-request\-entity\-too\-large
482 client\-error\-request\-value\-too\-long
483 client\-error\-timeout
484 client\-error\-too\-many\-subscriptions
485 client\-error\-uri\-scheme\-not\-supported
486 cups\-error\-account\-authorization\-failed
487 cups\-error\-account\-closed
488 cups\-error\-account\-info\-needed
489 cups\-error\-account\-limit\-reached
490 cups\-see\-other
491 redirection\-other\-site
492 server\-error\-busy
493 server\-error\-device\-error
494 server\-error\-internal\-error
495 server\-error\-job\-canceled
496 server\-error\-multiple\-document\-jobs\-not\-supported
497 server\-error\-not\-accepting\-jobs
498 server\-error\-operation\-not\-supported
499 server\-error\-printer\-is\-deactivated
500 server\-error\-service\-unavailable
501 server\-error\-temporary\-error
502 server\-error\-version\-not\-supported
503 successful\-ok
504 successful\-ok\-but\-cancel\-subscription
505 successful\-ok\-conflicting\-attributes
506 successful\-ok\-events\-complete
507 successful\-ok\-ignored\-notifications
508 successful\-ok\-ignored\-or\-substituted\-attributes
509 successful\-ok\-ignored\-subscriptions
510 successful\-ok\-too\-many\-events
511 .fi
512 .SS TAGS
513 Value and group tags correspond to the names from RFC 2911 and other IPP extension specifications. Here are the group tags:
514 .nf
515
516 document\-attributes\-tag
517 event\-notification\-attributes\-tag
518 job\-attributes\-tag
519 operation\-attributes\-tag
520 printer\-attributes\-tag
521 subscription\-attributes\-tag
522 unsupported\-attributes\-tag
523 .fi
524 .LP
525 Here are the value tags:
526 .nf
527
528 admin\-define
529 boolean
530 charset
531 collection
532 dateTime
533 default
534 delete\-attribute
535 enum
536 integer
537 keyword
538 mimeMediaType
539 nameWithLanguage
540 nameWithoutLanguage
541 naturalLanguage
542 no\-value
543 not\-settable
544 octetString
545 rangeOfInteger
546 resolution
547 textWithLanguage
548 textWithoutLanguage
549 unknown
550 unsupported
551 uri
552 uriScheme
553 .fi
554 .SS VARIABLES
555 The
556 .BR ipptool (8)
557 program maintains a list of variables that can be used in any literal string or attribute value by specifying "\fI$variable-name\fR". Aside from variables defined using the \fI-d\fR option or \fBDEFINE\fR directive, the following pre-defined variables are available:
558 .TP 5
559 \fB$$\fR
560 Inserts a single "$" character.
561 .TP 5
562 \fB$ENV[\fIname\fB]\fR
563 Inserts the value of the named environment variable, or an empty string if the environment variable is not defined.
564 .TP 5
565 \fB$filename\fR
566 Inserts the filename provided to
567 .BR ipptool (8)
568 with the \fI-f\fR option.
569 .TP 5
570 \fB$filetype\fR
571 Inserts the MIME media type for the filename provided to
572 .BR ipptool (8)
573 with the \fI-f\fR option.
574 .TP 5
575 \fB$hostname\fR
576 Inserts the hostname from the URI provided to
577 .BR ipptool (8).
578 .TP 5
579 \fB$job\-id\fR
580 Inserts the last "job\-id" attribute value returned in a test response or 0 if no "job\-id" attribute has been seen.
581 .TP 5
582 \fB$job\-uri\fR
583 Inserts the last "job\-uri" attribute value returned in a test response or an empty string if no "job\-uri" attribute has been seen.
584 .TP 5
585 \fB$notify\-subscription\-id\fR
586 Inserts the last "notify\-subscription\-id" attribute value returned in a test response or 0 if no "notify\-subscription\-id" attribute has been seen.
587 .TP 5
588 \fB$port\fR
589 Inserts the port number from the URI provided to
590 .BR ipptool (8).
591 .TP 5
592 \fB$resource\fR
593 Inserts the resource path from the URI provided to
594 .BR ipptool (8).
595 .TP 5
596 \fB$scheme\fR
597 Inserts the scheme from the URI provided to
598 .BR ipptool (8).
599 .TP 5
600 \fB$uri\fR
601 Inserts the URI provided to
602 .BR ipptool (8).
603 .TP 5
604 \fB$uriuser\fR
605 Inserts the username from the URI provided to
606 .BR ipptool (8),
607 if any.
608 .TP 5
609 \fB$user\fR
610 Inserts the current user's login name.
611 .SH SEE ALSO
612 .BR ipptool (1),
613 CUPS Online Help (http://localhost:631/help),
614 IANA IPP Registry (http://www.iana.org/assignments/ipp-registrations),
615 PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp),
616 RFC 2911 (http://tools.ietf.org/html/rfc3911)
617 .SH COPYRIGHT
618 Copyright \[co] 2007-2015 by Apple Inc.
619 .\"
620 .\" End of "$Id$".
621 .\"