| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
| <html> |
| <!-- SECTION: Programming --> |
| <head> |
| <title>CUPS API</title> |
| <meta name='keywords' content='Programming'> |
| <meta name='creator' content='Mini-XML v2.4'> |
| <style type='text/css'><!-- |
| h1, h2, h3, p { font-family: sans-serif; text-align: justify; } |
| tt, pre a:link, pre a:visited, tt a:link, tt a:visited { font-weight: bold; color: #7f0000; } |
| pre { font-weight: bold; color: #7f0000; margin-left: 2em; } |
| span.info { background: #000000; border: solid thin #000000; color: #ffffff; font-size: 80%; font-style: italic; font-weight: bold; white-space: nowrap; } |
| h3 span.info { float: right; font-size: 100%; } |
| h1.title, h2.title, h3.title { border-bottom: solid 2px #000000; } |
| --></style> |
| </head> |
| <body> |
| <!-- |
| "$Id: api-cups.shtml 6649 2007-07-11 21:46:42Z mike $" |
| |
| CUPS API introduction for the Common UNIX Printing System (CUPS). |
| |
| Copyright 2007 by Apple Inc. |
| Copyright 1997-2006 by Easy Software Products, all rights reserved. |
| |
| These coded instructions, statements, and computer programs are the |
| property of Apple Inc. and are protected by Federal copyright |
| law. Distribution and use rights are outlined in the file "LICENSE.txt" |
| which should have been included with this file. If this file is |
| file is missing or damaged, see the license at "http://www.cups.org/". |
| --> |
| |
| <h2 class='title'>Introduction</h2> |
| |
| <p>The CUPS library provides a whole collection of interfaces |
| needed to support the internal needs of the CUPS software as well |
| as the needs of applications, filters, printer drivers, and |
| backends.</p> |
| |
| <p>Unlike the rest of CUPS, the CUPS API library is provided |
| under the GNU Library General Public License. This means that you |
| can use the CUPS API library in both proprietary and open-source |
| programs.</p> |
| |
| <h2 class='title'>General Usage</h2> |
| |
| <p>The <var><cups/cups.h></var> header file must be included to |
| use the CUPS functions.</p> |
| |
| <p>Programs using these functions must be linked to the CUPS |
| library: <var>libcups.a</var>, <var>libcups.so.2</var>, |
| <var>libcups.2.dylib</var>, <var>libcups_s.a</var>, or |
| <var>libcups2.lib</var> depending on the platform. The following |
| command compiles <var>myprogram.c</var> using GCC and the CUPS |
| library:</p> |
| |
| <pre class='command'> |
| <kbd>gcc -o myprogram myprogram.c -lcups</kbd> |
| </pre> |
| |
| <h2 class='title'>Compatibility</h2> |
| |
| <p>Unless otherwise specified, the CUPS API functions require |
| CUPS 1.1 or higher.</p> |
| <h2 class='title'>Contents</h2> |
| <ul> |
| <li><a href='#ENUMERATIONS'>Enumerations</a></li> |
| <li><a href='#FUNCTIONS'>Functions</a></li> |
| <li><a href='#STRUCTURES'>Structures</a></li> |
| <li><a href='#TYPES'>Types</a></li> |
| </ul> |
| <!-- NEW PAGE --> |
| <h2 class='title'><a name='ENUMERATIONS'>Enumerations</a></h2> |
| <ul> |
| <li><a href='#cups_ptype_e'><tt>cups_ptype_e</tt></a> </li> |
| </ul> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_ptype_e'>cups_ptype_e</a></h3> |
| <h4>Description</h4> |
| <p>Not a typedef'd enum so we can OR |
| <h4>Values</h4> |
| <div class='table'><table align='center' border='1' width='80%' summary='Values'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>CUPS_PRINTER_AUTHENTICATED</tt> <span class='info'> CUPS 1.2 </span></td><td>Printer requires authentication |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_BIND</tt> </td><td>Can bind output |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_BW</tt> </td><td>Can do B&W printing |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_CLASS</tt> </td><td>Printer class |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_COLLATE</tt> </td><td>Can collage copies |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_COLOR</tt> </td><td>Can do color printing |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_COMMANDS</tt> <span class='info'> CUPS 1.2 </span></td><td>Printer supports maintenance commands |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_COPIES</tt> </td><td>Can do copies |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_COVER</tt> </td><td>Can cover output |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_DEFAULT</tt> </td><td>Default printer on network |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_DELETE</tt> <span class='info'> CUPS 1.2 </span></td><td>Delete printer |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_DISCOVERED</tt> <span class='info'> CUPS 1.3 </span></td><td>Printer was automatically discovered and added |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_DUPLEX</tt> </td><td>Can do duplexing |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_FAX</tt> </td><td>Fax queue |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_IMPLICIT</tt> </td><td>Implicit class |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_LARGE</tt> </td><td>Can do D/E/A1/A0 |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_LOCAL</tt> </td><td>Local printer or class |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_MEDIUM</tt> </td><td>Can do Tabloid/B/C/A3/A2 |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_NOT_SHARED</tt> <span class='info'> CUPS 1.2 </span></td><td>Printer is not shared |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_OPTIONS</tt> </td><td>~(CLASS | REMOTE | IMPLICIT | DEFAULT | FAX | REJECTING | DELETE | NOT_SHARED | AUTHENTICATED | COMMANDS | DISCOVERED) |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_PUNCH</tt> </td><td>Can punch output |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_REJECTING</tt> </td><td>Printer is rejecting jobs |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_REMOTE</tt> </td><td>Remote printer or class |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_SMALL</tt> </td><td>Can do Letter/Legal/A4 |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_SORT</tt> </td><td>Can sort output |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_STAPLE</tt> </td><td>Can staple output |
| </td></tr> |
| <tr><td><tt>CUPS_PRINTER_VARIABLE</tt> </td><td>Can do variable sizes |
| </td></tr> |
| </tbody></table></div> |
| <!-- NEW PAGE --> |
| <h2 class='title'><a name='FUNCTIONS'>Functions</a></h2> |
| <ul> |
| <li><a href='#cupsAddDest'><tt>cupsAddDest()</tt></a> </li> |
| <li><a href='#cupsAddOption'><tt>cupsAddOption()</tt></a> </li> |
| <li><a href='#cupsCancelJob'><tt>cupsCancelJob()</tt></a> </li> |
| <li><a href='#cupsEncryption'><tt>cupsEncryption()</tt></a> </li> |
| <li><a href='#cupsFreeDests'><tt>cupsFreeDests()</tt></a> </li> |
| <li><a href='#cupsFreeJobs'><tt>cupsFreeJobs()</tt></a> </li> |
| <li><a href='#cupsFreeOptions'><tt>cupsFreeOptions()</tt></a> </li> |
| <li><a href='#cupsGetClasses'><tt>cupsGetClasses()</tt></a> <span class='info'> DEPRECATED </span></li> |
| <li><a href='#cupsGetDefault'><tt>cupsGetDefault()</tt></a> </li> |
| <li><a href='#cupsGetDefault2'><tt>cupsGetDefault2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsGetDest'><tt>cupsGetDest()</tt></a> </li> |
| <li><a href='#cupsGetDests'><tt>cupsGetDests()</tt></a> </li> |
| <li><a href='#cupsGetDests2'><tt>cupsGetDests2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsGetFd'><tt>cupsGetFd()</tt></a> <span class='info'> CUPS 1.1.20 </span></li> |
| <li><a href='#cupsGetFile'><tt>cupsGetFile()</tt></a> <span class='info'> CUPS 1.1.20 </span></li> |
| <li><a href='#cupsGetJobs'><tt>cupsGetJobs()</tt></a> </li> |
| <li><a href='#cupsGetJobs2'><tt>cupsGetJobs2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsGetOption'><tt>cupsGetOption()</tt></a> </li> |
| <li><a href='#cupsGetPPD'><tt>cupsGetPPD()</tt></a> </li> |
| <li><a href='#cupsGetPPD2'><tt>cupsGetPPD2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsGetPPD3'><tt>cupsGetPPD3()</tt></a> </li> |
| <li><a href='#cupsGetPassword'><tt>cupsGetPassword()</tt></a> </li> |
| <li><a href='#cupsGetPrinters'><tt>cupsGetPrinters()</tt></a> <span class='info'> DEPRECATED </span></li> |
| <li><a href='#cupsGetServerPPD'><tt>cupsGetServerPPD()</tt></a> <span class='info'> CUPS 1.3 </span></li> |
| <li><a href='#cupsLangDefault'><tt>cupsLangDefault()</tt></a> </li> |
| <li><a href='#cupsLangEncoding'><tt>cupsLangEncoding()</tt></a> </li> |
| <li><a href='#cupsLangFlush'><tt>cupsLangFlush()</tt></a> </li> |
| <li><a href='#cupsLangFree'><tt>cupsLangFree()</tt></a> </li> |
| <li><a href='#cupsLangGet'><tt>cupsLangGet()</tt></a> </li> |
| <li><a href='#cupsLastError'><tt>cupsLastError()</tt></a> </li> |
| <li><a href='#cupsLastErrorString'><tt>cupsLastErrorString()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
| <li><a href='#cupsMarkOptions'><tt>cupsMarkOptions()</tt></a> </li> |
| <li><a href='#cupsNotifySubject'><tt>cupsNotifySubject()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
| <li><a href='#cupsNotifyText'><tt>cupsNotifyText()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
| <li><a href='#cupsParseOptions'><tt>cupsParseOptions()</tt></a> </li> |
| <li><a href='#cupsPrintFile'><tt>cupsPrintFile()</tt></a> </li> |
| <li><a href='#cupsPrintFile2'><tt>cupsPrintFile2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsPrintFiles'><tt>cupsPrintFiles()</tt></a> </li> |
| <li><a href='#cupsPrintFiles2'><tt>cupsPrintFiles2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsPutFd'><tt>cupsPutFd()</tt></a> <span class='info'> CUPS 1.1.20 </span></li> |
| <li><a href='#cupsPutFile'><tt>cupsPutFile()</tt></a> <span class='info'> CUPS 1.1.20 </span></li> |
| <li><a href='#cupsRemoveDest'><tt>cupsRemoveDest()</tt></a> <span class='info'> CUPS 1.3 </span></li> |
| <li><a href='#cupsRemoveOption'><tt>cupsRemoveOption()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
| <li><a href='#cupsServer'><tt>cupsServer()</tt></a> </li> |
| <li><a href='#cupsSetDefaultDest'><tt>cupsSetDefaultDest()</tt></a> <span class='info'> CUPS 1.3 </span></li> |
| <li><a href='#cupsSetDests'><tt>cupsSetDests()</tt></a> </li> |
| <li><a href='#cupsSetDests2'><tt>cupsSetDests2()</tt></a> <span class='info'> CUPS 1.1.21 </span></li> |
| <li><a href='#cupsSetEncryption'><tt>cupsSetEncryption()</tt></a> </li> |
| <li><a href='#cupsSetPasswordCB'><tt>cupsSetPasswordCB()</tt></a> </li> |
| <li><a href='#cupsSetServer'><tt>cupsSetServer()</tt></a> </li> |
| <li><a href='#cupsSetUser'><tt>cupsSetUser()</tt></a> </li> |
| <li><a href='#cupsTempFd'><tt>cupsTempFd()</tt></a> </li> |
| <li><a href='#cupsTempFile'><tt>cupsTempFile()</tt></a> <span class='info'> DEPRECATED </span></li> |
| <li><a href='#cupsTempFile2'><tt>cupsTempFile2()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
| <li><a href='#cupsUser'><tt>cupsUser()</tt></a> </li> |
| </ul> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsAddDest'>cupsAddDest()</a></h3> |
| <h4>Description</h4> |
| <p>Add a destination to the list of destinations. |
| <p>This function cannot be used to add a new class or printer queue, |
| it only adds a new container of saved options for the named |
| destination or instance. |
| <p>If the named destination already exists, the destination list is |
| returned unchanged. Adding a new instance of a destination creates |
| a copy of that destination's options. |
| <p>Use the cupsSaveDests() function to save the updated list of |
| destinations to the user's lpoptions file. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsAddDest( |
| const char * name, |
| const char * instance, |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> ** dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Destination name</td></tr> |
| <tr><td><tt>instance</tt></td><td>Instance name or NULL for none/primary</td></tr> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>New number of destinations</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsAddOption'>cupsAddOption()</a></h3> |
| <h4>Description</h4> |
| <p>Add an option to an option array. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsAddOption( |
| const char * name, |
| const char * value, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> ** options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Name of option</td></tr> |
| <tr><td><tt>value</tt></td><td>Value of option</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Pointer to options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of options</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsCancelJob'>cupsCancelJob()</a></h3> |
| <h4>Description</h4> |
| <p>Cancel a print job on the default server. |
| <p>Use the cupsLastError() and cupsLastErrorString() functions to get |
| the cause of any failure. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsCancelJob( |
| const char * name, |
| int job); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Name of printer or class</td></tr> |
| <tr><td><tt>job</tt></td><td>Job ID</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>1 on success, 0 on failure</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsEncryption'>cupsEncryption()</a></h3> |
| <h4>Description</h4> |
| <p>Get the default encryption settings. |
| <p>The default encryption setting comes from the CUPS_ENCRYPTION |
| environment variable, then the ~/.cupsrc file, and finally the |
| /etc/cups/client.conf file. If not set, the default is |
| HTTP_ENCRYPT_IF_REQUESTED. |
| <h4>Syntax</h4> |
| <p><tt> |
| http_encryption_t<br> |
| cupsEncryption(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>Encryption settings</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsFreeDests'>cupsFreeDests()</a></h3> |
| <h4>Description</h4> |
| <p>Free the memory used by the list of destinations. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsFreeDests( |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> * dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsFreeJobs'>cupsFreeJobs()</a></h3> |
| <h4>Description</h4> |
| <p>Free memory used by job data. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsFreeJobs( |
| int num_jobs, |
| <a href='#cups_job_t'>cups_job_t</a> * jobs); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>num_jobs</tt></td><td>Number of jobs</td></tr> |
| <tr><td><tt>jobs</tt></td><td>Jobs</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsFreeOptions'>cupsFreeOptions()</a></h3> |
| <h4>Description</h4> |
| <p>Free all memory used by options. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsFreeOptions( |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Pointer to options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> DEPRECATED </span><a name='cupsGetClasses'>cupsGetClasses()</a></h3> |
| <h4>Description</h4> |
| <p>Get a list of printer classes from the default server. |
| <p>This function is deprecated - use cupsGetDests() instead. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetClasses( |
| char *** classes); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>classes</tt></td><td>Classes</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of classes</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetDefault'>cupsGetDefault()</a></h3> |
| <h4>Description</h4> |
| <p>Get the default printer or class for the default server. |
| <p>This function returns the default printer or class as defined by |
| the LPDEST or PRINTER environment variables. If these environment |
| variables are not set, the server default destination is returned. |
| Applications should use the cupsGetDests() and cupsGetDest() functions |
| to get the user-defined default printer, as this function does not |
| support the lpoptions-defined default printer. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetDefault(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>Default printer or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsGetDefault2'>cupsGetDefault2()</a></h3> |
| <h4>Description</h4> |
| <p>Get the default printer or class for the specified server. |
| <p>This function returns the default printer or class as defined by |
| the LPDEST or PRINTER environment variables. If these environment |
| variables are not set, the server default destination is returned. |
| Applications should use the cupsGetDests() and cupsGetDest() functions |
| to get the user-defined default printer, as this function does not |
| support the lpoptions-defined default printer. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetDefault2( |
| http_t * http); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Default printer or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetDest'>cupsGetDest()</a></h3> |
| <h4>Description</h4> |
| <p>Get the named destination from the list. |
| <p>Use the cupsGetDests() or cupsGetDests2() functions to get a |
| list of supported destinations for the current user. |
| <h4>Syntax</h4> |
| <p><tt> |
| <a href='#cups_dest_t'>cups_dest_t</a> *<br> |
| cupsGetDest( |
| const char * name, |
| const char * instance, |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> * dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Destination name or NULL for the default destination</td></tr> |
| <tr><td><tt>instance</tt></td><td>Instance name or NULL</td></tr> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Destination pointer or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetDests'>cupsGetDests()</a></h3> |
| <h4>Description</h4> |
| <p>Get the list of destinations from the default server. |
| <p>Starting with CUPS 1.2, the returned list of destinations include the |
| printer-info, printer-is-accepting-jobs, printer-is-shared, |
| printer-make-and-model, printer-state, printer-state-change-time, |
| printer-state-reasons, and printer-type attributes as options. |
| <p>Use the cupsFreeDests() function to free the destination list and |
| the cupsGetDest() function to find a particular destination. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetDests( |
| <a href='#cups_dest_t'>cups_dest_t</a> ** dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of destinations</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsGetDests2'>cupsGetDests2()</a></h3> |
| <h4>Description</h4> |
| <p>Get the list of destinations from the specified server. |
| <p>Starting with CUPS 1.2, the returned list of destinations include the |
| printer-info, printer-is-accepting-jobs, printer-is-shared, |
| printer-make-and-model, printer-state, printer-state-change-time, |
| printer-state-reasons, and printer-type attributes as options. |
| <p>Use the cupsFreeDests() function to free the destination list and |
| the cupsGetDest() function to find a particular destination. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetDests2( |
| http_t * http, |
| <a href='#cups_dest_t'>cups_dest_t</a> ** dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of destinations</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.20 </span><a name='cupsGetFd'>cupsGetFd()</a></h3> |
| <h4>Description</h4> |
| <p>Get a file from the server. |
| <p>This function returns HTTP_OK when the file is successfully retrieved. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| http_status_t<br> |
| cupsGetFd( |
| http_t * http, |
| const char * resource, |
| int fd); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection to server</td></tr> |
| <tr><td><tt>resource</tt></td><td>Resource name</td></tr> |
| <tr><td><tt>fd</tt></td><td>File descriptor</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>HTTP status</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.20 </span><a name='cupsGetFile'>cupsGetFile()</a></h3> |
| <h4>Description</h4> |
| <p>Get a file from the server. |
| <p>This function returns HTTP_OK when the file is successfully retrieved. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| http_status_t<br> |
| cupsGetFile( |
| http_t * http, |
| const char * resource, |
| const char * filename); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection to server</td></tr> |
| <tr><td><tt>resource</tt></td><td>Resource name</td></tr> |
| <tr><td><tt>filename</tt></td><td>Filename</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>HTTP status</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetJobs'>cupsGetJobs()</a></h3> |
| <h4>Description</h4> |
| <p>Get the jobs from the default server. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetJobs( |
| <a href='#cups_job_t'>cups_job_t</a> ** jobs, |
| const char * mydest, |
| int myjobs, |
| int completed); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>jobs</tt></td><td>Job data</td></tr> |
| <tr><td><tt>mydest</tt></td><td>NULL = all destinations, * |
| otherwise show jobs for mydest</td></tr> |
| <tr><td><tt>myjobs</tt></td><td>0 = all users, 1 = mine</td></tr> |
| <tr><td><tt>completed</tt></td><td>-1 = show all, 0 = active, * |
| 1 = completed jobs</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of jobs</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsGetJobs2'>cupsGetJobs2()</a></h3> |
| <h4>Description</h4> |
| <p>Get the jobs from the specified server. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetJobs2( |
| http_t * http, |
| <a href='#cups_job_t'>cups_job_t</a> ** jobs, |
| const char * mydest, |
| int myjobs, |
| int completed); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>jobs</tt></td><td>Job data</td></tr> |
| <tr><td><tt>mydest</tt></td><td>NULL = all destinations, * |
| otherwise show jobs for mydest</td></tr> |
| <tr><td><tt>myjobs</tt></td><td>0 = all users, 1 = mine</td></tr> |
| <tr><td><tt>completed</tt></td><td>-1 = show all, 0 = active, * |
| 1 = completed jobs</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of jobs</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetOption'>cupsGetOption()</a></h3> |
| <h4>Description</h4> |
| <p>Get an option value. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetOption( |
| const char * name, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Name of option</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Option value or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetPPD'>cupsGetPPD()</a></h3> |
| <h4>Description</h4> |
| <p>Get the PPD file for a printer on the default server. |
| <p>For classes, cupsGetPPD() returns the PPD file for the first printer |
| in the class. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetPPD( |
| const char * name); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Printer name</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Filename for PPD file</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsGetPPD2'>cupsGetPPD2()</a></h3> |
| <h4>Description</h4> |
| <p>Get the PPD file for a printer from the specified server. |
| <p>For classes, cupsGetPPD2() returns the PPD file for the first printer |
| in the class. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetPPD2( |
| http_t * http, |
| const char * name); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>name</tt></td><td>Printer name</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Filename for PPD file</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetPPD3'>cupsGetPPD3()</a></h3> |
| <h4>Description</h4> |
| <p>Get the PPD file for a printer on the specified |
| server if it has changed. |
| <p>The "modtime" parameter contains the modification time of any |
| locally-cached content and is updated with the time from the PPD file on |
| the server. |
| <p>The "buffer" parameter contains the local PPD filename. If it contains |
| the empty string, a new temporary file is created, otherwise the existing |
| file will be overwritten as needed. |
| <p>On success, HTTP_OK is returned for a new PPD file and HTTP_NOT_MODIFIED |
| if the existing PPD file is up-to-date. Any other status is an error. |
| <h4>Syntax</h4> |
| <p><tt> |
| http_status_t<br> |
| cupsGetPPD3( |
| http_t * http, |
| const char * name, |
| time_t * modtime, |
| char * buffer, |
| size_t bufsize); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>name</tt></td><td>Printer name</td></tr> |
| <tr><td><tt>modtime</tt></td><td>Modification time</td></tr> |
| <tr><td><tt>buffer</tt></td><td>Filename buffer</td></tr> |
| <tr><td><tt>bufsize</tt></td><td>Size of filename buffer</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>HTTP status</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsGetPassword'>cupsGetPassword()</a></h3> |
| <h4>Description</h4> |
| <p>Get a password from the user. |
| <p>Uses the current password callback function. Returns NULL if the |
| user does not provide a password. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsGetPassword( |
| const char * prompt); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>prompt</tt></td><td>Prompt string</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Password</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> DEPRECATED </span><a name='cupsGetPrinters'>cupsGetPrinters()</a></h3> |
| <h4>Description</h4> |
| <p>Get a list of printers from the default server. |
| <p>This function is deprecated - use cupsGetDests() instead. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsGetPrinters( |
| char *** printers); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>printers</tt></td><td>Printers</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of printers</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.3 </span><a name='cupsGetServerPPD'>cupsGetServerPPD()</a></h3> |
| <h4>Description</h4> |
| <p>Get an available PPD file from the server. |
| <p>This function returns the named PPD file from the server. The |
| list of available PPDs is provided by the IPP CUPS_GET_PPDS |
| operation. |
| <p>You must remove (unlink) the PPD file when you are finished with |
| it. The PPD filename is stored in a static location that will be |
| overwritten on the next call to cupsGetPPD(), cupsGetPPD2(), or |
| cupsGetServerPPD(). |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| char *<br> |
| cupsGetServerPPD( |
| http_t * http, |
| const char * name); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>name</tt></td><td>Name of PPD file ("ppd-name")</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Name of PPD file or NULL on error</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLangDefault'>cupsLangDefault()</a></h3> |
| <h4>Description</h4> |
| <p>Return the default language. |
| <h4>Syntax</h4> |
| <p><tt> |
| cups_lang_t *<br> |
| cupsLangDefault(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>Language data</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLangEncoding'>cupsLangEncoding()</a></h3> |
| <h4>Description</h4> |
| <p>Return the character encoding (us-ascii, etc.) |
| for the given language. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsLangEncoding( |
| cups_lang_t * lang); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>lang</tt></td><td>Language data</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Character encoding</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLangFlush'>cupsLangFlush()</a></h3> |
| <h4>Description</h4> |
| <p>Flush all language data out of the cache. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsLangFlush(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLangFree'>cupsLangFree()</a></h3> |
| <h4>Description</h4> |
| <p>Free language data. |
| <p>This does not actually free anything; use cupsLangFlush() for that. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsLangFree( |
| cups_lang_t * lang); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>lang</tt></td><td>Language to free</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLangGet'>cupsLangGet()</a></h3> |
| <h4>Description</h4> |
| <p>Get a language. |
| <h4>Syntax</h4> |
| <p><tt> |
| cups_lang_t *<br> |
| cupsLangGet( |
| const char * language); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>language</tt></td><td>Language or locale</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Language data</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsLastError'>cupsLastError()</a></h3> |
| <h4>Description</h4> |
| <p>Return the last IPP status code. |
| <h4>Syntax</h4> |
| <p><tt> |
| ipp_status_t<br> |
| cupsLastError(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>IPP status code from last request</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='cupsLastErrorString'>cupsLastErrorString()</a></h3> |
| <h4>Description</h4> |
| <p>Return the last IPP status-message. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsLastErrorString(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>status-message text from last request</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsMarkOptions'>cupsMarkOptions()</a></h3> |
| <h4>Description</h4> |
| <p>Mark command-line options in a PPD file. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsMarkOptions( |
| ppd_file_t * ppd, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>ppd</tt></td><td>PPD file</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>1 if conflicting</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='cupsNotifySubject'>cupsNotifySubject()</a></h3> |
| <h4>Description</h4> |
| <p>Return the subject for the given notification message. |
| <p>The returned string must be freed by the caller using free(). |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| char *<br> |
| cupsNotifySubject( |
| cups_lang_t * lang, |
| ipp_t * event); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>lang</tt></td><td>Language data</td></tr> |
| <tr><td><tt>event</tt></td><td>Event data</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Subject string or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='cupsNotifyText'>cupsNotifyText()</a></h3> |
| <h4>Description</h4> |
| <p>Return the text for the given notification message. |
| <p>The returned string must be freed by the caller using free(). |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| char *<br> |
| cupsNotifyText( |
| cups_lang_t * lang, |
| ipp_t * event); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>lang</tt></td><td>Language data</td></tr> |
| <tr><td><tt>event</tt></td><td>Event data</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Message text or NULL</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsParseOptions'>cupsParseOptions()</a></h3> |
| <h4>Description</h4> |
| <p>Parse options from a command-line argument. |
| <p>This function converts space-delimited name/value pairs according |
| to the PAPI text option ABNF specification. Collection values |
| ("name={a=... b=... c=...}") are stored with the curley brackets |
| intact - use cupsParseOptions() on the value to extract the collection |
| attributes. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsParseOptions( |
| const char * arg, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> ** options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>arg</tt></td><td>Argument to parse</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options found</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Number of options found</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsPrintFile'>cupsPrintFile()</a></h3> |
| <h4>Description</h4> |
| <p>Print a file to a printer or class on the default server. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsPrintFile( |
| const char * name, |
| const char * filename, |
| const char * title, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Printer or class name</td></tr> |
| <tr><td><tt>filename</tt></td><td>File to print</td></tr> |
| <tr><td><tt>title</tt></td><td>Title of job</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Job ID</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsPrintFile2'>cupsPrintFile2()</a></h3> |
| <h4>Description</h4> |
| <p>Print a file to a printer or class on the specified server. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsPrintFile2( |
| http_t * http, |
| const char * name, |
| const char * filename, |
| const char * title, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>name</tt></td><td>Printer or class name</td></tr> |
| <tr><td><tt>filename</tt></td><td>File to print</td></tr> |
| <tr><td><tt>title</tt></td><td>Title of job</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Job ID</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsPrintFiles'>cupsPrintFiles()</a></h3> |
| <h4>Description</h4> |
| <p>Print one or more files to a printer or class on the |
| default server. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsPrintFiles( |
| const char * name, |
| int num_files, |
| const char ** files, |
| const char * title, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Printer or class name</td></tr> |
| <tr><td><tt>num_files</tt></td><td>Number of files</td></tr> |
| <tr><td><tt>files</tt></td><td>File(s) to print</td></tr> |
| <tr><td><tt>title</tt></td><td>Title of job</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Job ID</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsPrintFiles2'>cupsPrintFiles2()</a></h3> |
| <h4>Description</h4> |
| <p>Print one or more files to a printer or class on the |
| specified server. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsPrintFiles2( |
| http_t * http, |
| const char * name, |
| int num_files, |
| const char ** files, |
| const char * title, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> * options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>name</tt></td><td>Printer or class name</td></tr> |
| <tr><td><tt>num_files</tt></td><td>Number of files</td></tr> |
| <tr><td><tt>files</tt></td><td>File(s) to print</td></tr> |
| <tr><td><tt>title</tt></td><td>Title of job</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Job ID</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.20 </span><a name='cupsPutFd'>cupsPutFd()</a></h3> |
| <h4>Description</h4> |
| <p>Put a file on the server. |
| <p>This function returns HTTP_CREATED when the file is stored successfully. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| http_status_t<br> |
| cupsPutFd( |
| http_t * http, |
| const char * resource, |
| int fd); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection to server</td></tr> |
| <tr><td><tt>resource</tt></td><td>Resource name</td></tr> |
| <tr><td><tt>fd</tt></td><td>File descriptor</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>HTTP status</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.20 </span><a name='cupsPutFile'>cupsPutFile()</a></h3> |
| <h4>Description</h4> |
| <p>Put a file on the server. |
| <p>This function returns HTTP_CREATED when the file is stored successfully. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| http_status_t<br> |
| cupsPutFile( |
| http_t * http, |
| const char * resource, |
| const char * filename); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection to server</td></tr> |
| <tr><td><tt>resource</tt></td><td>Resource name</td></tr> |
| <tr><td><tt>filename</tt></td><td>Filename</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>HTTP status</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.3 </span><a name='cupsRemoveDest'>cupsRemoveDest()</a></h3> |
| <h4>Description</h4> |
| <p>Remove a destination from the destination list. |
| <p>Removing a destination/instance does not delete the class or printer |
| queue, merely the lpoptions for that destination/instance. Use the |
| cupsSetDests() or cupsSetDests2() functions to save the new options |
| for the user. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsRemoveDest( |
| const char * name, |
| const char * instance, |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> ** dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Destination name</td></tr> |
| <tr><td><tt>instance</tt></td><td>Instance name or NULL</td></tr> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>New number of destinations</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='cupsRemoveOption'>cupsRemoveOption()</a></h3> |
| <h4>Description</h4> |
| <p>Remove an option from an option array. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsRemoveOption( |
| const char * name, |
| int num_options, |
| <a href='#cups_option_t'>cups_option_t</a> ** options); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Option name</td></tr> |
| <tr><td><tt>num_options</tt></td><td>Current number of options</td></tr> |
| <tr><td><tt>options</tt></td><td>Options</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>New number of options</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsServer'>cupsServer()</a></h3> |
| <h4>Description</h4> |
| <p>Return the hostname/address of the default server. |
| <p>The returned value can be a fully-qualified hostname, a numeric |
| IPv4 or IPv6 address, or a domain socket pathname. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsServer(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>Server name</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.3 </span><a name='cupsSetDefaultDest'>cupsSetDefaultDest()</a></h3> |
| <h4>Description</h4> |
| <p>Set the default destination. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetDefaultDest( |
| const char * name, |
| const char * instance, |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> * dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt></td><td>Destination name</td></tr> |
| <tr><td><tt>instance</tt></td><td>Instance name or NULL</td></tr> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsSetDests'>cupsSetDests()</a></h3> |
| <h4>Description</h4> |
| <p>Save the list of destinations for the default server. |
| <p>This function saves the destinations to /etc/cups/lpoptions when run |
| as root and ~/.cups/lpoptions when run as a normal user. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetDests( |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> * dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.1.21 </span><a name='cupsSetDests2'>cupsSetDests2()</a></h3> |
| <h4>Description</h4> |
| <p>Save the list of destinations for the specified server. |
| <p>This function saves the destinations to /etc/cups/lpoptions when run |
| as root and ~/.cups/lpoptions when run as a normal user. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsSetDests2( |
| http_t * http, |
| int num_dests, |
| <a href='#cups_dest_t'>cups_dest_t</a> * dests); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>http</tt></td><td>HTTP connection</td></tr> |
| <tr><td><tt>num_dests</tt></td><td>Number of destinations</td></tr> |
| <tr><td><tt>dests</tt></td><td>Destinations</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>0 on success, -1 on error</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsSetEncryption'>cupsSetEncryption()</a></h3> |
| <h4>Description</h4> |
| <p>Set the encryption preference. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetEncryption( |
| http_encryption_t e); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>e</tt></td><td>New encryption preference</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsSetPasswordCB'>cupsSetPasswordCB()</a></h3> |
| <h4>Description</h4> |
| <p>Set the password callback for CUPS. |
| <p>Pass NULL to restore the default (console) password callback. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetPasswordCB( |
| <a href='#cups_password_cb_t'>cups_password_cb_t</a> cb); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>cb</tt></td><td>Callback function</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsSetServer'>cupsSetServer()</a></h3> |
| <h4>Description</h4> |
| <p>Set the default server name. |
| <p>The "server" string can be a fully-qualified hostname, a numeric |
| IPv4 or IPv6 address, or a domain socket pathname. Pass NULL to |
| restore the default server name. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetServer( |
| const char * server); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>server</tt></td><td>Server name</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsSetUser'>cupsSetUser()</a></h3> |
| <h4>Description</h4> |
| <p>Set the default user name. |
| <p>Pass NULL to restore the default user name. |
| <h4>Syntax</h4> |
| <p><tt> |
| void<br> |
| cupsSetUser( |
| const char * user); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>user</tt></td><td>User name</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Nothing.</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsTempFd'>cupsTempFd()</a></h3> |
| <h4>Description</h4> |
| <p>Creates a temporary file. |
| <p>The temporary filename is returned in the filename buffer. |
| The temporary file is opened for reading and writing. |
| <h4>Syntax</h4> |
| <p><tt> |
| int<br> |
| cupsTempFd( |
| char * filename, |
| int len); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>filename</tt></td><td>Pointer to buffer</td></tr> |
| <tr><td><tt>len</tt></td><td>Size of buffer</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>New file descriptor or -1 on error</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> DEPRECATED </span><a name='cupsTempFile'>cupsTempFile()</a></h3> |
| <h4>Description</h4> |
| <p>Generates a temporary filename. |
| <p>The temporary filename is returned in the filename buffer. |
| This function is deprecated - use cupsTempFd() or cupsTempFile2() |
| instead. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| char *<br> |
| cupsTempFile( |
| char * filename, |
| int len); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>filename</tt></td><td>Pointer to buffer</td></tr> |
| <tr><td><tt>len</tt></td><td>Size of buffer</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>Filename or NULL on error</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='cupsTempFile2'>cupsTempFile2()</a></h3> |
| <h4>Description</h4> |
| <p>Creates a temporary CUPS file. |
| <p>The temporary filename is returned in the filename buffer. |
| The temporary file is opened for writing. |
| |
| |
| <h4>Syntax</h4> |
| <p><tt> |
| cups_file_t *<br> |
| cupsTempFile2( |
| char * filename, |
| int len); |
| </tt></p> |
| <h4>Arguments</h4> |
| <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>filename</tt></td><td>Pointer to buffer</td></tr> |
| <tr><td><tt>len</tt></td><td>Size of buffer</td></tr> |
| </tbody></table></div> |
| <h4>Returns</h4> |
| <p>CUPS file or NULL on error</p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cupsUser'>cupsUser()</a></h3> |
| <h4>Description</h4> |
| <p>Return the current user's name. |
| <h4>Syntax</h4> |
| <p><tt> |
| const char *<br> |
| cupsUser(void); |
| </tt></p> |
| <h4>Arguments</h4> |
| <p>None.</p> |
| <h4>Returns</h4> |
| <p>User name</p> |
| <!-- NEW PAGE --> |
| <h2 class='title'><a name='STRUCTURES'>Structures</a></h2> |
| <ul> |
| <li><a href='#cups_dest_s'><tt>cups_dest_s</tt></a> </li> |
| <li><a href='#cups_job_s'><tt>cups_job_s</tt></a> </li> |
| <li><a href='#cups_option_s'><tt>cups_option_s</tt></a> </li> |
| </ul> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_dest_s'>cups_dest_s</a></h3> |
| <h4>Description</h4> |
| <p>Destination |
| <h4>Definition</h4> |
| <p><tt> |
| struct cups_dest_s<br> |
| {<br> |
| char *name, * instance;<br> |
| int is_default;<br> |
| int num_options;<br> |
| <a href='#cups_option_t'>cups_option_t</a> * options;<br> |
| };</tt></p> |
| <h4>Members</h4> |
| <div class='table'><table align='center' border='1' width='80%' summary='Members'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>instance</tt> </td><td>Local instance name or NULL |
| </td></tr> |
| <tr><td><tt>is_default</tt> </td><td>Is this printer the default? |
| </td></tr> |
| <tr><td><tt>num_options</tt> </td><td>Number of options |
| </td></tr> |
| <tr><td><tt>options</tt> </td><td>Options |
| </td></tr> |
| </tbody></table></div> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_job_s'>cups_job_s</a></h3> |
| <h4>Description</h4> |
| <p>Job |
| <h4>Definition</h4> |
| <p><tt> |
| struct cups_job_s<br> |
| {<br> |
| time_t completed_time;<br> |
| time_t creation_time;<br> |
| char * dest;<br> |
| char * format;<br> |
| int id;<br> |
| int priority;<br> |
| time_t processing_time;<br> |
| int size;<br> |
| ipp_jstate_t state;<br> |
| char * title;<br> |
| char * user;<br> |
| };</tt></p> |
| <h4>Members</h4> |
| <div class='table'><table align='center' border='1' width='80%' summary='Members'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>completed_time</tt> </td><td>Time the job was completed |
| </td></tr> |
| <tr><td><tt>creation_time</tt> </td><td>Time the job was created |
| </td></tr> |
| <tr><td><tt>dest</tt> </td><td>Printer or class name |
| </td></tr> |
| <tr><td><tt>format</tt> </td><td>Document format |
| </td></tr> |
| <tr><td><tt>id</tt> </td><td>The job ID |
| </td></tr> |
| <tr><td><tt>priority</tt> </td><td>Priority (1-100) |
| </td></tr> |
| <tr><td><tt>processing_time</tt> </td><td>Time the job was processed |
| </td></tr> |
| <tr><td><tt>size</tt> </td><td>Size in kilobytes |
| </td></tr> |
| <tr><td><tt>state</tt> </td><td>Job state |
| </td></tr> |
| <tr><td><tt>title</tt> </td><td>Title/job name |
| </td></tr> |
| <tr><td><tt>user</tt> </td><td>User the submitted the job |
| </td></tr> |
| </tbody></table></div> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_option_s'>cups_option_s</a></h3> |
| <h4>Description</h4> |
| <p>Printer Options |
| <h4>Definition</h4> |
| <p><tt> |
| struct cups_option_s<br> |
| {<br> |
| char * name;<br> |
| char * value;<br> |
| };</tt></p> |
| <h4>Members</h4> |
| <div class='table'><table align='center' border='1' width='80%' summary='Members'> |
| <thead><tr><th>Name</th><th>Description</th></tr></thead> |
| <tbody> |
| <tr><td><tt>name</tt> </td><td>Name of option |
| </td></tr> |
| <tr><td><tt>value</tt> </td><td>Value of option |
| </td></tr> |
| </tbody></table></div> |
| <!-- NEW PAGE --> |
| <h2 class='title'><a name='TYPES'>Types</a></h2> |
| <ul> |
| <li><a href='#cups_dest_t'><tt>cups_dest_t</tt></a> </li> |
| <li><a href='#cups_job_t'><tt>cups_job_t</tt></a> </li> |
| <li><a href='#cups_option_t'><tt>cups_option_t</tt></a> </li> |
| <li><a href='#cups_password_cb_t'><tt>cups_password_cb_t</tt></a> </li> |
| <li><a href='#cups_ptype_t'><tt>cups_ptype_t</tt></a> </li> |
| </ul> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_dest_t'>cups_dest_t</a></h3> |
| <h4>Description</h4> |
| <p>Destination |
| <h4>Definition</h4> |
| <p><tt> |
| typedef struct <a href='#cups_dest_s'>cups_dest_s</a> cups_dest_t; |
| </tt></p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_job_t'>cups_job_t</a></h3> |
| <h4>Description</h4> |
| <p>Job |
| <h4>Definition</h4> |
| <p><tt> |
| typedef struct <a href='#cups_job_s'>cups_job_s</a> cups_job_t; |
| </tt></p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_option_t'>cups_option_t</a></h3> |
| <h4>Description</h4> |
| <p>Printer Options |
| <h4>Definition</h4> |
| <p><tt> |
| typedef struct <a href='#cups_option_s'>cups_option_s</a> cups_option_t; |
| </tt></p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_password_cb_t'>cups_password_cb_t</a></h3> |
| <h4>Description</h4> |
| <p>Password callback |
| <h4>Definition</h4> |
| <p><tt> |
| typedef const char * (*cups_password_cb_t)(const char *); |
| </tt></p> |
| <!-- NEW PAGE --> |
| <h3 class='title'><a name='cups_ptype_t'>cups_ptype_t</a></h3> |
| <h4>Description</h4> |
| <p>Printer Type/Capability Bits |
| <h4>Definition</h4> |
| <p><tt> |
| typedef unsigned cups_ptype_t; |
| </tt></p> |
| </body> |
| </html> |