<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>LPC Requests</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.7">
<link rel="HOME" title=" LPRng Reference Manual" href=
"index.htm">
<link rel="UP" title="RFC 1179 - Line Printer Daemon Protocol "
href="rfc1179ref.htm">
<link rel="PREVIOUS" title="lprm Requests" href="x10552.htm">
<link rel="NEXT" title="Block Job Transfer" href=
"sendblockformat.htm">
</head>
<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
"#0000FF" vlink="#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<th colspan="3" align="center">LPRng Reference Manual: 24
Sep 2004 (For LPRng-3.8.28)</th>
</tr>
<tr>
<td width="10%" align="left" valign="bottom"><a href=
"x10552.htm" accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom">Chapter
19. RFC 1179 - Line Printer Daemon Protocol</td>
<td width="10%" align="right" valign="bottom"><a href=
"sendblockformat.htm" accesskey="N">Next</a></td>
</tr>
</table>
<hr align="LEFT" width="100%">
</div>
<div class="SECT1">
<h1 class="SECT1"><a name="LPCREREAD">19.8. LPC
Requests</a></h1>
<p><b class="APPLICATION">LPRng</b> has extended the RFC1179
protocol to allow queue and printer control commands to be
sent to the <b class="APPLICATION">lpd</b> server. The format
of these commands are:</p>
<div class="INFORMALEXAMPLE">
<a name="AEN10573"></a>
<pre class="SCREEN">
\006printer user key [options]
</pre>
</div>
<br>
<br>
<p>The following commands are supported.</p>
<div class="TABLE">
<a name="LPCCOMMANDS"></a>
<p><b>Table 19-3. LPC Commands</b></p>
<table border="1" frame="border" rules="all" class=
"CALSTABLE">
<col>
<col>
<thead>
<tr>
<th>Command</th>
<th>Operation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Command</td>
<td>Operation</td>
</tr>
<tr>
<td><var class="LITERAL">active
[printer[@host]]</var></td>
<td>check to see if server accepting connections</td>
</tr>
<tr>
<td><var class="LITERAL">abort (printer[@host] |
all)</var> </td>
<td>terminate server process printing job</td>
</tr>
<tr>
<td><var class="LITERAL">disable (printer[@host] |
all)</var> </td>
<td>disable queueing</td>
</tr>
<tr>
<td><var class="LITERAL">debug (printer[@host] | all)
debugparms</var> </td>
<td>set debug level for printer</td>
</tr>
<tr>
<td><var class="LITERAL">enable (printer[@host] |
all)</var> </td>
<td>enable queueing</td>
</tr>
<tr>
<td><var class="LITERAL">hold (printer[@host] | all)
(name[@host] | job | all)*</var> </td>
<td>hold job</td>
</tr>
<tr>
<td><var class="LITERAL">holdall (printer[@host] |
all)</var> </td>
<td>hold all jobs on</td>
</tr>
<tr>
<td><var class="LITERAL">kill (printer[@host] |
all)</var> </td>
<td>stop and restart server</td>
</tr>
<tr>
<td><var class="LITERAL">lpd [printer[@host]]</var>
</td>
<td>get <b class="APPLICATION">lpd</b> PID for
server</td>
</tr>
<tr>
<td><var class="LITERAL">lpq (printer[@host] | all)
(name[@host] | job | all)*</var> </td>
<td>invoke <b class="APPLICATION">lpq</b></td>
</tr>
<tr>
<td><var class="LITERAL">lprm (printer[@host] | all)
(name[@host]|host|job| all)*</var> </td>
<td>invoke <b class="APPLICATION">lprm</b></td>
</tr>
<tr>
<td><var class="LITERAL">move printer (user|jobid)*
target</var> </td>
<td>move jobs to new queue</td>
</tr>
<tr>
<td><var class="LITERAL">noholdall (printer[@host] |
all)</var> </td>
<td>hold all jobs off</td>
</tr>
<tr>
<td><var class="LITERAL">printcap (printer[@host] |
all)</var> </td>
<td>report printcap values</td>
</tr>
<tr>
<td><var class="LITERAL">quit</var> </td>
<td>exit LPC</td>
</tr>
<tr>
<td><var class="LITERAL">redirect (printer[@host] |
all) (printer@host | off )*</var> </td>
<td>redirect jobs</td>
</tr>
<tr>
<td><var class="LITERAL">release (printer[@host] |
all) (name[@host] | job | all)*</var> </td>
<td>release job</td>
</tr>
<tr>
<td><var class="LITERAL">reread
[printer[@host]]</var></td>
<td><b class="APPLICATION">lpd</b> reread database
information</td>
</tr>
<tr>
<td><var class="LITERAL">start (printer[@host] |
all)</var> </td>
<td>start printing</td>
</tr>
<tr>
<td><var class="LITERAL">status (printer[@host] |
all)</var> </td>
<td>status of printers</td>
</tr>
<tr>
<td><var class="LITERAL">stop (printer[@host] |
all)</var> </td>
<td>stop printing</td>
</tr>
<tr>
<td><var class="LITERAL">topq (printer[@host] | all)
(name[@host] | job | all)*</var> </td>
<td>reorder job</td>
</tr>
<tr>
<td><var class="LITERAL">defaultq</var> </td>
<td>default queue for <b class="APPLICATION">lpd</b>
server</td>
</tr>
<tr>
<td><var class="LITERAL">local (printer | all)</var>
</td>
<td>client printcap and configuration
information</td>
</tr>
<tr>
<td><var class="LITERAL">server (printer | all)</var>
</td>
<td>server printcap and configuration
information</td>
</tr>
</tbody>
</table>
</div>
<p>Many of these commands support extremely specialized
operations for print queue management, However, the following
are the most commonly used and are supported by the BSD <b
class="APPLICATION">lpd</b> print spooling system as
well:</p>
<ul>
<li>
<p><var class="LITERAL">start, stop, enable,
disable</var> Start and stop will start and stop printing
for a specified queue. Enable and disable enable and
disable sending and/or accepting jobs for the queue.</p>
</li>
<li>
<p><var class="LITERAL">abort, kill</var> Abort will
cause the process doing the actual job printing to be
terminated. Kill does an abort, and then restarts the
printing process. These commands are used to restart a
queue printing after some disaster.</p>
</li>
<li>
<p><var class="LITERAL">topq</var> Places selected jobs
at the top of the print queue.</p>
</li>
<li>
<p><var class="LITERAL">status</var> Shows a status
display of the print spools on the server.</p>
</li>
</ul>
<br>
<br>
<p>The following commands are extensions to the basic set
provided by the BSD <b class="APPLICATION">lpd</b>
system.</p>
<ul>
<li>
<p><var class="LITERAL">lpq, lprm</var> Invokes the lpq
or lprm program from lpc. Useful when in the interactive
mode.</p>
</li>
<li>
<p><var class="LITERAL">hold, holdall, release</var> The
hold command will cause the selected jobs to be held
until released. The holdall jobs sets all jobs submitted
to the queue to be held until released. The release
command releases jobs for printing. If a job has had an
error and is in the error state, the release command will
cause it to be reprinted.</p>
</li>
<li>
<p><var class="LITERAL">move, redirect</var> The move
command will move selected jobs to the specified spool
queue. The redirect command sends all jobs submitted to
the queue to be sent to the specified queue.</p>
</li>
<li>
<p><var class="LITERAL">active, lpd, reread</var> The
active command will connect to the server for the
printer. This is used to check to see if non-<b class=
"APPLICATION">LPRng</b> print servers are active. The lpd
command will connect to the server and get the process id
(PID) of the <b class="APPLICATION">lpd</b> server. The
reread command causes a SIGHUP signal to be sent to the
lpd process, causing it to reread the <tt class=
"FILENAME">lpd.conf</tt>, <tt class=
"FILENAME">printcap</tt>, and <tt class=
"FILENAME">lpd.perms</tt> files. This is done when
configuration information has been modified and the
administrator wants to have the server use the new
information.</p>
</li>
<li>
<p><var class="LITERAL">debug</var> This is a desperation
facility for developers that allows dynamic enabling of
debug information generation. Not normally used in
general operation.</p>
</li>
<li>
<p><var class="LITERAL">local, server</var> These
commands will print out the configuration information in
the local <tt class="FILENAME">lpd.conf</tt> file, as
well as the printcap information for the specified
printers; <var class="LITERAL">client</var> prints what
the <b class="APPLICATION">LPRng</b> clients (<var class=
"LITERAL">lpr, lpq, ...</var>) would use while <var
class="LITERAL">server</var> prints what the <b class=
"APPLICATION">LPRng</b> server (<b class=
"APPLICATION">lpd</b>) would use if running on this host.
This is an extremely useful diagnostic tool for
administrators. Not normally used in general
operation.</p>
</li>
</ul>
<br>
<br>
</div>
<div class="NAVFOOTER">
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href=
"x10552.htm" accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href=
"index.htm" accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href=
"sendblockformat.htm" accesskey="N">Next</a></td>
</tr>
<tr>
<td width="33%" align="left" valign="top"><b class=
"APPLICATION">lprm</b> Requests</td>
<td width="34%" align="center" valign="top"><a href=
"rfc1179ref.htm" accesskey="U">Up</a></td>
<td width="33%" align="right" valign="top">Block Job
Transfer</td>
</tr>
</table>
</div>
</body>
</html>
syntax highlighted by Code2HTML, v. 0.9.1