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