1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
3 <!-- SECTION: Programming -->
5 <title>CUPS API
</title>
6 <meta name='keywords' content='Programming'
>
7 <meta name='creator' content='Mini-XML v2.3'
>
8 <style type='text/css'
><!--
9 h1, h2, h3, p { font-family: sans-serif; text-align: justify; }
10 tt, pre a:link, pre a:visited, tt a:link, tt a:visited { font-weight: bold; color: #7f0000; }
11 pre { font-weight: bold; color: #7f0000; margin-left: 2em; }
12 span.info { background: #000000; border: solid thin #000000; color: #ffffff; font-size: 80%; font-style: italic; font-weight: bold; white-space: nowrap; }
13 h3 span.info { float: right; font-size: 100%; }
14 h1.title, h2.title, h3.title { border-bottom: solid 2px #000000; }
21 CUPS API introduction for the Common UNIX Printing System (CUPS).
23 Copyright 1997-2006 by Easy Software Products.
25 These coded instructions, statements, and computer programs are the
26 property of Easy Software Products and are protected by Federal
27 copyright law. Distribution and use rights are outlined in the file
28 "LICENSE.txt" which should have been included with this file. If this
29 file is missing or damaged please contact Easy Software Products
32 Attn: CUPS Licensing Information
33 Easy Software Products
34 44141 Airport View Drive, Suite 204
35 Hollywood, Maryland 20636 USA
38 EMail: cups-info@cups.org
39 WWW: http://www.cups.org
42 <h2 class='title'
>Introduction
</h2>
44 <p>The CUPS library provides a whole collection of interfaces
45 needed to support the internal needs of the CUPS software as well
46 as the needs of applications, filters, printer drivers, and
49 <p>Unlike the rest of CUPS, the CUPS API library is provided
50 under the GNU Library General Public License. This means that you
51 can use the CUPS API library in both proprietary and open-source
54 <h2 class='title'
>General Usage
</h2>
56 <p>The
<var><cups/cups.h
></var> header file must be included to
57 use the CUPS functions.
</p>
59 <p>Programs using these functions must be linked to the CUPS
60 library:
<var>libcups.a
</var>,
<var>libcups.so
.2</var>,
61 <var>libcups
.2.dylib
</var>,
<var>libcups_s.a
</var>, or
62 <var>libcups2.lib
</var> depending on the platform. The following
63 command compiles
<var>myprogram.c
</var> using GCC and the CUPS
67 <kbd>gcc -o myprogram myprogram.c -lcups
</kbd>
70 <h2 class='title'
>Compatibility
</h2>
72 <p>Unless otherwise specified, the CUPS API functions require
73 CUPS
1.1 or higher.
</p>
74 <h2 class='title'
>Contents
</h2>
76 <li><a href='#ENUMERATIONS'
>Enumerations
</a></li>
77 <li><a href='#FUNCTIONS'
>Functions
</a></li>
78 <li><a href='#STRUCTURES'
>Structures
</a></li>
79 <li><a href='#TYPES'
>Types
</a></li>
82 <h2 class='title'
><a name='ENUMERATIONS'
>Enumerations
</a></h2>
84 <li><a href='#cups_ptype_e'
><tt>cups_ptype_e
</tt></a> </li>
87 <h3 class='title'
><a name='cups_ptype_e'
>cups_ptype_e
</a></h3>
89 <p>Not a typedef'd enum so we can OR
</p>
91 <div class='table'
><table align='center' border='
1' width='
80%'
>
92 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
94 <tr><td><tt>CUPS_PRINTER_AUTHENTICATED
</tt> <span class='info'
> CUPS
1.2 </span></td><td>Printer requires authentication
</td></tr>
95 <tr><td><tt>CUPS_PRINTER_BIND
</tt> </td><td>Can bind output
</td></tr>
96 <tr><td><tt>CUPS_PRINTER_BW
</tt> </td><td>Can do B
&W printing
</td></tr>
97 <tr><td><tt>CUPS_PRINTER_CLASS
</tt> </td><td>Printer class
</td></tr>
98 <tr><td><tt>CUPS_PRINTER_COLLATE
</tt> </td><td>Can collage copies
</td></tr>
99 <tr><td><tt>CUPS_PRINTER_COLOR
</tt> </td><td>Can do color printing
</td></tr>
100 <tr><td><tt>CUPS_PRINTER_COMMANDS
</tt> <span class='info'
> CUPS
1.2 </span></td><td>Printer supports maintenance commands
</td></tr>
101 <tr><td><tt>CUPS_PRINTER_COPIES
</tt> </td><td>Can do copies
</td></tr>
102 <tr><td><tt>CUPS_PRINTER_COVER
</tt> </td><td>Can cover output
</td></tr>
103 <tr><td><tt>CUPS_PRINTER_DEFAULT
</tt> </td><td>Default printer on network
</td></tr>
104 <tr><td><tt>CUPS_PRINTER_DELETE
</tt> <span class='info'
> CUPS
1.2 </span></td><td>Delete printer
</td></tr>
105 <tr><td><tt>CUPS_PRINTER_DUPLEX
</tt> </td><td>Can do duplexing
</td></tr>
106 <tr><td><tt>CUPS_PRINTER_FAX
</tt> </td><td>Fax queue
</td></tr>
107 <tr><td><tt>CUPS_PRINTER_IMPLICIT
</tt> </td><td>Implicit class
</td></tr>
108 <tr><td><tt>CUPS_PRINTER_LARGE
</tt> </td><td>Can do D/E/A1/A0
</td></tr>
109 <tr><td><tt>CUPS_PRINTER_LOCAL
</tt> </td><td>Local printer or class
</td></tr>
110 <tr><td><tt>CUPS_PRINTER_MEDIUM
</tt> </td><td>Can do Tabloid/B/C/A3/A2
</td></tr>
111 <tr><td><tt>CUPS_PRINTER_NOT_SHARED
</tt> <span class='info'
> CUPS
1.2 </span></td><td>Printer is not shared
</td></tr>
112 <tr><td><tt>CUPS_PRINTER_OPTIONS
</tt> </td><td>~(CLASS | REMOTE | IMPLICIT)
</td></tr>
113 <tr><td><tt>CUPS_PRINTER_PUNCH
</tt> </td><td>Can punch output
</td></tr>
114 <tr><td><tt>CUPS_PRINTER_REJECTING
</tt> </td><td>Printer is rejecting jobs
</td></tr>
115 <tr><td><tt>CUPS_PRINTER_REMOTE
</tt> </td><td>Remote printer or class
</td></tr>
116 <tr><td><tt>CUPS_PRINTER_SMALL
</tt> </td><td>Can do Letter/Legal/A4
</td></tr>
117 <tr><td><tt>CUPS_PRINTER_SORT
</tt> </td><td>Can sort output
</td></tr>
118 <tr><td><tt>CUPS_PRINTER_STAPLE
</tt> </td><td>Can staple output
</td></tr>
119 <tr><td><tt>CUPS_PRINTER_VARIABLE
</tt> </td><td>Can do variable sizes
</td></tr>
120 </tbody></table></div>
122 <h2 class='title'
><a name='FUNCTIONS'
>Functions
</a></h2>
124 <li><a href='#cupsAddDest'
><tt>cupsAddDest()
</tt></a> </li>
125 <li><a href='#cupsAddOption'
><tt>cupsAddOption()
</tt></a> </li>
126 <li><a href='#cupsCancelJob'
><tt>cupsCancelJob()
</tt></a> </li>
127 <li><a href='#cupsEncryption'
><tt>cupsEncryption()
</tt></a> </li>
128 <li><a href='#cupsFreeDests'
><tt>cupsFreeDests()
</tt></a> </li>
129 <li><a href='#cupsFreeJobs'
><tt>cupsFreeJobs()
</tt></a> </li>
130 <li><a href='#cupsFreeOptions'
><tt>cupsFreeOptions()
</tt></a> </li>
131 <li><a href='#cupsGetClasses'
><tt>cupsGetClasses()
</tt></a> <span class='info'
> DEPRECATED
</span></li>
132 <li><a href='#cupsGetDefault'
><tt>cupsGetDefault()
</tt></a> </li>
133 <li><a href='#cupsGetDefault2'
><tt>cupsGetDefault2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
134 <li><a href='#cupsGetDest'
><tt>cupsGetDest()
</tt></a> </li>
135 <li><a href='#cupsGetDests'
><tt>cupsGetDests()
</tt></a> </li>
136 <li><a href='#cupsGetDests2'
><tt>cupsGetDests2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
137 <li><a href='#cupsGetFd'
><tt>cupsGetFd()
</tt></a> <span class='info'
> CUPS
1.1.20 </span></li>
138 <li><a href='#cupsGetFile'
><tt>cupsGetFile()
</tt></a> <span class='info'
> CUPS
1.1.20 </span></li>
139 <li><a href='#cupsGetJobs'
><tt>cupsGetJobs()
</tt></a> </li>
140 <li><a href='#cupsGetJobs2'
><tt>cupsGetJobs2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
141 <li><a href='#cupsGetOption'
><tt>cupsGetOption()
</tt></a> </li>
142 <li><a href='#cupsGetPPD'
><tt>cupsGetPPD()
</tt></a> </li>
143 <li><a href='#cupsGetPPD2'
><tt>cupsGetPPD2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
144 <li><a href='#cupsGetPassword'
><tt>cupsGetPassword()
</tt></a> </li>
145 <li><a href='#cupsGetPrinters'
><tt>cupsGetPrinters()
</tt></a> <span class='info'
> DEPRECATED
</span></li>
146 <li><a href='#cupsLangDefault'
><tt>cupsLangDefault()
</tt></a> </li>
147 <li><a href='#cupsLangEncoding'
><tt>cupsLangEncoding()
</tt></a> </li>
148 <li><a href='#cupsLangFlush'
><tt>cupsLangFlush()
</tt></a> </li>
149 <li><a href='#cupsLangFree'
><tt>cupsLangFree()
</tt></a> </li>
150 <li><a href='#cupsLangGet'
><tt>cupsLangGet()
</tt></a> </li>
151 <li><a href='#cupsLastError'
><tt>cupsLastError()
</tt></a> </li>
152 <li><a href='#cupsLastErrorString'
><tt>cupsLastErrorString()
</tt></a> <span class='info'
> CUPS
1.2 </span></li>
153 <li><a href='#cupsMarkOptions'
><tt>cupsMarkOptions()
</tt></a> </li>
154 <li><a href='#cupsParseOptions'
><tt>cupsParseOptions()
</tt></a> </li>
155 <li><a href='#cupsPrintFile'
><tt>cupsPrintFile()
</tt></a> </li>
156 <li><a href='#cupsPrintFile2'
><tt>cupsPrintFile2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
157 <li><a href='#cupsPrintFiles'
><tt>cupsPrintFiles()
</tt></a> </li>
158 <li><a href='#cupsPrintFiles2'
><tt>cupsPrintFiles2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
159 <li><a href='#cupsPutFd'
><tt>cupsPutFd()
</tt></a> <span class='info'
> CUPS
1.1.20 </span></li>
160 <li><a href='#cupsPutFile'
><tt>cupsPutFile()
</tt></a> <span class='info'
> CUPS
1.1.20 </span></li>
161 <li><a href='#cupsRemoveOption'
><tt>cupsRemoveOption()
</tt></a> <span class='info'
> CUPS
1.2 </span></li>
162 <li><a href='#cupsServer'
><tt>cupsServer()
</tt></a> </li>
163 <li><a href='#cupsSetDests'
><tt>cupsSetDests()
</tt></a> </li>
164 <li><a href='#cupsSetDests2'
><tt>cupsSetDests2()
</tt></a> <span class='info'
> CUPS
1.1.21 </span></li>
165 <li><a href='#cupsSetEncryption'
><tt>cupsSetEncryption()
</tt></a> </li>
166 <li><a href='#cupsSetPasswordCB'
><tt>cupsSetPasswordCB()
</tt></a> </li>
167 <li><a href='#cupsSetServer'
><tt>cupsSetServer()
</tt></a> </li>
168 <li><a href='#cupsSetUser'
><tt>cupsSetUser()
</tt></a> </li>
169 <li><a href='#cupsTempFd'
><tt>cupsTempFd()
</tt></a> </li>
170 <li><a href='#cupsTempFile'
><tt>cupsTempFile()
</tt></a> <span class='info'
> DEPRECATED
</span></li>
171 <li><a href='#cupsTempFile2'
><tt>cupsTempFile2()
</tt></a> <span class='info'
> CUPS
1.2 </span></li>
172 <li><a href='#cupsUser'
><tt>cupsUser()
</tt></a> </li>
175 <h3 class='title'
><a name='cupsAddDest'
>cupsAddDest()
</a></h3>
177 <p>Add a destination to the list of destinations.
179 Use the cupsSaveDests() function to save the updated list of destinations
180 to the user's lpoptions file.
</p>
186 const char * instance,
188 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
191 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
192 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
194 <tr><td><tt>name
</tt></td><td>Name of destination
</td></tr>
195 <tr><td><tt>instance
</tt></td><td>Instance of destination or NULL for none/primary
</td></tr>
196 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
197 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
198 </tbody></table></div>
200 <p>New number of destinations
</p>
202 <h3 class='title'
><a name='cupsAddOption'
>cupsAddOption()
</a></h3>
204 <p>Add an option to an option array.
</p>
212 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
215 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
216 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
218 <tr><td><tt>name
</tt></td><td>Name of option
</td></tr>
219 <tr><td><tt>value
</tt></td><td>Value of option
</td></tr>
220 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
221 <tr><td><tt>options
</tt></td><td>Pointer to options
</td></tr>
222 </tbody></table></div>
224 <p>Number of options
</p>
226 <h3 class='title'
><a name='cupsCancelJob'
>cupsCancelJob()
</a></h3>
228 <p>Cancel a print job on the default server.
230 Use the cupsLastError() and cupsLastErrorString() functions to get
231 the cause of any failure.
</p>
240 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
241 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
243 <tr><td><tt>name
</tt></td><td>Name of printer or class
</td></tr>
244 <tr><td><tt>job
</tt></td><td>Job ID
</td></tr>
245 </tbody></table></div>
247 <p>1 on success,
0 on failure
</p>
249 <h3 class='title'
><a name='cupsEncryption'
>cupsEncryption()
</a></h3>
251 <p>Get the default encryption settings.
253 The default encryption setting comes from the CUPS_ENCRYPTION
254 environment variable, then the ~/.cupsrc file, and finally the
255 /etc/cups/client.conf file. If not set, the default is
256 HTTP_ENCRYPT_IF_REQUESTED.
</p>
260 cupsEncryption(void);
265 <p>Encryption settings
</p>
267 <h3 class='title'
><a name='cupsFreeDests'
>cupsFreeDests()
</a></h3>
269 <p>Free the memory used by the list of destinations.
</p>
275 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
278 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
279 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
281 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
282 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
283 </tbody></table></div>
287 <h3 class='title'
><a name='cupsFreeJobs'
>cupsFreeJobs()
</a></h3>
289 <p>Free memory used by job data.
</p>
295 <a href='#cups_job_t'
>cups_job_t
</a> * jobs);
298 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
299 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
301 <tr><td><tt>num_jobs
</tt></td><td>Number of jobs
</td></tr>
302 <tr><td><tt>jobs
</tt></td><td>Jobs
</td></tr>
303 </tbody></table></div>
307 <h3 class='title'
><a name='cupsFreeOptions'
>cupsFreeOptions()
</a></h3>
309 <p>Free all memory used by options.
</p>
315 <a href='#cups_option_t'
>cups_option_t
</a> * options);
318 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
319 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
321 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
322 <tr><td><tt>options
</tt></td><td>Pointer to options
</td></tr>
323 </tbody></table></div>
327 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsGetClasses'
>cupsGetClasses()
</a></h3>
329 <p>Get a list of printer classes from the default server.
331 This function is deprecated - use cupsGetDests() instead.
341 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
342 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
344 <tr><td><tt>classes
</tt></td><td>Classes
</td></tr>
345 </tbody></table></div>
347 <p>Number of classes
</p>
349 <h3 class='title'
><a name='cupsGetDefault'
>cupsGetDefault()
</a></h3>
351 <p>Get the default printer or class for the default server.
353 This function returns the default printer or class as defined by
354 the LPDEST or PRINTER environment variables. If these environment
355 variables are not set, the server default destination is returned.
356 Applications should use the cupsGetDests() and cupsGetDest() functions
357 to get the user-defined default printer, as this function does not
358 support the lpoptions-defined default printer.
</p>
362 cupsGetDefault(void);
367 <p>Default printer or NULL
</p>
369 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetDefault2'
>cupsGetDefault2()
</a></h3>
371 <p>Get the default printer or class for the specified server.
373 This function returns the default printer or class as defined by
374 the LPDEST or PRINTER environment variables. If these environment
375 variables are not set, the server default destination is returned.
376 Applications should use the cupsGetDests() and cupsGetDest() functions
377 to get the user-defined default printer, as this function does not
378 support the lpoptions-defined default printer.
388 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
389 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
391 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
392 </tbody></table></div>
394 <p>Default printer or NULL
</p>
396 <h3 class='title'
><a name='cupsGetDest'
>cupsGetDest()
</a></h3>
398 <p>Get the named destination from the list.
400 Use the cupsGetDests() or cupsGetDests2() functions to get a
401 list of supported destinations for the current user.
</p>
404 <a href='#cups_dest_t'
>cups_dest_t
</a> *
407 const char * instance,
409 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
412 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
413 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
415 <tr><td><tt>name
</tt></td><td>Name of destination
</td></tr>
416 <tr><td><tt>instance
</tt></td><td>Instance of destination
</td></tr>
417 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
418 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
419 </tbody></table></div>
421 <p>Destination pointer or NULL
</p>
423 <h3 class='title'
><a name='cupsGetDests'
>cupsGetDests()
</a></h3>
425 <p>Get the list of destinations from the default server.
427 Starting with CUPS
1.2, the returned list of destinations include the
428 printer-info, printer-is-accepting-jobs, printer-is-shared,
429 printer-make-and-model, printer-state, printer-state-change-time,
430 printer-state-reasons, and printer-type attributes as options.
</p>
435 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
438 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
439 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
441 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
442 </tbody></table></div>
444 <p>Number of destinations
</p>
446 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetDests2'
>cupsGetDests2()
</a></h3>
448 <p>Get the list of destinations from the specified server.
450 Starting with CUPS
1.2, the returned list of destinations include the
451 printer-info, printer-is-accepting-jobs, printer-is-shared,
452 printer-make-and-model, printer-state, printer-state-change-time,
453 printer-state-reasons, and printer-type attributes as options.
461 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
464 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
465 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
467 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
468 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
469 </tbody></table></div>
471 <p>Number of destinations
</p>
473 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsGetFd'
>cupsGetFd()
</a></h3>
475 <p>Get a file from the server.
477 This function returns HTTP_OK when the file is successfully retrieved.
485 const char * resource,
489 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
490 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
492 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
493 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
494 <tr><td><tt>fd
</tt></td><td>File descriptor
</td></tr>
495 </tbody></table></div>
499 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsGetFile'
>cupsGetFile()
</a></h3>
501 <p>Get a file from the server.
503 This function returns HTTP_OK when the file is successfully retrieved.
511 const char * resource,
512 const char * filename);
515 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
516 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
518 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
519 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
520 <tr><td><tt>filename
</tt></td><td>Filename
</td></tr>
521 </tbody></table></div>
525 <h3 class='title'
><a name='cupsGetJobs'
>cupsGetJobs()
</a></h3>
527 <p>Get the jobs from the default server.
</p>
532 <a href='#cups_job_t'
>cups_job_t
</a> ** jobs,
538 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
539 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
541 <tr><td><tt>jobs
</tt></td><td>Job data
</td></tr>
542 <tr><td><tt>mydest
</tt></td><td>NULL = all destinations, *
543 otherwise show jobs for mydest
</td></tr>
544 <tr><td><tt>myjobs
</tt></td><td>0 = all users,
1 = mine
</td></tr>
545 <tr><td><tt>completed
</tt></td><td>-
1 = show all,
0 = active, *
546 1 = completed jobs
</td></tr>
547 </tbody></table></div>
549 <p>Number of jobs
</p>
551 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetJobs2'
>cupsGetJobs2()
</a></h3>
553 <p>Get the jobs from the specified server.
561 <a href='#cups_job_t'
>cups_job_t
</a> ** jobs,
567 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
568 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
570 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
571 <tr><td><tt>jobs
</tt></td><td>Job data
</td></tr>
572 <tr><td><tt>mydest
</tt></td><td>NULL = all destinations, *
573 otherwise show jobs for mydest
</td></tr>
574 <tr><td><tt>myjobs
</tt></td><td>0 = all users,
1 = mine
</td></tr>
575 <tr><td><tt>completed
</tt></td><td>-
1 = show all,
0 = active, *
576 1 = completed jobs
</td></tr>
577 </tbody></table></div>
579 <p>Number of jobs
</p>
581 <h3 class='title'
><a name='cupsGetOption'
>cupsGetOption()
</a></h3>
583 <p>Get an option value.
</p>
590 <a href='#cups_option_t'
>cups_option_t
</a> * options);
593 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
594 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
596 <tr><td><tt>name
</tt></td><td>Name of option
</td></tr>
597 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
598 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
599 </tbody></table></div>
601 <p>Option value or NULL
</p>
603 <h3 class='title'
><a name='cupsGetPPD'
>cupsGetPPD()
</a></h3>
605 <p>Get the PPD file for a printer on the default server.
607 For classes, cupsGetPPD() returns the PPD file for the first printer
616 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
617 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
619 <tr><td><tt>name
</tt></td><td>Printer name
</td></tr>
620 </tbody></table></div>
622 <p>Filename for PPD file
</p>
624 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetPPD2'
>cupsGetPPD2()
</a></h3>
626 <p>Get the PPD file for a printer from the specified server.
628 For classes, cupsGetPPD2() returns the PPD file for the first printer
640 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
641 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
643 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
644 <tr><td><tt>name
</tt></td><td>Printer name
</td></tr>
645 </tbody></table></div>
647 <p>Filename for PPD file
</p>
649 <h3 class='title'
><a name='cupsGetPassword'
>cupsGetPassword()
</a></h3>
651 <p>Get a password from the user.
653 Uses the current password callback function. Returns NULL if the
654 user does not provide a password.
</p>
659 const char * prompt);
662 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
663 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
665 <tr><td><tt>prompt
</tt></td><td>Prompt string
</td></tr>
666 </tbody></table></div>
670 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsGetPrinters'
>cupsGetPrinters()
</a></h3>
672 <p>Get a list of printers from the default server.
674 This function is deprecated - use cupsGetDests() instead.
684 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
685 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
687 <tr><td><tt>printers
</tt></td><td>Printers
</td></tr>
688 </tbody></table></div>
690 <p>Number of printers
</p>
692 <h3 class='title'
><a name='cupsLangDefault'
>cupsLangDefault()
</a></h3>
694 <p>Return the default language.
</p>
698 cupsLangDefault(void);
705 <h3 class='title'
><a name='cupsLangEncoding'
>cupsLangEncoding()
</a></h3>
707 <p>Return the character encoding (us-ascii, etc.)
708 for the given language.
</p>
716 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
717 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
719 <tr><td><tt>lang
</tt></td><td>Language data
</td></tr>
720 </tbody></table></div>
722 <p>Character encoding
</p>
724 <h3 class='title'
><a name='cupsLangFlush'
>cupsLangFlush()
</a></h3>
726 <p>Flush all language data out of the cache.
</p>
737 <h3 class='title'
><a name='cupsLangFree'
>cupsLangFree()
</a></h3>
739 <p>Free language data.
741 This does not actually free anything; use cupsLangFlush() for that.
</p>
749 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
750 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
752 <tr><td><tt>lang
</tt></td><td>Language to free
</td></tr>
753 </tbody></table></div>
757 <h3 class='title'
><a name='cupsLangGet'
>cupsLangGet()
</a></h3>
759 <p>Get a language.
</p>
764 const char * language);
767 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
768 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
770 <tr><td><tt>language
</tt></td><td>Language or locale
</td></tr>
771 </tbody></table></div>
775 <h3 class='title'
><a name='cupsLastError'
>cupsLastError()
</a></h3>
777 <p>Return the last IPP status code.
</p>
786 <p>IPP status code from last request
</p>
788 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsLastErrorString'
>cupsLastErrorString()
</a></h3>
790 <p>Return the last IPP status-message.
796 cupsLastErrorString(void);
801 <p>status-message text from last request
</p>
803 <h3 class='title'
><a name='cupsMarkOptions'
>cupsMarkOptions()
</a></h3>
805 <p>Mark command-line options in a PPD file.
</p>
812 <a href='#cups_option_t'
>cups_option_t
</a> * options);
815 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
816 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
818 <tr><td><tt>ppd
</tt></td><td>PPD file
</td></tr>
819 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
820 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
821 </tbody></table></div>
823 <p>1 if conflicting
</p>
825 <h3 class='title'
><a name='cupsParseOptions'
>cupsParseOptions()
</a></h3>
827 <p>Parse options from a command-line argument.
829 This function converts space-delimited name/value pairs according
830 to the PAPI text option ABNF specification. Collection values
831 (
"name={a=... b=... c=...}
") are stored with the curley brackets
832 intact - use cupsParseOptions() on the value to extract the collection
840 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
843 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
844 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
846 <tr><td><tt>arg
</tt></td><td>Argument to parse
</td></tr>
847 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
848 <tr><td><tt>options
</tt></td><td>Options found
</td></tr>
849 </tbody></table></div>
851 <p>Number of options found
</p>
853 <h3 class='title'
><a name='cupsPrintFile'
>cupsPrintFile()
</a></h3>
855 <p>Print a file to a printer or class on the default server.
</p>
861 const char * filename,
864 <a href='#cups_option_t'
>cups_option_t
</a> * options);
867 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
868 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
870 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
871 <tr><td><tt>filename
</tt></td><td>File to print
</td></tr>
872 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
873 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
874 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
875 </tbody></table></div>
879 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsPrintFile2'
>cupsPrintFile2()
</a></h3>
881 <p>Print a file to a printer or class on the specified server.
890 const char * filename,
893 <a href='#cups_option_t'
>cups_option_t
</a> * options);
896 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
897 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
899 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
900 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
901 <tr><td><tt>filename
</tt></td><td>File to print
</td></tr>
902 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
903 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
904 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
905 </tbody></table></div>
909 <h3 class='title'
><a name='cupsPrintFiles'
>cupsPrintFiles()
</a></h3>
911 <p>Print one or more files to a printer or class on the
922 <a href='#cups_option_t'
>cups_option_t
</a> * options);
925 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
926 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
928 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
929 <tr><td><tt>num_files
</tt></td><td>Number of files
</td></tr>
930 <tr><td><tt>files
</tt></td><td>File(s) to print
</td></tr>
931 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
932 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
933 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
934 </tbody></table></div>
938 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsPrintFiles2'
>cupsPrintFiles2()
</a></h3>
940 <p>Print one or more files to a printer or class on the
954 <a href='#cups_option_t'
>cups_option_t
</a> * options);
957 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
958 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
960 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
961 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
962 <tr><td><tt>num_files
</tt></td><td>Number of files
</td></tr>
963 <tr><td><tt>files
</tt></td><td>File(s) to print
</td></tr>
964 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
965 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
966 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
967 </tbody></table></div>
971 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsPutFd'
>cupsPutFd()
</a></h3>
973 <p>Put a file on the server.
975 This function returns HTTP_CREATED when the file is stored successfully.
983 const char * resource,
987 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
988 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
990 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
991 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
992 <tr><td><tt>fd
</tt></td><td>File descriptor
</td></tr>
993 </tbody></table></div>
997 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsPutFile'
>cupsPutFile()
</a></h3>
999 <p>Put a file on the server.
1001 This function returns HTTP_CREATED when the file is stored successfully.
1009 const char * resource,
1010 const char * filename);
1013 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1014 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1016 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
1017 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
1018 <tr><td><tt>filename
</tt></td><td>Filename
</td></tr>
1019 </tbody></table></div>
1023 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsRemoveOption'
>cupsRemoveOption()
</a></h3>
1024 <h4>Description
</h4>
1025 <p>Remove an option from an option array.
1034 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
1037 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1038 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1040 <tr><td><tt>name
</tt></td><td>Option name
</td></tr>
1041 <tr><td><tt>num_options
</tt></td><td>Current number of options
</td></tr>
1042 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
1043 </tbody></table></div>
1045 <p>New number of options
</p>
1047 <h3 class='title'
><a name='cupsServer'
>cupsServer()
</a></h3>
1048 <h4>Description
</h4>
1049 <p>Return the hostname/address of the default server.
1051 The returned value can be a fully-qualified hostname, a numeric
1052 IPv4 or IPv6 address, or a domain socket pathname.
</p>
1063 <h3 class='title'
><a name='cupsSetDests'
>cupsSetDests()
</a></h3>
1064 <h4>Description
</h4>
1065 <p>Save the list of destinations for the default server.
1067 This function saves the destinations to /etc/cups/lpoptions when run
1068 as root and ~/.cups/lpoptions when run as a normal user.
</p>
1074 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
1077 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1078 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1080 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
1081 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
1082 </tbody></table></div>
1086 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsSetDests2'
>cupsSetDests2()
</a></h3>
1087 <h4>Description
</h4>
1088 <p>Save the list of destinations for the specified server.
1090 This function saves the destinations to /etc/cups/lpoptions when run
1091 as root and ~/.cups/lpoptions when run as a normal user.
1100 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
1103 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1104 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1106 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
1107 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
1108 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
1109 </tbody></table></div>
1111 <p>0 on success, -
1 on error
</p>
1113 <h3 class='title'
><a name='cupsSetEncryption'
>cupsSetEncryption()
</a></h3>
1114 <h4>Description
</h4>
1115 <p>Set the encryption preference.
</p>
1120 http_encryption_t e);
1123 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1124 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1126 <tr><td><tt>e
</tt></td><td>New encryption preference
</td></tr>
1127 </tbody></table></div>
1131 <h3 class='title'
><a name='cupsSetPasswordCB'
>cupsSetPasswordCB()
</a></h3>
1132 <h4>Description
</h4>
1133 <p>Set the password callback for CUPS.
1135 Pass NULL to restore the default (console) password callback.
</p>
1140 <a href='#cups_password_cb_t'
>cups_password_cb_t
</a> cb);
1143 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1144 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1146 <tr><td><tt>cb
</tt></td><td>Callback function
</td></tr>
1147 </tbody></table></div>
1151 <h3 class='title'
><a name='cupsSetServer'
>cupsSetServer()
</a></h3>
1152 <h4>Description
</h4>
1153 <p>Set the default server name.
1155 The
"server
" string can be a fully-qualified hostname, a numeric
1156 IPv4 or IPv6 address, or a domain socket pathname. Pass NULL to
1157 restore the default server name.
</p>
1162 const char * server);
1165 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1166 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1168 <tr><td><tt>server
</tt></td><td>Server name
</td></tr>
1169 </tbody></table></div>
1173 <h3 class='title'
><a name='cupsSetUser'
>cupsSetUser()
</a></h3>
1174 <h4>Description
</h4>
1175 <p>Set the default user name.
1177 Pass NULL to restore the default user name.
</p>
1185 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1186 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1188 <tr><td><tt>user
</tt></td><td>User name
</td></tr>
1189 </tbody></table></div>
1193 <h3 class='title'
><a name='cupsTempFd'
>cupsTempFd()
</a></h3>
1194 <h4>Description
</h4>
1195 <p>Create a temporary file.
1197 The temporary filename is stored in the filename buffer.
</p>
1206 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1207 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1209 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1210 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1211 </tbody></table></div>
1213 <p>New file descriptor
</p>
1215 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsTempFile'
>cupsTempFile()
</a></h3>
1216 <h4>Description
</h4>
1217 <p>Generate a temporary filename.
1219 The temporary filename is stored in the filename buffer.
1220 This function is deprecated - use cupsTempFd() or cupsTempFile2()
1232 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1233 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1235 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1236 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1237 </tbody></table></div>
1241 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsTempFile2'
>cupsTempFile2()
</a></h3>
1242 <h4>Description
</h4>
1243 <p>Create a temporary CUPS file.
1245 The temporary filename is stored in the filename buffer.
1256 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1257 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1259 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1260 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1261 </tbody></table></div>
1263 <p>CUPS file or NULL on error
</p>
1265 <h3 class='title'
><a name='cupsUser'
>cupsUser()
</a></h3>
1266 <h4>Description
</h4>
1267 <p>Return the current user's name.
</p>
1278 <h2 class='title'
><a name='STRUCTURES'
>Structures
</a></h2>
1280 <li><a href='#cups_dest_s'
><tt>cups_dest_s
</tt></a> </li>
1281 <li><a href='#cups_job_s'
><tt>cups_job_s
</tt></a> </li>
1282 <li><a href='#cups_option_s'
><tt>cups_option_s
</tt></a> </li>
1285 <h3 class='title'
><a name='cups_dest_s'
>cups_dest_s
</a></h3>
1286 <h4>Description
</h4>
1292 char *name, * instance;
1295 <a href='#cups_option_t'
>cups_option_t
</a> * options;
1299 <div class='table'
><table align='center' border='
1' width='
80%'
>
1300 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1302 <tr><td><tt>instance
</tt> </td><td>Local instance name or NULL
</td></tr>
1303 <tr><td><tt>is_default
</tt> </td><td>Is this printer the default?
</td></tr>
1304 <tr><td><tt>num_options
</tt> </td><td>Number of options
</td></tr>
1305 <tr><td><tt>options
</tt> </td><td>Options
</td></tr>
1306 </tbody></table></div>
1308 <h3 class='title'
><a name='cups_job_s'
>cups_job_s
</a></h3>
1309 <h4>Description
</h4>
1315 time_t completed_time;
1316 time_t creation_time;
1321 time_t processing_time;
1329 <div class='table'
><table align='center' border='
1' width='
80%'
>
1330 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1332 <tr><td><tt>completed_time
</tt> </td><td>Time the job was completed
</td></tr>
1333 <tr><td><tt>creation_time
</tt> </td><td>Time the job was created
</td></tr>
1334 <tr><td><tt>dest
</tt> </td><td>Printer or class name
</td></tr>
1335 <tr><td><tt>format
</tt> </td><td>Document format
</td></tr>
1336 <tr><td><tt>id
</tt> </td><td>The job ID
</td></tr>
1337 <tr><td><tt>priority
</tt> </td><td>Priority (
1-
100)
</td></tr>
1338 <tr><td><tt>processing_time
</tt> </td><td>Time the job was processed
</td></tr>
1339 <tr><td><tt>size
</tt> </td><td>Size in kilobytes
</td></tr>
1340 <tr><td><tt>state
</tt> </td><td>Job state
</td></tr>
1341 <tr><td><tt>title
</tt> </td><td>Title/job name
</td></tr>
1342 <tr><td><tt>user
</tt> </td><td>User the submitted the job
</td></tr>
1343 </tbody></table></div>
1345 <h3 class='title'
><a name='cups_option_s'
>cups_option_s
</a></h3>
1346 <h4>Description
</h4>
1347 <p>Printer Options
</p>
1350 struct cups_option_s
1357 <div class='table'
><table align='center' border='
1' width='
80%'
>
1358 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1360 <tr><td><tt>name
</tt> </td><td>Name of option
</td></tr>
1361 <tr><td><tt>value
</tt> </td><td>Value of option
</td></tr>
1362 </tbody></table></div>
1364 <h2 class='title'
><a name='TYPES'
>Types
</a></h2>
1366 <li><a href='#cups_dest_t'
><tt>cups_dest_t
</tt></a> </li>
1367 <li><a href='#cups_job_t'
><tt>cups_job_t
</tt></a> </li>
1368 <li><a href='#cups_option_t'
><tt>cups_option_t
</tt></a> </li>
1369 <li><a href='#cups_password_cb_t'
><tt>cups_password_cb_t
</tt></a> </li>
1370 <li><a href='#cups_ptype_t'
><tt>cups_ptype_t
</tt></a> </li>
1373 <h3 class='title'
><a name='cups_dest_t'
>cups_dest_t
</a></h3>
1374 <h4>Description
</h4>
1378 typedef struct
<a href='#cups_dest_s'
>cups_dest_s
</a> cups_dest_t;
1381 <h3 class='title'
><a name='cups_job_t'
>cups_job_t
</a></h3>
1382 <h4>Description
</h4>
1386 typedef struct
<a href='#cups_job_s'
>cups_job_s
</a> cups_job_t;
1389 <h3 class='title'
><a name='cups_option_t'
>cups_option_t
</a></h3>
1390 <h4>Description
</h4>
1391 <p>Printer Options
</p>
1394 typedef struct
<a href='#cups_option_s'
>cups_option_s
</a> cups_option_t;
1397 <h3 class='title'
><a name='cups_password_cb_t'
>cups_password_cb_t
</a></h3>
1398 <h4>Description
</h4>
1399 <p>Password callback
</p>
1402 typedef const char * (*cups_password_cb_t)(const char *);
1405 <h3 class='title'
><a name='cups_ptype_t'
>cups_ptype_t
</a></h3>
1406 <h4>Description
</h4>
1407 <p>Printer Type/Capability Bits
</p>
1410 typedef unsigned cups_ptype_t;