]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/man-ippfind.html
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / doc / help / man-ippfind.html
CommitLineData
c277f98c 1<!DOCTYPE HTML>
766a8229
MS
2<html>
3<!-- SECTION: Man Pages -->
4<head>
5 <link rel="stylesheet" type="text/css" href="../cups-printable.css">
6 <title>ippfind(1)</title>
7</head>
8<body>
9<h1 class="title">ippfind(1)</h1>
10<h2 class="title"><a name="NAME">Name</a></h2>
11ippfind - find internet printing protocol printers
12<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
c277f98c
MS
13<b>ippfind</b>
14[
15<i>options</i>
bf1bc4c6
MS
16] <i>regtype</i>[<b>,</b><i>subtype</i>][<b>.</b><i>domain</i><b>.</b>] ... [
17<i>expression</i>
0d1da748
MS
18 ... ]
19<br>
c277f98c
MS
20<b>ippfind</b>
21[
22<i>options</i>
0d1da748
MS
23] <i>name</i>[<b>.</b><i>regtype</i>[<b>.</b><i>domain</i><b>.</b>]] ... [
24<i>expression</i>
25 ... ]
26<br>
c277f98c 27<b>ippfind</b>
0d1da748
MS
28<b>--help</b>
29<br>
c277f98c 30<b>ippfind</b>
0d1da748 31<b>--version</b>
766a8229 32<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
0d1da748
MS
33<b>ippfind</b> finds services registered with a DNS server or available through local devices.
34Its primary purpose is to find IPP printers and show their URIs, show their current status, or run commands.
35<h3><a name="REGISTRATION_TYPES">Registration Types</a></h3>
36<b>ippfind</b> supports the following registration types:
2909c66c
MS
37<dl class="man">
38<dt>_http._tcp
39<dd style="margin-left: 5.0em">HyperText Transport Protocol (HTTP, RFC 2616)
40<dt>_https._tcp
41<dd style="margin-left: 5.0em">Secure HyperText Transport Protocol (HTTPS, RFC 2818)
42<dt>_ipp._tcp
43<dd style="margin-left: 5.0em">Internet Printing Protocol (IPP, RFC 2911)
44<dt>_ipps._tcp
45<dd style="margin-left: 5.0em">Secure Internet Printing Protocol (IPPS, draft)
46<dt>_printer._tcp
47<dd style="margin-left: 5.0em">Line Printer Daemon (LPD, RFC 1179)
2909c66c 48</dl>
0d1da748
MS
49<h3><a name="EXPRESSIONS">Expressions</a></h3>
50<b>ippfind</b> supports expressions much like the
51<b>find</b>(1)
52utility.
53However, unlike
54<b>find</b>(1),
55<b>ippfind</b> uses POSIX regular expressions instead of shell filename matching patterns.
56If <i>--exec</i>, <i>-l</i>, <i>--ls</i>, <i>-p</i>, <i>--print</i>, <i>--print-name</i>, <i>-q</i>, <i>--quiet</i>, <i>-s</i>, or <i>-x</i> is not specified, <b>ippfind</b> adds <i>--print</i> to print the service URI of anything it finds.
57The following expressions are supported:
2909c66c 58<dl class="man">
0d1da748
MS
59<dt><b>-d </b><i>regex</i>
60<dd style="margin-left: 5.0em"><dt><b>--domain </b><i>regex</i>
2909c66c 61<dd style="margin-left: 5.0em">True if the domain matches the given regular expression.
0d1da748 62<dt><b>--false</b>
2909c66c 63<dd style="margin-left: 5.0em">Always false.
0d1da748
MS
64<dt><b>-h </b><i>regex</i>
65<dd style="margin-left: 5.0em"><dt><b>--host </b><i>regex</i>
2909c66c 66<dd style="margin-left: 5.0em">True is the hostname matches the given regular expression.
0d1da748
MS
67<dt><b>-l</b>
68<dd style="margin-left: 5.0em"><dt><b>--ls</b>
69<dd style="margin-left: 5.0em">Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional <i>find</i> "-ls" output for HTTP URLs.
70The result is true if the URI is accessible, false otherwise.
71<dt><b>--local</b>
2909c66c 72<dd style="margin-left: 5.0em">True if the service is local to this computer.
afad2da2
MS
73<dt><b>-N </b><i>name</i>
74<dd style="margin-left: 5.0em"><dt><b>--literal-name </b><i>name</i>
75<dd style="margin-left: 5.0em">True if the service instance name matches the given name.
0d1da748
MS
76<dt><b>-n </b><i>regex</i>
77<dd style="margin-left: 5.0em"><dt><b>--name </b><i>regex</i>
2909c66c 78<dd style="margin-left: 5.0em">True if the service instance name matches the given regular expression.
0d1da748 79<dt><b>--path </b><i>regex</i>
2909c66c 80<dd style="margin-left: 5.0em">True if the URI resource path matches the given regular expression.
0d1da748
MS
81<dt><b>-P </b><i>number</i>[<b>-</b><i>number</i>]
82<dd style="margin-left: 5.0em"><dt><b>--port </b><i>number</i>[<b>-</b><i>number</i>]
2909c66c 83<dd style="margin-left: 5.0em">True if the port matches the given number or range.
0d1da748
MS
84<dt><b>-p</b>
85<dd style="margin-left: 5.0em"><dt><b>--print</b>
86<dd style="margin-left: 5.0em">Prints the URI if the result of previous expressions is true.
87The result is always true.
88<dt><b>-q</b>
89<dd style="margin-left: 5.0em"><dt><b>--quiet</b>
2909c66c 90<dd style="margin-left: 5.0em">Quiet mode - just returns the exit codes below.
0d1da748
MS
91<dt><b>-r</b>
92<dd style="margin-left: 5.0em"><dt><b>--remote</b>
2909c66c 93<dd style="margin-left: 5.0em">True if the service is not local to this computer.
0d1da748
MS
94<dt><b>-s</b>
95<dd style="margin-left: 5.0em"><dt><b>--print-name</b>
96<dd style="margin-left: 5.0em">Prints the service instance name if the result of previous expressions is true.
97The result is always true.
98<dt><b>--true</b>
2909c66c 99<dd style="margin-left: 5.0em">Always true.
0d1da748
MS
100<dt><b>-t </b><i>key</i>
101<dd style="margin-left: 5.0em"><dt><b>--txt </b><i>key</i>
2909c66c 102<dd style="margin-left: 5.0em">True if the TXT record contains the named key.
0d1da748
MS
103<dt><b>--txt-</b><i>key regex</i>
104<dd style="margin-left: 5.0em">True if the TXT record contains the named key and matches the given regular expression.
105<dt><b>-u </b><i>regex</i>
106<dd style="margin-left: 5.0em"><dt><b>--uri </b><i>regex</i>
2909c66c 107<dd style="margin-left: 5.0em">True if the URI matches the given regular expression.
0d1da748
MS
108<dt><b>-x </b><i>utility </i>[ <i>argument </i>... ] <b>;</b>
109<dd style="margin-left: 5.0em"><dt><b>--exec </b><i>utility </i>[ <i>argument </i>... ] <b>;</b>
110<dd style="margin-left: 5.0em">Executes the specified program if the current result is true.
111"{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below.
2909c66c 112</dl>
766a8229 113<p>Expressions may also contain modifiers:
2909c66c 114<dl class="man">
0d1da748 115<dt><b>( </b><i>expression </i><b>)</b>
2909c66c 116<dd style="margin-left: 5.0em">Group the result of expressions.
0d1da748
MS
117<dt><b>! </b><i>expression</i>
118<dd style="margin-left: 5.0em"><dt><b>--not </b><i>expression</i>
2909c66c 119<dd style="margin-left: 5.0em">Unary NOT of the expression.
0d1da748
MS
120<dt><i>expression expression</i>
121<dd style="margin-left: 5.0em"><dt><i>expression </i><b>--and </b><i>expression</i>
2909c66c 122<dd style="margin-left: 5.0em">Logical AND of expressions.
0d1da748 123<dt><i>expression </i><b>--or </b><i>expression</i>
2909c66c 124<dd style="margin-left: 5.0em">Logical OR of expressions.
2909c66c 125</dl>
0d1da748
MS
126<h3><a name="SUBSTITUTIONS">Substitutions</a></h3>
127The substitutions for "{foo}" in <i>-e</i> and <i>--exec</i> are:
2909c66c 128<dl class="man">
0d1da748 129<dt><b>{service_domain}</b>
2909c66c 130<dd style="margin-left: 5.0em">Domain name, e.g., "example.com.", "local.", etc.
0d1da748 131<dt><b>{service_hostname}</b>
2909c66c 132<dd style="margin-left: 5.0em">Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
0d1da748 133<dt><b>{service_name}</b>
2909c66c 134<dd style="margin-left: 5.0em">Service instance name, e.g., "My Fine Printer".
0d1da748 135<dt><b>{service_port}</b>
2909c66c 136<dd style="margin-left: 5.0em">Port number for server, typically 631 for IPP and 80 for HTTP.
0d1da748 137<dt><b>{service_regtype}</b>
2909c66c 138<dd style="margin-left: 5.0em">DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
0d1da748 139<dt><b>{service_scheme}</b>
2909c66c 140<dd style="margin-left: 5.0em">URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
0d1da748
MS
141<dt><b>{}</b>
142<dd style="margin-left: 5.0em"><dt><b>{service_uri}</b>
2909c66c 143<dd style="margin-left: 5.0em">URI for service, e.g., "ipp://printer.local./ipp/print", "<a href="http://printer.local./"">http://printer.local./"</a>, etc.
0d1da748 144<dt><b>{txt_</b><i>key</i><b>}</b>
2909c66c 145<dd style="margin-left: 5.0em">Value of TXT record <i>key</i> (lowercase).
2909c66c 146</dl>
0d1da748 147<h2 class="title"><a name="OPTIONS">Options</a></h2>
08bb59b4
MS
148<b>ippfind</b> supports the following options:
149<dl class="man">
0d1da748
MS
150<dt><b>--help</b>
151<dd style="margin-left: 5.0em">Show program help.
152<dt><b>--version</b>
153<dd style="margin-left: 5.0em">Show program version.
154<dt><b>-4</b>
155<dd style="margin-left: 5.0em">Use IPv4 when listing.
156<dt><b>-6</b>
157<dd style="margin-left: 5.0em">Use IPv6 when listing.
158<dt><b>-T </b><i>seconds</i>
159<dd style="margin-left: 5.0em">Specify find timeout in seconds.
160If 1 or less, <b>ippfind</b> stops as soon as it thinks it has found everything.
161The default timeout is 1 second.
162<dt><b>-V </b><i>version</i>
163<dd style="margin-left: 5.0em">Specifies the IPP version when listing.
164Supported values are "1.1", "2.0", "2.1", and "2.2".
165</dl>
166<h2 class="title"><a name="EXIT_STATUS">Exit Status</a></h2>
167<b>ippfind</b> returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory.
168<h2 class="title"><a name="ENVIRONMENT">Environment</a></h2>
169When executing a program, <b>ippfind</b> sets the following environment variables for the matching service registration:
2909c66c 170<dl class="man">
0d1da748 171<dt><b>IPPFIND_SERVICE_DOMAIN</b>
2909c66c 172<dd style="margin-left: 5.0em">Domain name, e.g., "example.com.", "local.", etc.
0d1da748 173<dt><b>IPPFIND_SERVICE_HOSTNAME</b>
2909c66c 174<dd style="margin-left: 5.0em">Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
0d1da748 175<dt><b>IPPFIND_SERVICE_NAME</b>
2909c66c 176<dd style="margin-left: 5.0em">Service instance name, e.g., "My Fine Printer".
0d1da748 177<dt><b>IPPFIND_SERVICE_PORT</b>
2909c66c 178<dd style="margin-left: 5.0em">Port number for server, typically 631 for IPP and 80 for HTTP.
0d1da748 179<dt><b>IPPFIND_SERVICE_REGTYPE</b>
2909c66c 180<dd style="margin-left: 5.0em">DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
0d1da748 181<dt><b>IPPFIND_SERVICE_SCHEME</b>
2909c66c 182<dd style="margin-left: 5.0em">URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
0d1da748 183<dt><b>IPPFIND_SERVICE_URI</b>
2909c66c 184<dd style="margin-left: 5.0em">URI for service, e.g., "ipp://printer.local./ipp/print", "<a href="http://printer.local./"">http://printer.local./"</a>, etc.
0d1da748 185<dt><b>IPPFIND_TXT_fIKEYfR</b>
2909c66c 186<dd style="margin-left: 5.0em">Values of TXT record <i>KEY</i> (uppercase).
2909c66c 187</dl>
0d1da748
MS
188<h2 class="title"><a name="EXAMPLES">Examples</a></h2>
189To show the status of all registered IPP printers on your network, run:
190<pre class="man">
766a8229 191
0d1da748 192 ippfind --ls
766a8229 193
0d1da748
MS
194</pre>
195Similarly, to send a PostScript test page to every PostScript printer, run:
196<pre class="man">
197
198 ippfind --txt-pdl application/postscript --exec ipptool
199 -f onepage-letter.ps '{}' print-job.test \;
200</pre>
201<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
87030afb 202<b>ipptool</b>(1)
766a8229 203<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
87030afb 204Copyright &copy; 2013-2019 by Apple Inc.
766a8229
MS
205
206</body>
207</html>