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