]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Documentation updates.
authorMichael Sweet <michael.r.sweet@gmail.com>
Thu, 1 Jun 2017 02:22:40 +0000 (22:22 -0400)
committerMichael Sweet <michael.r.sweet@gmail.com>
Thu, 1 Jun 2017 02:22:40 +0000 (22:22 -0400)
22 files changed:
cups/Makefile
cups/auth.c
cups/cups.h
cups/cupspm.md
cups/dest.c
cups/encode.c
cups/http-addrlist.c
cups/http-support.c
cups/http.c
cups/tls-darwin.c
cups/usersys.c
cups/util.c
doc/help/api-filter.html
doc/help/api-ppd.html
doc/help/api-raster.html
doc/help/cupspm.epub
doc/help/cupspm.html
doc/help/postscript-driver.html
doc/help/ppd-compiler.html
doc/help/raster-driver.html
doc/help/spec-ppd.html
xcode/CUPS.xcodeproj/project.pbxproj

index e08af0a02f8ac2647d87475c42a7790517f3508f..bc022df30b6382e10b68c3e1cab0a398ecffd914 100644 (file)
@@ -571,11 +571,12 @@ tlscheck: tlscheck.o $(LIBCUPSSTATIC)
 
 apihelp:
        echo Generating CUPS API help files...
+       $(RM) cupspm.xml
        mxmldoc --section "Programming" --body cupspm.md \
                cupspm.xml \
-               array.[ch] auth.c cups.h dest*.c dir.[ch] encode.c \
-               file.[ch] http.h http*.c ipp.h ipp*.c language.[ch] \
-               notify.c options.c pwg.h pwg-media.c tempfile.c \
+               auth.c cups.h dest*.c encode.c \
+               http.h http*.c ipp.h ipp*.c language.[ch] \
+               notify.c options.c pwg.h pwg-media.c \
                tls-darwin.c usersys.c util.c \
                --coverimage cupspm.png \
                --epub ../doc/help/cupspm.epub
index 8348a2ccc063c6ef154daf267e8551b05ef3b649..c051c86ba81e840e6f7a932dd7fe8ad9c6735ffc 100644 (file)
@@ -54,7 +54,7 @@ extern const char *cssmErrorString(int error);
 #    else
 #      define GSS_AUTH_IDENTITY_TYPE_1 1
 #      define gss_acquire_cred_ex_f __ApplePrivate_gss_acquire_cred_ex_f
-typedef struct gss_auth_identity
+typedef struct gss_auth_identity /* @private@ */
 {
   uint32_t type;
   uint32_t flags;
index 16bd98fec12ba1d7ae412236d5f0435e829f6077..f40306b0458a29224ff67617bcdc2b3c8dbdc887 100644 (file)
@@ -308,11 +308,12 @@ typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags,
 #  ifdef __BLOCKS__
 typedef int (^cups_dest_block_t)(unsigned flags, cups_dest_t *dest);
                                        /* Destination enumeration block
-                                        * @since CUPS 1.6/macOS 10.8@ */
+                                        * @since CUPS 1.6/macOS 10.8@
+                                         * @exclude all@ */
 #  endif /* __BLOCKS__ */
 
 typedef const char *(*cups_password_cb_t)(const char *prompt);
-                                       /* Password callback */
+                                       /* Password callback @exclude all@ */
 
 typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http,
                                           const char *method,
index 97f2049d6865d22c233259aebc59bfb9694f26e1..5bbce4b5ae5d0cd7fbc2bb2a82524fd66159cc46 100644 (file)
@@ -294,8 +294,8 @@ destination attributes:
 - "printer-state-reasons": Additional comma-delimited state keywords for the
   destination such as "media-tray-empty-error" and "toner-low-warning".
 - "printer-type": The `cups_ptype_t` value associated with the destination.
-- "printer-uri": The URI associated with the destination; if not set, this
-  destination was discovered but is not yet setup as a local printer.
+- "printer-uri-supported": The URI associated with the destination; if not set,
+  this destination was discovered but is not yet setup as a local printer.
 
 Use the `cupsGetOption` function to retrieve the value.  For example, the
 following code gets the make and model of a destination:
@@ -304,6 +304,7 @@ following code gets the make and model of a destination:
                                       dest->num_options,
                                       dest->options);
 
+
 ## Detailed Destination Information
 
 Once a destination has been chosen, the `cupsCopyDestInfo` function can be used
@@ -321,6 +322,7 @@ supported options and their supported, ready, and default values.  It also can
 report constraints between different options and values, and recommend changes
 to resolve those constraints.
 
+
 ### Getting Supported Options and Values
 
 The `cupsCheckDestSupported` function can be used to test whether a particular
index 9493244c7c4248be392a6ed442dea99c7a1d2a47..9c256aa03276666c06fa13689c0fb17a92435326 100644 (file)
@@ -754,7 +754,7 @@ cupsConnectDest(
  * to by "cancel" is non-zero, or the callback function (or block) returns 0,
  * The caller is responsible for calling httpClose() on the returned object.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6/macOS 10.8@ @exclude all@
  */
 
 http_t *                               /* O - Connection to server or @code NULL@ */
@@ -1360,7 +1360,7 @@ cupsEnumDests(
  * Enumeration happens on the current thread and does not return until all
  * destinations have been enumerated or the block returns 0.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6/macOS 10.8@ @exclude all@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -1946,6 +1946,8 @@ _cupsGetDests(http_t       *http, /* I  - Connection to server or
  *
  * Use the @link cupsFreeDests@ function to free the destination list and
  * the @link cupsGetDest@ function to find a particular destination.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - Number of destinations */
@@ -1969,7 +1971,7 @@ cupsGetDests(cups_dest_t **dests) /* O - Destinations */
  * Use the @link cupsFreeDests@ function to free the destination list and
  * the @link cupsGetDest@ function to find a particular destination.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21/macOS 10.4@ @exclude all@
  */
 
 int                                    /* O - Number of destinations */
@@ -3338,6 +3340,8 @@ cups_dnssd_local_cb(
  * Note: This function is needed because avahi_simple_poll_iterate is broken
  *       and always uses a timeout of 0 (!) milliseconds.
  *       (Avahi Ticket #364)
+ *
+ * @private@
  */
 
 static int                             /* O - Number of file descriptors matching */
index e60aec0d251c749174ae39cf8589963eb2f62048..cf9ea8e88a4e4f1dea9e0c8da450b94370260e35 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Option encoding routines for CUPS.
  *
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -331,6 +331,8 @@ static int  compare_ipp_options(_ipp_option_t *a, _ipp_option_t *b);
  * This function adds operation, job, and then subscription attributes,
  * in that order. Use the cupsEncodeOptions2() function to add attributes
  * for a single group.
+ *
+ * @exclude all@
  */
 
 void
index 723bf029cd3f9009a7dff8e5a91e2dcd6d9324ea..22bd5a7d7fddddafe15f3e40a7cbe2e015d187be 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * HTTP address list routines for CUPS.
  *
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -32,7 +32,7 @@
 /*
  * 'httpAddrConnect()' - Connect to any of the addresses in the list.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2/macOS 10.5@ @exclude all@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
index 1ca01b27e18ce3cb20751e1eced98d19fcbda3a1..3ab461e1440bd679653ce49df4f3e4be344f5bb7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * HTTP support routines for CUPS.
  *
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -543,7 +543,7 @@ httpAssembleUUID(const char *server,        /* I - Server name */
  * This function is deprecated. Use the httpDecode64_2() function instead
  * which provides buffer length arguments.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 char *                                 /* O - Decoded string */
@@ -671,7 +671,7 @@ httpDecode64_2(char       *out,             /* I  - String to write to */
  * This function is deprecated. Use the httpEncode64_2() function instead
  * which provides buffer length arguments.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 char *                                 /* O - Encoded string */
@@ -778,7 +778,7 @@ httpEncode64_2(char       *out,             /* I - String to write to */
 /*
  * 'httpGetDateString()' - Get a formatted date/time string from a time value.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 const char *                           /* O - Date/time string */
@@ -888,7 +888,7 @@ httpGetDateTime(const char *s)              /* I - Date/time string */
  *
  * This function is deprecated; use the httpSeparateURI() function instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 void
@@ -912,7 +912,7 @@ httpSeparate(const char *uri,               /* I - Universal Resource Identifier */
  * This function is deprecated; use the httpSeparateURI() function instead.
  *
  * @since CUPS 1.1.21/macOS 10.4@
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 void
@@ -2310,6 +2310,8 @@ http_resolve_cb(
  * Note: This function is needed because avahi_simple_poll_iterate is broken
  *       and always uses a timeout of 0 (!) milliseconds.
  *       (Avahi Ticket #364)
+ *
+ * @private@
  */
 
 static int                             /* O - Number of file descriptors matching */
index 7925513adb2d56fed3fc9d5800a3bc376c287dac..15004b6241606cf3832da7124c84883cb55b689e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * HTTP routines for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * This file contains Kerberos support code, copyright 2006 by
@@ -417,7 +417,7 @@ httpCompareCredentials(
  *
  * This function is deprecated - use @link httpConnect2@ instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 http_t *                               /* O - New HTTP connection */
@@ -482,7 +482,7 @@ httpConnect2(
  * This function is now deprecated. Please use the @link httpConnect2@ function
  * instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 http_t *                               /* O - New HTTP connection */
@@ -1006,7 +1006,7 @@ httpGetKeepAlive(http_t *http)            /* I - HTTP connection */
  * This function is deprecated and will not return lengths larger than
  * 2^31 - 1; use httpGetLength2() instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - Content length */
@@ -1346,7 +1346,7 @@ httpGetStatus(http_t *http)               /* I - HTTP connection */
 /*
  * 'httpGetSubField()' - Get a sub-field value.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 char *                                 /* O - Value or NULL */
@@ -1939,7 +1939,7 @@ httpPut(http_t     *http,         /* I - HTTP connection */
  * This function is deprecated. Use the httpRead2() function which can
  * read more than 2GB of data.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - Number of bytes read */
@@ -2326,7 +2326,7 @@ httpReadRequest(http_t *http,             /* I - HTTP connection */
  * This function is deprecated. Please use the @link httpReconnect2@ function
  * instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - 0 on success, non-zero on failure */
@@ -3259,7 +3259,7 @@ httpWait(http_t *http,                    /* I - HTTP connection */
  * This function is deprecated. Use the httpWrite2() function which can
  * write more than 2GB of data.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - Number of bytes written */
index b6e88b01e3f13aa0c408f57358293a061a6befe6..30b1e86de843cb9a08dced62995bf720c8aacb31 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <spawn.h>
 
-extern char **environ;
+extern char **environ; /* @private@ */
 
 
 /*
index 333d21e00d182d926253b8ff338e8fbdcc5c9642..b4fa81f78927a15d2476268d5d2d0eb144e98522 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * User, system, and password routines for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -132,6 +132,8 @@ cupsEncryption(void)
  * thread in a program. Multi-threaded programs that override the setting via
  * the @link cupsSetPasswordCB@ or @link cupsSetPasswordCB2@ functions need to
  * do so in each thread for the same function to be used.
+ *
+ * @exclude all@
  */
 
 const char *                           /* O - Password */
@@ -297,6 +299,8 @@ cupsSetEncryption(http_encryption_t e)      /* I - New encryption preference */
  * Note: The current password callback is tracked separately for each thread
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
+ *
+ * @exclude all@
  */
 
 void
index 28ebbd0b0b2b8433a7d9104a11e3acc886f9379c..c7163c2e09280b31af3946d948837ed3bc8561a4 100644 (file)
@@ -48,6 +48,8 @@ static int  cups_create_cb(_cups_createdata_t *data, unsigned flags, cups_dest_t
  *
  * Use the @link cupsLastError@ and @link cupsLastErrorString@ functions to get
  * the cause of any failure.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -71,7 +73,7 @@ cupsCancelJob(const char *name,               /* I - Name of printer or class */
  * Use the @link cupsLastError@ and @link cupsLastErrorString@ functions to get
  * the cause of any failure.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4/macOS 10.6@ @exclude all@
  */
 
 ipp_status_t                           /* O - IPP status */
@@ -159,7 +161,7 @@ cupsCancelJob2(http_t     *http,    /* I - Connection to server or @code CUPS_HTTP_
  * print, use the @link cupsPrintFile2@ or @link cupsPrintFiles2@ function
  * instead.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4/macOS 10.6@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -238,7 +240,7 @@ cupsCreateJob(
  *
  * The document must have been started using @link cupsStartDocument@.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4/macOS 10.6@ @exclude all@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -289,7 +291,7 @@ cupsFreeJobs(int        num_jobs,   /* I - Number of jobs */
  * This function is deprecated and no longer returns a list of printer
  * classes - use @link cupsGetDests@ instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - Number of classes */
@@ -311,6 +313,8 @@ cupsGetClasses(char ***classes)             /* O - Classes */
  * Applications should use the @link cupsGetDests@ and @link cupsGetDest@
  * functions to get the user-defined default printer, as this function does
  * not support the lpoptions-defined default printer.
+ *
+ * @exclude all@
  */
 
 const char *                           /* O - Default printer or @code NULL@ */
@@ -334,7 +338,7 @@ cupsGetDefault(void)
  * functions to get the user-defined default printer, as this function does
  * not support the lpoptions-defined default printer.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21/macOS 10.4@ @exclude all@
  */
 
 const char *                           /* O - Default printer or @code NULL@ */
@@ -400,6 +404,8 @@ cupsGetDefault2(http_t *http)               /* I - Connection to server or @code CUPS_HTTP_DE
  * of state, while @code CUPS_WHICHJOBS_ACTIVE@ returns jobs that are
  * pending, processing, or held and @code CUPS_WHICHJOBS_COMPLETED@ returns
  * jobs that are stopped, canceled, aborted, or completed.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - Number of jobs */
@@ -695,7 +701,7 @@ cupsGetJobs2(http_t     *http,              /* I - Connection to server or @code CUPS_HTTP_D
  * This function is deprecated and no longer returns a list of printers - use
  * @link cupsGetDests@ instead.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 int                                    /* O - Number of printers */
@@ -710,6 +716,8 @@ cupsGetPrinters(char ***printers)   /* O - Printers */
 
 /*
  * 'cupsPrintFile()' - Print a file to a printer or class on the default server.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -730,7 +738,7 @@ cupsPrintFile(const char    *name,  /* I - Destination name */
  * 'cupsPrintFile2()' - Print a file to a printer or class on the specified
  *                      server.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21/macOS 10.4@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -752,6 +760,8 @@ cupsPrintFile2(
 /*
  * 'cupsPrintFiles()' - Print one or more files to a printer or class on the
  *                      default server.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -778,7 +788,7 @@ cupsPrintFiles(
  * 'cupsPrintFiles2()' - Print one or more files to a printer or class on the
  *                       specified server.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21/macOS 10.4@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -908,7 +918,7 @@ cupsPrintFiles2(
  * @code CUPS_FORMAT_TEXT@ are provided for the "format" argument, although
  * any supported MIME type string can be supplied.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4/macOS 10.6@ @exclude all@
  */
 
 http_status_t                          /* O - HTTP status of request */
index 0880e9272ba0773b9f0d1ac200eeb67eb4ba1100..7614f69618433550cc4d55bb0820d8d0cc843c5e 100644 (file)
@@ -1388,8 +1388,8 @@ variable or the device URI passed in argv[0], whichever is found
 first.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsBackendReport">cupsBackendReport</a></h3>
-        <p class="description">Write a device line from a backend.</p>
+<h3 class="function"><a id="cupsBackendReport">cupsBackendReport</a></h3>
+        <p class="description">PPD attribute</p>
 <p class="code">
 void cupsBackendReport (<br>
 &#160;&#160;&#160;&#160;const char *device_scheme,<br>
@@ -1414,7 +1414,8 @@ void cupsBackendReport (<br>
 <dt>device_location</dt>
         <dd class="description">device-location string or <code>NULL</code></dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Write a device line from a backend.</p>
         <p class="discussion">This function writes a single device line to stdout for a backend.
 It handles quoting of special characters in the device-make-and-model,
 device-info, device-id, and device-location strings.
index 25709415df335ac8973bf7e8fd4f995483c8d6cf..b3181369e233017d5028c38721a4e9bc27ce80ac 100644 (file)
@@ -1438,7 +1438,7 @@ name can be found, <code>NULL</code> is returned.
 
 </p>
 <h3 class="function"><a id="ppdMarkDefaults">ppdMarkDefaults</a></h3>
-        <p class="description">Mark all default options in the PPD file.</p>
+        <p class="description">Choice pointer</p>
 <p class="code">
 void ppdMarkDefaults (<br>
 &#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
@@ -1448,6 +1448,8 @@ void ppdMarkDefaults (<br>
 <dt>ppd</dt>
         <dd class="description">PPD file record</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Mark all default options in the PPD file.</p>
 <h3 class="function"><a id="ppdMarkOption">ppdMarkOption</a></h3>
         <p class="description">Mark an option in a PPD file and return the number of
 conflicts.</p>
index 951dab6010934c76204d9e002af753f9ba82d350..54b88d1dc854b2e90e61f05fbdfe6869741ab6f8 100644 (file)
@@ -8,6 +8,7 @@
     <meta name="creator" content="Mini-XML v2.11">
     <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;
@@ -606,8 +607,8 @@ the memory used to read the raster file:</p>
 <h3 class="function"><a id="cupsRasterClose">cupsRasterClose</a></h3>
         <p class="description">Close a raster stream.</p>
 <p class="code">
-void cupsRasterClose (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r<br />
+void cupsRasterClose (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -620,14 +621,14 @@ separately as needed.</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.2/macOS 10.12&#160;</span><a id="cupsRasterInitPWGHeader">cupsRasterInitPWGHeader</a></h3>
         <p class="description">Initialize a page header for PWG Raster output.</p>
 <p class="code">
-int cupsRasterInitPWGHeader (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br />
-&#160;&#160;&#160;&#160;pwg_media_t *media,<br />
-&#160;&#160;&#160;&#160;const char *type,<br />
-&#160;&#160;&#160;&#160;int xdpi,<br />
-&#160;&#160;&#160;&#160;int ydpi,<br />
-&#160;&#160;&#160;&#160;const char *sides,<br />
-&#160;&#160;&#160;&#160;const char *sheet_back<br />
+int cupsRasterInitPWGHeader (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
+&#160;&#160;&#160;&#160;pwg_media_t *media,<br>
+&#160;&#160;&#160;&#160;const char *type,<br>
+&#160;&#160;&#160;&#160;int xdpi,<br>
+&#160;&#160;&#160;&#160;int ydpi,<br>
+&#160;&#160;&#160;&#160;const char *sides,<br>
+&#160;&#160;&#160;&#160;const char *sheet_back<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -664,12 +665,12 @@ to apply for the back side of a page.  Pass <code>NULL</code> for the front side
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
         <p class="description">Interpret PPD commands to create a page header.</p>
 <p class="code">
-int cupsRasterInterpretPPD (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br />
-&#160;&#160;&#160;&#160;ppd_file_t *ppd,<br />
-&#160;&#160;&#160;&#160;int num_options,<br />
-&#160;&#160;&#160;&#160;cups_option_t *options,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func<br />
+int cupsRasterInterpretPPD (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
+&#160;&#160;&#160;&#160;ppd_file_t *ppd,<br>
+&#160;&#160;&#160;&#160;int num_options,<br>
+&#160;&#160;&#160;&#160;cups_option_t *options,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -715,9 +716,9 @@ are supported.
 <h3 class="function"><a id="cupsRasterOpen">cupsRasterOpen</a></h3>
         <p class="description">Open a raster stream using a file descriptor.</p>
 <p class="code">
-<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br />
-&#160;&#160;&#160;&#160;int fd,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br />
+<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br>
+&#160;&#160;&#160;&#160;int fd,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -744,10 +745,10 @@ be used - compressed and PWG output is generally 25-50% smaller but adds a
 <h3 class="function"><a id="cupsRasterOpenIO">cupsRasterOpenIO</a></h3>
         <p class="description">Open a raster stream using a callback function.</p>
 <p class="code">
-<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb,<br />
-&#160;&#160;&#160;&#160;void *ctx,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br />
+<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb,<br>
+&#160;&#160;&#160;&#160;void *ctx,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -775,9 +776,9 @@ be used - compressed and PWG output is generally 25-50% smaller but adds a
         <p class="description">Read a raster page header and store it in a
 version 1 page header structure.</p>
 <p class="code">
-unsigned cupsRasterReadHeader (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br />
+unsigned cupsRasterReadHeader (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -800,9 +801,9 @@ page headers and copying only the version 1 data into the provided buffer.
         <p class="description">Read a raster page header and store it in a
 version 2 page header structure.</p>
 <p class="code">
-unsigned cupsRasterReadHeader2 (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br />
+unsigned cupsRasterReadHeader2 (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -816,10 +817,10 @@ unsigned cupsRasterReadHeader2 (<br />
 <h3 class="function"><a id="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
         <p class="description">Read raster pixels.</p>
 <p class="code">
-unsigned cupsRasterReadPixels (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;unsigned char *p,<br />
-&#160;&#160;&#160;&#160;unsigned len<br />
+unsigned cupsRasterReadPixels (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;unsigned char *p,<br>
+&#160;&#160;&#160;&#160;unsigned len<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -840,9 +841,9 @@ the line buffer and as the number of bytes to read.</p>
         <p class="description">Write a raster page header from a version 1 page
 header structure.</p>
 <p class="code">
-unsigned cupsRasterWriteHeader (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br />
+unsigned cupsRasterWriteHeader (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -861,9 +862,9 @@ unsigned cupsRasterWriteHeader (<br />
         <p class="description">Write a raster page header from a version 2
 page header structure.</p>
 <p class="code">
-unsigned cupsRasterWriteHeader2 (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br />
+unsigned cupsRasterWriteHeader2 (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -881,10 +882,10 @@ unsigned cupsRasterWriteHeader2 (<br />
 <h3 class="function"><a id="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
         <p class="description">Write raster pixels.</p>
 <p class="code">
-unsigned cupsRasterWritePixels (<br />
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br />
-&#160;&#160;&#160;&#160;unsigned char *p,<br />
-&#160;&#160;&#160;&#160;unsigned len<br />
+unsigned cupsRasterWritePixels (<br>
+&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
+&#160;&#160;&#160;&#160;unsigned char *p,<br>
+&#160;&#160;&#160;&#160;unsigned len<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -975,56 +976,56 @@ typedef struct _cups_raster_s cups_raster_t;
       <h2 class="title"><a id="STRUCTURES">Structures</a></h2>
 <h3 class="struct"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cups_page_header2_s">cups_page_header2_s</a></h3>
         <p class="description">Version 2 page header </p>
-<p class="code">struct cups_page_header2_s {<br />
-&#160;&#160;&#160;&#160;unsigned AdvanceDistance;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br />
-&#160;&#160;&#160;&#160;unsigned HWResolution[2];<br />
-&#160;&#160;&#160;&#160;unsigned ImagingBoundingBox[4];<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br />
-&#160;&#160;&#160;&#160;unsigned Margins[2];<br />
-&#160;&#160;&#160;&#160;char MediaClass[64];<br />
-&#160;&#160;&#160;&#160;char MediaColor[64];<br />
-&#160;&#160;&#160;&#160;unsigned MediaPosition;<br />
-&#160;&#160;&#160;&#160;char MediaType[64];<br />
-&#160;&#160;&#160;&#160;unsigned MediaWeight;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br />
-&#160;&#160;&#160;&#160;unsigned NumCopies;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br />
-&#160;&#160;&#160;&#160;char OutputType[64];<br />
-&#160;&#160;&#160;&#160;unsigned PageSize[2];<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBitsPerColor;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBitsPerPixel;<br />
-&#160;&#160;&#160;&#160;float cupsBorderlessScalingFactor;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBytesPerLine;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br />
-&#160;&#160;&#160;&#160;unsigned cupsCompression;<br />
-&#160;&#160;&#160;&#160;unsigned cupsHeight;<br />
-&#160;&#160;&#160;&#160;float cupsImagingBBox[4];<br />
-&#160;&#160;&#160;&#160;unsigned cupsInteger[16];<br />
-&#160;&#160;&#160;&#160;char cupsMarkerType[64];<br />
-&#160;&#160;&#160;&#160;unsigned cupsMediaType;<br />
-&#160;&#160;&#160;&#160;unsigned cupsNumColors;<br />
-&#160;&#160;&#160;&#160;char cupsPageSizeName[64];<br />
-&#160;&#160;&#160;&#160;float cupsPageSize[2];<br />
-&#160;&#160;&#160;&#160;float cupsReal[16];<br />
-&#160;&#160;&#160;&#160;char cupsRenderingIntent[64];<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowCount;<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowFeed;<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowStep;<br />
-&#160;&#160;&#160;&#160;char cupsString[16][64];<br />
-&#160;&#160;&#160;&#160;unsigned cupsWidth;<br />
+<p class="code">struct cups_page_header2_s {<br>
+&#160;&#160;&#160;&#160;unsigned AdvanceDistance;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
+&#160;&#160;&#160;&#160;unsigned HWResolution[2];<br>
+&#160;&#160;&#160;&#160;unsigned ImagingBoundingBox[4];<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
+&#160;&#160;&#160;&#160;unsigned Margins[2];<br>
+&#160;&#160;&#160;&#160;char MediaClass[64];<br>
+&#160;&#160;&#160;&#160;char MediaColor[64];<br>
+&#160;&#160;&#160;&#160;unsigned MediaPosition;<br>
+&#160;&#160;&#160;&#160;char MediaType[64];<br>
+&#160;&#160;&#160;&#160;unsigned MediaWeight;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
+&#160;&#160;&#160;&#160;unsigned NumCopies;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
+&#160;&#160;&#160;&#160;char OutputType[64];<br>
+&#160;&#160;&#160;&#160;unsigned PageSize[2];<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBitsPerColor;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBitsPerPixel;<br>
+&#160;&#160;&#160;&#160;float cupsBorderlessScalingFactor;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBytesPerLine;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
+&#160;&#160;&#160;&#160;unsigned cupsCompression;<br>
+&#160;&#160;&#160;&#160;unsigned cupsHeight;<br>
+&#160;&#160;&#160;&#160;float cupsImagingBBox[4];<br>
+&#160;&#160;&#160;&#160;unsigned cupsInteger[16];<br>
+&#160;&#160;&#160;&#160;char cupsMarkerType[64];<br>
+&#160;&#160;&#160;&#160;unsigned cupsMediaType;<br>
+&#160;&#160;&#160;&#160;unsigned cupsNumColors;<br>
+&#160;&#160;&#160;&#160;char cupsPageSizeName[64];<br>
+&#160;&#160;&#160;&#160;float cupsPageSize[2];<br>
+&#160;&#160;&#160;&#160;float cupsReal[16];<br>
+&#160;&#160;&#160;&#160;char cupsRenderingIntent[64];<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowCount;<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowFeed;<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowStep;<br>
+&#160;&#160;&#160;&#160;char cupsString[16][64];<br>
+&#160;&#160;&#160;&#160;unsigned cupsWidth;<br>
 };</p>
 <h4 class="members">Members</h4>
 <dl>
@@ -1132,46 +1133,46 @@ factor not applied) </dd>
 </dl>
 <h3 class="struct"><span class="info">&#160;DEPRECATED&#160;</span><a id="cups_page_header_s">cups_page_header_s</a></h3>
         <p class="description">Version 1 page header </p>
-<p class="code">struct cups_page_header_s {<br />
-&#160;&#160;&#160;&#160;unsigned AdvanceDistance;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br />
-&#160;&#160;&#160;&#160;unsigned HWResolution[2];<br />
-&#160;&#160;&#160;&#160;unsigned ImagingBoundingBox[4];<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br />
-&#160;&#160;&#160;&#160;unsigned Margins[2];<br />
-&#160;&#160;&#160;&#160;char MediaClass[64];<br />
-&#160;&#160;&#160;&#160;char MediaColor[64];<br />
-&#160;&#160;&#160;&#160;unsigned MediaPosition;<br />
-&#160;&#160;&#160;&#160;char MediaType[64];<br />
-&#160;&#160;&#160;&#160;unsigned MediaWeight;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br />
-&#160;&#160;&#160;&#160;unsigned NumCopies;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br />
-&#160;&#160;&#160;&#160;char OutputType[64];<br />
-&#160;&#160;&#160;&#160;unsigned PageSize[2];<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBitsPerColor;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBitsPerPixel;<br />
-&#160;&#160;&#160;&#160;unsigned cupsBytesPerLine;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br />
-&#160;&#160;&#160;&#160;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br />
-&#160;&#160;&#160;&#160;unsigned cupsCompression;<br />
-&#160;&#160;&#160;&#160;unsigned cupsHeight;<br />
-&#160;&#160;&#160;&#160;unsigned cupsMediaType;<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowCount;<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowFeed;<br />
-&#160;&#160;&#160;&#160;unsigned cupsRowStep;<br />
-&#160;&#160;&#160;&#160;unsigned cupsWidth;<br />
+<p class="code">struct cups_page_header_s {<br>
+&#160;&#160;&#160;&#160;unsigned AdvanceDistance;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
+&#160;&#160;&#160;&#160;unsigned HWResolution[2];<br>
+&#160;&#160;&#160;&#160;unsigned ImagingBoundingBox[4];<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
+&#160;&#160;&#160;&#160;unsigned Margins[2];<br>
+&#160;&#160;&#160;&#160;char MediaClass[64];<br>
+&#160;&#160;&#160;&#160;char MediaColor[64];<br>
+&#160;&#160;&#160;&#160;unsigned MediaPosition;<br>
+&#160;&#160;&#160;&#160;char MediaType[64];<br>
+&#160;&#160;&#160;&#160;unsigned MediaWeight;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
+&#160;&#160;&#160;&#160;unsigned NumCopies;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
+&#160;&#160;&#160;&#160;char OutputType[64];<br>
+&#160;&#160;&#160;&#160;unsigned PageSize[2];<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBitsPerColor;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBitsPerPixel;<br>
+&#160;&#160;&#160;&#160;unsigned cupsBytesPerLine;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
+&#160;&#160;&#160;&#160;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
+&#160;&#160;&#160;&#160;unsigned cupsCompression;<br>
+&#160;&#160;&#160;&#160;unsigned cupsHeight;<br>
+&#160;&#160;&#160;&#160;unsigned cupsMediaType;<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowCount;<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowFeed;<br>
+&#160;&#160;&#160;&#160;unsigned cupsRowStep;<br>
+&#160;&#160;&#160;&#160;unsigned cupsWidth;<br>
 };</p>
 <h4 class="members">Members</h4>
 <dl>
index cf277894ba47411d32745020d5f3decff004ad91..48ec695cbc8356480c82e7a67c974a4947ff8a95 100644 (file)
Binary files a/doc/help/cupspm.epub and b/doc/help/cupspm.epub differ
index 550e8b457075360b4c8335a8cc360e1ded023018..531713057c176725ade9623917436cc89a96569b 100644 (file)
@@ -168,103 +168,42 @@ h3.title {
     <div class="contents">
       <h2 class="title">Contents</h2>
       <ul class="contents">
-        <li><a href="#Introduction">Introduction</a><ul class="subcontents">
-          <li><a href="#Guidelines">Guidelines</a></li>
-          <li><a href="#TermsUsedinThisDocument">Terms Used in This Document</a></li>
-          <li><a href="#CompilingProgramsThatUsetheCUPSAPI">Compiling Programs That Use the CUPS API</a></li>
+        <li><a href="#introduction">Introduction</a><ul class="subcontents">
+          <li><a href="#guidelines">Guidelines</a></li>
+          <li><a href="#terms-used-in-this-document">Terms Used in This Document</a></li>
+          <li><a href="#compiling-programs-that-use-the-cups-api">Compiling Programs That Use the CUPS API</a></li>
         </ul></li>
-        <li><a href="#WorkingwithDestinations">Working with Destinations</a><ul class="subcontents">
-          <li><a href="#FindingAvailableDestinations">Finding Available Destinations</a></li>
-          <li><a href="#BasicDestinationInformation">Basic Destination Information</a></li>
-          <li><a href="#DetailedDestinationInformation">Detailed Destination Information</a></li>
-          <li><a href="#SubmittingaPrintJob">Submitting a Print Job</a></li>
+        <li><a href="#working-with-destinations">Working with Destinations</a><ul class="subcontents">
+          <li><a href="#finding-available-destinations">Finding Available Destinations</a></li>
+          <li><a href="#basic-destination-information">Basic Destination Information</a></li>
+          <li><a href="#detailed-destination-information">Detailed Destination Information</a></li>
+          <li><a href="#submitting-a-print-job">Submitting a Print Job</a></li>
         </ul></li>
         <li><a href="#FUNCTIONS">Functions</a><ul class="subcontents">
           <li><a href="#cupsAddDest">cupsAddDest</a></li>
+          <li><a href="#cupsAddIntegerOption">cupsAddIntegerOption</a></li>
           <li><a href="#cupsAddOption">cupsAddOption</a></li>
-          <li><a href="#cupsArrayAdd">cupsArrayAdd</a></li>
-          <li><a href="#cupsArrayClear">cupsArrayClear</a></li>
-          <li><a href="#cupsArrayCount">cupsArrayCount</a></li>
-          <li><a href="#cupsArrayCurrent">cupsArrayCurrent</a></li>
-          <li><a href="#cupsArrayDelete">cupsArrayDelete</a></li>
-          <li><a href="#cupsArrayDup">cupsArrayDup</a></li>
-          <li><a href="#cupsArrayFind">cupsArrayFind</a></li>
-          <li><a href="#cupsArrayFirst">cupsArrayFirst</a></li>
-          <li><a href="#cupsArrayGetIndex">cupsArrayGetIndex</a></li>
-          <li><a href="#cupsArrayGetInsert">cupsArrayGetInsert</a></li>
-          <li><a href="#cupsArrayIndex">cupsArrayIndex</a></li>
-          <li><a href="#cupsArrayInsert">cupsArrayInsert</a></li>
-          <li><a href="#cupsArrayLast">cupsArrayLast</a></li>
-          <li><a href="#cupsArrayNew">cupsArrayNew</a></li>
-          <li><a href="#cupsArrayNew2">cupsArrayNew2</a></li>
-          <li><a href="#cupsArrayNew3">cupsArrayNew3</a></li>
-          <li><a href="#cupsArrayNext">cupsArrayNext</a></li>
-          <li><a href="#cupsArrayPrev">cupsArrayPrev</a></li>
-          <li><a href="#cupsArrayRemove">cupsArrayRemove</a></li>
-          <li><a href="#cupsArrayRestore">cupsArrayRestore</a></li>
-          <li><a href="#cupsArraySave">cupsArraySave</a></li>
-          <li><a href="#cupsArrayUserData">cupsArrayUserData</a></li>
           <li><a href="#cupsCancelDestJob">cupsCancelDestJob</a></li>
-          <li><a href="#cupsCancelJob">cupsCancelJob</a></li>
-          <li><a href="#cupsCancelJob2">cupsCancelJob2</a></li>
           <li><a href="#cupsCheckDestSupported">cupsCheckDestSupported</a></li>
           <li><a href="#cupsCloseDestJob">cupsCloseDestJob</a></li>
           <li><a href="#cupsConnectDest">cupsConnectDest</a></li>
-          <li><a href="#cupsConnectDestBlock">cupsConnectDestBlock</a></li>
           <li><a href="#cupsCopyDest">cupsCopyDest</a></li>
           <li><a href="#cupsCopyDestConflicts">cupsCopyDestConflicts</a></li>
           <li><a href="#cupsCopyDestInfo">cupsCopyDestInfo</a></li>
           <li><a href="#cupsCreateDestJob">cupsCreateDestJob</a></li>
-          <li><a href="#cupsCreateJob">cupsCreateJob</a></li>
-          <li><a href="#cupsDirClose">cupsDirClose</a></li>
-          <li><a href="#cupsDirOpen">cupsDirOpen</a></li>
-          <li><a href="#cupsDirRead">cupsDirRead</a></li>
-          <li><a href="#cupsDirRewind">cupsDirRewind</a></li>
           <li><a href="#cupsDoAuthentication">cupsDoAuthentication</a></li>
           <li><a href="#cupsEncodeOptions">cupsEncodeOptions</a></li>
           <li><a href="#cupsEncodeOptions2">cupsEncodeOptions2</a></li>
           <li><a href="#cupsEncryption">cupsEncryption</a></li>
           <li><a href="#cupsEnumDests">cupsEnumDests</a></li>
-          <li><a href="#cupsEnumDestsBlock">cupsEnumDestsBlock</a></li>
-          <li><a href="#cupsFileClose">cupsFileClose</a></li>
-          <li><a href="#cupsFileCompression">cupsFileCompression</a></li>
-          <li><a href="#cupsFileEOF">cupsFileEOF</a></li>
-          <li><a href="#cupsFileFind">cupsFileFind</a></li>
-          <li><a href="#cupsFileFlush">cupsFileFlush</a></li>
-          <li><a href="#cupsFileGetChar">cupsFileGetChar</a></li>
-          <li><a href="#cupsFileGetConf">cupsFileGetConf</a></li>
-          <li><a href="#cupsFileGetLine">cupsFileGetLine</a></li>
-          <li><a href="#cupsFileGets">cupsFileGets</a></li>
-          <li><a href="#cupsFileLock">cupsFileLock</a></li>
-          <li><a href="#cupsFileNumber">cupsFileNumber</a></li>
-          <li><a href="#cupsFileOpen">cupsFileOpen</a></li>
-          <li><a href="#cupsFileOpenFd">cupsFileOpenFd</a></li>
-          <li><a href="#cupsFilePeekChar">cupsFilePeekChar</a></li>
-          <li><a href="#cupsFilePrintf">cupsFilePrintf</a></li>
-          <li><a href="#cupsFilePutChar">cupsFilePutChar</a></li>
-          <li><a href="#cupsFilePutConf">cupsFilePutConf</a></li>
-          <li><a href="#cupsFilePuts">cupsFilePuts</a></li>
-          <li><a href="#cupsFileRead">cupsFileRead</a></li>
-          <li><a href="#cupsFileRewind">cupsFileRewind</a></li>
-          <li><a href="#cupsFileSeek">cupsFileSeek</a></li>
-          <li><a href="#cupsFileStderr">cupsFileStderr</a></li>
-          <li><a href="#cupsFileStdin">cupsFileStdin</a></li>
-          <li><a href="#cupsFileStdout">cupsFileStdout</a></li>
-          <li><a href="#cupsFileTell">cupsFileTell</a></li>
-          <li><a href="#cupsFileUnlock">cupsFileUnlock</a></li>
-          <li><a href="#cupsFileWrite">cupsFileWrite</a></li>
           <li><a href="#cupsFindDestDefault">cupsFindDestDefault</a></li>
           <li><a href="#cupsFindDestReady">cupsFindDestReady</a></li>
           <li><a href="#cupsFindDestSupported">cupsFindDestSupported</a></li>
           <li><a href="#cupsFinishDestDocument">cupsFinishDestDocument</a></li>
-          <li><a href="#cupsFinishDocument">cupsFinishDocument</a></li>
           <li><a href="#cupsFreeDestInfo">cupsFreeDestInfo</a></li>
           <li><a href="#cupsFreeDests">cupsFreeDests</a></li>
           <li><a href="#cupsFreeJobs">cupsFreeJobs</a></li>
           <li><a href="#cupsFreeOptions">cupsFreeOptions</a></li>
-          <li><a href="#cupsGetClasses">cupsGetClasses</a></li>
-          <li><a href="#cupsGetDefault">cupsGetDefault</a></li>
-          <li><a href="#cupsGetDefault2">cupsGetDefault2</a></li>
           <li><a href="#cupsGetDest">cupsGetDest</a></li>
           <li><a href="#cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></li>
           <li><a href="#cupsGetDestMediaByName">cupsGetDestMediaByName</a></li>
@@ -272,15 +211,11 @@ h3.title {
           <li><a href="#cupsGetDestMediaCount">cupsGetDestMediaCount</a></li>
           <li><a href="#cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></li>
           <li><a href="#cupsGetDestWithURI">cupsGetDestWithURI</a></li>
-          <li><a href="#cupsGetDests">cupsGetDests</a></li>
-          <li><a href="#cupsGetDests2">cupsGetDests2</a></li>
-          <li><a href="#cupsGetJobs">cupsGetJobs</a></li>
+          <li><a href="#cupsGetIntegerOption">cupsGetIntegerOption</a></li>
           <li><a href="#cupsGetJobs2">cupsGetJobs2</a></li>
           <li><a href="#cupsGetNamedDest">cupsGetNamedDest</a></li>
           <li><a href="#cupsGetOption">cupsGetOption</a></li>
-          <li><a href="#cupsGetPassword">cupsGetPassword</a></li>
           <li><a href="#cupsGetPassword2">cupsGetPassword2</a></li>
-          <li><a href="#cupsGetPrinters">cupsGetPrinters</a></li>
           <li><a href="#cupsLangDefault">cupsLangDefault</a></li>
           <li><a href="#cupsLangEncoding">cupsLangEncoding</a></li>
           <li><a href="#cupsLangFlush">cupsLangFlush</a></li>
@@ -293,10 +228,6 @@ h3.title {
           <li><a href="#cupsNotifySubject">cupsNotifySubject</a></li>
           <li><a href="#cupsNotifyText">cupsNotifyText</a></li>
           <li><a href="#cupsParseOptions">cupsParseOptions</a></li>
-          <li><a href="#cupsPrintFile">cupsPrintFile</a></li>
-          <li><a href="#cupsPrintFile2">cupsPrintFile2</a></li>
-          <li><a href="#cupsPrintFiles">cupsPrintFiles</a></li>
-          <li><a href="#cupsPrintFiles2">cupsPrintFiles2</a></li>
           <li><a href="#cupsRemoveDest">cupsRemoveDest</a></li>
           <li><a href="#cupsRemoveOption">cupsRemoveOption</a></li>
           <li><a href="#cupsServer">cupsServer</a></li>
@@ -314,17 +245,12 @@ h3.title {
           <li><a href="#cupsSetUser">cupsSetUser</a></li>
           <li><a href="#cupsSetUserAgent">cupsSetUserAgent</a></li>
           <li><a href="#cupsStartDestDocument">cupsStartDestDocument</a></li>
-          <li><a href="#cupsStartDocument">cupsStartDocument</a></li>
-          <li><a href="#cupsTempFd">cupsTempFd</a></li>
-          <li><a href="#cupsTempFile">cupsTempFile</a></li>
-          <li><a href="#cupsTempFile2">cupsTempFile2</a></li>
           <li><a href="#cupsUser">cupsUser</a></li>
           <li><a href="#cupsUserAgent">cupsUserAgent</a></li>
           <li><a href="#httpAcceptConnection">httpAcceptConnection</a></li>
           <li><a href="#httpAddCredential">httpAddCredential</a></li>
           <li><a href="#httpAddrAny">httpAddrAny</a></li>
           <li><a href="#httpAddrClose">httpAddrClose</a></li>
-          <li><a href="#httpAddrConnect">httpAddrConnect</a></li>
           <li><a href="#httpAddrConnect2">httpAddrConnect2</a></li>
           <li><a href="#httpAddrCopyList">httpAddrCopyList</a></li>
           <li><a href="#httpAddrEqual">httpAddrEqual</a></li>
@@ -346,18 +272,14 @@ h3.title {
           <li><a href="#httpClearFields">httpClearFields</a></li>
           <li><a href="#httpClose">httpClose</a></li>
           <li><a href="#httpCompareCredentials">httpCompareCredentials</a></li>
-          <li><a href="#httpConnect">httpConnect</a></li>
           <li><a href="#httpConnect2">httpConnect2</a></li>
-          <li><a href="#httpConnectEncrypt">httpConnectEncrypt</a></li>
           <li><a href="#httpCopyCredentials">httpCopyCredentials</a></li>
           <li><a href="#httpCredentialsAreValidForName">httpCredentialsAreValidForName</a></li>
           <li><a href="#httpCredentialsGetExpiration">httpCredentialsGetExpiration</a></li>
           <li><a href="#httpCredentialsGetTrust">httpCredentialsGetTrust</a></li>
           <li><a href="#httpCredentialsString">httpCredentialsString</a></li>
-          <li><a href="#httpDecode64">httpDecode64</a></li>
           <li><a href="#httpDecode64_2">httpDecode64_2</a></li>
           <li><a href="#httpDelete">httpDelete</a></li>
-          <li><a href="#httpEncode64">httpEncode64</a></li>
           <li><a href="#httpEncode64_2">httpEncode64_2</a></li>
           <li><a href="#httpEncryption">httpEncryption</a></li>
           <li><a href="#httpError">httpError</a></li>
@@ -372,7 +294,6 @@ h3.title {
           <li><a href="#httpGetBlocking">httpGetBlocking</a></li>
           <li><a href="#httpGetContentEncoding">httpGetContentEncoding</a></li>
           <li><a href="#httpGetCookie">httpGetCookie</a></li>
-          <li><a href="#httpGetDateString">httpGetDateString</a></li>
           <li><a href="#httpGetDateString2">httpGetDateString2</a></li>
           <li><a href="#httpGetDateTime">httpGetDateTime</a></li>
           <li><a href="#httpGetEncryption">httpGetEncryption</a></li>
@@ -382,14 +303,12 @@ h3.title {
           <li><a href="#httpGetHostByName">httpGetHostByName</a></li>
           <li><a href="#httpGetHostname">httpGetHostname</a></li>
           <li><a href="#httpGetKeepAlive">httpGetKeepAlive</a></li>
-          <li><a href="#httpGetLength">httpGetLength</a></li>
           <li><a href="#httpGetLength2">httpGetLength2</a></li>
           <li><a href="#httpGetPending">httpGetPending</a></li>
           <li><a href="#httpGetReady">httpGetReady</a></li>
           <li><a href="#httpGetRemaining">httpGetRemaining</a></li>
           <li><a href="#httpGetState">httpGetState</a></li>
           <li><a href="#httpGetStatus">httpGetStatus</a></li>
-          <li><a href="#httpGetSubField">httpGetSubField</a></li>
           <li><a href="#httpGetSubField2">httpGetSubField2</a></li>
           <li><a href="#httpGetVersion">httpGetVersion</a></li>
           <li><a href="#httpGets">httpGets</a></li>
@@ -402,10 +321,8 @@ h3.title {
           <li><a href="#httpPeek">httpPeek</a></li>
           <li><a href="#httpPost">httpPost</a></li>
           <li><a href="#httpPut">httpPut</a></li>
-          <li><a href="#httpRead">httpRead</a></li>
           <li><a href="#httpRead2">httpRead2</a></li>
           <li><a href="#httpReadRequest">httpReadRequest</a></li>
-          <li><a href="#httpReconnect">httpReconnect</a></li>
           <li><a href="#httpReconnect2">httpReconnect2</a></li>
           <li><a href="#httpResolveHostname">httpResolveHostname</a></li>
           <li><a href="#httpSaveCredentials">httpSaveCredentials</a></li>
@@ -428,7 +345,6 @@ h3.title {
           <li><a href="#httpURIStatusString">httpURIStatusString</a></li>
           <li><a href="#httpUpdate">httpUpdate</a></li>
           <li><a href="#httpWait">httpWait</a></li>
-          <li><a href="#httpWrite">httpWrite</a></li>
           <li><a href="#httpWrite2">httpWrite2</a></li>
           <li><a href="#httpWriteResponse">httpWriteResponse</a></li>
           <li><a href="#ippAddBoolean">ippAddBoolean</a></li>
@@ -530,29 +446,18 @@ h3.title {
           <li><a href="#pwgMediaForSize">pwgMediaForSize</a></li>
         </ul></li>
         <li><a href="#TYPES">Data Types</a><ul class="subcontents">
-          <li><a href="#cups_acopy_func_t">cups_acopy_func_t</a></li>
-          <li><a href="#cups_afree_func_t">cups_afree_func_t</a></li>
-          <li><a href="#cups_ahash_func_t">cups_ahash_func_t</a></li>
-          <li><a href="#cups_array_func_t">cups_array_func_t</a></li>
-          <li><a href="#cups_array_t">cups_array_t</a></li>
           <li><a href="#cups_client_cert_cb_t">cups_client_cert_cb_t</a></li>
-          <li><a href="#cups_dentry_t">cups_dentry_t</a></li>
-          <li><a href="#cups_dest_block_t">cups_dest_block_t</a></li>
           <li><a href="#cups_dest_cb_t">cups_dest_cb_t</a></li>
           <li><a href="#cups_dest_t">cups_dest_t</a></li>
           <li><a href="#cups_dinfo_t">cups_dinfo_t</a></li>
-          <li><a href="#cups_dir_t">cups_dir_t</a></li>
           <li><a href="#cups_encoding_t">cups_encoding_t</a></li>
-          <li><a href="#cups_file_t">cups_file_t</a></li>
           <li><a href="#cups_job_t">cups_job_t</a></li>
           <li><a href="#cups_lang_t">cups_lang_t</a></li>
           <li><a href="#cups_option_t">cups_option_t</a></li>
           <li><a href="#cups_password_cb2_t">cups_password_cb2_t</a></li>
-          <li><a href="#cups_password_cb_t">cups_password_cb_t</a></li>
           <li><a href="#cups_ptype_t">cups_ptype_t</a></li>
           <li><a href="#cups_server_cert_cb_t">cups_server_cert_cb_t</a></li>
           <li><a href="#cups_size_t">cups_size_t</a></li>
-          <li><a href="#gss_auth_identity_desc">gss_auth_identity_desc</a></li>
           <li><a href="#http_addr_t">http_addr_t</a></li>
           <li><a href="#http_addrlist_t">http_addrlist_t</a></li>
           <li><a href="#http_auth_t">http_auth_t</a></li>
@@ -586,24 +491,17 @@ h3.title {
           <li><a href="#pwg_size_t">pwg_size_t</a></li>
         </ul></li>
         <li><a href="#STRUCTURES">Structures</a><ul class="subcontents">
-          <li><a href="#cups_dentry_s">cups_dentry_s</a></li>
           <li><a href="#cups_dest_s">cups_dest_s</a></li>
           <li><a href="#cups_job_s">cups_job_s</a></li>
           <li><a href="#cups_lang_s">cups_lang_s</a></li>
           <li><a href="#cups_option_s">cups_option_s</a></li>
           <li><a href="#cups_size_s">cups_size_s</a></li>
-          <li><a href="#gss_auth_identity">gss_auth_identity</a></li>
           <li><a href="#http_addrlist_s">http_addrlist_s</a></li>
           <li><a href="#http_credential_s">http_credential_s</a></li>
-          <li><a href="#pollfd">pollfd</a></li>
           <li><a href="#pwg_map_s">pwg_map_s</a></li>
           <li><a href="#pwg_media_s">pwg_media_s</a></li>
           <li><a href="#pwg_size_s">pwg_size_s</a></li>
         </ul></li>
-        <li><a href="#VARIABLES">Variables</a><ul class="subcontents">
-          <li><a href="#CF_RETURNS_RETAINED">CF_RETURNS_RETAINED</a></li>
-          <li><a href="#environ">environ</a></li>
-        </ul></li>
         <li><a href="#ENUMERATIONS">Enumerations</a><ul class="subcontents">
           <li><a href="#cups_encoding_e">cups_encoding_e</a></li>
           <li><a href="#cups_ptype_e">cups_ptype_e</a></li>
@@ -637,10 +535,10 @@ h3.title {
     <blockquote>
     <p>Note: This document is under active development and is incomplete, with a goal completing it prior to releasing CUPS 2.2.4. Please <a href="https://github.com/apple/cups/issues">file issues on Github</a> to provide any feedback.</p>
 </blockquote>
-    <h2><a id="Introduction">Introduction</a></h2>
+    <h2><a id="introduction">Introduction</a></h2>
     <p>CUPS provides the &quot;cups&quot; library to talk to the different parts of CUPS and with Internet Printing Protocol (IPP) printers. The &quot;cups&quot; library functions are accessed by including the <code>&lt;cups/cups.h&gt;</code> header.</p>
     <p>CUPS is based on the Internet Printing Protocol (&quot;IPP&quot;), which allows clients (applications) to communicate with a server (the scheduler, printers, etc.) to get a list of destinations, send print jobs, and so forth. You identify which server you want to communicate with using a pointer to the opaque structure <code>http_t</code>. The <code>CUPS_HTTP_DEFAULT</code> constant can be used when you want to talk to the CUPS scheduler.</p>
-    <h3><a id="Guidelines">Guidelines</a></h3>
+    <h3><a id="guidelines">Guidelines</a></h3>
     <p>When writing software that uses the &quot;cups&quot; library:</p>
     <ul>
     <li>Do not use undocumented or deprecated APIs,</li>
@@ -650,9 +548,9 @@ h3.title {
 </ul>
     <p>CUPS is designed to insulate users and developers from the implementation details of printers and file formats. The goal is to allow an application to supply a print file in a standard format with the user intent (&quot;print four copies, two-sided on A4 media, and staple each copy&quot;) and have the printing system manage the printer communication and format conversion needed.</p>
     <p>Similarly, printer and job management applications can use standard query operations to obtain the status information in a common, generic form and use standard management operations to control the state of those printers and jobs.</p>
-    <h3><a id="TermsUsedinThisDocument">Terms Used in This Document</a></h3>
+    <h3><a id="terms-used-in-this-document">Terms Used in This Document</a></h3>
     <p>A <em>Destination</em> is a printer or print queue that accepts print jobs. A <em>Print</em> <em>Job</em> is one or more documents that are processed by a destination using options supplied when creating the job. A <em>Document</em> is a file (JPEG image, PDF file, etc.) suitable for printing. An <em>Option</em> controls some aspect of printing, such as the media used. <em>Media</em> is the sheets or roll that is printed on. An <em>Attribute</em> is an option encoded for an Internet Printing Protocol (IPP) request.</p>
-    <h3><a id="CompilingProgramsThatUsetheCUPSAPI">Compiling Programs That Use the CUPS API</a></h3>
+    <h3><a id="compiling-programs-that-use-the-cups-api">Compiling Programs That Use the CUPS API</a></h3>
     <p>The CUPS libraries can be used from any C, C++, or Objective C program. The method of compiling against the libraries varies depending on the operating system and installation of CUPS. The following sections show how to compile a simple program (shown below) in two common environments.</p>
     <p>The following simple program lists the available destinations:</p>
     <pre><code>#include &lt;stdio.h&gt;
@@ -675,20 +573,20 @@ int main(void)
   return (0);
 }
 </code></pre>
-    <h4><a id="CompilingwithXcode">Compiling with Xcode</a></h4>
+    <h4><a id="compiling-with-xcode">Compiling with Xcode</a></h4>
     <p>In Xcode, choose <em>New</em> <em>Project...</em> from the <em>File</em> menu (or press SHIFT+CMD+N), then select the <em>Command</em> <em>Line</em> <em>Tool</em> under the macOS Application project type. Click <em>Next</em> and enter a name for the project, for example &quot;firstcups&quot;. Click <em>Next</em> and choose a project directory. The click <em>Next</em> to create the project.</p>
     <p>In the project window, click on the <em>Build</em> <em>Phases</em> group and expand the <em>Link</em> <em>Binary</em> <em>with</em> <em>Libraries</em> section. Click <em>+</em>, type &quot;libcups&quot; to show the library, and then double-click on <code>libcups.tbd</code>.</p>
     <p>Finally, click on the <code>main.c</code> file in the sidebar and copy the example program to the file. Build and run (CMD+R) to see the list of destinations.</p>
-    <h4><a id="CompilingwithGCC">Compiling with GCC</a></h4>
+    <h4><a id="compiling-with-gcc">Compiling with GCC</a></h4>
     <p>From the command-line, create a file called <code>sample.c</code> using your favorite editor, copy the example to this file, and save. Then run the following command to compile it with GCC and run it:</p>
     <pre><code>gcc -o simple `cups-config --cflags` simple.c `cups-config --libs`
 ./simple
 </code></pre>
     <p>The <code>cups-config</code> command provides the compiler flags (<code>cups-config --cflags</code>) and libraries (<code>cups-config --libs</code>) needed for the local system.</p>
-    <h2><a id="WorkingwithDestinations">Working with Destinations</a></h2>
+    <h2><a id="working-with-destinations">Working with Destinations</a></h2>
     <p>Destinations, which in CUPS represent individual printers or classes (collections or pools) of printers, are represented by the <code>cups_dest_t</code> structure which includes the name (<code>name</code>), instance (<code>instance</code>, saved options/settings), whether the destination is the default for the user (<code>is_default</code>), and the options and basic information associated with that destination (<code>num_options</code> and <code>options</code>).</p>
     <p>Historically destinations have been manually maintained by the administrator of a system or network, but CUPS also supports dynamic discovery of destinations on the current network.</p>
-    <h3><a id="FindingAvailableDestinations">Finding Available Destinations</a></h3>
+    <h3><a id="finding-available-destinations">Finding Available Destinations</a></h3>
     <p>The <code>cupsEnumDests</code> function finds all of the available destinations:</p>
     <pre><code> int
  cupsEnumDests(unsigned flags, int msec, int *cancel,
@@ -698,12 +596,13 @@ int main(void)
     <p>The <code>flags</code> argument specifies enumeration options, which at present must be <code>CUPS_DEST_FLAGS_NONE</code>.</p>
     <p>The <code>msec</code> argument specifies the maximum amount of time that should be used for enumeration in milliseconds - interactive applications should keep this value to 5000 or less when run on the main thread.</p>
     <p>The <code>cancel</code> argument points to an integer variable that, when set to a non-zero value, will cause enumeration to stop as soon as possible. It can be <code>NULL</code> if not needed.</p>
-    <p>The <code>type</code> and <code>mask</code> arguments are bitfields that allow the caller to filter the destinations based on categories and/or capabilities. The destination's &quot;printer-type&quot; value is masked by the <code>mask</code> value and compared to the <code>type</code> value when filtering. For example, to only enumerate destinations that are hosted on the local system, pass <code>CUPS_PRINTER_LOCAL</code> for the <code>type</code> argument and <code>CUPS_PRINTER_REMOTE</code> for the <code>mask</code> argument. The following constants can be used for filtering:</p>
+    <p>The <code>type</code> and <code>mask</code> arguments are bitfields that allow the caller to filter the destinations based on categories and/or capabilities. The destination's &quot;printer-type&quot; value is masked by the <code>mask</code> value and compared to the <code>type</code> value when filtering. For example, to only enumerate destinations that are hosted on the local system, pass <code>CUPS_PRINTER_LOCAL</code> for the <code>type</code> argument and <code>CUPS_PRINTER_DISCOVERED</code> for the <code>mask</code> argument. The following constants can be used for filtering:</p>
     <ul>
     <li><code>CUPS_PRINTER_CLASS</code>: A collection of destinations.</li>
     <li><code>CUPS_PRINTER_FAX</code>: A facsimile device.</li>
-    <li><code>CUPS_PRINTER_LOCAL</code>: A local printer or class. This constant has the value 0 (no bits set) and is only used for the <code>type</code> argument and is paired with the <code>CUPS_PRINTER_REMOTE</code> constant passed in the <code>mask</code> argument.</li>
-    <li><code>CUPS_PRINTER_REMOTE</code>: A remote printer or class.</li>
+    <li><code>CUPS_PRINTER_LOCAL</code>: A local printer or class. This constant has the value 0 (no bits set) and is only used for the <code>type</code> argument and is paired with the <code>CUPS_PRINTER_REMOTE</code> or <code>CUPS_PRINTER_DISCOVERED</code> constant passed in the <code>mask</code> argument.</li>
+    <li><code>CUPS_PRINTER_REMOTE</code>: A remote (shared) printer or class.</li>
+    <li><code>CUPS_PRINTER_DISCOVERED</code>: An available network printer or class.</li>
     <li><code>CUPS_PRINTER_BW</code>: Can do B&amp;W printing.</li>
     <li><code>CUPS_PRINTER_COLOR</code>: Can do color printing.</li>
     <li><code>CUPS_PRINTER_DUPLEX</code>: Can do two-sided printing.</li>
@@ -797,7 +696,7 @@ my_get_dests(cups_ptype_t type, cups_ptype_t mask,
   return (user_data.num_dests);
 }
 </code></pre>
-    <h3><a id="BasicDestinationInformation">Basic Destination Information</a></h3>
+    <h3><a id="basic-destination-information">Basic Destination Information</a></h3>
     <p>The <code>num_options</code> and <code>options</code> members of the <code>cups_dest_t</code> structure provide basic attributes about the destination in addition to the user default options and values for that destination. The following names are predefined for various destination attributes:</p>
     <ul>
     <li>&quot;auth-info-required&quot;: The type of authentication required for printing to this destination: &quot;none&quot;, &quot;username,password&quot;, &quot;domain,username,password&quot;, or &quot;negotiate&quot; (Kerberos).</li>
@@ -810,20 +709,21 @@ my_get_dests(cups_ptype_t type, cups_ptype_t mask,
     <li>&quot;printer-state-change-time&quot;: The UNIX time when the destination entered the current state.</li>
     <li>&quot;printer-state-reasons&quot;: Additional comma-delimited state keywords for the destination such as &quot;media-tray-empty-error&quot; and &quot;toner-low-warning&quot;.</li>
     <li>&quot;printer-type&quot;: The <code>cups_ptype_t</code> value associated with the destination.</li>
+    <li>&quot;printer-uri-supported&quot;: The URI associated with the destination; if not set, this destination was discovered but is not yet setup as a local printer.</li>
 </ul>
     <p>Use the <code>cupsGetOption</code> function to retrieve the value. For example, the following code gets the make and model of a destination:</p>
     <pre><code>const char *model = cupsGetOption(&quot;printer-make-and-model&quot;,
                                   dest-&gt;num_options,
                                   dest-&gt;options);
 </code></pre>
-    <h3><a id="DetailedDestinationInformation">Detailed Destination Information</a></h3>
+    <h3><a id="detailed-destination-information">Detailed Destination Information</a></h3>
     <p>Once a destination has been chosen, the <code>cupsCopyDestInfo</code> function can be used to gather detailed information about the destination:</p>
     <pre><code>cups_dinfo_t *
 cupsCopyDestInfo(http_t *http, cups_dest_t *dest);
 </code></pre>
     <p>The <code>http</code> argument specifies a connection to the CUPS scheduler and is typically the constant <code>CUPS_HTTP_DEFAULT</code>. The <code>dest</code> argument specifies the destination to query.</p>
     <p>The <code>cups_dinfo_t</code> structure that is returned contains a snapshot of the supported options and their supported, ready, and default values. It also can report constraints between different options and values, and recommend changes to resolve those constraints.</p>
-    <h4><a id="GettingSupportedOptionsandValues">Getting Supported Options and Values</a></h4>
+    <h4><a id="getting-supported-options-and-values">Getting Supported Options and Values</a></h4>
     <p>The <code>cupsCheckDestSupported</code> function can be used to test whether a particular option or option and value is supported:</p>
     <pre><code>int
 cupsCheckDestSupported(http_t *http, cups_dest_t *dest,
@@ -879,7 +779,7 @@ int i, count = ippGetCount(attrs);
 for (i = 0; i &lt; count; i ++)
   puts(ippGetString(attrs, i, NULL));
 </code></pre>
-    <h4><a id="GettingDefaultValues">Getting Default Values</a></h4>
+    <h4><a id="getting-default-values">Getting Default Values</a></h4>
     <p>There are two sets of default values - user defaults that are available via the <code>num_options</code> and <code>options</code> members of the <code>cups_dest_t</code> structure, and destination defaults that available via the <code>cups_dinfo_t</code> structure and the <code>cupsFindDestDefault</code> function which returns the IPP attribute containing the default value(s) for a given option:</p>
     <pre><code>ipp_attribute_t *
 cupsFindDestDefault(http_t *http, cups_dest_t *dest,
@@ -909,7 +809,7 @@ else
   putchar('\n');
 }
 </code></pre>
-    <h4><a id="GettingReadyLoadedValues">Getting Ready (Loaded) Values</a></h4>
+    <h4><a id="getting-ready-loaded-values">Getting Ready (Loaded) Values</a></h4>
     <p>The finishings and media options also support queries for the ready, or loaded, values. For example, a printer may have punch and staple finishers installed but be out of staples - the supported values will list both punch and staple finishing processes but the ready values will only list the punch processes. Similarly, a printer may support hundreds of different sizes of media but only have a single size loaded at any given time - the ready values are limited to the media that is actually in the printer.</p>
     <p>The <code>cupsFindDestReady</code> function finds the IPP attribute containing the ready values for a given option:</p>
     <pre><code>ipp_attribute_t *
@@ -932,7 +832,7 @@ if (ready_finishings != NULL)
 else
   puts(&quot;no finishings are ready.&quot;);
 </code></pre>
-    <h4><a id="MediaSizeOptions">Media Size Options</a></h4>
+    <h4><a id="media-size-options">Media Size Options</a></h4>
     <p>CUPS provides functions for querying the dimensions and margins for each of the supported media size options. The <code>cups_size_t</code> structure is used to describe a media size:</p>
     <pre><code>typedef struct cups_size_s
 {
@@ -1019,7 +919,7 @@ cupsGetDestMediaDefault(http_t *http, cups_dest_t *dest,
                         cups_dinfo_t *dinfo, unsigned flags,
                         cups_size_t *size);
 </code></pre>
-    <h4><a id="LocalizingOptionsandValues">Localizing Options and Values</a></h4>
+    <h4><a id="localizing-options-and-values">Localizing Options and Values</a></h4>
     <p>CUPS provides three functions to get localized versions of options and values: <code>cupsLocalizeDestMedia</code>, <code>cupsLocalizeDestOption</code>, and <code>cupsLocalizeDestValue</code>:</p>
     <pre><code>const char *
 cupsLocalizeDestMedia(http_t *http, cups_dest_t *dest,
@@ -1036,7 +936,7 @@ cupsLocalizeDestValue(http_t *http, cups_dest_t *dest,
                       cups_dinfo_t *info,
                       const char *option, const char *value);
 </code></pre>
-    <h3><a id="SubmittingaPrintJob">Submitting a Print Job</a></h3>
+    <h3><a id="submitting-a-print-job">Submitting a Print Job</a></h3>
     <p>Once you are ready to submit a print job, you create a job using the <code>cupsCreateDestJob</code> function:</p>
     <pre><code>ipp_status_t
 cupsCreateDestJob(http_t *http, cups_dest_t *dest,
@@ -1151,12 +1051,12 @@ a copy of that destination's options.<br>
 <br>
 Use the <a href="#cupsSaveDests"><code>cupsSaveDests</code></a> function to save the updated list of
 destinations to the user's lpoptions file.</p>
-<h3 class="function"><a id="cupsAddOption">cupsAddOption</a></h3>
-        <p class="description">Add an option to an option array.</p>
+<h3 class="function"><span class="info">&#160;CUPS 2.2.4&#160;</span><a id="cupsAddIntegerOption">cupsAddIntegerOption</a></h3>
+        <p class="description">Add an integer option to an option array.</p>
 <p class="code">
-int cupsAddOption (<br>
+int cupsAddIntegerOption (<br>
 &#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *value,<br>
+&#160;&#160;&#160;&#160;int value,<br>
 &#160;&#160;&#160;&#160;int num_options,<br>
 &#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
 );</p>
@@ -1175,429 +1075,34 @@ int cupsAddOption (<br>
         <p class="description">Number of options</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">New option arrays can be initialized simply by passing 0 for the
-&quot;num_options&quot; parameter.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayAdd">cupsArrayAdd</a></h3>
-        <p class="description">Add an element to the array.</p>
-<p class="code">
-int cupsArrayAdd (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a,<br>
-&#160;&#160;&#160;&#160;void *e<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-<dt>e</dt>
-        <dd class="description">Element</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on success, 0 on failure</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">When adding an element to a sorted array, non-unique elements are
-appended at the end of the run of identical elements.  For unsorted arrays,
-the element is appended to the end of the array.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayClear">cupsArrayClear</a></h3>
-        <p class="description">Clear the array.</p>
-<p class="code">
-void cupsArrayClear (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is equivalent to removing all elements in the array.
-The caller is responsible for freeing the memory used by the
-elements themselves.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayCount">cupsArrayCount</a></h3>
-        <p class="description">Get the number of elements in the array.</p>
-<p class="code">
-int cupsArrayCount (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of elements</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayCurrent">cupsArrayCurrent</a></h3>
-        <p class="description">Return the current element in the array.</p>
-<p class="code">
-void *cupsArrayCurrent (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Element</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The current element is undefined until you call <a href="#cupsArrayFind"><code>cupsArrayFind</code></a>,
-<a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayDelete">cupsArrayDelete</a></h3>
-        <p class="description">Free all memory used by the array.</p>
-<p class="code">
-void cupsArrayDelete (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The caller is responsible for freeing the memory used by the
-elements themselves.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayDup">cupsArrayDup</a></h3>
-        <p class="description">Duplicate the array.</p>
-<p class="code">
-<a href="#cups_array_t">cups_array_t</a> *cupsArrayDup (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Duplicate array</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayFind">cupsArrayFind</a></h3>
-        <p class="description">Find an element in the array.</p>
-<p class="code">
-void *cupsArrayFind (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a,<br>
-&#160;&#160;&#160;&#160;void *e<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-<dt>e</dt>
-        <dd class="description">Element</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Element found or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayFirst">cupsArrayFirst</a></h3>
-        <p class="description">Get the first element in the array.</p>
-<p class="code">
-void *cupsArrayFirst (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">First element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
-        <p class="description">Get the index of the current element.</p>
-<p class="code">
-int cupsArrayGetIndex (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Index of the current element, starting at 0</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The current element is undefined until you call <a href="#cupsArrayFind"><code>cupsArrayFind</code></a>,
-<a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
-        <p class="description">Get the index of the last inserted element.</p>
-<p class="code">
-int cupsArrayGetInsert (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Index of the last inserted element, starting at 0</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayIndex">cupsArrayIndex</a></h3>
-        <p class="description">Get the N-th element in the array.</p>
-<p class="code">
-void *cupsArrayIndex (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a,<br>
-&#160;&#160;&#160;&#160;int n<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-<dt>n</dt>
-        <dd class="description">Index into array, starting at 0</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">N-th element or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayInsert">cupsArrayInsert</a></h3>
-        <p class="description">Insert an element in the array.</p>
-<p class="code">
-int cupsArrayInsert (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a,<br>
-&#160;&#160;&#160;&#160;void *e<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-<dt>e</dt>
-        <dd class="description">Element</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on failure, 1 on success</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">When inserting an element in a sorted array, non-unique elements are
-inserted at the beginning of the run of identical elements.  For unsorted
-arrays, the element is inserted at the beginning of the array.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayLast">cupsArrayLast</a></h3>
-        <p class="description">Get the last element in the array.</p>
-<p class="code">
-void *cupsArrayLast (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Last element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayNew">cupsArrayNew</a></h3>
-        <p class="description">Create a new array.</p>
-<p class="code">
-<a href="#cups_array_t">cups_array_t</a> *cupsArrayNew (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_func_t">cups_array_func_t</a> f,<br>
-&#160;&#160;&#160;&#160;void *d<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>f</dt>
-        <dd class="description">Comparison function or <code>NULL</code> for an unsorted array</dd>
-<dt>d</dt>
-        <dd class="description">User data pointer or <code>NULL</code></dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Array</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The comparison function (&quot;f&quot;) is used to create a sorted array. The function
-receives pointers to two elements and the user data pointer (&quot;d&quot;) - the user
-data pointer argument can safely be omitted when not required so functions
-like <code>strcmp</code> can be used for sorted string arrays.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsArrayNew2">cupsArrayNew2</a></h3>
-        <p class="description">Create a new array with hash.</p>
-<p class="code">
-<a href="#cups_array_t">cups_array_t</a> *cupsArrayNew2 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_func_t">cups_array_func_t</a> f,<br>
-&#160;&#160;&#160;&#160;void *d,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ahash_func_t">cups_ahash_func_t</a> h,<br>
-&#160;&#160;&#160;&#160;int hsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>f</dt>
-        <dd class="description">Comparison function or <code>NULL</code> for an unsorted array</dd>
-<dt>d</dt>
-        <dd class="description">User data or <code>NULL</code></dd>
-<dt>h</dt>
-        <dd class="description">Hash function or <code>NULL</code> for unhashed lookups</dd>
-<dt>hsize</dt>
-        <dd class="description">Hash size (&gt;= 0)</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Array</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The comparison function (&quot;f&quot;) is used to create a sorted array. The function
-receives pointers to two elements and the user data pointer (&quot;d&quot;) - the user
-data pointer argument can safely be omitted when not required so functions
-like <code>strcmp</code> can be used for sorted string arrays.<br>
-<br>
-The hash function (&quot;h&quot;) is used to implement cached lookups with the
-specified hash size (&quot;hsize&quot;).
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="cupsArrayNew3">cupsArrayNew3</a></h3>
-        <p class="description">Create a new array with hash and/or free function.</p>
-<p class="code">
-<a href="#cups_array_t">cups_array_t</a> *cupsArrayNew3 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_func_t">cups_array_func_t</a> f,<br>
-&#160;&#160;&#160;&#160;void *d,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ahash_func_t">cups_ahash_func_t</a> h,<br>
-&#160;&#160;&#160;&#160;int hsize,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_acopy_func_t">cups_acopy_func_t</a> cf,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_afree_func_t">cups_afree_func_t</a> ff<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>f</dt>
-        <dd class="description">Comparison function or <code>NULL</code> for an unsorted array</dd>
-<dt>d</dt>
-        <dd class="description">User data or <code>NULL</code></dd>
-<dt>h</dt>
-        <dd class="description">Hash function or <code>NULL</code> for unhashed lookups</dd>
-<dt>hsize</dt>
-        <dd class="description">Hash size (&gt;= 0)</dd>
-<dt>cf</dt>
-        <dd class="description">Copy function</dd>
-<dt>ff</dt>
-        <dd class="description">Free function</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Array</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The comparison function (&quot;f&quot;) is used to create a sorted array. The function
-receives pointers to two elements and the user data pointer (&quot;d&quot;) - the user
-data pointer argument can safely be omitted when not required so functions
-like <code>strcmp</code> can be used for sorted string arrays.<br>
-<br>
-The hash function (&quot;h&quot;) is used to implement cached lookups with the
-specified hash size (&quot;hsize&quot;).<br>
-<br>
-The copy function (&quot;cf&quot;) is used to automatically copy/retain elements when
-added or the array is copied.<br>
-<br>
-The free function (&quot;cf&quot;) is used to automatically free/release elements when
-removed or the array is deleted.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayNext">cupsArrayNext</a></h3>
-        <p class="description">Get the next element in the array.</p>
-<p class="code">
-void *cupsArrayNext (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Next element or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is equivalent to &quot;cupsArrayIndex(a, cupsArrayGetIndex(a) + 1)&quot;.<br>
-<br>
-The next element is undefined until you call <a href="#cupsArrayFind"><code>cupsArrayFind</code></a>,
-<a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>
-to set the current element.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayPrev">cupsArrayPrev</a></h3>
-        <p class="description">Get the previous element in the array.</p>
-<p class="code">
-void *cupsArrayPrev (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Previous element or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is equivalent to &quot;cupsArrayIndex(a, cupsArrayGetIndex(a) - 1)&quot;.<br>
-<br>
-The previous element is undefined until you call <a href="#cupsArrayFind"><code>cupsArrayFind</code></a>,
-<a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>
-to set the current element.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayRemove">cupsArrayRemove</a></h3>
-        <p class="description">Remove an element from the array.</p>
-<p class="code">
-int cupsArrayRemove (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a,<br>
-&#160;&#160;&#160;&#160;void *e<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-<dt>e</dt>
-        <dd class="description">Element</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on success, 0 on failure</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">If more than one element matches &quot;e&quot;, only the first matching element is
-removed.<br>
-<br>
-The caller is responsible for freeing the memory used by the
-removed element.
+&quot;num_options&quot; parameter.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayRestore">cupsArrayRestore</a></h3>
-        <p class="description">Reset the current element to the last <a href="#cupsArraySave"><code>cupsArraySave</code></a>.</p>
-<p class="code">
-void *cupsArrayRestore (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New current element</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArraySave">cupsArraySave</a></h3>
-        <p class="description">Mark the current element for a later <a href="#cupsArrayRestore"><code>cupsArrayRestore</code></a>.</p>
+<h3 class="function"><a id="cupsAddOption">cupsAddOption</a></h3>
+        <p class="description">Add an option to an option array.</p>
 <p class="code">
-int cupsArraySave (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
+int cupsAddOption (<br>
+&#160;&#160;&#160;&#160;const char *name,<br>
+&#160;&#160;&#160;&#160;const char *value,<br>
+&#160;&#160;&#160;&#160;int num_options,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
+<dt>name</dt>
+        <dd class="description">Name of option</dd>
+<dt>value</dt>
+        <dd class="description">Value of option</dd>
+<dt>num_options</dt>
+        <dd class="description">Number of options</dd>
+<dt>options</dt>
+        <dd class="description">Pointer to options</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on success, 0 on failure</p>
+        <p class="description">Number of options</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The current element is undefined until you call <a href="#cupsArrayFind"><code>cupsArrayFind</code></a>,
-<a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>
-to set the current element.<br>
-<br>
-The save/restore stack is guaranteed to be at least 32 elements deep.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayUserData">cupsArrayUserData</a></h3>
-        <p class="description">Return the user data for an array.</p>
-<p class="code">
-void *cupsArrayUserData (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *a<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>a</dt>
-        <dd class="description">Array</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">User data</p>
+        <p class="discussion">New option arrays can be initialized simply by passing 0 for the
+&quot;num_options&quot; parameter.</p>
 <h3 class="function"><a id="cupsCancelDestJob">cupsCancelDestJob</a></h3>
         <p class="description">Include necessary headers...</p>
 <p class="code">
@@ -1623,61 +1128,6 @@ Returns <code>IPP_STATUS_OK</code> on success and
 <code>IPP_STATUS_ERRPR_NOT_AUTHORIZED</code> or
 <code>IPP_STATUS_ERROR_FORBIDDEN</code> on failure.
 
-</p>
-<h3 class="function"><a id="cupsCancelJob">cupsCancelJob</a></h3>
-        <p class="description">Cancel a print job on the default server.</p>
-<p class="code">
-int cupsCancelJob (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int job_id<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name of printer or class</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID, <code>CUPS_JOBID_CURRENT</code> for the current job, or <code>CUPS_JOBID_ALL</code> for all jobs</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on success, 0 on failure</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Pass <code>CUPS_JOBID_ALL</code> to cancel all jobs or <code>CUPS_JOBID_CURRENT</code>
-to cancel the current job on the named destination.<br>
-<br>
-Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cupsLastErrorString"><code>cupsLastErrorString</code></a> functions to get
-the cause of any failure.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsCancelJob2">cupsCancelJob2</a></h3>
-        <p class="description">Cancel or purge a print job.</p>
-<p class="code">
-ipp_status_t cupsCancelJob2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int job_id,<br>
-&#160;&#160;&#160;&#160;int purge<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Name of printer or class</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID, <code>CUPS_JOBID_CURRENT</code> for the current job, or <code>CUPS_JOBID_ALL</code> for all jobs</dd>
-<dt>purge</dt>
-        <dd class="description">1 to purge, 0 to cancel</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">IPP status</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Canceled jobs remain in the job history while purged jobs are removed
-from the job history.<br>
-<br>
-Pass <code>CUPS_JOBID_ALL</code> to cancel all jobs or <code>CUPS_JOBID_CURRENT</code>
-to cancel the current job on the named destination.<br>
-<br>
-Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cupsLastErrorString"><code>cupsLastErrorString</code></a> functions to get
-the cause of any failure.
-
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCheckDestSupported">cupsCheckDestSupported</a></h3>
         <p class="description">Check that the option and value are supported
@@ -1779,52 +1229,13 @@ to by &quot;cancel&quot; is non-zero, or the callback function (or block) return
 The caller is responsible for calling httpClose() on the returned object.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsConnectDestBlock">cupsConnectDestBlock</a></h3>
-        <p class="description">Connect to the server for a destination.</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCopyDest">cupsCopyDest</a></h3>
+        <p class="description">Copy a destination.</p>
 <p class="code">
-<a href="#http_t">http_t</a> *cupsConnectDestBlock (<br>
+int cupsCopyDest (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel,<br>
-&#160;&#160;&#160;&#160;char *resource,<br>
-&#160;&#160;&#160;&#160;size_t resourcesize,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_block_t">cups_dest_block_t</a> block<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>flags</dt>
-        <dd class="description">Connection flags</dd>
-<dt>msec</dt>
-        <dd class="description">Timeout in milliseconds</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-<dt>resource</dt>
-        <dd class="description">Resource buffer</dd>
-<dt>resourcesize</dt>
-        <dd class="description">Size of resource buffer</dd>
-<dt>block</dt>
-        <dd class="description">Callback block</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Connection to server or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Connect to the destination, returning a new http_t connection object and
-optionally the resource path to use for the destination.  These calls will
-block until a connection is made, the timeout expires, the integer pointed
-to by &quot;cancel&quot; is non-zero, or the callback function (or block) returns 0,
-The caller is responsible for calling httpClose() on the returned object.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCopyDest">cupsCopyDest</a></h3>
-        <p class="description">Copy a destination.</p>
-<p class="code">
-int cupsCopyDest (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
+&#160;&#160;&#160;&#160;int num_dests,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -1962,87 +1373,6 @@ ipp_status_t cupsCreateDestJob (<br>
 in the variable pointed to by &quot;job_id&quot;.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsCreateJob">cupsCreateJob</a></h3>
-        <p class="description">Create an empty job for streaming.</p>
-<p class="code">
-int cupsCreateJob (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>title</dt>
-        <dd class="description">Title of job</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Job ID or 0 on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Use this function when you want to stream print data using the
-<a href="#cupsStartDocument"><code>cupsStartDocument</code></a>, <a href="#cupsWriteRequestData"><code>cupsWriteRequestData</code></a>, and
-<a href="#cupsFinishDocument"><code>cupsFinishDocument</code></a> functions.  If you have one or more files to
-print, use the <a href="#cupsPrintFile2"><code>cupsPrintFile2</code></a> or <a href="#cupsPrintFiles2"><code>cupsPrintFiles2</code></a> function
-instead.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirClose">cupsDirClose</a></h3>
-        <p class="description">Close a directory.</p>
-<p class="code">
-void cupsDirClose (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dir_t">cups_dir_t</a> *dp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dp</dt>
-        <dd class="description">Directory pointer</dd>
-</dl>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirOpen">cupsDirOpen</a></h3>
-        <p class="description">Open a directory.</p>
-<p class="code">
-<a href="#cups_dir_t">cups_dir_t</a> *cupsDirOpen (<br>
-&#160;&#160;&#160;&#160;const char *directory<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>directory</dt>
-        <dd class="description">Directory name</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Directory pointer or <code>NULL</code> if the directory could not be opened.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirRead">cupsDirRead</a></h3>
-        <p class="description">Read the next directory entry.</p>
-<p class="code">
-<a href="#cups_dentry_t">cups_dentry_t</a> *cupsDirRead (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dir_t">cups_dir_t</a> *dp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dp</dt>
-        <dd class="description">Directory pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Directory entry or <code>NULL</code> when there are no more</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirRewind">cupsDirRewind</a></h3>
-        <p class="description">Rewind to the start of the directory.</p>
-<p class="code">
-void cupsDirRewind (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dir_t">cups_dir_t</a> *dp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dp</dt>
-        <dd class="description">Directory pointer</dd>
-</dl>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsDoAuthentication">cupsDoAuthentication</a></h3>
         <p class="description">Authenticate a request.</p>
 <p class="code">
@@ -2068,7 +1398,7 @@ status, prior to resubmitting your request.
 
 </p>
 <h3 class="function"><a id="cupsEncodeOptions">cupsEncodeOptions</a></h3>
-        <p class="description">Encode printer options into IPP attributes.</p>
+        <p class="description"></p>
 <p class="code">
 void cupsEncodeOptions (<br>
 &#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
@@ -2084,12 +1414,15 @@ void cupsEncodeOptions (<br>
 <dt>options</dt>
         <dd class="description">Options</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Encode printer options into IPP attributes.</p>
         <p class="discussion">This function adds operation, job, and then subscription attributes,
 in that order. Use the cupsEncodeOptions2() function to add attributes
-for a single group.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
-        <p class="description">Encode printer options into IPP attributes for a group.</p>
+for a single group.
+
+</p>
+<h3 class="function"><a id="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
+        <p class="description">Add the options in the proper groups &amp; order...</p>
 <p class="code">
 void cupsEncodeOptions2 (<br>
 &#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
@@ -2108,7 +1441,8 @@ void cupsEncodeOptions2 (<br>
 <dt>group_tag</dt>
         <dd class="description">Group to encode</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Encode printer options into IPP attributes for a group.</p>
         <p class="discussion">This function only adds attributes for a single group. Call this
 function multiple times for each group, or use cupsEncodeOptions()
 to add the standard groups.
@@ -2162,510 +1496,20 @@ int cupsEnumDests (<br>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">Destinations are enumerated from one or more sources. The callback function
-receives the <code>user_data</code> pointer, destination name, instance, number of
-options, and options which can be used as input to the <a href="#cupsAddDest"><code>cupsAddDest</code></a>
-function.  The function must return 1 to continue enumeration or 0 to stop.<br>
+        <p class="discussion">Destinations are enumerated from one or more sources.  The callback function
+receives the <code>user_data</code> pointer and the destination pointer which can
+be used as input to the <a href="#cupsCopyDest"><code>cupsCopyDest</code></a> function.  The function must
+return 1 to continue enumeration or 0 to stop.<br>
 <br>
-Enumeration happens on the current thread and does not return until all
-destinations have been enumerated or the callback function returns 0.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsEnumDestsBlock">cupsEnumDestsBlock</a></h3>
-        <p class="description">Enumerate available destinations with a block.</p>
-<p class="code">
-int cupsEnumDestsBlock (<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;int timeout,<br>
-&#160;&#160;&#160;&#160;int *cancel,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ptype_t">cups_ptype_t</a> type,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ptype_t">cups_ptype_t</a> mask,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_block_t">cups_dest_block_t</a> block<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>flags</dt>
-        <dd class="description">Enumeration flags</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in milliseconds, 0 for indefinite</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-<dt>type</dt>
-        <dd class="description">Printer type bits</dd>
-<dt>mask</dt>
-        <dd class="description">Mask for printer type bits</dd>
-<dt>block</dt>
-        <dd class="description">Block</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on success, 0 on failure</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Destinations are enumerated from one or more sources. The block receives the
-destination name, instance, number of options, and options which can be used
-as input to the <a href="#cupsAddDest"><code>cupsAddDest</code></a> function.  The block must return 1 to
-continue enumeration or 0 to stop.<br>
+The <code>type</code> and <code>mask</code> arguments allow the caller to filter the
+destinations that are enumerated.  Passing 0 for both will enumerate all
+printers.  The constant <code>CUPS_PRINTER_DISCOVERED</code> is used to filter on
+destinations that are available but have not yet been added locally.<br>
 <br>
 Enumeration happens on the current thread and does not return until all
-destinations have been enumerated or the block returns 0.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileClose">cupsFileClose</a></h3>
-        <p class="description">Close a CUPS file.</p>
-<p class="code">
-int cupsFileClose (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileCompression">cupsFileCompression</a></h3>
-        <p class="description">Return whether a file is compressed.</p>
-<p class="code">
-int cupsFileCompression (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description"><code>CUPS_FILE_NONE</code> or <code>CUPS_FILE_GZIP</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileEOF">cupsFileEOF</a></h3>
-        <p class="description">Return the end-of-file status.</p>
-<p class="code">
-int cupsFileEOF (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 on end of file, 0 otherwise</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileFind">cupsFileFind</a></h3>
-        <p class="description">Find a file using the specified path.</p>
-<p class="code">
-const char *cupsFileFind (<br>
-&#160;&#160;&#160;&#160;const char *filename,<br>
-&#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;int executable,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;int bufsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>filename</dt>
-        <dd class="description">File to find</dd>
-<dt>path</dt>
-        <dd class="description">Colon/semicolon-separated path</dd>
-<dt>executable</dt>
-        <dd class="description">1 = executable files, 0 = any file/dir</dd>
-<dt>buffer</dt>
-        <dd class="description">Filename buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of filename buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Full path to file or <code>NULL</code> if not found</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function allows the paths in the path string to be separated by
-colons (UNIX standard) or semicolons (Windows standard) and stores the
-result in the buffer supplied.  If the file cannot be found in any of
-the supplied paths, <code>NULL</code> is returned. A <code>NULL</code> path only
-matches the current directory.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileFlush">cupsFileFlush</a></h3>
-        <p class="description">Flush pending output.</p>
-<p class="code">
-int cupsFileFlush (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileGetChar">cupsFileGetChar</a></h3>
-        <p class="description">Get a single character from a file.</p>
-<p class="code">
-int cupsFileGetChar (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileGetConf">cupsFileGetConf</a></h3>
-        <p class="description">Get a line from a configuration file.</p>
-<p class="code">
-char *cupsFileGetConf (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;char *buf,<br>
-&#160;&#160;&#160;&#160;size_t buflen,<br>
-&#160;&#160;&#160;&#160;char **value,<br>
-&#160;&#160;&#160;&#160;int *linenum<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>buf</dt>
-        <dd class="description">String buffer</dd>
-<dt>buflen</dt>
-        <dd class="description">Size of string buffer</dd>
-<dt>value</dt>
-        <dd class="description">Pointer to value</dd>
-<dt>linenum</dt>
-        <dd class="description">Current line number</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileGetLine">cupsFileGetLine</a></h3>
-        <p class="description">Get a CR and/or LF-terminated line that may
-contain binary data.</p>
-<p class="code">
-size_t cupsFileGetLine (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;char *buf,<br>
-&#160;&#160;&#160;&#160;size_t buflen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">File to read from</dd>
-<dt>buf</dt>
-        <dd class="description">Buffer</dd>
-<dt>buflen</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes on line or 0 on end of file</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function differs from <a href="#cupsFileGets"><code>cupsFileGets</code></a> in that the trailing CR
-and LF are preserved, as is any binary data on the line. The buffer is
-nul-terminated, however you should use the returned length to determine
-the number of bytes on the line.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileGets">cupsFileGets</a></h3>
-        <p class="description">Get a CR and/or LF-terminated line.</p>
-<p class="code">
-char *cupsFileGets (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;char *buf,<br>
-&#160;&#160;&#160;&#160;size_t buflen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>buf</dt>
-        <dd class="description">String buffer</dd>
-<dt>buflen</dt>
-        <dd class="description">Size of string buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileLock">cupsFileLock</a></h3>
-        <p class="description">Temporarily lock access to a file.</p>
-<p class="code">
-int cupsFileLock (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;int block<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>block</dt>
-        <dd class="description">1 to wait for the lock, 0 to fail right away</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileNumber">cupsFileNumber</a></h3>
-        <p class="description">Return the file descriptor associated with a CUPS file.</p>
-<p class="code">
-int cupsFileNumber (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">File descriptor</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileOpen">cupsFileOpen</a></h3>
-        <p class="description">Open a CUPS file.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsFileOpen (<br>
-&#160;&#160;&#160;&#160;const char *filename,<br>
-&#160;&#160;&#160;&#160;const char *mode<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>filename</dt>
-        <dd class="description">Name of file</dd>
-<dt>mode</dt>
-        <dd class="description">Open mode</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file or <code>NULL</code> if the file or socket cannot be opened</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The &quot;mode&quot; parameter can be &quot;r&quot; to read, &quot;w&quot; to write, overwriting any
-existing file, &quot;a&quot; to append to an existing file or create a new file,
-or &quot;s&quot; to open a socket connection.<br>
-<br>
-When opening for writing (&quot;w&quot;), an optional number from 1 to 9 can be
-supplied which enables Flate compression of the file.  Compression is
-not supported for the &quot;a&quot; (append) mode.<br>
-<br>
-When opening a socket connection, the filename is a string of the form
-&quot;address:port&quot; or &quot;hostname:port&quot;. The socket will make an IPv4 or IPv6
-connection as needed, generally preferring IPv6 connections when there is
-a choice.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileOpenFd">cupsFileOpenFd</a></h3>
-        <p class="description">Open a CUPS file using a file descriptor.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsFileOpenFd (<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;const char *mode<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fd</dt>
-        <dd class="description">File descriptor</dd>
-<dt>mode</dt>
-        <dd class="description">Open mode</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file or <code>NULL</code> if the file could not be opened</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The &quot;mode&quot; parameter can be &quot;r&quot; to read, &quot;w&quot; to write, &quot;a&quot; to append,
-or &quot;s&quot; to treat the file descriptor as a bidirectional socket connection.<br>
-<br>
-When opening for writing (&quot;w&quot;), an optional number from 1 to 9 can be
-supplied which enables Flate compression of the file.  Compression is
-not supported for the &quot;a&quot; (append) mode.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFilePeekChar">cupsFilePeekChar</a></h3>
-        <p class="description">Peek at the next character from a file.</p>
-<p class="code">
-int cupsFilePeekChar (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFilePrintf">cupsFilePrintf</a></h3>
-        <p class="description">Write a formatted string.</p>
-<p class="code">
-int cupsFilePrintf (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;...<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>format</dt>
-        <dd class="description">Printf-style format string</dd>
-<dt>...</dt>
-        <dd class="description">Additional args as necessary</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes written or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFilePutChar">cupsFilePutChar</a></h3>
-        <p class="description">Write a character.</p>
-<p class="code">
-int cupsFilePutChar (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;int c<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>c</dt>
-        <dd class="description">Character to write</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsFilePutConf">cupsFilePutConf</a></h3>
-        <p class="description">Write a configuration line.</p>
-<p class="code">
-ssize_t cupsFilePutConf (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;const char *directive,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>directive</dt>
-        <dd class="description">Directive</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes written or -1 on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function handles any comment escaping of the value.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFilePuts">cupsFilePuts</a></h3>
-        <p class="description">Write a string.</p>
-<p class="code">
-int cupsFilePuts (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;const char *s<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>s</dt>
-        <dd class="description">String to write</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes written or -1 on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Like the <code>fputs</code> function, no newline is appended to the string.
+destinations have been enumerated or the callback function returns 0.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileRead">cupsFileRead</a></h3>
-        <p class="description">Read from a file.</p>
-<p class="code">
-ssize_t cupsFileRead (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;char *buf,<br>
-&#160;&#160;&#160;&#160;size_t bytes<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>buf</dt>
-        <dd class="description">Buffer</dd>
-<dt>bytes</dt>
-        <dd class="description">Number of bytes to read</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes read or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileRewind">cupsFileRewind</a></h3>
-        <p class="description">Set the current file position to the beginning of the
-file.</p>
-<p class="code">
-off_t cupsFileRewind (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileSeek">cupsFileSeek</a></h3>
-        <p class="description">Seek in a file.</p>
-<p class="code">
-off_t cupsFileSeek (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;off_t pos<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>pos</dt>
-        <dd class="description">Position in file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileStderr">cupsFileStderr</a></h3>
-        <p class="description">Return a CUPS file associated with stderr.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsFileStderr (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileStdin">cupsFileStdin</a></h3>
-        <p class="description">Return a CUPS file associated with stdin.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsFileStdin (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileStdout">cupsFileStdout</a></h3>
-        <p class="description">Return a CUPS file associated with stdout.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsFileStdout (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileTell">cupsFileTell</a></h3>
-        <p class="description">Return the current file position.</p>
-<p class="code">
-off_t cupsFileTell (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">File position</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileUnlock">cupsFileUnlock</a></h3>
-        <p class="description">Unlock access to a file.</p>
-<p class="code">
-int cupsFileUnlock (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileWrite">cupsFileWrite</a></h3>
-        <p class="description">Write to a file.</p>
-<p class="code">
-ssize_t cupsFileWrite (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_file_t">cups_file_t</a> *fp,<br>
-&#160;&#160;&#160;&#160;const char *buf,<br>
-&#160;&#160;&#160;&#160;size_t bytes<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fp</dt>
-        <dd class="description">CUPS file</dd>
-<dt>buf</dt>
-        <dd class="description">Buffer</dd>
-<dt>bytes</dt>
-        <dd class="description">Number of bytes to write</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes written or -1 on error</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsFindDestDefault">cupsFindDestDefault</a></h3>
         <p class="description">Find the default value(s) for the given option.</p>
 <p class="code">
@@ -2778,30 +1622,9 @@ ipp_status_t cupsFinishDestDocument (<br>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">Returns <code>IPP_STATUS_OK</code> or <code>IPP_STATUS_OK_SUBST</code> on success.
 
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsFinishDocument">cupsFinishDocument</a></h3>
-        <p class="description">Finish sending a document.</p>
-<p class="code">
-ipp_status_t cupsFinishDocument (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Status of document submission</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The document must have been started using <a href="#cupsStartDocument"><code>cupsStartDocument</code></a>.
-
 </p>
 <h3 class="function"><a id="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
-        <p class="description">Free destination information obtained using
-<a href="#cupsCopyDestInfo"><code>cupsCopyDestInfo</code></a>.</p>
+        <p class="description">Find and return the attribute...</p>
 <p class="code">
 void cupsFreeDestInfo (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo<br>
@@ -2811,8 +1634,11 @@ void cupsFreeDestInfo (<br>
 <dt>dinfo</dt>
         <dd class="description">Destination information</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free destination information obtained using
+<a href="#cupsCopyDestInfo"><code>cupsCopyDestInfo</code></a>.</p>
 <h3 class="function"><a id="cupsFreeDests">cupsFreeDests</a></h3>
-        <p class="description">Free the memory used by the list of destinations.</p>
+        <p class="description">Block</p>
 <p class="code">
 void cupsFreeDests (<br>
 &#160;&#160;&#160;&#160;int num_dests,<br>
@@ -2825,8 +1651,10 @@ void cupsFreeDests (<br>
 <dt>dests</dt>
         <dd class="description">Destinations</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free the memory used by the list of destinations.</p>
 <h3 class="function"><a id="cupsFreeJobs">cupsFreeJobs</a></h3>
-        <p class="description">Free memory used by job data.</p>
+        <p class="description">Printer resource</p>
 <p class="code">
 void cupsFreeJobs (<br>
 &#160;&#160;&#160;&#160;int num_jobs,<br>
@@ -2839,8 +1667,10 @@ void cupsFreeJobs (<br>
 <dt>jobs</dt>
         <dd class="description">Jobs</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free memory used by job data.</p>
 <h3 class="function"><a id="cupsFreeOptions">cupsFreeOptions</a></h3>
-        <p class="description">Free all memory used by options.</p>
+        <p class="description">Match found; free the old value...</p>
 <p class="code">
 void cupsFreeOptions (<br>
 &#160;&#160;&#160;&#160;int num_options,<br>
@@ -2853,59 +1683,8 @@ void cupsFreeOptions (<br>
 <dt>options</dt>
         <dd class="description">Pointer to options</dd>
 </dl>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="cupsGetClasses">cupsGetClasses</a></h3>
-        <p class="description">Get a list of printer classes from the default server.</p>
-<p class="code">
-int cupsGetClasses (<br>
-&#160;&#160;&#160;&#160;char ***classes<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>classes</dt>
-        <dd class="description">Classes</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of classes</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated and no longer returns a list of printer
-classes - use <a href="#cupsGetDests"><code>cupsGetDests</code></a> instead.
-
-</p>
-<h3 class="function"><a id="cupsGetDefault">cupsGetDefault</a></h3>
-        <p class="description">Get the default printer or class for the default server.</p>
-<p class="code">
-const char *cupsGetDefault (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Default printer or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function returns the default printer or class as defined by
-the LPDEST or PRINTER environment variables. If these environment
-variables are not set, the server default destination is returned.
-Applications should use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a>
-functions to get the user-defined default printer, as this function does
-not support the lpoptions-defined default printer.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetDefault2">cupsGetDefault2</a></h3>
-        <p class="description">Get the default printer or class for the specified server.</p>
-<p class="code">
-const char *cupsGetDefault2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-</dl>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">Default printer or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function returns the default printer or class as defined by
-the LPDEST or PRINTER environment variables. If these environment
-variables are not set, the server default destination is returned.
-Applications should use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a>
-functions to get the user-defined default printer, as this function does
-not support the lpoptions-defined default printer.
-
-</p>
+        <p class="description">Free all memory used by options.</p>
 <h3 class="function"><a id="cupsGetDest">cupsGetDest</a></h3>
         <p class="description">Get the named destination from the list.</p>
 <p class="code">
@@ -3142,86 +1921,30 @@ created using the URI.<br>
 &quot;uri&quot; is the &quot;ipp&quot; or &quot;ipps&quot; URI for the printer.
 
 </p>
-<h3 class="function"><a id="cupsGetDests">cupsGetDests</a></h3>
-        <p class="description">Get the list of destinations from the default server.</p>
+<h3 class="function"><span class="info">&#160;2.2.4&#160;</span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
+        <p class="description">Get an integer option value.</p>
 <p class="code">
-int cupsGetDests (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of destinations</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Starting with CUPS 1.2, the returned list of destinations include the
-printer-info, printer-is-accepting-jobs, printer-is-shared,
-printer-make-and-model, printer-state, printer-state-change-time,
-printer-state-reasons, and printer-type attributes as options.  CUPS 1.4
-adds the marker-change-time, marker-colors, marker-high-levels,
-marker-levels, marker-low-levels, marker-message, marker-names,
-marker-types, and printer-commands attributes as well.<br>
-<br>
-Use the <a href="#cupsFreeDests"><code>cupsFreeDests</code></a> function to free the destination list and
-the <a href="#cupsGetDest"><code>cupsGetDest</code></a> function to find a particular destination.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetDests2">cupsGetDests2</a></h3>
-        <p class="description">Get the list of destinations from the specified server.</p>
-<p class="code">
-int cupsGetDests2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of destinations</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Starting with CUPS 1.2, the returned list of destinations include the
-printer-info, printer-is-accepting-jobs, printer-is-shared,
-printer-make-and-model, printer-state, printer-state-change-time,
-printer-state-reasons, and printer-type attributes as options.  CUPS 1.4
-adds the marker-change-time, marker-colors, marker-high-levels,
-marker-levels, marker-low-levels, marker-message, marker-names,
-marker-types, and printer-commands attributes as well.<br>
-<br>
-Use the <a href="#cupsFreeDests"><code>cupsFreeDests</code></a> function to free the destination list and
-the <a href="#cupsGetDest"><code>cupsGetDest</code></a> function to find a particular destination.
-
-</p>
-<h3 class="function"><a id="cupsGetJobs">cupsGetJobs</a></h3>
-        <p class="description">Get the jobs from the default server.</p>
-<p class="code">
-int cupsGetJobs (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_job_t">cups_job_t</a> **jobs,<br>
+int cupsGetIntegerOption (<br>
 &#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int myjobs,<br>
-&#160;&#160;&#160;&#160;int whichjobs<br>
+&#160;&#160;&#160;&#160;int num_options,<br>
+&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>jobs</dt>
-        <dd class="description">Job data</dd>
 <dt>name</dt>
-        <dd class="description"><code>NULL</code> = all destinations, otherwise show jobs for named destination</dd>
-<dt>myjobs</dt>
-        <dd class="description">0 = all users, 1 = mine</dd>
-<dt>whichjobs</dt>
-        <dd class="description"><code>CUPS_WHICHJOBS_ALL</code>, <code>CUPS_WHICHJOBS_ACTIVE</code>, or <code>CUPS_WHICHJOBS_COMPLETED</code></dd>
+        <dd class="description">Name of option</dd>
+<dt>num_options</dt>
+        <dd class="description">Number of options</dd>
+<dt>options</dt>
+        <dd class="description">Options</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of jobs</p>
+        <p class="description">Option value or <code>INT_MIN</code></p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">A &quot;whichjobs&quot; value of <code>CUPS_WHICHJOBS_ALL</code> returns all jobs regardless
-of state, while <code>CUPS_WHICHJOBS_ACTIVE</code> returns jobs that are
-pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
-jobs that are stopped, canceled, aborted, or completed.</p>
+        <p class="discussion">INT_MIN is returned when the option does not exist, is not an integer, or
+exceeds the range of values for the &quot;int&quot; type.
+
+</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetJobs2">cupsGetJobs2</a></h3>
         <p class="description">Get the jobs from the specified server.</p>
 <p class="code">
@@ -3309,27 +2032,6 @@ const char *cupsGetOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Option value or <code>NULL</code></p>
-<h3 class="function"><a id="cupsGetPassword">cupsGetPassword</a></h3>
-        <p class="description">Get a password from the user.</p>
-<p class="code">
-const char *cupsGetPassword (<br>
-&#160;&#160;&#160;&#160;const char *prompt<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>prompt</dt>
-        <dd class="description">Prompt string</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Password</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Uses the current password callback function. Returns <code>NULL</code> if the
-user does not provide a password.<br>
-<br>
-Note: The current password callback function is tracked separately for each
-thread in a program. Multi-threaded programs that override the setting via
-the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
-do so in each thread for the same function to be used.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetPassword2">cupsGetPassword2</a></h3>
         <p class="description">Get a password from the user using the advanced
 password callback.</p>
@@ -3362,24 +2064,6 @@ thread in a program. Multi-threaded programs that override the setting via
 the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
 do so in each thread for the same function to be used.
 
-</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="cupsGetPrinters">cupsGetPrinters</a></h3>
-        <p class="description">Get a list of printers from the default server.</p>
-<p class="code">
-int cupsGetPrinters (<br>
-&#160;&#160;&#160;&#160;char ***printers<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>printers</dt>
-        <dd class="description">Printers</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of printers</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated and no longer returns a list of printers - use
-<a href="#cupsGetDests"><code>cupsGetDests</code></a> instead.
-
 </p>
 <h3 class="function"><a id="cupsLangDefault">cupsLangDefault</a></h3>
         <p class="description">Return the default language.</p>
@@ -3402,11 +2086,13 @@ const char *cupsLangEncoding (<br>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Character encoding</p>
 <h3 class="function"><a id="cupsLangFlush">cupsLangFlush</a></h3>
-        <p class="description">Flush all language data out of the cache.</p>
+        <p class="description">Language data</p>
 <p class="code">
 void cupsLangFlush (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Flush all language data out of the cache.</p>
 <h3 class="function"><a id="cupsLangFree">cupsLangFree</a></h3>
-        <p class="description">Free language data.</p>
+        <p class="description">Then free the language structure itself...</p>
 <p class="code">
 void cupsLangFree (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_lang_t">cups_lang_t</a> *lang<br>
@@ -3416,7 +2102,8 @@ void cupsLangFree (<br>
 <dt>lang</dt>
         <dd class="description">Language to free</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free language data.</p>
         <p class="discussion">This does not actually free anything; use <a href="#cupsLangFlush"><code>cupsLangFlush</code></a> for that.</p>
 <h3 class="function"><a id="cupsLangGet">cupsLangGet</a></h3>
         <p class="description">Get a language.</p>
@@ -3611,121 +2298,6 @@ to the PAPI text option ABNF specification. Collection values
 (&quot;name={a=... b=... c=...}&quot;) are stored with the curley brackets
 intact - use <code>cupsParseOptions</code> on the value to extract the
 collection attributes.</p>
-<h3 class="function"><a id="cupsPrintFile">cupsPrintFile</a></h3>
-        <p class="description">Print a file to a printer or class on the default server.</p>
-<p class="code">
-int cupsPrintFile (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *filename,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>filename</dt>
-        <dd class="description">File to print</dd>
-<dt>title</dt>
-        <dd class="description">Title of job</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsPrintFile2">cupsPrintFile2</a></h3>
-        <p class="description">Print a file to a printer or class on the specified
-server.</p>
-<p class="code">
-int cupsPrintFile2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *filename,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server</dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>filename</dt>
-        <dd class="description">File to print</dd>
-<dt>title</dt>
-        <dd class="description">Title of job</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><a id="cupsPrintFiles">cupsPrintFiles</a></h3>
-        <p class="description">Print one or more files to a printer or class on the
-default server.</p>
-<p class="code">
-int cupsPrintFiles (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_files,<br>
-&#160;&#160;&#160;&#160;const char **files,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>num_files</dt>
-        <dd class="description">Number of files</dd>
-<dt>files</dt>
-        <dd class="description">File(s) to print</dd>
-<dt>title</dt>
-        <dd class="description">Title of job</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsPrintFiles2">cupsPrintFiles2</a></h3>
-        <p class="description">Print one or more files to a printer or class on the
-specified server.</p>
-<p class="code">
-int cupsPrintFiles2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_files,<br>
-&#160;&#160;&#160;&#160;const char **files,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>num_files</dt>
-        <dd class="description">Number of files</dd>
-<dt>files</dt>
-        <dd class="description">File(s) to print</dd>
-<dt>title</dt>
-        <dd class="description">Title of job</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Job ID or 0 on error</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsRemoveDest">cupsRemoveDest</a></h3>
         <p class="description">Remove a destination from the destination list.</p>
 <p class="code">
@@ -3793,8 +2365,8 @@ Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server via the
 <a href="#cupsSetServer"><code>cupsSetServer</code></a> function need to do so in each thread for the same
 server to be used.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
-        <p class="description">Set the client certificate callback.</p>
+<h3 class="function"><a id="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetClientCertCB (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_client_cert_cb_t">cups_client_cert_cb_t</a> cb,<br>
@@ -3807,7 +2379,8 @@ void cupsSetClientCertCB (<br>
 <dt>user_data</dt>
         <dd class="description">User data pointer</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the client certificate callback.</p>
         <p class="discussion">Pass <code>NULL</code> to restore the default callback.<br>
 <br>
 Note: The current certificate callback is tracked separately for each thread
@@ -3820,7 +2393,7 @@ so in each thread for the same callback to be used.
 connections.</p>
 <p class="code">
 int cupsSetCredentials (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -3835,8 +2408,8 @@ program. Multi-threaded programs that override the setting need to do so in
 each thread for the same setting to be used.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
-        <p class="description">Set the default destination.</p>
+<h3 class="function"><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
+        <p class="description">Remove the destination from the array...</p>
 <p class="code">
 void cupsSetDefaultDest (<br>
 &#160;&#160;&#160;&#160;const char *name,<br>
@@ -3855,8 +2428,12 @@ void cupsSetDefaultDest (<br>
 <dt>dests</dt>
         <dd class="description">Destinations</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default destination.</p>
+        <p class="discussion"></p>
 <h3 class="function"><a id="cupsSetDests">cupsSetDests</a></h3>
-        <p class="description">Save the list of destinations for the default server.</p>
+        <p class="description">Loop through the array and set the &quot;is_default&quot; flag for the matching
+destination...</p>
 <p class="code">
 void cupsSetDests (<br>
 &#160;&#160;&#160;&#160;int num_dests,<br>
@@ -3869,7 +2446,8 @@ void cupsSetDests (<br>
 <dt>dests</dt>
         <dd class="description">Destinations</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Save the list of destinations for the default server.</p>
         <p class="discussion">This function saves the destinations to /etc/cups/lpoptions when run
 as root and ~/.cups/lpoptions when run as a normal user.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsSetDests2">cupsSetDests2</a></h3>
@@ -3897,7 +2475,7 @@ as root and ~/.cups/lpoptions when run as a normal user.
 
 </p>
 <h3 class="function"><a id="cupsSetEncryption">cupsSetEncryption</a></h3>
-        <p class="description">Set the encryption preference.</p>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetEncryption (<br>
 &#160;&#160;&#160;&#160;<a href="#http_encryption_t">http_encryption_t</a> e<br>
@@ -3907,7 +2485,8 @@ void cupsSetEncryption (<br>
 <dt>e</dt>
         <dd class="description">New encryption preference</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the encryption preference.</p>
         <p class="discussion">The default encryption setting comes from the CUPS_ENCRYPTION
 environment variable, then the ~/.cups/client.conf file, and finally the
 /etc/cups/client.conf file. If not set, the default is
@@ -3917,7 +2496,7 @@ Note: The current encryption setting is tracked separately for each thread
 in a program. Multi-threaded programs that override the setting need to do
 so in each thread for the same setting to be used.</p>
 <h3 class="function"><a id="cupsSetPasswordCB">cupsSetPasswordCB</a></h3>
-        <p class="description">Set the password callback for CUPS.</p>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetPasswordCB (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_password_cb_t">cups_password_cb_t</a> cb<br>
@@ -3927,7 +2506,8 @@ void cupsSetPasswordCB (<br>
 <dt>cb</dt>
         <dd class="description">Callback function</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the password callback for CUPS.</p>
         <p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
 reads the password from the console. Programs should call either this
 function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
@@ -3935,9 +2515,11 @@ by a program per thread.<br>
 <br>
 Note: The current password callback is tracked separately for each thread
 in a program. Multi-threaded programs that override the callback need to do
-so in each thread for the same callback to be used.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
-        <p class="description">Set the advanced password callback for CUPS.</p>
+so in each thread for the same callback to be used.
+
+</p>
+<h3 class="function"><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetPasswordCB2 (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_password_cb2_t">cups_password_cb2_t</a> cb,<br>
@@ -3950,7 +2532,8 @@ void cupsSetPasswordCB2 (<br>
 <dt>user_data</dt>
         <dd class="description">User data pointer</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the advanced password callback for CUPS.</p>
         <p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
 reads the password from the console. Programs should call either this
 function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
@@ -3962,7 +2545,7 @@ so in each thread for the same callback to be used.
 
 </p>
 <h3 class="function"><a id="cupsSetServer">cupsSetServer</a></h3>
-        <p class="description">Set the default server name and port.</p>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetServer (<br>
 &#160;&#160;&#160;&#160;const char *server<br>
@@ -3972,7 +2555,8 @@ void cupsSetServer (<br>
 <dt>server</dt>
         <dd class="description">Server name</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default server name and port.</p>
         <p class="discussion">The &quot;server&quot; string can be a fully-qualified hostname, a numeric
 IPv4 or IPv6 address, or a domain socket pathname. Hostnames and numeric IP
 addresses can be optionally followed by a colon and port number to override
@@ -3982,8 +2566,8 @@ default server name and port.<br>
 Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server need to do so in each
 thread for the same server to be used.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
-        <p class="description">Set the server certificate callback.</p>
+<h3 class="function"><a id="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetServerCertCB (<br>
 &#160;&#160;&#160;&#160;<a href="#cups_server_cert_cb_t">cups_server_cert_cb_t</a> cb,<br>
@@ -3996,7 +2580,8 @@ void cupsSetServerCertCB (<br>
 <dt>user_data</dt>
         <dd class="description">User data pointer</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the server certificate callback.</p>
         <p class="discussion">Pass <code>NULL</code> to restore the default callback.<br>
 <br>
 Note: The current credentials callback is tracked separately for each thread
@@ -4029,7 +2614,7 @@ This function is threadsafe.
 
 </p>
 <h3 class="function"><a id="cupsSetUser">cupsSetUser</a></h3>
-        <p class="description">Set the default user name.</p>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetUser (<br>
 &#160;&#160;&#160;&#160;const char *user<br>
@@ -4039,14 +2624,15 @@ void cupsSetUser (<br>
 <dt>user</dt>
         <dd class="description">User name</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default user name.</p>
         <p class="discussion">Pass <code>NULL</code> to restore the default user name.<br>
 <br>
 Note: The current user name is tracked separately for each thread in a
 program. Multi-threaded programs that override the user name need to do so
 in each thread for the same user name to be used.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
-        <p class="description">Set the default HTTP User-Agent string.</p>
+<h3 class="function"><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void cupsSetUserAgent (<br>
 &#160;&#160;&#160;&#160;const char *user_agent<br>
@@ -4056,7 +2642,8 @@ void cupsSetUserAgent (<br>
 <dt>user_agent</dt>
         <dd class="description">User-Agent string or <code>NULL</code></dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default HTTP User-Agent string.</p>
         <p class="discussion">Setting the string to NULL forces the default value containing the CUPS
 version, IPP version, and operating system version and architecture.
 
@@ -4106,106 +2693,6 @@ are the options do be applied to the document. &quot;last_document&quot; should
 if this is the last document to be submitted in the job.  Returns
 <code>HTTP_CONTINUE</code> on success.
 
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsStartDocument">cupsStartDocument</a></h3>
-        <p class="description">Add a document to a job created with cupsCreateJob().</p>
-<p class="code">
-http_status_t cupsStartDocument (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int job_id,<br>
-&#160;&#160;&#160;&#160;const char *docname,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;int last_document<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID from <a href="#cupsCreateJob"><code>cupsCreateJob</code></a></dd>
-<dt>docname</dt>
-        <dd class="description">Name of document</dd>
-<dt>format</dt>
-        <dd class="description">MIME type or <code>CUPS_FORMAT_foo</code></dd>
-<dt>last_document</dt>
-        <dd class="description">1 for last document in job, 0 otherwise</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">HTTP status of request</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Use <a href="#cupsWriteRequestData"><code>cupsWriteRequestData</code></a> to write data for the document and
-<a href="#cupsFinishDocument"><code>cupsFinishDocument</code></a> to finish the document and get the submission status.<br>
-<br>
-The MIME type constants <code>CUPS_FORMAT_AUTO</code>, <code>CUPS_FORMAT_PDF</code>,
-<code>CUPS_FORMAT_POSTSCRIPT</code>, <code>CUPS_FORMAT_RAW</code>, and
-<code>CUPS_FORMAT_TEXT</code> are provided for the &quot;format&quot; argument, although
-any supported MIME type string can be supplied.
-
-</p>
-<h3 class="function"><a id="cupsTempFd">cupsTempFd</a></h3>
-        <p class="description">Creates a temporary file.</p>
-<p class="code">
-int cupsTempFd (<br>
-&#160;&#160;&#160;&#160;char *filename,<br>
-&#160;&#160;&#160;&#160;int len<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>filename</dt>
-        <dd class="description">Pointer to buffer</dd>
-<dt>len</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New file descriptor or -1 on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The temporary filename is returned in the filename buffer.
-The temporary file is opened for reading and writing.</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="cupsTempFile">cupsTempFile</a></h3>
-        <p class="description">Generates a temporary filename.</p>
-<p class="code">
-char *cupsTempFile (<br>
-&#160;&#160;&#160;&#160;char *filename,<br>
-&#160;&#160;&#160;&#160;int len<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>filename</dt>
-        <dd class="description">Pointer to buffer</dd>
-<dt>len</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Filename or <code>NULL</code> on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The temporary filename is returned in the filename buffer.
-This function is deprecated and will no longer generate a temporary
-filename - use <a href="#cupsTempFd"><code>cupsTempFd</code></a> or <a href="#cupsTempFile2"><code>cupsTempFile2</code></a> instead.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsTempFile2">cupsTempFile2</a></h3>
-        <p class="description">Creates a temporary CUPS file.</p>
-<p class="code">
-<a href="#cups_file_t">cups_file_t</a> *cupsTempFile2 (<br>
-&#160;&#160;&#160;&#160;char *filename,<br>
-&#160;&#160;&#160;&#160;int len<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>filename</dt>
-        <dd class="description">Pointer to buffer</dd>
-<dt>len</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">CUPS file or <code>NULL</code> on error</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The temporary filename is returned in the filename buffer.
-The temporary file is opened for writing.
-
 </p>
 <h3 class="function"><a id="cupsUser">cupsUser</a></h3>
         <p class="description">Return the current user's name.</p>
@@ -4246,7 +2733,7 @@ blocking, 0 otherwise</dd>
         <p class="description">Allocates and adds a single credential to an array.</p>
 <p class="code">
 int httpAddCredential (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
 &#160;&#160;&#160;&#160;const void *data,<br>
 &#160;&#160;&#160;&#160;size_t datalen<br>
 );</p>
@@ -4301,22 +2788,6 @@ listen address for sockets created with <a href="#httpAddrListen"><code>httpAddr
 ensure that domain sockets are removed when closed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrConnect">httpAddrConnect</a></h3>
-        <p class="description">Connect to any of the addresses in the list.</p>
-<p class="code">
-<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrConnect (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist,<br>
-&#160;&#160;&#160;&#160;int *sock<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addrlist</dt>
-        <dd class="description">List of potential addresses</dd>
-<dt>sock</dt>
-        <dd class="description">Socket</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Connected address or NULL on failure</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAddrConnect2">httpAddrConnect2</a></h3>
         <p class="description">Connect to any of the addresses in the list with a
 timeout and optional cancel.</p>
@@ -4382,8 +2853,8 @@ int httpAddrFamily (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Address family</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
-        <p class="description">Free an address list.</p>
+<h3 class="function"><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
+        <p class="description">Current list entry</p>
 <p class="code">
 void httpAddrFreeList (<br>
 &#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist<br>
@@ -4393,6 +2864,9 @@ void httpAddrFreeList (<br>
 <dt>addrlist</dt>
         <dd class="description">Address list to free</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free an address list.</p>
+        <p class="discussion"></p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrGetList">httpAddrGetList</a></h3>
         <p class="description">Get a list of addresses for a hostname.</p>
 <p class="code">
@@ -4631,7 +3105,7 @@ The buffer needs to be at least 46 bytes in size.
 
 </p>
 <h3 class="function"><a id="httpBlocking">httpBlocking</a></h3>
-        <p class="description">Set blocking/non-blocking behavior on a connection.</p>
+        <p class="description">Credential data</p>
 <p class="code">
 void httpBlocking (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -4644,6 +3118,8 @@ void httpBlocking (<br>
 <dt>b</dt>
         <dd class="description">1 = blocking, 0 = non-blocking</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set blocking/non-blocking behavior on a connection.</p>
 <h3 class="function"><a id="httpCheck">httpCheck</a></h3>
         <p class="description">Check to see if there is a pending response from the server.</p>
 <p class="code">
@@ -4657,8 +3133,8 @@ int httpCheck (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 = no data, 1 = data available</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpClearCookie">httpClearCookie</a></h3>
-        <p class="description">Clear the cookie value(s).</p>
+<h3 class="function"><a id="httpClearCookie">httpClearCookie</a></h3>
+        <p class="description">HTTP connection</p>
 <p class="code">
 void httpClearCookie (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
@@ -4668,8 +3144,11 @@ void httpClearCookie (<br>
 <dt>http</dt>
         <dd class="description">HTTP connection</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Clear the cookie value(s).</p>
+        <p class="discussion"></p>
 <h3 class="function"><a id="httpClearFields">httpClearFields</a></h3>
-        <p class="description">Clear HTTP request fields.</p>
+        <p class="description">HTTP connection</p>
 <p class="code">
 void httpClearFields (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
@@ -4679,8 +3158,10 @@ void httpClearFields (<br>
 <dt>http</dt>
         <dd class="description">HTTP connection</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Clear HTTP request fields.</p>
 <h3 class="function"><a id="httpClose">httpClose</a></h3>
-        <p class="description">Close an HTTP connection.</p>
+        <p class="description">HTTP connection</p>
 <p class="code">
 void httpClose (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
@@ -4690,42 +3171,24 @@ void httpClose (<br>
 <dt>http</dt>
         <dd class="description">HTTP connection</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Close an HTTP connection.</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpCompareCredentials">httpCompareCredentials</a></h3>
         <p class="description">Compare two sets of X.509 credentials.</p>
 <p class="code">
 int httpCompareCredentials (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *cred1,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *cred2<br>
+&#160;&#160;&#160;&#160;cups_array_t *cred1,<br>
+&#160;&#160;&#160;&#160;cups_array_t *cred2<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
 <dt>cred1</dt>
         <dd class="description">First set of X.509 credentials</dd>
 <dt>cred2</dt>
-        <dd class="description">Second set of X.509 credentials</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">1 if they match, 0 if they do not</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpConnect">httpConnect</a></h3>
-        <p class="description">Connect to a HTTP server.</p>
-<p class="code">
-<a href="#http_t">http_t</a> *httpConnect (<br>
-&#160;&#160;&#160;&#160;const char *host,<br>
-&#160;&#160;&#160;&#160;int port<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>host</dt>
-        <dd class="description">Host to connect to</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New HTTP connection</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated - use <a href="#httpConnect2"><code>httpConnect2</code></a> instead.
-
-</p>
+        <dd class="description">Second set of X.509 credentials</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">1 if they match, 0 if they do not</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpConnect2">httpConnect2</a></h3>
         <p class="description">Connect to a HTTP server.</p>
 <p class="code">
@@ -4760,37 +3223,13 @@ int httpCompareCredentials (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New HTTP connection</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpConnectEncrypt">httpConnectEncrypt</a></h3>
-        <p class="description">Connect to a HTTP server using encryption.</p>
-<p class="code">
-<a href="#http_t">http_t</a> *httpConnectEncrypt (<br>
-&#160;&#160;&#160;&#160;const char *host,<br>
-&#160;&#160;&#160;&#160;int port,<br>
-&#160;&#160;&#160;&#160;<a href="#http_encryption_t">http_encryption_t</a> encryption<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>host</dt>
-        <dd class="description">Host to connect to</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-<dt>encryption</dt>
-        <dd class="description">Type of encryption to use</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">New HTTP connection</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is now deprecated. Please use the <a href="#httpConnect2"><code>httpConnect2</code></a> function
-instead.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpCopyCredentials">httpCopyCredentials</a></h3>
         <p class="description">Copy the credentials associated with the peer in
 an encrypted connection.</p>
 <p class="code">
 int httpCopyCredentials (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> **credentials<br>
+&#160;&#160;&#160;&#160;cups_array_t **credentials<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -4805,7 +3244,7 @@ int httpCopyCredentials (<br>
         <p class="description">Return whether the credentials are valid for the given name.</p>
 <p class="code">
 int httpCredentialsAreValidForName (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
 &#160;&#160;&#160;&#160;const char *common_name<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -4821,7 +3260,7 @@ int httpCredentialsAreValidForName (<br>
         <p class="description">Return the expiration date of the credentials.</p>
 <p class="code">
 time_t httpCredentialsGetExpiration (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -4834,7 +3273,7 @@ time_t httpCredentialsGetExpiration (<br>
         <p class="description">Return the trust of credentials.</p>
 <p class="code">
 <a href="#http_trust_t">http_trust_t</a> httpCredentialsGetTrust (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
 &#160;&#160;&#160;&#160;const char *common_name<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -4850,7 +3289,7 @@ time_t httpCredentialsGetExpiration (<br>
         <p class="description">Return a string representing the credentials.</p>
 <p class="code">
 size_t httpCredentialsString (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
 &#160;&#160;&#160;&#160;char *buffer,<br>
 &#160;&#160;&#160;&#160;size_t bufsize<br>
 );</p>
@@ -4865,27 +3304,6 @@ size_t httpCredentialsString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Total size of credentials string</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpDecode64">httpDecode64</a></h3>
-        <p class="description">Base64-decode a string.</p>
-<p class="code">
-char *httpDecode64 (<br>
-&#160;&#160;&#160;&#160;char *out,<br>
-&#160;&#160;&#160;&#160;const char *in<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>out</dt>
-        <dd class="description">String to write to</dd>
-<dt>in</dt>
-        <dd class="description">String to read from</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Decoded string</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated. Use the httpDecode64_2() function instead
-which provides buffer length arguments.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="httpDecode64_2">httpDecode64_2</a></h3>
         <p class="description">Base64-decode a string.</p>
 <p class="code">
@@ -4921,27 +3339,6 @@ int httpDelete (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpEncode64">httpEncode64</a></h3>
-        <p class="description">Base64-encode a string.</p>
-<p class="code">
-char *httpEncode64 (<br>
-&#160;&#160;&#160;&#160;char *out,<br>
-&#160;&#160;&#160;&#160;const char *in<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>out</dt>
-        <dd class="description">String to write to</dd>
-<dt>in</dt>
-        <dd class="description">String to read from</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Encoded string</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated. Use the httpEncode64_2() function instead
-which provides buffer length arguments.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="httpEncode64_2">httpEncode64_2</a></h3>
         <p class="description">Base64-encode a string.</p>
 <p class="code">
@@ -5008,7 +3405,7 @@ name.</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Field index</p>
 <h3 class="function"><a id="httpFlush">httpFlush</a></h3>
-        <p class="description">Flush data from a HTTP connection.</p>
+        <p class="description">Looping var</p>
 <p class="code">
 void httpFlush (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
@@ -5018,6 +3415,8 @@ void httpFlush (<br>
 <dt>http</dt>
         <dd class="description">HTTP connection</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Flush data from a HTTP connection.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpFlushWrite">httpFlushWrite</a></h3>
         <p class="description">Flush data in write buffer.</p>
 <p class="code">
@@ -5032,16 +3431,18 @@ int httpFlushWrite (<br>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Bytes written or -1 on error</p>
 <h3 class="function"><a id="httpFreeCredentials">httpFreeCredentials</a></h3>
-        <p class="description">Free an array of credentials.</p>
+        <p class="description">Bytes written</p>
 <p class="code">
 void httpFreeCredentials (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
 <dt>credentials</dt>
         <dd class="description">Array of credentials</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Free an array of credentials.</p>
 <h3 class="function"><a id="httpGet">httpGet</a></h3>
         <p class="description">Send a GET request to the server.</p>
 <p class="code">
@@ -5161,19 +3562,6 @@ const char *httpGetCookie (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Cookie data or NULL</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpGetDateString">httpGetDateString</a></h3>
-        <p class="description">Get a formatted date/time string from a time value.</p>
-<p class="code">
-const char *httpGetDateString (<br>
-&#160;&#160;&#160;&#160;time_t t<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>t</dt>
-        <dd class="description">UNIX time</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Date/time string</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetDateString2">httpGetDateString2</a></h3>
         <p class="description">Get a formatted date/time string from a time value.</p>
 <p class="code">
@@ -5326,25 +3714,6 @@ and gethostbyname() to get the local hostname with domain.
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Keep-Alive state</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpGetLength">httpGetLength</a></h3>
-        <p class="description">Get the amount of data remaining from the
-content-length or transfer-encoding fields.</p>
-<p class="code">
-int httpGetLength (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Content length</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated and will not return lengths larger than
-2^31 - 1; use httpGetLength2() instead.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetLength2">httpGetLength2</a></h3>
         <p class="description">Get the amount of data remaining from the
 content-length or transfer-encoding fields.</p>
@@ -5435,28 +3804,6 @@ http_status_t httpGetStatus (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">HTTP status</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpGetSubField">httpGetSubField</a></h3>
-        <p class="description">Get a sub-field value.</p>
-<p class="code">
-char *httpGetSubField (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_field_t">http_field_t</a> field,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>field</dt>
-        <dd class="description">Field index</dd>
-<dt>name</dt>
-        <dd class="description">Name of sub-field</dd>
-<dt>value</dt>
-        <dd class="description">Value string</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Value or NULL</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetSubField2">httpGetSubField2</a></h3>
         <p class="description">Get a sub-field value.</p>
 <p class="code">
@@ -5531,10 +3878,12 @@ int httpHead (<br>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
 <h3 class="function"><a id="httpInitialize">httpInitialize</a></h3>
-        <p class="description">Initialize the HTTP interface library and set the
-default HTTP proxy (if any).</p>
+        <p class="description">URI for head</p>
 <p class="code">
 void httpInitialize (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Initialize the HTTP interface library and set the
+default HTTP proxy (if any).</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpIsChunked">httpIsChunked</a></h3>
         <p class="description">Report whether a message body is chunked.</p>
 <p class="code">
@@ -5575,7 +3924,7 @@ int httpIsEncrypted (<br>
 <p class="code">
 int httpLoadCredentials (<br>
 &#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> **credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t **credentials,<br>
 &#160;&#160;&#160;&#160;const char *common_name<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -5664,30 +4013,6 @@ int httpPut (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpRead">httpRead</a></h3>
-        <p class="description">Read data from a HTTP connection.</p>
-<p class="code">
-int httpRead (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;int length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer for data</dd>
-<dt>length</dt>
-        <dd class="description">Maximum number of bytes</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes read</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated. Use the httpRead2() function which can
-read more than 2GB of data.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpRead2">httpRead2</a></h3>
         <p class="description">Read data from a HTTP connection.</p>
 <p class="code">
@@ -5726,24 +4051,6 @@ ssize_t httpRead2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New state of connection</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpReconnect">httpReconnect</a></h3>
-        <p class="description">Reconnect to a HTTP server.</p>
-<p class="code">
-int httpReconnect (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">0 on success, non-zero on failure</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated. Please use the <a href="#httpReconnect2"><code>httpReconnect2</code></a> function
-instead.
-
-</p>
 <h3 class="function"><a id="httpReconnect2">httpReconnect2</a></h3>
         <p class="description">Reconnect to a HTTP server with timeout and optional
 cancel.</p>
@@ -5789,7 +4096,7 @@ const char *httpResolveHostname (<br>
 <p class="code">
 int httpSaveCredentials (<br>
 &#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials,<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
 &#160;&#160;&#160;&#160;const char *common_name<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -5803,9 +4110,8 @@ int httpSaveCredentials (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">-1 on error, 0 on success</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpSeparate">httpSeparate</a></h3>
-        <p class="description">Separate a Universal Resource Identifier into its
-components.</p>
+<h3 class="function"><a id="httpSeparate">httpSeparate</a></h3>
+        <p class="description">+ 400 year days</p>
 <p class="code">
 void httpSeparate (<br>
 &#160;&#160;&#160;&#160;const char *uri,<br>
@@ -5830,13 +4136,14 @@ void httpSeparate (<br>
 <dt>resource</dt>
         <dd class="description">Resource/filename [1024]</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
-
-</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="httpSeparate2">httpSeparate2</a></h3>
+<h4 class="returnvalue">Return Value</h4>
         <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
+        <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
+
+ </p>
+<h3 class="function"><a id="httpSeparate2">httpSeparate2</a></h3>
+        <p class="description">Resource/filename [1024]</p>
 <p class="code">
 void httpSeparate2 (<br>
 &#160;&#160;&#160;&#160;const char *uri,<br>
@@ -5873,11 +4180,13 @@ void httpSeparate2 (<br>
 <dt>resourcelen</dt>
         <dd class="description">Size of resource buffer</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Separate a Universal Resource Identifier into its
+components.</p>
         <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
 
 
-</p>
+ </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSeparateURI">httpSeparateURI</a></h3>
         <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
@@ -5922,8 +4231,8 @@ components.</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Result of separation</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="httpSetAuthString">httpSetAuthString</a></h3>
-        <p class="description">Set the current authorization string.</p>
+<h3 class="function"><a id="httpSetAuthString">httpSetAuthString</a></h3>
+        <p class="description">Always do encryption via SSL.</p>
 <p class="code">
 void httpSetAuthString (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -5939,15 +4248,16 @@ void httpSetAuthString (<br>
 <dt>data</dt>
         <dd class="description">Auth data (NULL for none)</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the current authorization string.</p>
         <p class="discussion">This function just stores a copy of the current authorization string in
 the HTTP connection object.  You must still call httpSetField() to set
 HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
 httpHead(), httpOptions(), httpPost, or httpPut().
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpSetCookie">httpSetCookie</a></h3>
-        <p class="description">Set the cookie value(s).</p>
+<h3 class="function"><a id="httpSetCookie">httpSetCookie</a></h3>
+        <p class="description">Array of credentials</p>
 <p class="code">
 void httpSetCookie (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -5960,13 +4270,16 @@ void httpSetCookie (<br>
 <dt>cookie</dt>
         <dd class="description">Cookie string</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the cookie value(s).</p>
+        <p class="discussion"></p>
 <h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpSetCredentials">httpSetCredentials</a></h3>
         <p class="description">Set the credentials associated with an encrypted
 connection.</p>
 <p class="code">
 int httpSetCredentials (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_array_t">cups_array_t</a> *credentials<br>
+&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -5977,8 +4290,8 @@ int httpSetCredentials (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
-        <p class="description">Set the default value of an HTTP header.</p>
+<h3 class="function"><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
+        <p class="description">Cookie string</p>
 <p class="code">
 void httpSetDefaultField (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -5994,13 +4307,14 @@ void httpSetDefaultField (<br>
 <dt>value</dt>
         <dd class="description">Value</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default value of an HTTP header.</p>
         <p class="discussion">Currently only <code>HTTP_FIELD_ACCEPT_ENCODING</code>, <code>HTTP_FIELD_SERVER</code>,
 and <code>HTTP_FIELD_USER_AGENT</code> can be set.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSetExpect">httpSetExpect</a></h3>
-        <p class="description">Set the Expect: header in a request.</p>
+<h3 class="function"><a id="httpSetExpect">httpSetExpect</a></h3>
+        <p class="description">Value</p>
 <p class="code">
 void httpSetExpect (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -6014,13 +4328,15 @@ void httpSetExpect (<br>
         <dd class="description">HTTP status to expect
 (<code>HTTP_STATUS_CONTINUE</code>)</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the Expect: header in a request.</p>
         <p class="discussion">Currently only <code>HTTP_STATUS_CONTINUE</code> is supported for the &quot;expect&quot;
 argument.
 
 </p>
 <h3 class="function"><a id="httpSetField">httpSetField</a></h3>
-        <p class="description">Set the value of an HTTP header.</p>
+        <p class="description">HTTP status to expect
+(<code>HTTP_STATUS_CONTINUE</code>)</p>
 <p class="code">
 void httpSetField (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -6036,8 +4352,10 @@ void httpSetField (<br>
 <dt>value</dt>
         <dd class="description">Value</dd>
 </dl>
-<h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpSetKeepAlive">httpSetKeepAlive</a></h3>
-        <p class="description">Set the current Keep-Alive state of a connection.</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the value of an HTTP header.</p>
+<h3 class="function"><a id="httpSetKeepAlive">httpSetKeepAlive</a></h3>
+        <p class="description">Check for a trailing dot on the hostname...</p>
 <p class="code">
 void httpSetKeepAlive (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -6050,8 +4368,11 @@ void httpSetKeepAlive (<br>
 <dt>keep_alive</dt>
         <dd class="description">New Keep-Alive value</dd>
 </dl>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSetLength">httpSetLength</a></h3>
-        <p class="description">Set the content-length and content-encoding.</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the current Keep-Alive state of a connection.</p>
+        <p class="discussion"></p>
+<h3 class="function"><a id="httpSetLength">httpSetLength</a></h3>
+        <p class="description">New Keep-Alive value</p>
 <p class="code">
 void httpSetLength (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -6064,8 +4385,11 @@ void httpSetLength (<br>
 <dt>length</dt>
         <dd class="description">Length (0 for chunked)</dd>
 </dl>
-<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpSetTimeout">httpSetTimeout</a></h3>
-        <p class="description">Set read/write timeouts and an optional callback.</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the content-length and content-encoding.</p>
+        <p class="discussion"></p>
+<h3 class="function"><a id="httpSetTimeout">httpSetTimeout</a></h3>
+        <p class="description">Length (0 for chunked)</p>
 <p class="code">
 void httpSetTimeout (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
@@ -6085,13 +4409,14 @@ must be greater than 0</dd>
 <dt>user_data</dt>
         <dd class="description">User data pointer</dd>
 </dl>
-<h4 class="discussion">Discussion</h4>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set read/write timeouts and an optional callback.</p>
         <p class="discussion">The optional timeout callback receives both the HTTP connection and a user
 data pointer and must return 1 to continue or 0 to error (time) out.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpShutdown">httpShutdown</a></h3>
-        <p class="description">Shutdown one side of an HTTP connection.</p>
+<h3 class="function"><a id="httpShutdown">httpShutdown</a></h3>
+        <p class="description">User data pointer</p>
 <p class="code">
 void httpShutdown (<br>
 &#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
@@ -6101,6 +4426,9 @@ void httpShutdown (<br>
 <dt>http</dt>
         <dd class="description">HTTP connection</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Shutdown one side of an HTTP connection.</p>
+        <p class="discussion"></p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpStateString">httpStateString</a></h3>
         <p class="description">Return the string describing a HTTP state value.</p>
 <p class="code">
@@ -6188,30 +4516,6 @@ int httpWait (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if data is available, 0 otherwise</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpWrite">httpWrite</a></h3>
-        <p class="description">Write data to a HTTP connection.</p>
-<p class="code">
-int httpWrite (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *buffer,<br>
-&#160;&#160;&#160;&#160;int length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer for data</dd>
-<dt>length</dt>
-        <dd class="description">Number of bytes to write</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Number of bytes written</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">This function is deprecated. Use the httpWrite2() function which can
-write more than 2GB of data.
-
-</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpWrite2">httpWrite2</a></h3>
         <p class="description">Write data to a HTTP connection.</p>
 <p class="code">
@@ -7082,7 +5386,7 @@ itself.
         <p class="description">Create a CUPS array of attribute names from the
 given requested-attributes attribute.</p>
 <p class="code">
-<a href="#cups_array_t">cups_array_t</a> *ippCreateRequestedArray (<br>
+cups_array_t *ippCreateRequestedArray (<br>
 &#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *request<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -7122,7 +5426,7 @@ time_t ippDateToTime (<br>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">UNIX time value</p>
 <h3 class="function"><a id="ippDelete">ippDelete</a></h3>
-        <p class="description">Delete an IPP message.</p>
+        <p class="description">RFC-1903 date/time format is:</p>
 <p class="code">
 void ippDelete (<br>
 &#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
@@ -7132,8 +5436,23 @@ void ippDelete (<br>
 <dt>ipp</dt>
         <dd class="description">IPP message</dd>
 </dl>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippDeleteAttribute">ippDeleteAttribute</a></h3>
-        <p class="description">Delete a single attribute in an IPP message.</p>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Delete an IPP message.</p>
+<h4 class="discussion">Discussion</h4>
+        <p class="discussion">Byte(s)  Description
+-------  -----------
+0-1      Year (0 to 65535)
+2        Month (1 to 12)
+3        Day (1 to 31)
+4        Hours (0 to 23)
+5        Minutes (0 to 59)
+6        Seconds (0 to 60, 60 = &quot;leap second&quot;)
+7        Deciseconds (0 to 9)
+8        +/- UTC
+9        UTC hours (0 to 11)
+10       UTC minutes (0 to 59)</p>
+<h3 class="function"><a id="ippDeleteAttribute">ippDeleteAttribute</a></h3>
+        <p class="description">Next attribute</p>
 <p class="code">
 void ippDeleteAttribute (<br>
 &#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
@@ -7146,6 +5465,9 @@ void ippDeleteAttribute (<br>
 <dt>attr</dt>
         <dd class="description">Attribute to delete</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Delete a single attribute in an IPP message.</p>
+        <p class="discussion"></p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippDeleteValues">ippDeleteValues</a></h3>
         <p class="description">Delete values in an attribute.</p>
 <p class="code">
@@ -8001,7 +6323,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 
 </p>
 <h3 class="function"><a id="ippSetPort">ippSetPort</a></h3>
-        <p class="description">Set the default port number.</p>
+        <p class="description">Pointer to library globals</p>
 <p class="code">
 void ippSetPort (<br>
 &#160;&#160;&#160;&#160;int p<br>
@@ -8011,6 +6333,8 @@ void ippSetPort (<br>
 <dt>p</dt>
         <dd class="description">Port number to use</dd>
 </dl>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Set the default port number.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetRange">ippSetRange</a></h3>
         <p class="description">Set a rangeOfInteger value in an attribute.</p>
 <p class="code">
@@ -8643,47 +6967,11 @@ thread.
 
 </p>
       <h2 class="title"><a id="TYPES">Data Types</a></h2>
-      <h3 class="typedef"><a id="cups_acopy_func_t">cups_acopy_func_t</a></h3>
-        <p class="description">Array element copy function</p>
-      <p class="code">
-typedef void *(*)(void *element, void *data)cups_acopy_func_t;
-</p>
-      <h3 class="typedef"><a id="cups_afree_func_t">cups_afree_func_t</a></h3>
-        <p class="description">Array element free function</p>
-      <p class="code">
-typedef void(*)(void *element, void *data)cups_afree_func_t;
-</p>
-      <h3 class="typedef"><a id="cups_ahash_func_t">cups_ahash_func_t</a></h3>
-        <p class="description">Array hash function</p>
-      <p class="code">
-typedef int(*)(void *element, void *data)cups_ahash_func_t;
-</p>
-      <h3 class="typedef"><a id="cups_array_func_t">cups_array_func_t</a></h3>
-        <p class="description">Array comparison function</p>
-      <p class="code">
-typedef int(*)(void *first, void *second, void *data)cups_array_func_t;
-</p>
-      <h3 class="typedef"><a id="cups_array_t">cups_array_t</a></h3>
-        <p class="description">CUPS array type</p>
-      <p class="code">
-typedef struct _cups_array_s cups_array_t;
-</p>
       <h3 class="typedef"><a id="cups_client_cert_cb_t"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span>cups_client_cert_cb_t</a></h3>
         <p class="description">Client credentials callback
 </p>
       <p class="code">
-typedef int(*)(http_t *http, void *tls, <a href="#cups_array_t">cups_array_t</a> *distinguished_names, void *user_data)cups_client_cert_cb_t;
-</p>
-      <h3 class="typedef"><a id="cups_dentry_t">cups_dentry_t</a></h3>
-        <p class="description">Directory entry type</p>
-      <p class="code">
-typedef struct <a href="#cups_dentry_s">cups_dentry_s</a> cups_dentry_t;
-</p>
-      <h3 class="typedef"><a id="cups_dest_block_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>cups_dest_block_t</a></h3>
-        <p class="description">Destination enumeration block
-</p>
-      <p class="code">
-typedef int()(unsigned flags, <a href="#cups_dest_t">cups_dest_t</a> *dest)cups_dest_block_t;
+typedef int(*)(http_t *http, void *tls, cups_array_t *distinguished_names, void *user_data)cups_client_cert_cb_t;
 </p>
       <h3 class="typedef"><a id="cups_dest_cb_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>cups_dest_cb_t</a></h3>
         <p class="description">Destination enumeration callback
@@ -8701,21 +6989,11 @@ typedef struct <a href="#cups_dest_s">cups_dest_s</a> cups_dest_t;
 information </p>
       <p class="code">
 typedef struct _cups_dinfo_s cups_dinfo_t;
-</p>
-      <h3 class="typedef"><a id="cups_dir_t">cups_dir_t</a></h3>
-        <p class="description">Directory type</p>
-      <p class="code">
-typedef struct _cups_dir_s cups_dir_t;
 </p>
       <h3 class="typedef"><a id="cups_encoding_t">cups_encoding_t</a></h3>
         <p class="description">Language Encodings</p>
       <p class="code">
 typedef enum <a href="#cups_encoding_e">cups_encoding_e</a> cups_encoding_t;
-</p>
-      <h3 class="typedef"><a id="cups_file_t">cups_file_t</a></h3>
-        <p class="description">CUPS file type</p>
-      <p class="code">
-typedef struct _cups_file_s cups_file_t;
 </p>
       <h3 class="typedef"><a id="cups_job_t">cups_job_t</a></h3>
         <p class="description">Job</p>
@@ -8737,11 +7015,6 @@ typedef struct <a href="#cups_option_s">cups_option_s</a> cups_option_t;
 </p>
       <p class="code">
 typedef const char *(*)(const char *prompt, <a href="#http_t">http_t</a> *http, const char *method, const char *resource, void *user_data)cups_password_cb2_t;
-</p>
-      <h3 class="typedef"><a id="cups_password_cb_t">cups_password_cb_t</a></h3>
-        <p class="description">Password callback</p>
-      <p class="code">
-typedef const char *(*)(const char *prompt)cups_password_cb_t;
 </p>
       <h3 class="typedef"><a id="cups_ptype_t">cups_ptype_t</a></h3>
         <p class="description">Printer type/capability bits</p>
@@ -8752,17 +7025,12 @@ typedef unsigned cups_ptype_t;
         <p class="description">Server credentials callback
 </p>
       <p class="code">
-typedef int(*)(http_t *http, void *tls, <a href="#cups_array_t">cups_array_t</a> *certs, void *user_data)cups_server_cert_cb_t;
+typedef int(*)(http_t *http, void *tls, cups_array_t *certs, void *user_data)cups_server_cert_cb_t;
 </p>
       <h3 class="typedef"><a id="cups_size_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>cups_size_t</a></h3>
         <p class="description">Media Size </p>
       <p class="code">
 typedef struct <a href="#cups_size_s">cups_size_s</a> cups_size_t;
-</p>
-      <h3 class="typedef"><a id="gss_auth_identity_desc">gss_auth_identity_desc</a></h3>
-        <p class="description">Local functions...</p>
-      <p class="code">
-typedef struct <a href="#gss_auth_identity">gss_auth_identity</a> gss_auth_identity_desc;
 </p>
       <h3 class="typedef"><a id="http_addr_t"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span>http_addr_t</a></h3>
         <p class="description">Socket address union, which
@@ -8929,19 +7197,6 @@ typedef struct <a href="#pwg_media_s">pwg_media_s</a> pwg_media_t;
 typedef struct <a href="#pwg_size_s">pwg_size_s</a> pwg_size_t;
 </p>
       <h2 class="title"><a id="STRUCTURES">Structures</a></h2>
-<h3 class="struct"><a id="cups_dentry_s">cups_dentry_s</a></h3>
-        <p class="description">Directory entry type</p>
-<p class="code">struct cups_dentry_s {<br>
-&#160;&#160;&#160;&#160;struct stat fileinfo;<br>
-&#160;&#160;&#160;&#160;char filename[260];<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>fileinfo </dt>
-        <dd class="description">File information</dd>
-<dt>filename[260] </dt>
-        <dd class="description">File name</dd>
-</dl>
 <h3 class="struct"><a id="cups_dest_s">cups_dest_s</a></h3>
         <p class="description">Destination</p>
 <p class="code">struct cups_dest_s {<br>
@@ -9047,25 +7302,6 @@ typedef struct <a href="#pwg_size_s">pwg_size_s</a> pwg_size_t;
         <dd class="description">Top margin in hundredths of
 millimeters</dd>
 </dl>
-<h3 class="struct"><a id="gss_auth_identity">gss_auth_identity</a></h3>
-        <p class="description">Local functions...</p>
-<p class="code">struct gss_auth_identity {<br>
-&#160;&#160;&#160;&#160;gss_buffer_t *credentialsRef;<br>
-&#160;&#160;&#160;&#160;uint32_t flags;<br>
-&#160;&#160;&#160;&#160;char *password;<br>
-&#160;&#160;&#160;&#160;char *realm;<br>
-&#160;&#160;&#160;&#160;uint32_t type;<br>
-&#160;&#160;&#160;&#160;char *username;<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>credentialsRef </dt>
-<dt>flags </dt>
-<dt>password </dt>
-<dt>realm </dt>
-<dt>type </dt>
-<dt>username </dt>
-</dl>
 <h3 class="struct"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="http_addrlist_s">http_addrlist_s</a></h3>
         <p class="description">Socket address list, which is
 used to enumerate all of the
@@ -9095,17 +7331,6 @@ with a hostname. </p>
 <dt>datalen </dt>
         <dd class="description">Credential length</dd>
 </dl>
-<h3 class="struct"><a id="pollfd">pollfd</a></h3>
-        <p class="description">User data (unused)</p>
-<p class="code">struct pollfd *pollfds, unsigned int num_pollfds, int timeout, void *context) {<br>
-&#160;&#160;&#160;&#160;void) context;<br>
-&#160;&#160;&#160;&#160;void) timeout;<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>context </dt>
-<dt>timeout </dt>
-</dl>
 <h3 class="struct"><a id="pwg_map_s">pwg_map_s</a></h3>
         <p class="description">Map element - PPD to/from PWG</p>
 <p class="code">struct pwg_map_s {<br>
@@ -9142,14 +7367,6 @@ with a hostname. </p>
 <dt>top </dt>
         <dd class="description">Top margin in 2540ths</dd>
 </dl>
-      <h2 class="title"><a id="VARIABLES">Variables</a></h2>
-      <h3 class="variable"><a id="CF_RETURNS_RETAINED">CF_RETURNS_RETAINED</a></h3>
-        <p class="description">Get the Apple language identifier associated with a
-locale ID.</p>
-      <p class="code">const char *locale)CF_RETURNS_RETAINED;</p>
-      <h3 class="variable"><a id="environ">environ</a></h3>
-        <p class="description">Constants, very secure stuff...</p>
-      <p class="code">extern char **environ;</p>
       <h2 class="title"><a id="ENUMERATIONS">Constants</a></h2>
       <h3 class="enumeration"><a id="cups_encoding_e">cups_encoding_e</a></h3>
         <p class="description">Language Encodings</p>
@@ -9241,6 +7458,8 @@ locale ID.</p>
 constants</p>
       <h4 class="constants">Constants</h4>
       <dl>
+        <dt>CUPS_PRINTER_3D <span class="info">&#160;DEPRECATED&#160;</span></dt>
+        <dd class="description">Printer with 3D capabilities  </dd>
         <dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
         <dd class="description">Printer requires authentication
 </dd>
@@ -9263,9 +7482,11 @@ constants</p>
         <dd class="description">Can cover output</dd>
         <dt>CUPS_PRINTER_DEFAULT </dt>
         <dd class="description">Default printer on network</dd>
-        <dt>CUPS_PRINTER_DELETE <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
+        <dt>CUPS_PRINTER_DELETE <span class="info">&#160;DEPRECATED&#160;</span></dt>
         <dd class="description">Delete printer
-</dd>
+ </dd>
+        <dt>CUPS_PRINTER_DISCOVERED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
+        <dd class="description">Printer was discovered </dd>
         <dt>CUPS_PRINTER_DUPLEX </dt>
         <dd class="description">Can do two-sided printing</dd>
         <dt>CUPS_PRINTER_FAX </dt>
index 18d4a2b3a9a059e7d2e672ba1b768689e50a7cd5..5d0239c54bdd4f3da74eb8dd88d60ade2083bd06 100644 (file)
@@ -8,6 +8,7 @@
     <meta name="creator" content="Mini-XML v2.11">
     <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;
index 1e3e78b14c3888a5a6aa0793055c7c231cea7314..2807e85b3e7a40bcd22c5682de0522dbc994d746 100644 (file)
@@ -8,6 +8,7 @@
     <meta name="creator" content="Mini-XML v2.11">
     <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;
index 1ae5eb2b5bdb3a5d19665e94bed041f0fdfa2786..3a6f5d830a142f9bd2d57ef2944bcaa88b4bcaa1 100644 (file)
@@ -8,6 +8,7 @@
     <meta name="creator" content="Mini-XML v2.11">
     <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;
index e157aaf3fa7a64ba282b115816173ce7c24845c0..06f5769a844d773850643b0f13b545c161ace322 100644 (file)
@@ -8,6 +8,7 @@
     <meta name="creator" content="Mini-XML v2.11">
     <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;
index 9fecac02c985ff527b89eb4bf3b9a8dc3c2f17a4..3d82cd1ce471a3dd41619f70299ff7f8172fa0a2 100644 (file)
                                72220EBC1333056300FCA411 /* backchannel.c */,
                                72220EBD1333056300FCA411 /* backend.c */,
                                72220ED1133305BB00FCA411 /* debug.c */,
+                               72220ED2133305BB00FCA411 /* dest.c */,
                                72CF95E018A13543000FCAE4 /* dest-job.c */,
                                72CF95E118A13543000FCAE4 /* dest-localization.c */,
                                72CF95E218A13543000FCAE4 /* dest-options.c */,
-                               72220ED2133305BB00FCA411 /* dest.c */,
                                72220ED3133305BB00FCA411 /* dir.c */,
                                72220ED4133305BB00FCA411 /* dir.h */,
                                72220ED6133305BB00FCA411 /* encode.c */,
                                72220EDC133305BB00FCA411 /* getputfile.c */,
                                72220EDD133305BB00FCA411 /* globals.c */,
                                7284F9EF1BFCCD940026F886 /* hash.c */,
+                               72220EE2133305BB00FCA411 /* http.c */,
                                72220EDE133305BB00FCA411 /* http-addr.c */,
                                72220EDF133305BB00FCA411 /* http-addrlist.c */,
                                72220EE1133305BB00FCA411 /* http-support.c */,
-                               72220EE2133305BB00FCA411 /* http.c */,
                                72220EE5133305BB00FCA411 /* ipp-support.c */,
                                72220EE6133305BB00FCA411 /* ipp.c */,
                                72220EE8133305BB00FCA411 /* langprintf.c */,