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; }
19 "$Id: api-cups.shtml 5138 2006-02-21 10:49:06Z mike $"
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 This function cannot be used to add a new class or printer queue,
180 it only adds a new container of saved options for the named
181 destination or instance.
183 If the named destination already exists, the destination list is
184 returned unchanged. Adding a new instance of a destination creates
185 a copy of that destination's options.
187 Use the cupsSaveDests() function to save the updated list of
188 destinations to the user's lpoptions file.
</p>
194 const char * instance,
196 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
199 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
200 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
202 <tr><td><tt>name
</tt></td><td>Destination name
</td></tr>
203 <tr><td><tt>instance
</tt></td><td>Instance name or NULL for none/primary
</td></tr>
204 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
205 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
206 </tbody></table></div>
208 <p>New number of destinations
</p>
210 <h3 class='title'
><a name='cupsAddOption'
>cupsAddOption()
</a></h3>
212 <p>Add an option to an option array.
</p>
220 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
223 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
224 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
226 <tr><td><tt>name
</tt></td><td>Name of option
</td></tr>
227 <tr><td><tt>value
</tt></td><td>Value of option
</td></tr>
228 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
229 <tr><td><tt>options
</tt></td><td>Pointer to options
</td></tr>
230 </tbody></table></div>
232 <p>Number of options
</p>
234 <h3 class='title'
><a name='cupsCancelJob'
>cupsCancelJob()
</a></h3>
236 <p>Cancel a print job on the default server.
238 Use the cupsLastError() and cupsLastErrorString() functions to get
239 the cause of any failure.
</p>
248 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
249 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
251 <tr><td><tt>name
</tt></td><td>Name of printer or class
</td></tr>
252 <tr><td><tt>job
</tt></td><td>Job ID
</td></tr>
253 </tbody></table></div>
255 <p>1 on success,
0 on failure
</p>
257 <h3 class='title'
><a name='cupsEncryption'
>cupsEncryption()
</a></h3>
259 <p>Get the default encryption settings.
261 The default encryption setting comes from the CUPS_ENCRYPTION
262 environment variable, then the ~/.cupsrc file, and finally the
263 /etc/cups/client.conf file. If not set, the default is
264 HTTP_ENCRYPT_IF_REQUESTED.
</p>
268 cupsEncryption(void);
273 <p>Encryption settings
</p>
275 <h3 class='title'
><a name='cupsFreeDests'
>cupsFreeDests()
</a></h3>
277 <p>Free the memory used by the list of destinations.
</p>
283 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
286 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
287 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
289 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
290 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
291 </tbody></table></div>
295 <h3 class='title'
><a name='cupsFreeJobs'
>cupsFreeJobs()
</a></h3>
297 <p>Free memory used by job data.
</p>
303 <a href='#cups_job_t'
>cups_job_t
</a> * jobs);
306 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
307 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
309 <tr><td><tt>num_jobs
</tt></td><td>Number of jobs
</td></tr>
310 <tr><td><tt>jobs
</tt></td><td>Jobs
</td></tr>
311 </tbody></table></div>
315 <h3 class='title'
><a name='cupsFreeOptions'
>cupsFreeOptions()
</a></h3>
317 <p>Free all memory used by options.
</p>
323 <a href='#cups_option_t'
>cups_option_t
</a> * options);
326 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
327 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
329 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
330 <tr><td><tt>options
</tt></td><td>Pointer to options
</td></tr>
331 </tbody></table></div>
335 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsGetClasses'
>cupsGetClasses()
</a></h3>
337 <p>Get a list of printer classes from the default server.
339 This function is deprecated - use cupsGetDests() instead.
349 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
350 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
352 <tr><td><tt>classes
</tt></td><td>Classes
</td></tr>
353 </tbody></table></div>
355 <p>Number of classes
</p>
357 <h3 class='title'
><a name='cupsGetDefault'
>cupsGetDefault()
</a></h3>
359 <p>Get the default printer or class for the default server.
361 This function returns the default printer or class as defined by
362 the LPDEST or PRINTER environment variables. If these environment
363 variables are not set, the server default destination is returned.
364 Applications should use the cupsGetDests() and cupsGetDest() functions
365 to get the user-defined default printer, as this function does not
366 support the lpoptions-defined default printer.
</p>
370 cupsGetDefault(void);
375 <p>Default printer or NULL
</p>
377 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetDefault2'
>cupsGetDefault2()
</a></h3>
379 <p>Get the default printer or class for the specified server.
381 This function returns the default printer or class as defined by
382 the LPDEST or PRINTER environment variables. If these environment
383 variables are not set, the server default destination is returned.
384 Applications should use the cupsGetDests() and cupsGetDest() functions
385 to get the user-defined default printer, as this function does not
386 support the lpoptions-defined default printer.
396 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
397 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
399 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
400 </tbody></table></div>
402 <p>Default printer or NULL
</p>
404 <h3 class='title'
><a name='cupsGetDest'
>cupsGetDest()
</a></h3>
406 <p>Get the named destination from the list.
408 Use the cupsGetDests() or cupsGetDests2() functions to get a
409 list of supported destinations for the current user.
</p>
412 <a href='#cups_dest_t'
>cups_dest_t
</a> *
415 const char * instance,
417 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
420 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
421 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
423 <tr><td><tt>name
</tt></td><td>Destination name or NULL for the default destination
</td></tr>
424 <tr><td><tt>instance
</tt></td><td>Instance name or NULL
</td></tr>
425 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
426 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
427 </tbody></table></div>
429 <p>Destination pointer or NULL
</p>
431 <h3 class='title'
><a name='cupsGetDests'
>cupsGetDests()
</a></h3>
433 <p>Get the list of destinations from the default server.
435 Starting with CUPS
1.2, the returned list of destinations include the
436 printer-info, printer-is-accepting-jobs, printer-is-shared,
437 printer-make-and-model, printer-state, printer-state-change-time,
438 printer-state-reasons, and printer-type attributes as options.
440 Use the cupsFreeDests() function to free the destination list and
441 the cupsGetDest() function to find a particular destination.
</p>
446 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
449 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
450 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
452 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
453 </tbody></table></div>
455 <p>Number of destinations
</p>
457 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetDests2'
>cupsGetDests2()
</a></h3>
459 <p>Get the list of destinations from the specified server.
461 Starting with CUPS
1.2, the returned list of destinations include the
462 printer-info, printer-is-accepting-jobs, printer-is-shared,
463 printer-make-and-model, printer-state, printer-state-change-time,
464 printer-state-reasons, and printer-type attributes as options.
466 Use the cupsFreeDests() function to free the destination list and
467 the cupsGetDest() function to find a particular destination.
475 <a href='#cups_dest_t'
>cups_dest_t
</a> ** dests);
478 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
479 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
481 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
482 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
483 </tbody></table></div>
485 <p>Number of destinations
</p>
487 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsGetFd'
>cupsGetFd()
</a></h3>
489 <p>Get a file from the server.
491 This function returns HTTP_OK when the file is successfully retrieved.
499 const char * resource,
503 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
504 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
506 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
507 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
508 <tr><td><tt>fd
</tt></td><td>File descriptor
</td></tr>
509 </tbody></table></div>
513 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsGetFile'
>cupsGetFile()
</a></h3>
515 <p>Get a file from the server.
517 This function returns HTTP_OK when the file is successfully retrieved.
525 const char * resource,
526 const char * filename);
529 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
530 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
532 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
533 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
534 <tr><td><tt>filename
</tt></td><td>Filename
</td></tr>
535 </tbody></table></div>
539 <h3 class='title'
><a name='cupsGetJobs'
>cupsGetJobs()
</a></h3>
541 <p>Get the jobs from the default server.
</p>
546 <a href='#cups_job_t'
>cups_job_t
</a> ** jobs,
552 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
553 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
555 <tr><td><tt>jobs
</tt></td><td>Job data
</td></tr>
556 <tr><td><tt>mydest
</tt></td><td>NULL = all destinations, *
557 otherwise show jobs for mydest
</td></tr>
558 <tr><td><tt>myjobs
</tt></td><td>0 = all users,
1 = mine
</td></tr>
559 <tr><td><tt>completed
</tt></td><td>-
1 = show all,
0 = active, *
560 1 = completed jobs
</td></tr>
561 </tbody></table></div>
563 <p>Number of jobs
</p>
565 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetJobs2'
>cupsGetJobs2()
</a></h3>
567 <p>Get the jobs from the specified server.
575 <a href='#cups_job_t'
>cups_job_t
</a> ** jobs,
581 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
582 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
584 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
585 <tr><td><tt>jobs
</tt></td><td>Job data
</td></tr>
586 <tr><td><tt>mydest
</tt></td><td>NULL = all destinations, *
587 otherwise show jobs for mydest
</td></tr>
588 <tr><td><tt>myjobs
</tt></td><td>0 = all users,
1 = mine
</td></tr>
589 <tr><td><tt>completed
</tt></td><td>-
1 = show all,
0 = active, *
590 1 = completed jobs
</td></tr>
591 </tbody></table></div>
593 <p>Number of jobs
</p>
595 <h3 class='title'
><a name='cupsGetOption'
>cupsGetOption()
</a></h3>
597 <p>Get an option value.
</p>
604 <a href='#cups_option_t'
>cups_option_t
</a> * options);
607 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
608 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
610 <tr><td><tt>name
</tt></td><td>Name of option
</td></tr>
611 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
612 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
613 </tbody></table></div>
615 <p>Option value or NULL
</p>
617 <h3 class='title'
><a name='cupsGetPPD'
>cupsGetPPD()
</a></h3>
619 <p>Get the PPD file for a printer on the default server.
621 For classes, cupsGetPPD() returns the PPD file for the first printer
630 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
631 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
633 <tr><td><tt>name
</tt></td><td>Printer name
</td></tr>
634 </tbody></table></div>
636 <p>Filename for PPD file
</p>
638 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsGetPPD2'
>cupsGetPPD2()
</a></h3>
640 <p>Get the PPD file for a printer from the specified server.
642 For classes, cupsGetPPD2() returns the PPD file for the first printer
654 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
655 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
657 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
658 <tr><td><tt>name
</tt></td><td>Printer name
</td></tr>
659 </tbody></table></div>
661 <p>Filename for PPD file
</p>
663 <h3 class='title'
><a name='cupsGetPassword'
>cupsGetPassword()
</a></h3>
665 <p>Get a password from the user.
667 Uses the current password callback function. Returns NULL if the
668 user does not provide a password.
</p>
673 const char * prompt);
676 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
677 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
679 <tr><td><tt>prompt
</tt></td><td>Prompt string
</td></tr>
680 </tbody></table></div>
684 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsGetPrinters'
>cupsGetPrinters()
</a></h3>
686 <p>Get a list of printers from the default server.
688 This function is deprecated - use cupsGetDests() instead.
698 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
699 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
701 <tr><td><tt>printers
</tt></td><td>Printers
</td></tr>
702 </tbody></table></div>
704 <p>Number of printers
</p>
706 <h3 class='title'
><a name='cupsLangDefault'
>cupsLangDefault()
</a></h3>
708 <p>Return the default language.
</p>
712 cupsLangDefault(void);
719 <h3 class='title'
><a name='cupsLangEncoding'
>cupsLangEncoding()
</a></h3>
721 <p>Return the character encoding (us-ascii, etc.)
722 for the given language.
</p>
730 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
731 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
733 <tr><td><tt>lang
</tt></td><td>Language data
</td></tr>
734 </tbody></table></div>
736 <p>Character encoding
</p>
738 <h3 class='title'
><a name='cupsLangFlush'
>cupsLangFlush()
</a></h3>
740 <p>Flush all language data out of the cache.
</p>
751 <h3 class='title'
><a name='cupsLangFree'
>cupsLangFree()
</a></h3>
753 <p>Free language data.
755 This does not actually free anything; use cupsLangFlush() for that.
</p>
763 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
764 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
766 <tr><td><tt>lang
</tt></td><td>Language to free
</td></tr>
767 </tbody></table></div>
771 <h3 class='title'
><a name='cupsLangGet'
>cupsLangGet()
</a></h3>
773 <p>Get a language.
</p>
778 const char * language);
781 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
782 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
784 <tr><td><tt>language
</tt></td><td>Language or locale
</td></tr>
785 </tbody></table></div>
789 <h3 class='title'
><a name='cupsLastError'
>cupsLastError()
</a></h3>
791 <p>Return the last IPP status code.
</p>
800 <p>IPP status code from last request
</p>
802 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsLastErrorString'
>cupsLastErrorString()
</a></h3>
804 <p>Return the last IPP status-message.
810 cupsLastErrorString(void);
815 <p>status-message text from last request
</p>
817 <h3 class='title'
><a name='cupsMarkOptions'
>cupsMarkOptions()
</a></h3>
819 <p>Mark command-line options in a PPD file.
</p>
826 <a href='#cups_option_t'
>cups_option_t
</a> * options);
829 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
830 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
832 <tr><td><tt>ppd
</tt></td><td>PPD file
</td></tr>
833 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
834 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
835 </tbody></table></div>
837 <p>1 if conflicting
</p>
839 <h3 class='title'
><a name='cupsParseOptions'
>cupsParseOptions()
</a></h3>
841 <p>Parse options from a command-line argument.
843 This function converts space-delimited name/value pairs according
844 to the PAPI text option ABNF specification. Collection values
845 (
"name={a=... b=... c=...}
") are stored with the curley brackets
846 intact - use cupsParseOptions() on the value to extract the collection
854 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
857 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
858 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
860 <tr><td><tt>arg
</tt></td><td>Argument to parse
</td></tr>
861 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
862 <tr><td><tt>options
</tt></td><td>Options found
</td></tr>
863 </tbody></table></div>
865 <p>Number of options found
</p>
867 <h3 class='title'
><a name='cupsPrintFile'
>cupsPrintFile()
</a></h3>
869 <p>Print a file to a printer or class on the default server.
</p>
875 const char * filename,
878 <a href='#cups_option_t'
>cups_option_t
</a> * options);
881 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
882 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
884 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
885 <tr><td><tt>filename
</tt></td><td>File to print
</td></tr>
886 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
887 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
888 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
889 </tbody></table></div>
893 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsPrintFile2'
>cupsPrintFile2()
</a></h3>
895 <p>Print a file to a printer or class on the specified server.
904 const char * filename,
907 <a href='#cups_option_t'
>cups_option_t
</a> * options);
910 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
911 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
913 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
914 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
915 <tr><td><tt>filename
</tt></td><td>File to print
</td></tr>
916 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
917 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
918 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
919 </tbody></table></div>
923 <h3 class='title'
><a name='cupsPrintFiles'
>cupsPrintFiles()
</a></h3>
925 <p>Print one or more files to a printer or class on the
936 <a href='#cups_option_t'
>cups_option_t
</a> * options);
939 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
940 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
942 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
943 <tr><td><tt>num_files
</tt></td><td>Number of files
</td></tr>
944 <tr><td><tt>files
</tt></td><td>File(s) to print
</td></tr>
945 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
946 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
947 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
948 </tbody></table></div>
952 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsPrintFiles2'
>cupsPrintFiles2()
</a></h3>
954 <p>Print one or more files to a printer or class on the
968 <a href='#cups_option_t'
>cups_option_t
</a> * options);
971 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
972 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
974 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
975 <tr><td><tt>name
</tt></td><td>Printer or class name
</td></tr>
976 <tr><td><tt>num_files
</tt></td><td>Number of files
</td></tr>
977 <tr><td><tt>files
</tt></td><td>File(s) to print
</td></tr>
978 <tr><td><tt>title
</tt></td><td>Title of job
</td></tr>
979 <tr><td><tt>num_options
</tt></td><td>Number of options
</td></tr>
980 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
981 </tbody></table></div>
985 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsPutFd'
>cupsPutFd()
</a></h3>
987 <p>Put a file on the server.
989 This function returns HTTP_CREATED when the file is stored successfully.
997 const char * resource,
1001 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1002 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1004 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
1005 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
1006 <tr><td><tt>fd
</tt></td><td>File descriptor
</td></tr>
1007 </tbody></table></div>
1011 <h3 class='title'
><span class='info'
> CUPS
1.1.20 </span><a name='cupsPutFile'
>cupsPutFile()
</a></h3>
1012 <h4>Description
</h4>
1013 <p>Put a file on the server.
1015 This function returns HTTP_CREATED when the file is stored successfully.
1023 const char * resource,
1024 const char * filename);
1027 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1028 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1030 <tr><td><tt>http
</tt></td><td>HTTP connection to server
</td></tr>
1031 <tr><td><tt>resource
</tt></td><td>Resource name
</td></tr>
1032 <tr><td><tt>filename
</tt></td><td>Filename
</td></tr>
1033 </tbody></table></div>
1037 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsRemoveOption'
>cupsRemoveOption()
</a></h3>
1038 <h4>Description
</h4>
1039 <p>Remove an option from an option array.
1048 <a href='#cups_option_t'
>cups_option_t
</a> ** options);
1051 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1052 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1054 <tr><td><tt>name
</tt></td><td>Option name
</td></tr>
1055 <tr><td><tt>num_options
</tt></td><td>Current number of options
</td></tr>
1056 <tr><td><tt>options
</tt></td><td>Options
</td></tr>
1057 </tbody></table></div>
1059 <p>New number of options
</p>
1061 <h3 class='title'
><a name='cupsServer'
>cupsServer()
</a></h3>
1062 <h4>Description
</h4>
1063 <p>Return the hostname/address of the default server.
1065 The returned value can be a fully-qualified hostname, a numeric
1066 IPv4 or IPv6 address, or a domain socket pathname.
</p>
1077 <h3 class='title'
><a name='cupsSetDests'
>cupsSetDests()
</a></h3>
1078 <h4>Description
</h4>
1079 <p>Save the list of destinations for the default server.
1081 This function saves the destinations to /etc/cups/lpoptions when run
1082 as root and ~/.cups/lpoptions when run as a normal user.
</p>
1088 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
1091 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1092 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1094 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
1095 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
1096 </tbody></table></div>
1100 <h3 class='title'
><span class='info'
> CUPS
1.1.21 </span><a name='cupsSetDests2'
>cupsSetDests2()
</a></h3>
1101 <h4>Description
</h4>
1102 <p>Save the list of destinations for the specified server.
1104 This function saves the destinations to /etc/cups/lpoptions when run
1105 as root and ~/.cups/lpoptions when run as a normal user.
1114 <a href='#cups_dest_t'
>cups_dest_t
</a> * dests);
1117 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1118 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1120 <tr><td><tt>http
</tt></td><td>HTTP connection
</td></tr>
1121 <tr><td><tt>num_dests
</tt></td><td>Number of destinations
</td></tr>
1122 <tr><td><tt>dests
</tt></td><td>Destinations
</td></tr>
1123 </tbody></table></div>
1125 <p>0 on success, -
1 on error
</p>
1127 <h3 class='title'
><a name='cupsSetEncryption'
>cupsSetEncryption()
</a></h3>
1128 <h4>Description
</h4>
1129 <p>Set the encryption preference.
</p>
1134 http_encryption_t e);
1137 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1138 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1140 <tr><td><tt>e
</tt></td><td>New encryption preference
</td></tr>
1141 </tbody></table></div>
1145 <h3 class='title'
><a name='cupsSetPasswordCB'
>cupsSetPasswordCB()
</a></h3>
1146 <h4>Description
</h4>
1147 <p>Set the password callback for CUPS.
1149 Pass NULL to restore the default (console) password callback.
</p>
1154 <a href='#cups_password_cb_t'
>cups_password_cb_t
</a> cb);
1157 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1158 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1160 <tr><td><tt>cb
</tt></td><td>Callback function
</td></tr>
1161 </tbody></table></div>
1165 <h3 class='title'
><a name='cupsSetServer'
>cupsSetServer()
</a></h3>
1166 <h4>Description
</h4>
1167 <p>Set the default server name.
1169 The
"server
" string can be a fully-qualified hostname, a numeric
1170 IPv4 or IPv6 address, or a domain socket pathname. Pass NULL to
1171 restore the default server name.
</p>
1176 const char * server);
1179 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1180 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1182 <tr><td><tt>server
</tt></td><td>Server name
</td></tr>
1183 </tbody></table></div>
1187 <h3 class='title'
><a name='cupsSetUser'
>cupsSetUser()
</a></h3>
1188 <h4>Description
</h4>
1189 <p>Set the default user name.
1191 Pass NULL to restore the default user name.
</p>
1199 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1200 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1202 <tr><td><tt>user
</tt></td><td>User name
</td></tr>
1203 </tbody></table></div>
1207 <h3 class='title'
><a name='cupsTempFd'
>cupsTempFd()
</a></h3>
1208 <h4>Description
</h4>
1209 <p>Creates a temporary file.
1211 The temporary filename is returned in the filename buffer.
1212 The temporary file is opened for reading and writing.
</p>
1221 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1222 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1224 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1225 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1226 </tbody></table></div>
1228 <p>New file descriptor or -
1 on error
</p>
1230 <h3 class='title'
><span class='info'
> DEPRECATED
</span><a name='cupsTempFile'
>cupsTempFile()
</a></h3>
1231 <h4>Description
</h4>
1232 <p>Generates a temporary filename.
1234 The temporary filename is returned in the filename buffer.
1235 This function is deprecated - use cupsTempFd() or cupsTempFile2()
1247 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1248 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1250 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1251 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1252 </tbody></table></div>
1254 <p>Filename or NULL on error
</p>
1256 <h3 class='title'
><span class='info'
> CUPS
1.2 </span><a name='cupsTempFile2'
>cupsTempFile2()
</a></h3>
1257 <h4>Description
</h4>
1258 <p>Creates a temporary CUPS file.
1260 The temporary filename is returned in the filename buffer.
1261 The temporary file is opened for writing.
1272 <div class='table'
><table align='center' border='
1' width='
80%' cellpadding='
5' cellspacing='
0'
>
1273 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1275 <tr><td><tt>filename
</tt></td><td>Pointer to buffer
</td></tr>
1276 <tr><td><tt>len
</tt></td><td>Size of buffer
</td></tr>
1277 </tbody></table></div>
1279 <p>CUPS file or NULL on error
</p>
1281 <h3 class='title'
><a name='cupsUser'
>cupsUser()
</a></h3>
1282 <h4>Description
</h4>
1283 <p>Return the current user's name.
</p>
1294 <h2 class='title'
><a name='STRUCTURES'
>Structures
</a></h2>
1296 <li><a href='#cups_dest_s'
><tt>cups_dest_s
</tt></a> </li>
1297 <li><a href='#cups_job_s'
><tt>cups_job_s
</tt></a> </li>
1298 <li><a href='#cups_option_s'
><tt>cups_option_s
</tt></a> </li>
1301 <h3 class='title'
><a name='cups_dest_s'
>cups_dest_s
</a></h3>
1302 <h4>Description
</h4>
1308 char *name, * instance;
1311 <a href='#cups_option_t'
>cups_option_t
</a> * options;
1315 <div class='table'
><table align='center' border='
1' width='
80%'
>
1316 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1318 <tr><td><tt>instance
</tt> </td><td>Local instance name or NULL
</td></tr>
1319 <tr><td><tt>is_default
</tt> </td><td>Is this printer the default?
</td></tr>
1320 <tr><td><tt>num_options
</tt> </td><td>Number of options
</td></tr>
1321 <tr><td><tt>options
</tt> </td><td>Options
</td></tr>
1322 </tbody></table></div>
1324 <h3 class='title'
><a name='cups_job_s'
>cups_job_s
</a></h3>
1325 <h4>Description
</h4>
1331 time_t completed_time;
1332 time_t creation_time;
1337 time_t processing_time;
1345 <div class='table'
><table align='center' border='
1' width='
80%'
>
1346 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1348 <tr><td><tt>completed_time
</tt> </td><td>Time the job was completed
</td></tr>
1349 <tr><td><tt>creation_time
</tt> </td><td>Time the job was created
</td></tr>
1350 <tr><td><tt>dest
</tt> </td><td>Printer or class name
</td></tr>
1351 <tr><td><tt>format
</tt> </td><td>Document format
</td></tr>
1352 <tr><td><tt>id
</tt> </td><td>The job ID
</td></tr>
1353 <tr><td><tt>priority
</tt> </td><td>Priority (
1-
100)
</td></tr>
1354 <tr><td><tt>processing_time
</tt> </td><td>Time the job was processed
</td></tr>
1355 <tr><td><tt>size
</tt> </td><td>Size in kilobytes
</td></tr>
1356 <tr><td><tt>state
</tt> </td><td>Job state
</td></tr>
1357 <tr><td><tt>title
</tt> </td><td>Title/job name
</td></tr>
1358 <tr><td><tt>user
</tt> </td><td>User the submitted the job
</td></tr>
1359 </tbody></table></div>
1361 <h3 class='title'
><a name='cups_option_s'
>cups_option_s
</a></h3>
1362 <h4>Description
</h4>
1363 <p>Printer Options
</p>
1366 struct cups_option_s
1373 <div class='table'
><table align='center' border='
1' width='
80%'
>
1374 <thead><tr><th>Name
</th><th>Description
</th></tr></thead>
1376 <tr><td><tt>name
</tt> </td><td>Name of option
</td></tr>
1377 <tr><td><tt>value
</tt> </td><td>Value of option
</td></tr>
1378 </tbody></table></div>
1380 <h2 class='title'
><a name='TYPES'
>Types
</a></h2>
1382 <li><a href='#cups_dest_t'
><tt>cups_dest_t
</tt></a> </li>
1383 <li><a href='#cups_job_t'
><tt>cups_job_t
</tt></a> </li>
1384 <li><a href='#cups_option_t'
><tt>cups_option_t
</tt></a> </li>
1385 <li><a href='#cups_password_cb_t'
><tt>cups_password_cb_t
</tt></a> </li>
1386 <li><a href='#cups_ptype_t'
><tt>cups_ptype_t
</tt></a> </li>
1389 <h3 class='title'
><a name='cups_dest_t'
>cups_dest_t
</a></h3>
1390 <h4>Description
</h4>
1394 typedef struct
<a href='#cups_dest_s'
>cups_dest_s
</a> cups_dest_t;
1397 <h3 class='title'
><a name='cups_job_t'
>cups_job_t
</a></h3>
1398 <h4>Description
</h4>
1402 typedef struct
<a href='#cups_job_s'
>cups_job_s
</a> cups_job_t;
1405 <h3 class='title'
><a name='cups_option_t'
>cups_option_t
</a></h3>
1406 <h4>Description
</h4>
1407 <p>Printer Options
</p>
1410 typedef struct
<a href='#cups_option_s'
>cups_option_s
</a> cups_option_t;
1413 <h3 class='title'
><a name='cups_password_cb_t'
>cups_password_cb_t
</a></h3>
1414 <h4>Description
</h4>
1415 <p>Password callback
</p>
1418 typedef const char * (*cups_password_cb_t)(const char *);
1421 <h3 class='title'
><a name='cups_ptype_t'
>cups_ptype_t
</a></h3>
1422 <h4>Description
</h4>
1423 <p>Printer Type/Capability Bits
</p>
1426 typedef unsigned cups_ptype_t;