]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - man/ipptoolfile.man
Documentation changes (STR #4651)
[thirdparty/cups.git] / man / ipptoolfile.man
... / ...
CommitLineData
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" "4 February 2015" "Apple Inc."
15.SH NAME
16ipptoolfile \- ipptool file format
17.SH DESCRIPTION
18The
19.BR ipptool (1)
20program 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
64The following directives can be used outside of a \fItest\fR:
65.TP 5
66\fB{ \fItest \fB}\fR
67Defines a test.
68.TP 5
69\fBDEFINE \fIvariable-name value\fR
70Defines the named variable to the given value. This is equivalent to specifying \fI\-d variable-name=value\fR on the
71.BR ipptool (8)
72command-line.
73.TP 5
74\fBDEFINE\-DEFAULT \fIvariable-name value\fR
75Defines the named variable to the given value if it does not already have a value.
76.TP 5
77\fBFILE\-ID "\fIidentifier\fB"\fR
78Specifies an identifier string for the current file.
79.TP 5
80\fBIGNORE\-ERRORS yes\fR
81.TP 5
82\fBIGNORE\-ERRORS no\fR
83Specifies whether, by default,
84.BR ipptool (8)
85will ignore errors and continue with subsequent tests.
86.TP 5
87\fBINCLUDE "\fIfilename\fB"\fR
88.TP 5
89\fBINCLUDE <\fIfilename\fB>\fR
90Includes 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)
92include 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
97Includes 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)
99include 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
104Includes 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)
106include directory.
107.TP 5
108\fBSKIP\-IF\-DEFINED \fIvariable-name\fR
109.TP 5
110\fBSKIP\-IF\-NOT\-DEFINED \fIvariable-name\fR
111Specifies 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
116Specifies whether tests will be stopped after an error in an included file.
117.TP 5
118\fBTRANSFER auto\fR
119Specifies 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
122Specifies 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)
124command-line. Support for chunked requests is required for conformance with all versions of IPP.
125.TP 5
126\fBTRANSFER length\fR
127Specifies 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)
129command-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
140Specifies the default IPP version number to use for the tests that follow.
141.SS TEST DIRECTIVES
142The following directives are understood within a \fItest\fR:
143.TP 5
144\fBATTR \fItag attribute-name value(s)\fR
145Adds 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]
148Adds 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
155Uses 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
158Specifies a delay before this test will be run.
159.TP 5
160\fBDISPLAY \fIattribute-name\fR
161Specifies that value of the named attribute should be output as part of the
162test 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
169Specifies 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
174Specifies 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
177Specifies 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
180Specifies 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
185Specifies whether
186.BR ipptool (8)
187will ignore errors and continue with subsequent tests.
188.TP 5
189\fBNAME "\fIliteral string\fB"\fR
190Specifies the human-readable name of the test.
191.TP 5
192\fBOPERATION \fIoperation-code\fR
193Specifies the operation to be performed.
194.TP 5
195\fBPAUSE "\fImessage\fB"\fR
196Displays 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
201Specifies 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
204Specifies 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)
206program.
207.TP 5
208\fBSKIP\-IF\-DEFINED \fIvariable-name\fR
209.TP 5
210\fBSKIP\-IF\-NOT\-DEFINED \fIvariable-name\fR
211Specifies 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
216Specifies whether
217.BR ipptool (8)
218will skip the current test if the previous test resulted in an error/failure.
219.TP 5
220\fBSTATUS \fIstatus-code \fR[ \fIpredicate\fR ]
221Specifies 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"
224Specifies an identifier string for the current test.
225.TP 5
226\fBTRANSFER auto\fR
227Specifies 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
230Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header.
231.TP 5
232\fBTRANSFER length\fR
233Specifies 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
244Specifies the IPP version number to use for this test.
245.SS EXPECT PREDICATES
246The following predicates are understood following the \fBEXPECT\fR test directive:
247.TP 5
248\fBCOUNT \fInumber\fR
249Requires the \fBEXPECT\fR attribute to have the specified number of values.
250.TP 5
251\fBDEFINE\-MATCH \fIvariable-name\fR
252Defines 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
255Defines 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
258Defines 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
261Makes the \fBEXPECT\fR conditions apply only if the specified variable is defined.
262.TP 5
263\fBIF\-NOT\-DEFINED \fIvariable-name\fR
264Makes the \fBEXPECT\fR conditions apply only if the specified variable is not defined.
265.TP 5
266\fBIN\-GROUP \fItag\fR
267Requires the \fBEXPECT\fR attribute to be in the specified group tag.
268.TP 5
269\fBOF\-TYPE \fItag[,tag,...]\fR
270Requires the \fBEXPECT\fR attribute to use one of the specified value tag(s).
271.TP 5
272\fBREPEAT\-LIMIT \fInumber\fR
273.br
274Specifies 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
279Specifies 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
282Requires 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
287Requires 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
292Requires 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
297Requires that all URI values contain a matching scheme.
298.TP 5
299\fBWITH\-ALL\-VALUES "\fIliteral string\fB"\fR
300Requires 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]
309Requires 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
314Requires that all values of the \fBEXPECT\fR attribute match the boolean value given.
315.TP 5
316\fBWITH\-ALL\-VALUES "/\fIregular expression\fB/"\fR
317Requires 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
322Requires 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
327Requires 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
332Requires that at least one URI value contains a matching scheme.
333.TP 5
334\fBWITH\-VALUE "\fIliteral string\fB"\fR
335Requires 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]
344Requires 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
349Requires 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
352Requires 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.TP 5
354\fBWITH\-VALUE\-FROM \fIattribute-name\fR
355Requires that the value(s) of the \fBEXPECT\fR attribute matches the value(s) in the specified attribute.
356For 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.
357.SS STATUS PREDICATES
358The following predicates are understood following the \fBSTATUS\fR test directive:
359.TP 5
360\fBDEFINE\-MATCH \fIvariable-name\fR
361Defines 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.
362.TP 5
363\fBDEFINE\-NO\-MATCH \fIvariable-name\fR
364Defines 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.
365.TP 5
366\fBIF\-DEFINED \fIvariable-name\fR
367Makes the \fBSTATUS\fR apply only if the specified variable is defined.
368.TP 5
369\fBIF\-NOT\-DEFINED \fIvariable-name\fR
370Makes the \fBSTATUS\fR apply only if the specified variable is not defined.
371.TP 5
372\fBREPEAT\-LIMIT \fInumber\fR
373.br
374Specifies the maximum number of times to repeat. The default value is 1000.
375.TP 5
376\fBREPEAT\-MATCH\fR
377.TP 5
378\fBREPEAT\-NO\-MATCH\fR
379Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive.
380.SS OPERATION CODES
381Operation 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
382.BR ipptool (8):
383.nf
384
385 Activate\-Printer
386 CUPS\-Accept\-Jobs
387 CUPS\-Add\-Modify\-Class
388 CUPS\-Add\-Modify\-Printer
389 CUPS\-Authenticate\-Job
390 CUPS\-Delete\-Class
391 CUPS\-Delete\-Printer
392 CUPS\-Get\-Classes
393 CUPS\-Get\-Default
394 CUPS\-Get\-Devices
395 CUPS\-Get\-Document
396 CUPS\-Get\-PPD
397 CUPS\-Get\-PPDs
398 CUPS\-Get\-Printers
399 CUPS\-Move\-Job
400 CUPS\-Reject\-Jobs
401 CUPS\-Set\-Default
402 Cancel\-Current\-Job
403 Cancel\-Job
404 Cancel\-Jobs
405 Cancel\-My\-Jobs
406 Cancel\-Subscription
407 Close\-Job
408 Create\-Job
409 Create\-Job\-Subscriptions
410 Create\-Printer\-Subscriptions
411 Deactivate\-Printer
412 Disable\-Printer
413 Enable\-Printer
414 Get\-Job\-Attributes
415 Get\-Jobs
416 Get\-Notifications
417 Get\-Printer\-Attributes
418 Get\-Printer\-Support\-Files
419 Get\-Printer\-Supported\-Values
420 Get\-Subscription\-Attributes
421 Get\-Subscriptions
422 Hold\-Job
423 Hold\-New\-Jobs
424 Identify\-Printer
425 Pause\-Printer
426 Pause\-Printer\-After\-Current\-Job
427 Print\-Job
428 Print\-URI
429 Promote\-Job
430 Purge\-Jobs
431 Release\-Held\-New\-Jobs
432 Release\-Job
433 Renew\-Subscription
434 Reprocess\-Job
435 Restart\-Job
436 Restart\-Printer
437 Resubmit\-Job
438 Resume\-Job
439 Resume\-Printer
440 Schedule\-Job\-After
441 Send\-Document
442 Send\-Hardcopy\-Document
443 Send\-Notifications
444 Send\-URI
445 Set\-Job\-Attributes
446 Set\-Printer\-Attributes
447 Shutdown\-Printer
448 Startup\-Printer
449 Suspend\-Current\-Job
450 Validate\-Document
451 Validate\-Job
452.fi
453.SS STATUS CODES
454Status 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
455.BR ipptool (8):
456.nf
457
458 client\-error\-account\-authorization\-failed
459 client\-error\-account\-closed
460 client\-error\-account\-info\-needed
461 client\-error\-account\-limit\-reached
462 client\-error\-attributes\-not\-settable
463 client\-error\-attributes\-or\-values\-not\-supported
464 client\-error\-bad\-request
465 client\-error\-charset\-not\-supported
466 client\-error\-compression\-error
467 client\-error\-compression\-not\-supported
468 client\-error\-conflicting\-attributes
469 client\-error\-document\-access\-error
470 client\-error\-document\-format\-error
471 client\-error\-document\-format\-not\-supported
472 client\-error\-document\-password\-error
473 client\-error\-document\-permission\-error
474 client\-error\-document\-security\-error
475 client\-error\-document\-unprintable\-error
476 client\-error\-forbidden
477 client\-error\-gone
478 client\-error\-ignored\-all\-notifications
479 client\-error\-ignored\-all\-subscriptions
480 client\-error\-not\-authenticated
481 client\-error\-not\-authorized
482 client\-error\-not\-found
483 client\-error\-not\-possible
484 client\-error\-print\-support\-file\-not\-found
485 client\-error\-request\-entity\-too\-large
486 client\-error\-request\-value\-too\-long
487 client\-error\-timeout
488 client\-error\-too\-many\-subscriptions
489 client\-error\-uri\-scheme\-not\-supported
490 cups\-error\-account\-authorization\-failed
491 cups\-error\-account\-closed
492 cups\-error\-account\-info\-needed
493 cups\-error\-account\-limit\-reached
494 cups\-see\-other
495 redirection\-other\-site
496 server\-error\-busy
497 server\-error\-device\-error
498 server\-error\-internal\-error
499 server\-error\-job\-canceled
500 server\-error\-multiple\-document\-jobs\-not\-supported
501 server\-error\-not\-accepting\-jobs
502 server\-error\-operation\-not\-supported
503 server\-error\-printer\-is\-deactivated
504 server\-error\-service\-unavailable
505 server\-error\-temporary\-error
506 server\-error\-version\-not\-supported
507 successful\-ok
508 successful\-ok\-but\-cancel\-subscription
509 successful\-ok\-conflicting\-attributes
510 successful\-ok\-events\-complete
511 successful\-ok\-ignored\-notifications
512 successful\-ok\-ignored\-or\-substituted\-attributes
513 successful\-ok\-ignored\-subscriptions
514 successful\-ok\-too\-many\-events
515.fi
516.SS TAGS
517Value and group tags correspond to the names from RFC 2911 and other IPP extension specifications. Here are the group tags:
518.nf
519
520 document\-attributes\-tag
521 event\-notification\-attributes\-tag
522 job\-attributes\-tag
523 operation\-attributes\-tag
524 printer\-attributes\-tag
525 subscription\-attributes\-tag
526 unsupported\-attributes\-tag
527.fi
528.LP
529Here are the value tags:
530.nf
531
532 admin\-define
533 boolean
534 charset
535 collection
536 dateTime
537 default
538 delete\-attribute
539 enum
540 integer
541 keyword
542 mimeMediaType
543 nameWithLanguage
544 nameWithoutLanguage
545 naturalLanguage
546 no\-value
547 not\-settable
548 octetString
549 rangeOfInteger
550 resolution
551 textWithLanguage
552 textWithoutLanguage
553 unknown
554 unsupported
555 uri
556 uriScheme
557.fi
558.SS VARIABLES
559The
560.BR ipptool (8)
561program 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:
562.TP 5
563\fB$$\fR
564Inserts a single "$" character.
565.TP 5
566\fB$ENV[\fIname\fB]\fR
567Inserts the value of the named environment variable, or an empty string if the environment variable is not defined.
568.TP 5
569\fB$filename\fR
570Inserts the filename provided to
571.BR ipptool (8)
572with the \fI-f\fR option.
573.TP 5
574\fB$filetype\fR
575Inserts the MIME media type for the filename provided to
576.BR ipptool (8)
577with the \fI-f\fR option.
578.TP 5
579\fB$hostname\fR
580Inserts the hostname from the URI provided to
581.BR ipptool (8).
582.TP 5
583\fB$job\-id\fR
584Inserts the last "job\-id" attribute value returned in a test response or 0 if no "job\-id" attribute has been seen.
585.TP 5
586\fB$job\-uri\fR
587Inserts the last "job\-uri" attribute value returned in a test response or an empty string if no "job\-uri" attribute has been seen.
588.TP 5
589\fB$notify\-subscription\-id\fR
590Inserts the last "notify\-subscription\-id" attribute value returned in a test response or 0 if no "notify\-subscription\-id" attribute has been seen.
591.TP 5
592\fB$port\fR
593Inserts the port number from the URI provided to
594.BR ipptool (8).
595.TP 5
596\fB$resource\fR
597Inserts the resource path from the URI provided to
598.BR ipptool (8).
599.TP 5
600\fB$scheme\fR
601Inserts the scheme from the URI provided to
602.BR ipptool (8).
603.TP 5
604\fB$uri\fR
605Inserts the URI provided to
606.BR ipptool (8).
607.TP 5
608\fB$uriuser\fR
609Inserts the username from the URI provided to
610.BR ipptool (8),
611if any.
612.TP 5
613\fB$user\fR
614Inserts the current user's login name.
615.SH SEE ALSO
616.BR ipptool (1),
617CUPS Online Help (http://localhost:631/help),
618IANA IPP Registry (http://www.iana.org/assignments/ipp-registrations),
619PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp),
620RFC 2911 (http://tools.ietf.org/html/rfc3911)
621.SH COPYRIGHT
622Copyright \[co] 2007-2015 by Apple Inc.
623.\"
624.\" End of "$Id$".
625.\"