-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
<html>
<!-- SECTION: Programming -->
-<head>
- <title>Administration APIs </title>
- <meta name="keywords" content="Programming">
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <meta name="creator" content="Mini-XML v2.7">
-<style type="text/css"><!--
+ <head>
+ <title>Administration APIs</title>
+ <meta name="keywords" content="Programming">
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+ <meta name="creator" content="codedoc v3.2">
+ <meta name="author" content="Unknown">
+ <meta name="copyright" content="Unknown">
+ <meta name="version" content="0.0">
+ <style type="text/css"><!--
BODY {
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
}
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
}
+H1 { font-size: 2em; }
+H2 { font-size: 1.75em; }
+H3 { font-size: 1.5em; }
+H4 { font-size: 1.25em; }
+
KBD {
font-family: monaco, courier, monospace;
font-weight: bold;
font-family: monaco, courier, monospace;
}
-PRE.command {
- border: dotted thin #7f7f7f;
- margin-left: 36pt;
+BLOCKQUOTE {
+ border-left: solid 2px #777;
+ margin: 1em 0;
+ padding: 10px;
+}
+
+BLOCKQUOTE OL LI {
+ margin-left: -1em;
+}
+
+PRE.command, PRE.example {
+ background: #eee;
+ margin: 0 36pt;
padding: 10px;
}
margin: 0;
}
-PRE.example {
- background: #eeeeee;
- border: dotted thin #999999;
- margin-left: 36pt;
- padding: 10pt;
-}
-
PRE.command EM, PRE.example EM {
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
}
margin-left: 36pt;
}
-BLOCKQUOTE {
- background: #eeeeee;
- border: solid thin #999999;
- padding: 10pt;
-}
-
A IMG {
border: none;
}
DIV.table TABLE TD {
border: solid thin #cccccc;
- padding-top: 5pt;
+ padding: 5pt 10pt 0;
}
DIV.table TABLE TH {
/* API documentation styles... */
div.body h1 {
+ font-size: 250%;
+ font-weight: bold;
margin: 0;
}
div.body h2 {
+ font-size: 250%;
margin-top: 1.5em;
}
-div.body h3, div.body h4, div.body h5 {
+div.body h3 {
+ font-size: 150%;
margin-bottom: 0.5em;
margin-top: 1.5em;
}
-.class, .enumeration, .function, .struct, .typedef, .union {
- border-bottom: solid thin #999999;
- margin-bottom: 0;
- margin-top: 2em;
+div.body h4 {
+ font-size: 110%;
+ margin-bottom: 0.5em;
+ margin-top: 1.5em;
+}
+div.body h5 {
+ font-size: 100%;
+ margin-bottom: 0.5em;
+ margin-top: 1.5em;
+}
+div.contents {
+ background: #e8e8e8;
+ border: solid thin black;
+ padding: 10px;
+}
+div.contents h1 {
+ font-size: 110%;
+}
+div.contents h2 {
+ font-size: 100%;
+}
+div.contents ul.contents {
+ font-size: 80%;
+}
+.class {
+ border-bottom: solid 2px gray;
+}
+.constants {
}
.description {
margin-top: 0.5em;
}
-code, p.code, pre, ul.code li {
- font-family: monaco, courier, monospace;
- font-size: 90%;
+.discussion {
+}
+.enumeration {
+ border-bottom: solid 2px gray;
+}
+.function {
+ border-bottom: solid 2px gray;
+ margin-bottom: 0;
+}
+.members {
+}
+.method {
+}
+.parameters {
+}
+.returnvalue {
+}
+.struct {
+ border-bottom: solid 2px gray;
+}
+.typedef {
+ border-bottom: solid 2px gray;
+}
+.union {
+ border-bottom: solid 2px gray;
+}
+.variable {
+}
+h1, h2, h3, h4, h5, h6 {
+ page-break-inside: avoid;
+}
+blockquote {
+ border: solid thin gray;
+ box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
+ padding: 10px 10px 0px;
+ page-break-inside: avoid;
+}
+p code, li code, p.code, pre, ul.code li {
+ background: rgba(127,127,127,0.1);
+ border: thin dotted gray;
+ font-family: monospace;
+ hyphens: manual;
+ -webkit-hyphens: manual;
+ page-break-inside: avoid;
+}
+p.code, pre, ul.code li {
+ padding: 10px;
+}
+p code, li code {
+ padding: 2px 5px;
+}
+a:link, a:visited {
+ text-decoration: none;
+}
+span.info {
+ background: black;
+ border: solid thin black;
+ color: white;
+ font-size: 80%;
+ font-style: italic;
+ font-weight: bold;
+ white-space: nowrap;
+}
+h2 span.info, h3 span.info, h4 span.info {
+ border-radius: 10px;
+ float: right;
+ font-size: 80%;
+ padding: 3px 6px;
+}
+h2.title span.info, h3.title span.info, h4.title span.info {
+ border-bottom-left-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+h2.title span.info {
+ padding: 4px 6px;
}
ul.code, ul.contents, ul.subcontents {
list-style-type: none;
ul.contents li ul.code, ul.contents li ul.subcontents {
padding-left: 2em;
}
-div.body dl {
- margin-left: 0;
- margin-top: 0;
-}
-div.body dt {
- font-style: italic;
- margin-left: 0;
- margin-top: 0;
-}
-div.body dd {
- margin-bottom: 0.5em;
-}
-
-/* This is just for the HTML files generated with the framedhelp target */
-div.contents {
- background: #e8e8e8;
- border: solid thin black;
- padding: 10px;
+table.list {
+ border-collapse: collapse;
+ width: 100%;
+}
+table.list tr:nth-child(even) {
+ background: rgba(127,127,127,0.1);]n}
+table.list th {
+ border-right: 2px solid gray;
+ font-family: monospace;
+ padding: 5px 10px 5px 2px;
+ text-align: right;
+ vertical-align: top;
}
-div.contents h1 {
- font-size: 110%;
+table.list td {
+ padding: 5px 2px 5px 10px;
+ text-align: left;
+ vertical-align: top;
}
-div.contents h2 {
- font-size: 100%;
+h1.title {
}
-div.contents ul.contents {
- font-size: 80%;
+h2.title {
+ border-bottom: solid 2px black;
}
-div.contents ul.subcontents li {
- margin-left: 1em;
- text-indent: -1em;
+h3.title {
+ border-bottom: solid 2px black;
}
--></style>
-</head>
-<body>
-<div class='body'>
+ </head>
+ <body>
+ <div class="header">
<!--
Administrative API header for CUPS.
- Copyright 2016 by Apple Inc.
+ Copyright © 2016 by Apple Inc.
- 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/".
+ Licensed under Apache License v2.0. See the file "LICENSE" for more
+ information.
-->
<h1 class='title'>Administrative APIs</h1>
</tr>
</tbody>
</table></div>
-<h2 class="title">Contents</h2>
-<ul class="contents">
-<li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
- <li><a href="#SETTINGS">Scheduler Settings</a></li>
- <li><a href="#DEVICES">Devices</a></li>
-</ul></li>
-<li><a href="#FUNCTIONS">Functions</a><ul class="code">
- <li><a href="#cupsAdminCreateWindowsPPD" title="Create the Windows PPD file for a printer.">cupsAdminCreateWindowsPPD</a></li>
- <li><a href="#cupsAdminExportSamba" title="Export a printer to Samba.">cupsAdminExportSamba</a></li>
- <li><a href="#cupsAdminGetServerSettings" title="Get settings from the server.">cupsAdminGetServerSettings</a></li>
- <li><a href="#cupsAdminSetServerSettings" title="Set settings on the server.">cupsAdminSetServerSettings</a></li>
- <li><a href="#cupsGetDevices" title="Get available printer devices.">cupsGetDevices</a></li>
-</ul></li>
-<li><a href="#TYPES">Data Types</a><ul class="code">
- <li><a href="#cups_device_cb_t" title="Device callback
-">cups_device_cb_t</a></li>
-</ul></li>
-</ul>
+ </div>
+ <div class="contents">
+ <h2 class="title">Contents</h2>
+ <ul class="contents">
+ <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
+ <li><a href="#SETTINGS">Scheduler Settings</a></li>
+ <li><a href="#DEVICES">Devices</a></li>
+ </ul></li>
+ <li><a href="#FUNCTIONS">Functions</a><ul class="subcontents">
+ <li><a href="#cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></li>
+ <li><a href="#cupsAdminExportSamba">cupsAdminExportSamba</a></li>
+ <li><a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></li>
+ <li><a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></li>
+ <li><a href="#cupsGetDevices">cupsGetDevices</a></li>
+ </ul></li>
+ <li><a href="#TYPES">Data Types</a><ul class="subcontents">
+ <li><a href="#cups_device_cb_t">cups_device_cb_t</a></li>
+ </ul></li>
+ </ul>
+ </div>
+ <div class="body">
<!--
Administrative API documentation for CUPS.
- Copyright 2016 by Apple Inc.
+ Copyright © 2016 by Apple Inc.
- 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/".
+ Licensed under Apache License v2.0. See the file "LICENSE" for more
+ information.
-->
<h2 class="title"><a name="OVERVIEW">Overview</a></h2>
<p>The administrative APIs provide convenience functions to perform certain administrative functions with the CUPS scheduler.</p>
-<blockquote><b>Note:<b>
+<blockquote><b>Note:</b>
<p>Administrative functions normally require administrative privileges to execute and must not be used in ordinary user applications!</p>
</blockquote>
<a href="#cupsGetDevices">cupsGetDevices</a>(CUPS_HTTP_DEFAULT, 30, NULL, NULL, get_devices_cb, NULL);
}
</pre>
-<h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info"> DEPRECATED </span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
-<p class="description">Create the Windows PPD file for a printer.</p>
+ <h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
+<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
+ <p class="description">Create the Windows PPD file for a printer.</p>
<p class="code">
-char *cupsAdminCreateWindowsPPD (<br>
- http_t *http,<br>
- const char *dest,<br>
- char *buffer,<br>
- int bufsize<br>
-);</p>
+char *cupsAdminCreateWindowsPPD(http_t *http, const char *dest, char *buffer, int bufsize);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>dest</dt>
-<dd class="description">Printer or class</dd>
-<dt>buffer</dt>
-<dd class="description">Filename buffer</dd>
-<dt>bufsize</dt>
-<dd class="description">Size of filename buffer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>dest</th>
+ <td class="description">Printer or class</td></tr>
+<tr><th>buffer</th>
+ <td class="description">Filename buffer</td></tr>
+<tr><th>bufsize</th>
+ <td class="description">Size of filename buffer</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
-<p class="description">PPD file or NULL</p>
-<h3 class="function"><span class="info"> DEPRECATED </span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
-<p class="description">Export a printer to Samba.</p>
+ <p class="description">PPD file or NULL</p>
+<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
+ <p class="description">Export a printer to Samba.</p>
<p class="code">
-int cupsAdminExportSamba (<br>
- const char *dest,<br>
- const char *ppd,<br>
- const char *samba_server,<br>
- const char *samba_user,<br>
- const char *samba_password,<br>
- FILE *logfile<br>
-);</p>
+int cupsAdminExportSamba(const char *dest, const char *ppd, const char *samba_server, const char *samba_user, const char *samba_password, FILE *logfile);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
-<dd class="description">Destination to export</dd>
-<dt>ppd</dt>
-<dd class="description">PPD file</dd>
-<dt>samba_server</dt>
-<dd class="description">Samba server</dd>
-<dt>samba_user</dt>
-<dd class="description">Samba username</dd>
-<dt>samba_password</dt>
-<dd class="description">Samba password</dd>
-<dt>logfile</dt>
-<dd class="description">Log file, if any</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>dest</th>
+ <td class="description">Destination to export</td></tr>
+<tr><th>ppd</th>
+ <td class="description">PPD file</td></tr>
+<tr><th>samba_server</th>
+ <td class="description">Samba server</td></tr>
+<tr><th>samba_user</th>
+ <td class="description">Samba username</td></tr>
+<tr><th>samba_password</th>
+ <td class="description">Samba password</td></tr>
+<tr><th>logfile</th>
+ <td class="description">Log file, if any</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
-<p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
-<p class="description">Get settings from the server.</p>
+ <p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
+ <p class="description">Get settings from the server.</p>
<p class="code">
-int cupsAdminGetServerSettings (<br>
- http_t *http,<br>
- int *num_settings,<br>
- cups_option_t **settings<br>
-);</p>
+int cupsAdminGetServerSettings(http_t *http, int *num_settings, cups_option_t **settings);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
-<dd class="description">Number of settings</dd>
-<dt>settings</dt>
-<dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+ <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+ <td class="description">Settings</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
-<p class="description">1 on success, 0 on failure</p>
+ <p class="description">1 on success, 0 on failure</p>
<h4 class="discussion">Discussion</h4>
-<p class="discussion">The returned settings should be freed with cupsFreeOptions() when
+ <p class="discussion">The returned settings should be freed with cupsFreeOptions() when
you are done with them.
</p>
-<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
-<p class="description">Set settings on the server.</p>
+<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
+ <p class="description">Set settings on the server.</p>
<p class="code">
-int cupsAdminSetServerSettings (<br>
- http_t *http,<br>
- int num_settings,<br>
- cups_option_t *settings<br>
-);</p>
+int cupsAdminSetServerSettings(http_t *http, int num_settings, cups_option_t *settings);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
-<dd class="description">Number of settings</dd>
-<dt>settings</dt>
-<dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+ <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+ <td class="description">Settings</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
-<p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </span><a name="cupsGetDevices">cupsGetDevices</a></h3>
-<p class="description">Get available printer devices.</p>
+ <p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsGetDevices">cupsGetDevices</a></h3>
+ <p class="description">Get available printer devices.</p>
<p class="code">
-ipp_status_t cupsGetDevices (<br>
- http_t *http,<br>
- int timeout,<br>
- const char *include_schemes,<br>
- const char *exclude_schemes,<br>
- <a href="#cups_device_cb_t">cups_device_cb_t</a> callback,<br>
- void *user_data<br>
-);</p>
+ipp_status_t cupsGetDevices(http_t *http, int timeout, const char *include_schemes, const char *exclude_schemes, <a href="#cups_device_cb_t">cups_device_cb_t</a> callback, void *user_data);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>timeout</dt>
-<dd class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></dd>
-<dt>include_schemes</dt>
-<dd class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></dd>
-<dt>exclude_schemes</dt>
-<dd class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></dd>
-<dt>callback</dt>
-<dd class="description">Callback function</dd>
-<dt>user_data</dt>
-<dd class="description">User data pointer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>timeout</th>
+ <td class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></td></tr>
+<tr><th>include_schemes</th>
+ <td class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></td></tr>
+<tr><th>exclude_schemes</th>
+ <td class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></td></tr>
+<tr><th>callback</th>
+ <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+ <td class="description">User data pointer</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
-<p class="description">Request status - <code>IPP_OK</code> on success.</p>
+ <p class="description">Request status - <code>IPP_OK</code> on success.</p>
<h4 class="discussion">Discussion</h4>
-<p class="discussion">This function sends a CUPS-Get-Devices request and streams the discovered
+ <p class="discussion">This function sends a CUPS-Get-Devices request and streams the discovered
devices to the specified callback function. The "timeout" parameter controls
how long the request lasts, while the "include_schemes" and "exclude_schemes"
parameters provide comma-delimited lists of backends to include or omit from
-the request respectively.
+the request respectively.<br>
+<br>
+This function is deprecated with the IPP printer discovery functionality
+being provided by the <a href="#cupsEnumDests"><code>cupsEnumDests</code></a> and @cupsGetDests@ functions.
</p>
-<h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info"> CUPS 1.4/macOS 10.6 </span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
-<p class="description">Device callback
+ <h2 class="title"><a id="TYPES">Data Types</a></h2>
+ <h3 class="typedef"><a id="cups_device_cb_t"><span class="info"> CUPS 1.4/macOS 10.6 </span>cups_device_cb_t</a></h3>
+ <p class="description">Device callback
</p>
-<p class="code">
+ <p class="code">
typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
</p>
-</div>
-</body>
+ </div>
+ </body>
</html>