API introduction for CUPS.
- Copyright 2007-2011 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i < dest->num_options; i ++)
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
num_options, &options);
</pre>
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
The following example creates a job with 10 text files for printing:</p>
<a href='#cups_job_t'>cups_job_t</a> *jobs;
int i;
ipp_jstate_t job_state = IPP_JOB_PENDING;
-
+
while (job_state < IPP_JOB_STOPPED)
{
/* Get my jobs (1) with any state (-1) */
Filter and backend programming introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
the generic and vendor-specific keyword will be shown in the user
interface.</p>
-</blockquote></dd>
+</blockquote>
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &datalen, 1.0);
/* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK && datalen > 0)
data[datalen] = '\0';
else
data[0] = '\0';
API introduction for CUPS.
- Copyright 2007-2011 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i < dest->num_options; i ++)
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
num_options, &options);
</pre>
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
The following example creates a job with 10 text files for printing:</p>
<a href='#cups_job_t'>cups_job_t</a> *jobs;
int i;
ipp_jstate_t job_state = IPP_JOB_PENDING;
-
+
while (job_state < IPP_JOB_STOPPED)
{
/* Get my jobs (1) with any state (-1) */
Filter and backend programming introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
the generic and vendor-specific keyword will be shown in the user
interface.</p>
-</blockquote></dd>
+</blockquote>
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &datalen, 1.0);
/* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK && datalen > 0)
data[datalen] = '\0';
else
data[0] = '\0';
Raster API introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
<br>
<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
-Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
+Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
<code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
<code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
are supported.
<PRE>
socket://<i>ip-address-or-hostname</i>
socket://<i>ip-address-or-hostname</i>/?option=value
-socket://<i>ip-address-or-hostname</i>/?option=value&option=value
+socket://<i>ip-address-or-hostname</i>/?option=value&option=value
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value
-socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=value
+socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=value
</PRE>
<P>The "contimeout" option controls the number of seconds that the backend will wait to obtain a connection to the printer. The default is 1 week.</P>
<PRE>
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
-ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
</PRE>
<P>The <tt>ipp</tt> backend supports many options, which are summarized in <A HREF="#TABLE2">Table 2</A>.</P>
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>
lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
-lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
-lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
+lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
+lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
</PRE>
<P><A HREF="#TABLE3">Table 3</A> summarizes the options supported by the <tt>lpd</tt> backend.</P>
<P>For C shell (/bin/csh) and TCsh (/bin/tcsh), use the following command instead:</P>
<PRE CLASS="command">
-(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
+(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
</PRE>
<P>On MacOS X you'll find the SNMP backend in /usr/libexec/cups/backend instead:</P>
<PRE CLASS="command">
<Subscription NNN>
...
- LeaseDuration
+ LeaseDuration
</Subscription>
</PRE>
<PRE CLASS="command">
<Subscription NNN>
...
- UserData mailto:bar<40>domain.com
+ UserData mailto:bar<40>example.com
</Subscription>
</PRE>
<H3>Description</H3>
<P>The <CODE>UserData</CODE> directive specifies the
-<CODE>notify-user-data</CODE> value, which is normally the "from"
+<CODE>notify-user-data</CODE> value, which is normally the "to"
address used in <CODE>mailto</CODE> notifications. Binary values
are introduced by encoding the bytes as hexadecimal values inside
-angle brackets, e.g. "<1234>".</P>
+angle brackets, e.g. "<1234>".</P>
<P>The <CODE>UserData</CODE> directive must appear inside a <A
HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
middle" and replay attacks from the same client.</P>
<P><B>Recommendation:</B> Enable encryption to hide the
- username and password information.</P></LI></LI>
+ username and password information.</P></LI>
<LI>Local certificate authentication passes 128-bit
"certificates" that identify an authenticated user.
socket.</P>
<P><B>Recommendation:</B> Ensure that unauthorized users
- are not added to the system group(s).</P></LI></LI>
+ are not added to the system group(s).</P></LI>
</OL>
<p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
<p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
*CustomPageSize True: "pop pop pop <</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice"
</pre>
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
<p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
</blockquote>
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
<p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
<ul>
- <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+ <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
<li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>
--- /dev/null
+# Where to get things
+IndexDir doc
+
+# Where to put things
+IndexFile doc/swish-e.index
+
+# Ignore image and index files
+FileRules filename contains .gif
+FileRules filename contains .gz
+FileRules filename contains .jpg
+FileRules filename contains .png
+FileRules filename contains .svg
+FileRules filename contains swish-e
+FileRules filename contains .tokens
+FileRules filename is Makefile
+
Raster API introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
<p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
<p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
*CustomPageSize True: "pop pop pop <</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice"
</pre>
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
<p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
</blockquote>
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
<p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
<ul>
- <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+ <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
<li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>