]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Update documentation.
authorMichael R Sweet <msweet@msweet.org>
Thu, 27 Feb 2025 16:06:39 +0000 (11:06 -0500)
committerMichael R Sweet <msweet@msweet.org>
Thu, 27 Feb 2025 16:06:39 +0000 (11:06 -0500)
56 files changed:
cups/adminutil.c
cups/adminutil.h
cups/array.c
cups/auth.c
cups/backchannel.c
cups/backend.c
cups/cups.h
cups/cupspm.md
cups/dest-job.c
cups/dest-localization.c
cups/dest-options.c
cups/dest.c
cups/dir.c
cups/encode.c
cups/file.c
cups/getifaddrs-internal.h
cups/getputfile.c
cups/globals.c
cups/http-addr.c
cups/http-addrlist.c
cups/http-support.c
cups/http.c
cups/ipp-support.c
cups/ipp.c
cups/ipp.h
cups/notify.c
cups/options.c
cups/ppd-attr.c
cups/ppd-conflicts.c
cups/ppd-custom.c
cups/ppd-emit.c
cups/ppd-localize.c
cups/ppd-mark.c
cups/ppd-page.c
cups/ppd-util.c
cups/ppd.c
cups/ppd.h
cups/pwg-media.c
cups/rand.c
cups/raster-interpret.c
cups/raster-interstub.c
cups/raster-stream.c
cups/raster-stubs.c
cups/raster.h
cups/request.c
cups/sidechannel.c
cups/sidechannel.h
cups/tempfile.c
cups/testhttp.c
cups/usersys.c
cups/util.c
doc/help/api-admin.html
doc/help/api-filter.html
doc/help/api-ppd.html
doc/help/cupspm.epub
doc/help/cupspm.html

index 448164a366afc12bb5da622f77277c80f67a6ce3..9fa58a24a28c51e5ba3639f22082c8ea29551b5e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Administration utility API definitions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 2001-2007 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include "ppd.h"
@@ -91,7 +87,7 @@ cupsAdminExportSamba(
  * The returned settings should be freed with cupsFreeOptions() when
  * you are done with them.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -406,7 +402,7 @@ cupsAdminGetServerSettings(
 /*
  * 'cupsAdminSetServerSettings()' - Set settings on the server.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
index 028acf8864b0061b25f9f1958d13b61a40627136..eabe7ed7fdb92d680a816a604426839e670662c8 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Administration utility API definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2016 by Apple Inc.
 // Copyright © 2001-2007 by Easy Software Products.
 //
@@ -34,7 +34,7 @@ extern "C" {
 //
 
 typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
-                                       // Device callback @since CUPS 1.4/macOS 10.6@
+                                       // Device callback @since CUPS 1.4@
 
 
 //
index e52fa32270ef41557439ae574daf9cc9f11a151d..a12ce99cd9ff968eb5c4fc0c8567145f6d2e0721 100644 (file)
@@ -65,7 +65,7 @@ static int    cups_array_find(cups_array_t *a, void *e, int prev, int *rdiff);
 // appended at the end of the run of identical elements.  For unsorted arrays,
 // the element is appended to the end of the array.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -183,7 +183,7 @@ cupsArrayAddStrings(cups_array_t *a,        // I - Array
 // The caller is responsible for freeing the memory used by the
 // elements themselves.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void
@@ -248,7 +248,7 @@ cupsArrayCurrent(cups_array_t *a)   // I - Array
 // The caller is responsible for freeing the memory used by the
 // elements themselves.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void
@@ -283,7 +283,7 @@ cupsArrayDelete(cups_array_t *a)    // I - Array
 //
 // 'cupsArrayDup()' - Duplicate the array.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_array_t *                         // O - Duplicate array
@@ -347,7 +347,7 @@ cupsArrayDup(cups_array_t *a)               // I - Array
 //
 // 'cupsArrayFind()' - Find an element in the array.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void *                                 // O - Element found or `NULL`
@@ -520,7 +520,7 @@ cupsArrayGetFirst(cups_array_t *a)  // I - Array
 // The current element is undefined until you call @link cupsArrayFind@,
 // @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 int                                    // O - Index of the current element, starting at 0
@@ -536,7 +536,7 @@ cupsArrayGetIndex(cups_array_t *a)  // I - Array
 //
 // 'cupsArrayGetInsert()' - Get the index of the last inserted element.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 int                                    // O - Index of the last inserted element, starting at 0
@@ -666,7 +666,7 @@ cupsArrayIndex(cups_array_t *a,             // I - Array
 // inserted at the beginning of the run of identical elements.  For unsorted
 // arrays, the element is inserted at the beginning of the array.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on failure, 1 on success
@@ -761,7 +761,7 @@ cupsArrayNew2(cups_array_cb_t  f,   // I - Comparison function or `NULL` for an un
 // removed with @link cupsArrayRemove@ or the array is deleted with
 // @link cupsArrayDelete@.
 //
-// @since CUPS 1.5/macOS 10.7@
+// @since CUPS 1.5@
 //
 
 cups_array_t *                         // O - Array
@@ -881,7 +881,7 @@ cupsArrayPrev(cups_array_t *a)              // I - Array
 // The caller is responsible for freeing the memory used by the
 // removed element.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -938,7 +938,7 @@ cupsArrayRemove(cups_array_t *a,    // I - Array
 //
 // 'cupsArrayRestore()' - Reset the current element to the last @link cupsArraySave@.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void *                                 // O - New current element
@@ -969,7 +969,7 @@ cupsArrayRestore(cups_array_t *a)   // I - Array
 //
 // The save/restore stack is guaranteed to be at least 32 elements deep.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 1 on success, 0 on failure
index e1a361cfe1e38279be005c459fb04312bfe09c70..040837ea164a08797f71f7ce076d32d16a0303e7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Authentication functions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products.
  *
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include <fcntl.h>
@@ -102,7 +98,7 @@ static int   cups_local_auth(http_t *http);
  * This function should be called in response to a @code HTTP_STATUS_UNAUTHORIZED@
  * status, prior to resubmitting your request.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 int                                    /* O - 0 on success, -1 on error */
index 62d1cda102aa2a1cd7565d68595c4b81fa3cab7c..05c96881843b83ae5b62592607f01651455b27b5 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Backchannel functions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2014 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2014 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups.h"
 #include "sidechannel.h"
 #include <errno.h>
@@ -38,7 +34,7 @@ static void   cups_setup(fd_set *set, struct timeval *tval,
  * parameter controls how many seconds to wait for the data - use 0.0 to
  * return immediately if there is no data, -1.0 to wait for data indefinitely.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ssize_t                                        /* O - Bytes read or -1 on error */
@@ -89,7 +85,7 @@ cupsBackChannelRead(char   *buffer,   /* I - Buffer to read into */
  * 0.0 to return immediately if the data cannot be written, -1.0 to wait
  * indefinitely.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ssize_t                                        /* O - Bytes written or -1 on error */
index 59af0f7daffe6a62889eb83ec439315927d351eb..dfe51be321c074cdf6155b9805e11d8764dc5398 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Backend functions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2015 by Apple Inc.
- * Copyright 2006 by Easy Software Products.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2015 by Apple Inc.
+ * Copyright © 2006 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "backend.h"
 #include "ppd.h"
@@ -32,7 +28,7 @@ static void   quote_string(const char *s);
  * variable or the device URI passed in argv[0], whichever is found
  * first.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 const char *                           /* O - Device URI or @code NULL@ */
@@ -79,7 +75,7 @@ cupsBackendDeviceURI(char **argv)     /* I - Command-line arguments */
  * It handles quoting of special characters in the device-make-and-model,
  * device-info, device-id, and device-location strings.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 void
index 72cd74379607ccdc5bc52e0cce51cbf3ac9a4052..b98d36f91e0064efe7253fb78eac5171fe6068fe 100644 (file)
@@ -1,7 +1,7 @@
 //
 // API definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2020 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products.
 //
@@ -296,7 +296,7 @@ typedef struct cups_dest_s          // Destination
 } cups_dest_t;
 
 typedef struct _cups_dinfo_s cups_dinfo_t;
-                                       // Destination capability and status information @since CUPS 1.6/macOS 10.8@
+                                       // Destination capability and status information @since CUPS 1.6@
 
 typedef struct cups_job_s              // Job information
 {
@@ -345,7 +345,7 @@ typedef bool (*cups_cert_san_cb_t)(const char *common_name, const char *subject_
                                        // Certificate signing subjectAltName callback
 
 typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags, cups_dest_t *dest);
-                                       // Destination enumeration callback @since CUPS 1.6/macOS 10.8@
+                                       // Destination enumeration callback @since CUPS 1.6@
 
 #  ifdef __BLOCKS__
 typedef int (^cups_dest_block_t)(unsigned flags, cups_dest_t *dest);
@@ -359,7 +359,7 @@ typedef const char *(*cups_password_cb_t)(const char *prompt);
                                        // Password callback @deprecated@ @exclude all@
 
 typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http, const char *method, const char *resource, void *user_data);
-                                       // New password callback @since CUPS 1.4/macOS 10.6@
+                                       // New password callback @since CUPS 1.4@
 
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls, cups_array_t *certs, void *user_data);
                                        // Server credentials callback @deprecated@
index a97edc0fb466a61a655441630614c4837effdecc..c713c03ec6b90498b1148eeb0e3f74dc1a3163c5 100644 (file)
@@ -1,7 +1,7 @@
 ---
 title: CUPS Programming Manual
 author: Michael R Sweet
-copyright: Copyright © 2020-2024 by OpenPrinting. All Rights Reserved.
+copyright: Copyright © 2020-2025 by OpenPrinting. All Rights Reserved.
 version: 2.5.0
 ...
 
index e8bf3b60c733b1a27d0fd686247086c2905ba0df..4d33a074d5b3a4d80d53b4d8f57eab7d6b6b7cfd 100644 (file)
@@ -1,16 +1,12 @@
 /*
  * Destination job support for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2012-2017 by Apple Inc.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2012-2017 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 
@@ -24,7 +20,7 @@
  * @code IPP_STATUS_ERROR_NOT_AUTHORIZED@ or
  * @code IPP_STATUS_ERROR_FORBIDDEN@ on failure.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 ipp_status_t                            /* O - Status of cancel operation */
@@ -62,7 +58,7 @@ cupsCancelDestJob(http_t      *http,  /* I - Connection to destination */
  * "job_id" is the job ID returned by cupsCreateDestJob. Returns @code IPP_STATUS_OK@
  * on success.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -152,7 +148,7 @@ cupsCloseDestJob(
  * Returns @code IPP_STATUS_OK@ or @code IPP_STATUS_OK_SUBST@ on success, saving the job ID
  * in the variable pointed to by "job_id".
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -247,7 +243,7 @@ cupsCreateDestJob(
  *
  * Returns @code IPP_STATUS_OK@ or @code IPP_STATUS_OK_SUBST@ on success.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -298,7 +294,7 @@ cupsFinishDestDocument(
  * if this is the last document to be submitted in the job.  Returns
  * @code HTTP_CONTINUE@ on success.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 http_status_t                          /* O - Status of document creation */
index 617c5c0414a73456522eb258799c6a8e8f46ec99..13232cd3b58369cea0cde3914e543cf01c4dd030 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Destination localization support for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2012-2017 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 
@@ -33,7 +29,7 @@ static void   cups_create_localizations(http_t *http, cups_dinfo_t *dinfo);
  * The returned string is stored in the destination information and will become
  * invalid if the destination information is deleted.
  *
- * @since CUPS 2.0/macOS 10.10@
+ * @since CUPS 2.0@
  */
 
 const char *                           /* O - Localized string */
@@ -305,7 +301,7 @@ cupsLocalizeDestMedia2(
  * The returned string is stored in the destination information and will become
  * invalid if the destination information is deleted.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 const char *                           /* O - Localized string */
@@ -345,7 +341,7 @@ cupsLocalizeDestOption(
  * The returned string is stored in the destination information and will become
  * invalid if the destination information is deleted.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 const char *                           /* O - Localized string */
index b4ccfcc70e66017720674f6bc00ee8f01cb9b77f..006113a4d6e378e19a51b69e8fcc814dd278ac84 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Destination option/media support for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2012-2019 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
@@ -47,7 +47,7 @@ static void           cups_update_ready(http_t *http, cups_dinfo_t *dinfo);
 /*
  * 'cupsAddDestMediaOptions()' - Add the option corresponding to the specified media size.
  *
- * @since CUPS 2.3/macOS 10.14@
+ * @since CUPS 2.3@
  */
 
 int                                    /* O  - New number of options */
@@ -246,7 +246,7 @@ cupsAddDestMediaOptions2(
  *
  * Returns 1 if supported, 0 otherwise.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 int                                    /* O - 1 if supported, 0 otherwise */
@@ -462,7 +462,7 @@ cupsCheckDestSupported(
  * If cupsCopyDestConflicts returns 1 but "num_resolved" and "resolved" are set
  * to 0 and `NULL`, respectively, then the conflict cannot be resolved.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 int                                    /* O - 1 if there is a conflict, 0 if none, -1 on error */
@@ -958,7 +958,7 @@ cupsCopyDestInfo2(
  * @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
  * functions to inspect the default value(s) as needed.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 ipp_attribute_t        *                       /* O - Default attribute or `NULL` for none */
@@ -1006,7 +1006,7 @@ cupsFindDestDefault(
  * @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
  * functions to inspect the default value(s) as needed.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 ipp_attribute_t        *                       /* O - Default attribute or `NULL` for none */
@@ -1056,7 +1056,7 @@ cupsFindDestReady(
  * @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
  * functions to inspect the default value(s) as needed.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 ipp_attribute_t        *                       /* O - Default attribute or `NULL` for none */
@@ -1099,7 +1099,7 @@ cupsFindDestSupported(
  * 'cupsFreeDestInfo()' - Free destination information obtained using
  *                        @link cupsCopyDestInfo@.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 void
@@ -1144,7 +1144,7 @@ cupsFreeDestInfo(cups_dinfo_t *dinfo)     /* I - Destination information */
  * example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will get the Nth
  * borderless size supported by the printer.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -1337,7 +1337,7 @@ cupsGetDestMediaByIndex2(
  *
  * Returns 1 when there is a match and 0 if there is not a match.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 int                                    /* O - 1 on match, 0 on failure */
@@ -1411,7 +1411,7 @@ cupsGetDestMediaByName(
  *
  * Returns `true` when there is a match and `false` if there is not a match.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 bool                                   /* O - `true` on match, `false` on failure */
@@ -1485,7 +1485,7 @@ cupsGetDestMediaByName2(
  *
  * Returns 1 when there is a match and 0 if there is not a match.
  *
- * @since CUPS 1.6/macOS 10.8@
+ * @since CUPS 1.6@
  */
 
 int                                    /* O - 1 on match, 0 on failure */
@@ -1622,7 +1622,7 @@ cupsGetDestMediaBySize2(
  * counted.  For example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return
  * the number of borderless sizes.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 int                                    /* O - Number of sizes */
@@ -1670,7 +1670,7 @@ cupsGetDestMediaCount(
  * example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return the default
  * borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
index f0067100a60451de8ad0e8ce82eab4a422158999..3659f5f75fc1647ea59a2348662f607f89845381 100644 (file)
@@ -1,7 +1,7 @@
 //
 // User-defined destination (and option) support for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products.
 //
@@ -493,7 +493,7 @@ _cupsAppleSetUseLastPrinter(
 // the destination.  Otherwise, the connection is made to the CUPS scheduler
 // associated with the destination.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 http_t *                               // O - Connection to destination or @code NULL@
@@ -682,7 +682,7 @@ cupsConnectDest(
 // the destination.  Otherwise, the connection is made to the CUPS scheduler
 // associated with the destination.
 //
-// @since CUPS 1.6/macOS 10.8@ @exclude all@
+// @since CUPS 1.6@ @exclude all@
 //
 
 http_t *                               // O - Connection to destination or @code NULL@
@@ -708,7 +708,7 @@ cupsConnectDestBlock(
 // copy) - for use with the cupsEnumDests* functions. The caller is responsible
 // for calling cupsFreeDests() on the returned object(s).
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                     // O  - New number of destinations
@@ -876,7 +876,7 @@ _cupsCreateDest(const char *name,   // I - Printer name
 // Note: The callback function will likely receive multiple updates for the same
 // destinations - it is up to the caller to suppress any duplicate destinations.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -913,7 +913,7 @@ cupsEnumDests(
 // Note: The block will likely receive multiple updates for the same
 // destinations - it is up to the caller to suppress any duplicate destinations.
 //
-// @since CUPS 1.6/macOS 10.8@ @exclude all@
+// @since CUPS 1.6@ @exclude all@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -1126,7 +1126,7 @@ _cupsGetDestResource(
 //
 // "uri" is the "ipp" or "ipps" URI for the printer.
 //
-// @since CUPS 2.0/macOS 10.10@
+// @since CUPS 2.0@
 //
 
 cups_dest_t *                          // O - Destination or @code NULL@
@@ -1555,7 +1555,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@
 //
 
 int                                    // O - Number of destinations
@@ -1651,7 +1651,7 @@ cupsGetDests2(http_t      *http,  // I - Connection to server or @code CUPS_HTTP_
 // The returned destination must be freed using @link cupsFreeDests@ with a
 // "num_dests" value of 1.
 //
-// @since CUPS 1.4/macOS 10.6@
+// @since CUPS 1.4@
 //
 
 cups_dest_t *                          // O - Destination or @code NULL@
@@ -1836,7 +1836,7 @@ cupsGetNamedDest(http_t     *http,        // I - Connection to server or @code CUPS_HTT
 // @link cupsSetDests@ or @link cupsSetDests2@ functions to save the new
 // options for the user.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 int                                    // O  - New number of destinations
@@ -1882,7 +1882,7 @@ cupsRemoveDest(const char  *name, // I  - Destination name
 //
 // 'cupsSetDefaultDest()' - Set the default destination.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 void
@@ -1939,7 +1939,7 @@ cupsSetDests(int         num_dests,       // I - Number of destinations
 // This function saves the destinations to /etc/cups/lpoptions when run
 // as root and ~/.cups/lpoptions when run as a normal user.
 //
-// @since CUPS 1.1.21/macOS 10.4@
+// @since CUPS 1.1.21@
 //
 
 int                                    // O - 0 on success, -1 on error
index ff5ea31620092610715703b758f2b99a88689e05..9bcd6c858a47a57f73edc5ffe095705d563bfa87 100644 (file)
@@ -3,7 +3,7 @@
  *
  * This set of APIs abstracts enumeration of directory entries.
  *
- * Copyright © 2022-2024 by OpenPrinting.
+ * Copyright © 2022-2025 by OpenPrinting.
  * Copyright © 2007-2021 by Apple Inc.
  * Copyright © 1997-2005 by Easy Software Products, all rights reserved.
  *
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "string-private.h"
 #include "debug-internal.h"
@@ -103,7 +99,7 @@ _cups_dir_time(FILETIME ft)          /* I - File time */
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
@@ -134,7 +130,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -177,7 +173,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ if there are no more */
@@ -247,7 +243,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
@@ -297,7 +293,7 @@ struct _cups_dir_s                  /**** Directory data structure ****/
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
@@ -324,7 +320,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -378,7 +374,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ when there are no more */
@@ -448,7 +444,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
index b5f7c62830edbe536d1db15c455938fee789544f..0e907d734ea93c93fce083fd2fad2a6d28d3eaea 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Option encoding routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 
@@ -694,7 +690,7 @@ _cupsEncodeOption(
 /*
  * 'cupsEncodeOption()' - Encode a single option into an IPP attribute.
  *
- * @since CUPS 2.3/macOS 10.14@
+ * @since CUPS 2.3@
  */
 
 ipp_attribute_t        *                       /* O - New attribute or @code NULL@ on error */
@@ -739,7 +735,7 @@ cupsEncodeOptions(ipp_t         *ipp,               /* I - IPP request/response */
  * function multiple times for each group, or use @link cupsEncodeOptions@
  * to add the standard groups.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
index 226b944606fca6a4c52310fc33006f1ecbf67d18..c4293fc2e9d9c24baf99ffdc96a07f4c8969f322 100644 (file)
@@ -6,7 +6,7 @@
 // our own file functions allows us to provide transparent support of
 // different line endings, gzip'd print files, PPD files, etc.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
@@ -292,7 +292,7 @@ _cupsFileCheckFilter(
 //
 // 'cupsFileClose()' - Close a CUPS file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on success, -1 on error
@@ -411,7 +411,7 @@ cupsFileCompression(cups_file_t *fp)        // I - CUPS file
 //
 // 'cupsFileEOF()' - Return the end-of-file status.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 1 on end of file, 0 otherwise
@@ -430,7 +430,7 @@ cupsFileEOF(cups_file_t *fp)                // I - CUPS file
 // the supplied paths, @code NULL@ is returned. A @code NULL@ path only
 // matches the current directory.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 const char *                           // O - Full path to file or @code NULL@ if not found
@@ -519,7 +519,7 @@ cupsFileFind(const char *filename,  // I - File to find
 //
 // 'cupsFileFlush()' - Flush pending output.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on success, -1 on error
@@ -561,7 +561,7 @@ cupsFileFlush(cups_file_t *fp)              // I - CUPS file
 //
 // 'cupsFileGetChar()' - Get a single character from a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - Character or -1 on end of file
@@ -606,7 +606,7 @@ cupsFileGetChar(cups_file_t *fp)    // I - CUPS file
 //
 // 'cupsFileGetConf()' - Get a line from a configuration file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 char *                                 // O  - Line read or @code NULL@ on end of file or error
@@ -718,7 +718,7 @@ cupsFileGetConf(cups_file_t *fp,    // I  - CUPS file
 // nul-terminated, however you should use the returned length to determine
 // the number of bytes on the line.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 size_t                                 // O - Number of bytes on line or 0 on end of file
@@ -780,7 +780,7 @@ cupsFileGetLine(cups_file_t *fp,    // I - File to read from
 //
 // 'cupsFileGets()' - Get a CR and/or LF-terminated line.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 char *                                 // O - Line read or @code NULL@ on end of file or error
@@ -862,7 +862,7 @@ cupsFileIsCompressed(cups_file_t *fp)       // I - CUPS file
 //
 // 'cupsFileLock()' - Temporarily lock access to a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on success, -1 on error
@@ -885,7 +885,7 @@ cupsFileLock(cups_file_t *fp,               // I - CUPS file
 //
 // 'cupsFileNumber()' - Return the file descriptor associated with a CUPS file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - File descriptor
@@ -917,7 +917,7 @@ cupsFileNumber(cups_file_t *fp)             // I - CUPS file
 // connection as needed, generally preferring IPv6 connections when there is
 // a choice.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_file_t *                          // O - CUPS file or @code NULL@ if the file or socket cannot be opened
@@ -1026,7 +1026,7 @@ cupsFileOpen(const char *filename,        // I - Name of file
 // supplied which enables Flate compression of the file.  Compression is
 // not supported for the "a" (append) mode.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_file_t *                          // O - CUPS file or @code NULL@ if the file could not be opened
@@ -1133,7 +1133,7 @@ _cupsFilePeekAhead(cups_file_t *fp,       // I - CUPS file
 //
 // 'cupsFilePeekChar()' - Peek at the next character from a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - Character or -1 on end of file
@@ -1156,7 +1156,7 @@ cupsFilePeekChar(cups_file_t *fp) // I - CUPS file
 //
 // 'cupsFilePrintf()' - Write a formatted string.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - Number of bytes written or -1 on error
@@ -1249,7 +1249,7 @@ cupsFilePrintf(cups_file_t *fp,           // I - CUPS file
 //
 // 'cupsFilePutChar()' - Write a character.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on success, -1 on error
@@ -1294,7 +1294,7 @@ cupsFilePutChar(cups_file_t *fp,  // I - CUPS file
 //
 // This function handles any comment escaping of the value.
 //
-// @since CUPS 1.4/macOS 10.6@
+// @since CUPS 1.4@
 //
 
 ssize_t                                        // O - Number of bytes written or -1 on error
@@ -1352,7 +1352,7 @@ cupsFilePutConf(cups_file_t *fp,  // I - CUPS file
 //
 // Like the @code fputs@ function, no newline is appended to the string.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - Number of bytes written or -1 on error
@@ -1412,7 +1412,7 @@ cupsFilePuts(cups_file_t *fp,             // I - CUPS file
 //
 // 'cupsFileRead()' - Read from a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ssize_t                                        // O - Number of bytes read or -1 on error
@@ -1481,7 +1481,7 @@ cupsFileRead(cups_file_t *fp,             // I - CUPS file
 // 'cupsFileRewind()' - Set the current file position to the beginning of the
 //                      file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 off_t                                  // O - New file position or -1 on error
@@ -1540,7 +1540,7 @@ cupsFileRewind(cups_file_t *fp)           // I - CUPS file
 //
 // 'cupsFileSeek()' - Seek in a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 off_t                                  // O - New file position or -1 on error
@@ -1664,7 +1664,7 @@ cupsFileSeek(cups_file_t *fp,             // I - CUPS file
 //
 // 'cupsFileStderr()' - Return a CUPS file associated with stderr.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_file_t *                          // O - CUPS file
@@ -1691,7 +1691,7 @@ cupsFileStderr(void)
 //
 // 'cupsFileStdin()' - Return a CUPS file associated with stdin.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_file_t *                          // O - CUPS file
@@ -1715,7 +1715,7 @@ cupsFileStdin(void)
 //
 // 'cupsFileStdout()' - Return a CUPS file associated with stdout.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 cups_file_t *                          // O - CUPS file
@@ -1742,7 +1742,7 @@ cupsFileStdout(void)
 //
 // 'cupsFileTell()' - Return the current file position.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 off_t                                  // O - File position
@@ -1758,7 +1758,7 @@ cupsFileTell(cups_file_t *fp)             // I - CUPS file
 //
 // 'cupsFileUnlock()' - Unlock access to a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 0 on success, -1 on error
@@ -1782,7 +1782,7 @@ cupsFileUnlock(cups_file_t *fp)           // I - CUPS file
 //
 // 'cupsFileWrite()' - Write to a file.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ssize_t                                        // O - Number of bytes written or -1 on error
index 1702b5d2542376983e6833c6eedff35ae7317e8d..6cfe76c6793dbc92ac18162501019a94f0d37db9 100644 (file)
@@ -1,7 +1,7 @@
 //
 // getifaddrs definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
index a65f310c24a20a3e36e46eb5655827c03dbe112a..229bc111eb8c0d94f5ac20a8bac009a98d99e19e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Get/put file functions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2018 by Apple Inc.
  * Copyright © 1997-2006 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include <fcntl.h>
@@ -29,7 +25,7 @@
  *
  * This function returns @code HTTP_STATUS_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -212,7 +208,7 @@ cupsGetFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  *
  * This function returns @code HTTP_STATUS_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -280,7 +276,7 @@ cupsGetFile(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * This function returns @code HTTP_STATUS_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -507,7 +503,7 @@ cupsPutFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  * This function returns @code HTTP_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 http_status_t                          /* O - HTTP status */
index 519ebf119540853346e5031f03ecfa88e4b474d6..dbeae44d8f6cf4513f5ebfbf4022aec6b0609450 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Global variable access routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #ifndef _WIN32
@@ -121,6 +117,8 @@ _cupsGlobalUnlock(void)
 #ifdef _WIN32
 /*
  * 'DllMain()' - Main entry for library.
+ *
+ * @private@
  */
 
 BOOL WINAPI                            /* O - Success/failure */
index 445053e581968a8d21084ee9100ae80972ae3a24..3953f25be1e2fb9cf289e8e20a2c88d727981e22 100644 (file)
@@ -1,7 +1,7 @@
 //
 // HTTP address routines for CUPS.
 //
-// Copyright © 2023-2024 by OpenPrinting.
+// Copyright © 2023-2025 by OpenPrinting.
 // Copyright © 2007-2021 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products, all rights reserved.
 //
@@ -185,7 +185,7 @@ httpAddrGetLength(
 // 'httpAddrListen()' - Create a listening socket bound to the specified
 //                      address and port.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - Socket or -1 on error
@@ -339,7 +339,7 @@ httpAddrIsLocalhost(
 //
 // 'httpAddrLookup()' - Lookup the hostname associated with the address.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 char *                                 // O - Host name
@@ -713,7 +713,7 @@ httpGetHostByName(const char *name) // I - Hostname or IP address
 // Otherwise, return the FQDN for the local system using both gethostname()
 // and gethostbyname() to get the local hostname with domain.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 const char *                           // O - FQDN for connection or system
index 56d4b3705f9f3331c39faded922d794dfdecfe68..53c07e9b079d92957c56e38d3411be01c4c51dcb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * HTTP address list routines for CUPS.
  *
- * Copyright © 2022-2024 by OpenPrinting.
+ * Copyright © 2022-2025 by OpenPrinting.
  * Copyright © 2007-2021 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #ifdef HAVE_RESOLV_H
@@ -27,7 +23,7 @@
 /*
  * 'httpAddrConnect()' - Connect to any of the addresses in the list.
  *
- * @since CUPS 1.2/macOS 10.5@ @exclude all@
+ * @since CUPS 1.2@ @exclude all@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
@@ -45,7 +41,7 @@ httpAddrConnect(
  * 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
  *                        timeout and optional cancel.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
@@ -397,7 +393,7 @@ httpAddrConnect2(
 /*
  * 'httpAddrCopyList()' - Copy an address list.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 http_addrlist_t        *                       /* O - New address list or @code NULL@ on error */
@@ -446,7 +442,7 @@ httpAddrCopyList(
 /*
  * 'httpAddrFreeList()' - Free an address list.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 void
@@ -474,7 +470,7 @@ httpAddrFreeList(
 /*
  * 'httpAddrGetList()' - Get a list of addresses for a hostname.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 http_addrlist_t        *                       /* O - List of addresses or NULL */
index f28333db0b348047fc93b2e98331f055cf4c23cc..0a195b310c36b014dd277b450e4e9f01781c4fa0 100644 (file)
@@ -1,7 +1,7 @@
 //
 // HTTP support routines for CUPS.
 //
-// Copyright © 2020-2023 by OpenPrinting
+// Copyright © 2020-2025 by OpenPrinting
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
@@ -97,7 +97,7 @@ static void           http_resolve_cb(cups_dnssd_resolve_t *res, void *cb_data, cups_dns
 // place of traditional string functions whenever you need to create a
 // URI string.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 http_uri_status_t                      // O - URI status
@@ -332,7 +332,7 @@ httpAssembleURI(
 // this function in place of traditional string functions whenever
 // you need to create a URI string.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 http_uri_status_t                      // O - URI status
@@ -387,7 +387,7 @@ httpAssembleURIf(
 //
 // The buffer needs to be at least 46 bytes in size.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 char *                                 // I - UUID string
@@ -726,7 +726,7 @@ httpGetDateString(time_t t)         // I - Time in seconds
 //
 // 'httpGetDateString2()' - Get a formatted date/time string from a time value.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 const char *                           // O - Date/time string
@@ -858,7 +858,7 @@ httpSeparate2(const char *uri,              // I - Universal Resource Identifier
 // 'httpSeparateURI()' - Separate a Universal Resource Identifier into its
 //                       components.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 http_uri_status_t                      // O - Result of separation
index 0c9803f18f64d4f61debd9d605b6547c7101fa38..dfefbacb807b9bb2d5686569e056eb561eeb17ca 100644 (file)
@@ -109,7 +109,7 @@ static const char * const http_fields[] =
 // listening socket "fd".  The "blocking" argument specifies whether the new
 // HTTP connection is blocking.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 http_t *                               // O - HTTP connection or `NULL`
@@ -221,7 +221,7 @@ httpCheck(http_t *http)                     // I - HTTP connection
 //
 // 'httpClearCookie()' - Clear the cookie value(s).
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 void
@@ -400,7 +400,7 @@ httpConnect(const char *host,               // I - Host to connect to
 // specifies an integer variable that can be set to a non-zero value to cancel
 // the connection process.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 http_t *                               // O - New HTTP connection
@@ -840,7 +840,7 @@ httpFlush(http_t *http)                     // I - HTTP connection
 //
 // 'httpFlushWrite()' - Flush data written to a HTTP connection.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - Bytes written or -1 on error
@@ -921,7 +921,7 @@ httpGetActivity(http_t *http)               // I - HTTP connection
 // string to use with @link httpSetField@ for the
 // `HTTP_FIELD_AUTHORIZATION` value.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 char *                                 // O - Authorization string
@@ -937,7 +937,7 @@ httpGetAuthString(http_t *http)             // I - HTTP connection
 //
 // 'httpGetBlocking()' - Get the blocking/non-blocking state of a connection.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - 1 if blocking, 0 if non-blocking
@@ -956,7 +956,7 @@ httpGetBlocking(http_t *http)               // I - HTTP connection
 // client.  The value returned can be use in subsequent requests (for clients)
 // or in the response (for servers) in order to compress the content stream.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 const char *                           // O - Content-Coding value or `NULL` for the identity coding.
@@ -1026,7 +1026,7 @@ httpGetContentEncoding(http_t *http)      // I - HTTP connection
 //
 // 'httpGetCookie()' - Get any cookie data from the response.
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 const char *                           // O - Cookie data or `NULL`
@@ -1043,7 +1043,7 @@ httpGetCookie(http_t *http)               // I - HTTP connection
 // @link httpIsEncrypted@ function to determine whether a TLS session has
 // been established.
 //
-// @since CUPS 2.0/macOS 10.10@
+// @since CUPS 2.0@
 //
 
 http_encryption_t                      // O - Current encryption mode
@@ -1075,7 +1075,7 @@ httpGetError(http_t *http)                // I - HTTP connection
 // Returns `HTTP_STATUS_NONE` if there is no Expect header, otherwise
 // returns the expected HTTP status code, typically `HTTP_STATUS_CONTINUE`.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 http_status_t                          // O - Expect: status, if any
@@ -1091,7 +1091,7 @@ httpGetExpect(http_t *http)               // I - HTTP connection
 //
 // 'httpGetFd()' - Get the file descriptor associated with a connection.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 int                                    // O - File descriptor or -1 if none
@@ -1163,7 +1163,7 @@ httpGetLength(http_t *http)               // I - HTTP connection
 // This function returns the complete content length, even for
 // content larger than 2^31 - 1.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 off_t                                  // O - Content length
@@ -1449,7 +1449,7 @@ httpGetState(http_t *http)                // I - HTTP connection
 //
 // 'httpGetStatus()' - Get the status of the last HTTP request.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 http_status_t                          // O - HTTP status
@@ -1478,7 +1478,7 @@ httpGetSubField(http_t       *http,       // I - HTTP connection
 //
 // 'httpGetSubField2()' - Get a sub-field value.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 char *                                 // O - Value or `NULL`
@@ -1726,7 +1726,7 @@ httpOptions(http_t     *http,             // I - HTTP connection
 //
 // For non-blocking connections the usual timeouts apply.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 ssize_t                                        // O - Number of bytes copied
@@ -2040,7 +2040,7 @@ httpRead(http_t *http,                    // I - HTTP connection
 //
 // 'httpRead2()' - Read data from a HTTP connection.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ssize_t                                        // O - Number of bytes read
@@ -2216,7 +2216,7 @@ httpRead2(http_t *http,                   // I - HTTP connection
 //
 // 'httpReadRequest()' - Read a HTTP request from a connection.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 http_state_t                           // O - New state of connection
@@ -2438,7 +2438,7 @@ httpSaveCredentials(
 // `HTTP_FIELD_AUTHORIZATION` prior to issuing a HTTP request using
 // @link httpWriteRequest@.
 //
-// @since CUPS 1.3/macOS 10.5@
+// @since CUPS 1.3@
 //
 
 void
@@ -2522,7 +2522,7 @@ httpSetCredentials(http_t *http,          // I - HTTP connection
 //
 // 'httpSetCookie()' - Set the cookie value(s).
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 void
@@ -2548,7 +2548,7 @@ httpSetCookie(http_t     *http,           // I - Connection
 // Currently only `HTTP_FIELD_ACCEPT_ENCODING`, `HTTP_FIELD_SERVER`,
 // and `HTTP_FIELD_USER_AGENT` can be set.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 void
@@ -2615,7 +2615,7 @@ httpSetEncryption(
 // Currently only `HTTP_STATUS_CONTINUE` is supported for the "expect"
 // argument.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void
@@ -2666,7 +2666,7 @@ httpSetKeepAlive(
 //
 // 'httpSetLength()' - Set the content-length and content-encoding.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 void
@@ -2700,7 +2700,7 @@ httpSetLength(http_t *http,               // I - HTTP connection
 // 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.
 //
-// @since CUPS 1.5/macOS 10.7@
+// @since CUPS 1.5@
 //
 
 void
@@ -3017,7 +3017,7 @@ _httpWait(http_t *http,                   // I - HTTP connection
 //
 // 'httpWait()' - Wait for data available on a connection.
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 int                                    // O - 1 if data is available, 0 otherwise
@@ -3077,7 +3077,7 @@ httpWrite(http_t     *http,               // I - HTTP connection
 //
 // 'httpWrite2()' - Write data to a HTTP connection.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ssize_t                                        // O - Number of bytes written
@@ -3260,7 +3260,7 @@ httpWriteRequest(http_t     *http,        // I - HTTP connection
 //
 // 'httpWriteResponse()' - Write a HTTP response to a client connection.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - 0 on success, -1 on error
index bf844e8ee62dba3408bcfadabb4172a908531a50..daa895856f2e48712efa815bc4cdd721c3115981 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Internet Printing Protocol support functions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
@@ -647,7 +647,7 @@ static size_t       ipp_col_string(ipp_t *col, char *buffer, size_t bufsize);
 // trailing nul. The buffer pointer can be NULL to get the required length,
 // just like (v)snprintf.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 size_t                                 // O - Number of bytes less nul
@@ -878,7 +878,7 @@ ippAttributeString(
 // "attribute-name")@ will return a non-NULL pointer.  The array must be freed
 // using the @code cupsArrayDelete@ function.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 cups_array_t *                         // O - CUPS array or @code NULL@ if all
@@ -2274,7 +2274,7 @@ ippErrorString(ipp_status_t error)        // I - Error status
 //
 // 'ippErrorValue()' - Return a status code for the given name.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_status_t                           // O - IPP status code
@@ -2339,7 +2339,7 @@ ippGetPort(void)
 //
 // 'ippOpString()' - Return a name for the given operation id.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 const char *                           // O - Name
@@ -2374,7 +2374,7 @@ ippOpString(ipp_op_t op)          // I - Operation ID
 //
 // 'ippOpValue()' - Return an operation id for the given name.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_op_t                               // O - Operation ID
@@ -2464,7 +2464,7 @@ ippStateString(ipp_state_t state) // I - State value
 //
 // The returned names are defined in RFC 8011 and the IANA IPP Registry.
 //
-// @since CUPS 1.4/macOS 10.6@
+// @since CUPS 1.4@
 //
 
 const char *                           // O - Tag name
@@ -2484,7 +2484,7 @@ ippTagString(ipp_tag_t tag)               // I - Tag value
 //
 // The tag names are defined in RFC 8011 and the IANA IPP Registry.
 //
-// @since CUPS 1.4/macOS 10.6@
+// @since CUPS 1.4@
 //
 
 ipp_tag_t                              // O - Tag value
index 7cb6910471696a3bf294a0e7bd204d38cc8f3fc7..70052849c9f4707ead1014b41f18f4fd2005ae0e 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Internet Printing Protocol functions for CUPS.
 //
-// Copyright © 2022-2024 by OpenPrinting.
+// Copyright © 2022-2025 by OpenPrinting.
 // Copyright © 2007-2021 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
@@ -176,7 +176,7 @@ ippAddBooleans(ipp_t      *ipp,             // I - IPP message
 // (`IPP_TAG_OPERATION`), printer (`IPP_TAG_PRINTER`), subscription
 // (`IPP_TAG_SUBSCRIPTION`), or unsupported (`IPP_TAG_UNSUPPORTED_GROUP`).
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 ipp_attribute_t *                      // O - New attribute
@@ -219,7 +219,7 @@ ippAddCollection(ipp_t      *ipp,   // I - IPP message
 // (`IPP_TAG_OPERATION`), printer (`IPP_TAG_PRINTER`), subscription
 // (`IPP_TAG_SUBSCRIPTION`), or unsupported (`IPP_TAG_UNSUPPORTED_GROUP`).
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 ipp_attribute_t *                      // O - New attribute
@@ -503,7 +503,7 @@ ippAddIntegers(ipp_t      *ipp,             // I - IPP message
 // (`IPP_TAG_OPERATION`), printer (`IPP_TAG_PRINTER`), subscription
 // (`IPP_TAG_SUBSCRIPTION`), or unsupported (`IPP_TAG_UNSUPPORTED_GROUP`).
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_attribute_t        *                       // O - New attribute
@@ -560,7 +560,7 @@ ippAddOctetString(ipp_t      *ipp,  // I - IPP message
 // (`IPP_TAG_NOTSETTABLE`), delete-attribute (`IPP_TAG_DELETEATTR`), and
 // admin-define (`IPP_TAG_ADMINDEFINE`).
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_attribute_t        *                       // O - New attribute
@@ -911,7 +911,7 @@ ippAddString(ipp_t      *ipp,               // I - IPP message
 // needed.  The formatted string is truncated as needed to the maximum length of
 // the corresponding value type.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 ipp_attribute_t *                      // O - New attribute
@@ -964,7 +964,7 @@ ippAddStringf(ipp_t      *ipp,              // I - IPP message
 // stdarg pointer "ap".  The formatted string is truncated as needed to the
 // maximum length of the corresponding value type.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 ipp_attribute_t *                      // O - New attribute
@@ -1205,7 +1205,7 @@ ippAddStrings(
 // enum value, or the value falls within one of the rangeOfInteger values for
 // the attribute.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - 1 on a match, 0 on no match
@@ -1255,7 +1255,7 @@ ippContainsInteger(
 // Returns non-zero when the attribute contains a matching charset, keyword,
 // naturalLanguage, mimeMediaType, name, text, uri, or uriScheme value.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - 1 on a match, 0 on no match
@@ -1331,7 +1331,7 @@ ippContainsString(
 // created - this should only be done as long as the original source IPP message will
 // not be freed for the life of the destination.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_attribute_t *                      // O - New attribute
@@ -1513,7 +1513,7 @@ ippCopyAttribute(
 // 0 to skip it. The function may also choose to do a partial copy of the source attribute
 // itself.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on error
@@ -1695,7 +1695,7 @@ ippDelete(ipp_t *ipp)                     // I - IPP message
 //
 // 'ippDeleteAttribute()' - Delete a single attribute in an IPP message.
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 void
@@ -1761,7 +1761,7 @@ ippDeleteAttribute(
 //
 // Deleting all values in an attribute deletes the attribute.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -1959,7 +1959,7 @@ ippFirstAttribute(ipp_t *ipp)             // I - IPP message
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Boolean value or 0 on error
@@ -1981,7 +1981,7 @@ ippGetBoolean(ipp_attribute_t *attr,      // I - IPP attribute
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_t *                                        // O - Collection value or `NULL` on error
@@ -2001,7 +2001,7 @@ ippGetCollection(
 //
 // 'ippGetCount()' - Get the number of values in an attribute.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Number of values or 0 on error
@@ -2022,7 +2022,7 @@ ippGetCount(ipp_attribute_t *attr)        // I - IPP attribute
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 const ipp_uchar_t *                    // O - dateTime value or `NULL`
@@ -2066,7 +2066,7 @@ ippGetFirstAttribute(ipp_t *ipp)  // I - IPP message
 //
 // 'ippGetGroupTag()' - Get the group associated with an attribute.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_tag_t                              // O - Group tag or `IPP_TAG_ZERO` on error
@@ -2087,7 +2087,7 @@ ippGetGroupTag(ipp_attribute_t *attr)     // I - IPP attribute
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Value or 0 on error
@@ -2117,7 +2117,7 @@ ippGetLength(ipp_t *ipp)          // I - IPP message
 //
 // 'ippGetName()' - Get the attribute name.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 const char *                           // O - Attribute name or `NULL` for separators
@@ -2159,7 +2159,7 @@ ippGetNextAttribute(ipp_t *ipp)           // I - IPP message
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 void *                                 // O - Pointer to octetString data
@@ -2188,7 +2188,7 @@ ippGetOctetString(
 //
 // 'ippGetOperation()' - Get the operation ID in an IPP message.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_op_t                               // O - Operation ID or 0 on error
@@ -2209,7 +2209,7 @@ ippGetOperation(ipp_t *ipp)               // I - IPP request message
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Lower value of range or 0
@@ -2237,7 +2237,7 @@ ippGetRange(ipp_attribute_t *attr,        // I - IPP attribute
 //
 // 'ippGetRequestId()' - Get the request ID from an IPP message.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Request ID or 0 on error
@@ -2258,7 +2258,7 @@ ippGetRequestId(ipp_t *ipp)               // I - IPP message
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Horizontal/cross feed resolution or 0
@@ -2294,7 +2294,7 @@ ippGetResolution(
 //
 // 'ippGetState()' - Get the IPP message state.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_state_t                            // O - IPP message state value
@@ -2312,7 +2312,7 @@ ippGetState(ipp_t *ipp)                   // I - IPP message
 //
 // 'ippGetStatusCode()' - Get the status code from an IPP response or event message.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_status_t                           // O - Status code in IPP message
@@ -2333,7 +2333,7 @@ ippGetStatusCode(ipp_t *ipp)              // I - IPP response or event message
 // The "element" parameter specifies which value to get from 0 to
 // @code ippGetCount(attr)@ - 1.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 const char *
@@ -2361,7 +2361,7 @@ ippGetString(ipp_attribute_t *attr,       // I - IPP attribute
 //
 // 'ippGetValueTag()' - Get the value tag for an attribute.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 ipp_tag_t                              // O - Value tag or `IPP_TAG_ZERO` on error
@@ -2379,7 +2379,7 @@ ippGetValueTag(ipp_attribute_t *attr)     // I - IPP attribute
 //
 // 'ippGetVersion()' - Get the major and minor version number from an IPP message.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - Major version number or 0 on error
@@ -2470,7 +2470,7 @@ ippNew(void)
 // "attributes-natural-language" attributes added. The
 // "attributes-natural-language" value is derived from the current locale.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_t *                                        // O - IPP request message
@@ -2520,7 +2520,7 @@ ippNewRequest(ipp_op_t op)                // I - Operation code
 // 'utf-8' and a value derived from the current locale are substituted,
 // respectively.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 ipp_t *                                        // O - IPP response message
@@ -2601,7 +2601,7 @@ ippRead(http_t *http,                     // I - HTTP connection
 //
 // 'ippReadFile()' - Read data for an IPP message from a file.
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 ipp_state_t                            // O - Current state
@@ -2620,7 +2620,7 @@ ippReadFile(int   fd,                     // I - HTTP data
 //
 // 'ippReadIO()' - Read data for an IPP message.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_state_t                            // O - Current state
@@ -2686,7 +2686,7 @@ ippSave(ipp_t *ipp)                       // I - IPP message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2721,7 +2721,7 @@ ippSetBoolean(ipp_t           *ipp,       // I  - IPP message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2763,7 +2763,7 @@ ippSetCollection(
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2804,7 +2804,7 @@ ippSetDate(ipp_t             *ipp,        // I  - IPP message
 // (`IPP_TAG_OPERATION`), printer (`IPP_TAG_PRINTER`), subscription
 // (`IPP_TAG_SUBSCRIPTION`), or unsupported (`IPP_TAG_UNSUPPORTED_GROUP`).
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2835,7 +2835,7 @@ ippSetGroupTag(
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2872,7 +2872,7 @@ ippSetInteger(ipp_t           *ipp,       // I  - IPP message
 //
 // The "attr" parameter may be modified as a result of setting the value.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2911,7 +2911,7 @@ ippSetName(ipp_t           *ipp,  // I  - IPP message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -2981,7 +2981,7 @@ ippSetOctetString(
 // The "ipp" parameter refers to an IPP message previously created using
 // the @link ippNew@, @link ippNewRequest@, or  @link ippNewResponse@ functions.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -3010,7 +3010,7 @@ ippSetOperation(ipp_t    *ipp,            // I - IPP request message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3047,7 +3047,7 @@ ippSetRange(ipp_t           *ipp, // I  - IPP message
 //
 // The @code request_id@ parameter must be greater than 0.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -3078,7 +3078,7 @@ ippSetRequestId(ipp_t *ipp,               // I - IPP message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3113,7 +3113,7 @@ ippSetResolution(
 //
 // 'ippSetState()' - Set the current state of the IPP message.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -3138,7 +3138,7 @@ ippSetState(ipp_t       *ipp,             // I - IPP message
 // The "ipp" parameter refers to an IPP message previously created using
 // the @link ippNew@, @link ippNewRequest@, or  @link ippNewResponse@ functions.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -3167,7 +3167,7 @@ ippSetStatusCode(ipp_t        *ipp,       // I - IPP response or event message
 // The "element" parameter specifies which value to set from 0 to
 // @code ippGetCount(attr)@.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3236,7 +3236,7 @@ ippSetString(ipp_t           *ipp,        // I  - IPP message
 // needed.  The formatted string is truncated as needed to the maximum length of
 // the corresponding value type.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3274,7 +3274,7 @@ ippSetStringf(ipp_t           *ipp,       // I  - IPP message
 // needed.  The formatted string is truncated as needed to the maximum length of
 // the corresponding value type.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3407,7 +3407,7 @@ ippSetStringfv(ipp_t           *ipp,      // I  - IPP message
 // code in the "attributes-natural-language" attribute or, if not present, the language
 // code for the current locale.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O  - 1 on success, 0 on failure
@@ -3535,7 +3535,7 @@ ippSetValueTag(
 //
 // The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
 //
-// @since CUPS 1.6/macOS 10.8@
+// @since CUPS 1.6@
 //
 
 int                                    // O - 1 on success, 0 on failure
@@ -3607,7 +3607,7 @@ ippTimeToDate(time_t t)                   // I - Time in seconds
 // value tag.  1 is returned if the attribute is valid, 0 otherwise.  On
 // failure, @link cupsGetErrorString@ is set to a human-readable message.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - 1 if valid, 0 otherwise
@@ -4110,7 +4110,7 @@ ippValidateAttribute(
 // attribute.  Like @link ippValidateAttribute@, @link cupsGetErrorString@ is
 // set to a human-readable message on failure.
 //
-// @since CUPS 1.7/macOS 10.9@
+// @since CUPS 1.7@
 //
 
 int                                    // O - 1 if valid, 0 otherwise
@@ -4152,7 +4152,7 @@ ippWrite(http_t *http,                    // I - HTTP connection
 //
 // 'ippWriteFile()' - Write data for an IPP message to a file.
 //
-// @since CUPS 1.1.19/macOS 10.3@
+// @since CUPS 1.1.19@
 //
 
 ipp_state_t                            // O - Current state
@@ -4170,7 +4170,7 @@ ippWriteFile(int   fd,                    // I - HTTP data
 //
 // 'ippWriteIO()' - Write data for an IPP message.
 //
-// @since CUPS 1.2/macOS 10.5@
+// @since CUPS 1.2@
 //
 
 ipp_state_t                            // O - Current state
index a2e21c3dbf5eb930291893f0de493a8b11a776e1..ce8a924a598e702ada78ba04559e4630b1ae9702 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Internet Printing Protocol definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products.
 //
@@ -203,13 +203,13 @@ typedef enum ipp_op_e                     // IPP operations
   IPP_OP_SET_PRINTER_ATTRIBUTES,       // Set-Printer-Attributes: Set printer values
   IPP_OP_SET_JOB_ATTRIBUTES,           // Set-Job-Attributes: Set job values
   IPP_OP_GET_PRINTER_SUPPORTED_VALUES, // Get-Printer-Supported-Values: Get supported values
-  IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, // Create-Printer-Subscriptions: Create one or more printer subscriptions @since CUPS 1.2/macOS 10.5@
-  IPP_OP_CREATE_JOB_SUBSCRIPTIONS,     // Create-Job-Subscriptions: Create one of more job subscriptions @since CUPS 1.2/macOS 10.5@
-  IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES,  // Get-Subscription-Attributes: Get subscription information @since CUPS 1.2/macOS 10.5@
-  IPP_OP_GET_SUBSCRIPTIONS,            // Get-Subscriptions: Get list of subscriptions @since CUPS 1.2/macOS 10.5@
-  IPP_OP_RENEW_SUBSCRIPTION,           // Renew-Subscription: Renew a printer subscription @since CUPS 1.2/macOS 10.5@
-  IPP_OP_CANCEL_SUBSCRIPTION,          // Cancel-Subscription: Cancel a subscription @since CUPS 1.2/macOS 10.5@
-  IPP_OP_GET_NOTIFICATIONS,            // Get-Notifications: Get notification events @since CUPS 1.2/macOS 10.5@
+  IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, // Create-Printer-Subscriptions: Create one or more printer subscriptions @since CUPS 1.2@
+  IPP_OP_CREATE_JOB_SUBSCRIPTIONS,     // Create-Job-Subscriptions: Create one of more job subscriptions @since CUPS 1.2@
+  IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES,  // Get-Subscription-Attributes: Get subscription information @since CUPS 1.2@
+  IPP_OP_GET_SUBSCRIPTIONS,            // Get-Subscriptions: Get list of subscriptions @since CUPS 1.2@
+  IPP_OP_RENEW_SUBSCRIPTION,           // Renew-Subscription: Renew a printer subscription @since CUPS 1.2@
+  IPP_OP_CANCEL_SUBSCRIPTION,          // Cancel-Subscription: Cancel a subscription @since CUPS 1.2@
+  IPP_OP_GET_NOTIFICATIONS,            // Get-Notifications: Get notification events @since CUPS 1.2@
   IPP_OP_SEND_NOTIFICATIONS,           // Send-Notifications: Send notification events @private@
   IPP_OP_GET_RESOURCE_ATTRIBUTES,      // Get-Resource-Attributes: Get resource information @private@
   IPP_OP_GET_RESOURCE_DATA,            // Get-Resource-Data: Get resource data @private@ @deprecated@
@@ -299,9 +299,9 @@ typedef enum ipp_op_e                       // IPP operations
   IPP_OP_CUPS_GET_DEVICES,             // CUPS-Get-Devices: Get a list of supported devices @deprecated@
   IPP_OP_CUPS_GET_PPDS,                        // CUPS-Get-PPDs: Get a list of supported drivers @deprecated@
   IPP_OP_CUPS_MOVE_JOB,                        // CUPS-Move-Job: Move a job to a different printer
-  IPP_OP_CUPS_AUTHENTICATE_JOB,                // CUPS-Authenticate-Job: Authenticate a job @since CUPS 1.2/macOS 10.5@
+  IPP_OP_CUPS_AUTHENTICATE_JOB,                // CUPS-Authenticate-Job: Authenticate a job @since CUPS 1.2@
   IPP_OP_CUPS_GET_PPD,                 // CUPS-Get-PPD: Get a PPD file @deprecated@
-  IPP_OP_CUPS_GET_DOCUMENT = 0x4027,   // CUPS-Get-Document: Get a document file @since CUPS 1.4/macOS 10.6@
+  IPP_OP_CUPS_GET_DOCUMENT = 0x4027,   // CUPS-Get-Document: Get a document file @since CUPS 1.4@
   IPP_OP_CUPS_CREATE_LOCAL_PRINTER     // CUPS-Create-Local-Printer: Create a local (temporary) printer @since CUPS 2.2@
 } ipp_op_t;
 
@@ -446,10 +446,10 @@ typedef enum ipp_status_e         // IPP status code values
 
   // These are internal and never sent over the wire...
   IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED = 0x1000,
-                                       // cups-authentication-canceled - Authentication canceled by user @since CUPS 1.5/macOS 10.7@
-  IPP_STATUS_ERROR_CUPS_PKI,           // cups-pki-error - Error negotiating a secure connection @since CUPS 1.5/macOS 10.7@
+                                       // cups-authentication-canceled - Authentication canceled by user @since CUPS 1.5@
+  IPP_STATUS_ERROR_CUPS_PKI,           // cups-pki-error - Error negotiating a secure connection @since CUPS 1.5@
   IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED,
-                                       // cups-upgrade-required - TLS upgrade required @since CUPS 1.5/macOS 10.7@
+                                       // cups-upgrade-required - TLS upgrade required @since CUPS 1.5@
   IPP_STATUS_ERROR_CUPS_OAUTH          // cups-oauth - OAuth error
 } ipp_status_t;
 
@@ -507,7 +507,7 @@ typedef struct _ipp_attribute_s ipp_attribute_t;
                                        // IPP attribute
 
 typedef int (*ipp_copy_cb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr);
-                                        // ippCopyAttributes callback function @since CUPS 1.6/macOS 10.8
+                                        // ippCopyAttributes callback function @since CUPS 1.6
 #define ipp_copycb_t ipp_copy_cb_t     // Old name
 
 typedef struct _ipp_file_s ipp_file_t; // IPP data file
@@ -519,7 +519,7 @@ typedef bool (*ipp_ftoken_cb_t)(ipp_file_t *file, void *cb_data, const char *tok
                                        // IPP data file token callback
 
 typedef ssize_t        (*ipp_io_cb_t)(void *context, ipp_uchar_t *buffer, size_t bytes);
-                                       // ippReadIO/ippWriteIO callback function @since CUPS 1.2/macOS 10.5@
+                                       // ippReadIO/ippWriteIO callback function @since CUPS 1.2@
 #define ipp_iocb_t ipp_io_cb_t         // Old name
 
 
index f4931aeec1a37ec3b16834249559c3ff1d4b874c..f1876d2ba49302d71750c7f73eccd459f567aaef 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Notification routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2013 by Apple Inc.
- * Copyright 2005-2006 by Easy Software Products.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2013 by Apple Inc.
+ * Copyright © 2005-2006 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 
@@ -21,7 +17,7 @@
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 char *                                 /* O - Subject string or @code NULL@ */
@@ -152,7 +148,7 @@ cupsNotifySubject(cups_lang_t *lang,        /* I - Language data */
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 char *                                 /* O - Message text or @code NULL@ */
index 31b9580934e0d28026ccbdd981aea82ae78b38cd..d6473eab493e9e073dec1774c69e7f7412cec61d 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Option routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2017 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2017 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 
@@ -31,7 +27,7 @@ static int    cups_find_option(const char *name, int num_options,
  * New option arrays can be initialized simply by passing 0 for the
  * "num_options" parameter.
  *
- * @since CUPS 2.2.4/macOS 10.13@
+ * @since CUPS 2.2.4@
  */
 
 int                                    /* O  - Number of options */
@@ -183,7 +179,7 @@ cupsFreeOptions(
  * INT_MIN is returned when the option does not exist, is not an integer, or
  * exceeds the range of values for the "int" type.
  *
- * @since CUPS 2.2.4/macOS 10.13@
+ * @since CUPS 2.2.4@
  */
 
 int                                    /* O - Option value or @code INT_MIN@ */
@@ -452,7 +448,7 @@ cupsParseOptions2(
 /*
  * 'cupsRemoveOption()' - Remove an option from an option array.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O  - New number of options */
index 2b08dfa95c6a431e78934a2b9fc60614b5851e82..4ca4cd982f2f2da85028fb6a8ecbe1c859542ffa 100644 (file)
@@ -1,18 +1,14 @@
 /*
  * PPD model-specific attribute routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2015 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2015 by Apple Inc.
+ * Copyright © 1997-2006 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -21,7 +17,7 @@
 /*
  * 'ppdFindAttr()' - Find the first matching attribute.
  *
- * @since CUPS 1.1.19/macOS 10.3@
+ * @since CUPS 1.1.19@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
@@ -77,7 +73,7 @@ ppdFindAttr(ppd_file_t *ppd,          /* I - PPD file data */
 /*
  * 'ppdFindNextAttr()' - Find the next matching attribute.
  *
- * @since CUPS 1.1.19/macOS 10.3@
+ * @since CUPS 1.1.19@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
index aa065c08c96d9622b1b257920e137d35b2ada977..29e34003a620908fabed0a44409a2a7178114447 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * Option conflict management routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2018 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2018 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -59,7 +55,7 @@ static cups_array_t   *ppd_test_constraints(ppd_file_t *ppd,
  * the conflicting options.  The returned option array must be freed using
  * @link cupsFreeOptions@.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 int                                    /* O - Number of conflicting options */
@@ -158,7 +154,7 @@ cupsGetConflicts(
  * choice for the conflicting option, then iterating over all possible choices
  * until a non-conflicting option choice is found.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -626,7 +622,7 @@ ppdConflicts(ppd_file_t *ppd)               /* I - PPD to check */
  * This function tests whether a particular option choice is available based
  * on constraints against options in the "InstallableOptions" group.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 int                                    /* O - 1 if conflicting, 0 if not conflicting */
index bdd2c505cbba265249c7e99be882ea9f6ec2330c..22a5c82bd1db7e9e66e0042adcf835d38c1aa4f1 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * PPD custom option routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2015 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products, all rights reserved.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2015 by Apple Inc.
+ * Copyright © 1997-2006 by Easy Software Products, all rights reserved.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers.
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -23,7 +19,7 @@
 /*
  * 'ppdFindCustomOption()' - Find a custom option.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_coption_t *                                /* O - Custom option or NULL */
@@ -44,7 +40,7 @@ ppdFindCustomOption(ppd_file_t *ppd,  /* I - PPD file */
 /*
  * 'ppdFindCustomParam()' - Find a parameter for a custom option.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -70,7 +66,7 @@ ppdFindCustomParam(ppd_coption_t *opt,        /* I - Custom option */
 /*
  * 'ppdFirstCustomParam()' - Return the first parameter for a custom option.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -86,7 +82,7 @@ ppdFirstCustomParam(ppd_coption_t *opt)       /* I - Custom option */
 /*
  * 'ppdNextCustomParam()' - Return the next parameter for a custom option.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
index 2b547415619188df3ae7f9b5a271097099350ffe..09385dc21cdcccd224468e5908e8004cb0198299 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * PPD code emission routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2019 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2019 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include "ppd.h"
@@ -66,7 +62,7 @@ ppdCollect(ppd_file_t    *ppd,                /* I - PPD file data */
  * The choices array should be freed using @code free@ when you are
  * finished with it.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - Number of options marked */
@@ -238,7 +234,7 @@ ppdEmit(ppd_file_t    *ppd,         /* I - PPD file record */
  *
  * When "limit" is zero, this function is identical to ppdEmit().
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -538,7 +534,7 @@ ppdEmitJCL(ppd_file_t *ppd,         /* I - PPD file record */
 /*
  * 'ppdEmitJCLEnd()' - Emit JCLEnd code to a file.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -597,7 +593,7 @@ ppdEmitJCLEnd(ppd_file_t *ppd,              /* I - PPD file record */
  * The return string is allocated on the heap and should be freed using
  * @code free@ when you are done with it.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 char *                                 /* O - String containing option code or @code NULL@ if there is no option code */
index d07722e96f86d4b1a245f9e4c3b9883e3c7b6e3b..fa7004bb0143dccf8412b308d7a68c57b746c052 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * PPD localization routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2018 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2018 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers.
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -34,7 +30,7 @@ static cups_lang_t    *ppd_ll_CC(char *ll_CC, size_t ll_CC_size);
  * descriptions, printer presets, and custom option parameters.  Each
  * localized string uses the UTF-8 character encoding.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -219,7 +215,7 @@ ppdLocalizeAttr(ppd_file_t *ppd,    /* I - PPD file */
  *
  * If no value of the requested scheme can be found, NULL is returned.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 const char *                           /* O - Value or NULL if not found */
@@ -430,7 +426,7 @@ ppdLocalizeIPPReason(
  * text from the attribute value. If no localized text for the requested
  * name can be found, @code NULL@ is returned.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 const char *                           /* O - Value or @code NULL@ if not found */
index 1b1f5f211d2e9e8f593f9b2303584a24ecaf4554..866991293f21255e44326eac5c219b4e4f8f687d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Option marking routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
@@ -566,7 +566,7 @@ ppdMarkOption(ppd_file_t *ppd,              /* I - PPD file record */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_option_t *                         /* O - First option or @code NULL@ */
@@ -584,7 +584,7 @@ ppdFirstOption(ppd_file_t *ppd)             /* I - PPD file */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_option_t *                         /* O - Next option or @code NULL@ */
index 2e2099088b5d79b46101b8ffcf5ab5a5e4980c83..19c528807b2ab9f7c2c3fb89fdeec43d7c3d1636 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * Page size functions for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
- * Copyright 2007-2015 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Copyright © 2020-2025 by OpenPrinting.
+ * Copyright © 2007-2015 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "string-private.h"
 #include "debug-internal.h"
 #include "ppd.h"
@@ -182,7 +178,7 @@ ppdPageSize(ppd_file_t *ppd,                /* I - PPD file record */
  * If the specified PPD file does not support custom page sizes, both
  * "minimum" and "maximum" are filled with zeroes.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 int                                    /* O - 1 if custom sizes are supported, 0 otherwise */
index b03e6887b653fadde46a0994e910f40835eb97cd..8001f334273cf7416944e485e26c74926a3a4dc9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * PPD utilities for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2018 by Apple Inc.
  * Copyright © 1997-2006 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -76,7 +72,7 @@ cupsGetPPD(const char *name)          /* I - Destination name */
  * each call to @link cupsGetPPD@ or @code cupsGetPPD2@.  The caller "owns" the
  * file that is created and must @code unlink@ the returned filename.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21@
  */
 
 const char *                           /* O - Filename for PPD file */
@@ -117,7 +113,7 @@ cupsGetPPD2(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * For classes, @code cupsGetPPD3@ returns the PPD file for the first printer
  * in the class.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 http_status_t                          /* O  - HTTP status */
@@ -468,7 +464,7 @@ cupsGetPPD3(http_t     *http,               /* I  - HTTP connection or @code CUPS_HTTP_DEFAUL
  * overwritten on the next call to @link cupsGetPPD@, @link cupsGetPPD2@,
  * or @link cupsGetServerPPD@.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 char *                                 /* O - Name of PPD file or @code NULL@ on error */
index f7552a65388a1d5206b5e5ccb40f9006290423c5..14b76483ed3afe2ef0f0ea7006ec49487aff1254 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * PPD file routines for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
  * PostScript is a trademark of Adobe Systems, Inc.
  */
 
-/*
- * Include necessary headers.
- */
-
 #include "cups-private.h"
 #include "ppd-private.h"
 #include "debug-internal.h"
@@ -272,7 +268,7 @@ ppdClose(ppd_file_t *ppd)           /* I - PPD file record */
 /*
  * 'ppdErrorString()' - Returns the text associated with a status.
  *
- * @since CUPS 1.1.19/macOS 10.3@
+ * @since CUPS 1.1.19@
  */
 
 const char *                           /* O - Status string */
@@ -384,7 +380,7 @@ _ppdGlobals(void)
 /*
  * 'ppdLastError()' - Return the status from the last ppdOpen*().
  *
- * @since CUPS 1.1.19/macOS 10.3@
+ * @since CUPS 1.1.19@
  */
 
 ppd_status_t                           /* O - Status code */
@@ -404,7 +400,7 @@ ppdLastError(int *line)                     /* O - Line number */
 /*
  * '_ppdOpen()' - Read a PPD file into memory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
@@ -2187,7 +2183,7 @@ ppdOpen(FILE *fp)                 /* I - File to read from */
 /*
  * 'ppdOpen2()' - Read a PPD file into memory.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
@@ -2312,7 +2308,7 @@ ppdOpenFile(const char *filename) /* I - File to read from */
 /*
  * 'ppdSetConformance()' - Set the conformance level for PPD files.
  *
- * @since CUPS 1.1.20/macOS 10.4@
+ * @since CUPS 1.1.20@
  */
 
 void
index d03e6e9a1f60f122765c230c53595687a15f2d57..fde52a41e0031e96e73583c4a02d78bd4cb981be 100644 (file)
@@ -4,7 +4,7 @@
 // THESE APIS ARE DEPRECATED.  THIS HEADER AND THESE FUNCTIONS WILL BE REMOVED
 // IN A FUTURE RELEASE OF CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 //
@@ -167,7 +167,7 @@ typedef struct ppd_group_s          // Groups @deprecated@
    ****/
   char         text[PPD_MAX_TEXT - PPD_MAX_NAME];
                                        // Human-readable group name
-  char         name[PPD_MAX_NAME];     // Group name @since CUPS 1.1.18/macOS 10.3@
+  char         name[PPD_MAX_NAME];     // Group name @since CUPS 1.1.18@
   int          num_options;            // Number of options
   ppd_option_t *options;               // Options
   int          num_subgroups;          // Number of sub-groups
@@ -212,7 +212,7 @@ typedef struct ppd_profile_s                // sRGB Color Profiles @deprecated@
   float                matrix[3][3];           // Transform matrix
 } ppd_profile_t;
 
-// New in CUPS 1.2/macOS 10.5
+// New in CUPS 1.2
 typedef enum ppd_cptype_e              // Custom Parameter Type @deprecated@
 {
   PPD_CUSTOM_UNKNOWN = -1,             // Unknown type (error)
@@ -318,25 +318,25 @@ typedef struct ppd_file_s         // PPD File @deprecated@
   int          flip_duplex;            // 1 = Flip page for back sides @deprecated@
 
   // New in CUPS 1.1.19
-  char         *protocols;             // Protocols (BCP, TBCP) string @since CUPS 1.1.19/macOS 10.3@
-  char         *pcfilename;            // PCFileName string @since CUPS 1.1.19/macOS 10.3@
-  int          num_attrs;              // Number of attributes @since CUPS 1.1.19/macOS 10.3@ @private@
-  int          cur_attr;               // Current attribute @since CUPS 1.1.19/macOS 10.3@ @private@
-  ppd_attr_t   **attrs;                // Attributes @since CUPS 1.1.19/macOS 10.3@ @private@
+  char         *protocols;             // Protocols (BCP, TBCP) string @since CUPS 1.1.19@
+  char         *pcfilename;            // PCFileName string @since CUPS 1.1.19@
+  int          num_attrs;              // Number of attributes @since CUPS 1.1.19@ @private@
+  int          cur_attr;               // Current attribute @since CUPS 1.1.19@ @private@
+  ppd_attr_t   **attrs;                // Attributes @since CUPS 1.1.19@ @private@
 
-  // New in CUPS 1.2/macOS 10.5
-  cups_array_t *sorted_attrs;          // Attribute lookup array @since CUPS 1.2/macOS 10.5@ @private@
-  cups_array_t *options;               // Option lookup array @since CUPS 1.2/macOS 10.5@ @private@
-  cups_array_t *coptions;              // Custom options array @since CUPS 1.2/macOS 10.5@ @private@
+  // New in CUPS 1.2
+  cups_array_t *sorted_attrs;          // Attribute lookup array @since CUPS 1.2@ @private@
+  cups_array_t *options;               // Option lookup array @since CUPS 1.2@ @private@
+  cups_array_t *coptions;              // Custom options array @since CUPS 1.2@ @private@
 
-  // New in CUPS 1.3/macOS 10.5
-  cups_array_t *marked;                // Marked choices @since CUPS 1.3/macOS 10.5@ @private@
+  // New in CUPS 1.3
+  cups_array_t *marked;                // Marked choices @since CUPS 1.3@ @private@
 
-  // New in CUPS 1.4/macOS 10.6
-  cups_array_t *cups_uiconstraints;    // cupsUIConstraints @since CUPS 1.4/macOS 10.6@ @private@
+  // New in CUPS 1.4
+  cups_array_t *cups_uiconstraints;    // cupsUIConstraints @since CUPS 1.4@ @private@
 
   // New in CUPS 1.5
-  _ppd_cache_t *cache;                 // PPD cache and mapping data @since CUPS 1.5/macOS 10.7@ @private@
+  _ppd_cache_t *cache;                 // PPD cache and mapping data @since CUPS 1.5@ @private@
 } ppd_file_t;
 
 
index 24f5b4d5ee817cee5382eab1df944351b3766bc7..a2b49169b1bea3e8543395101207ceca27180a6b 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * PWG media name API implementation for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2009-2019 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include <math.h>
@@ -296,7 +292,7 @@ static pwg_media_t const cups_pwg_media[] =
  * units string is @code NULL@, otherwise inches ("in") or millimeters ("mm")
  * are used.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -429,7 +425,7 @@ pwgFormatSizeName(char       *keyword,      /* I - Keyword buffer */
  * member attribute was specified in the "media-col" Job Template attribute,
  * otherwise it is initialized to 0.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 int                                    /* O - 1 if size was initialized, 0 otherwise */
@@ -600,7 +596,7 @@ pwgInitSize(pwg_size_t *size,               /* I - Size to initialize */
  * The "name" argument specifies the legacy ISO media size name, for example
  * "iso-a4" or "na-letter".
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 pwg_media_t *                          /* O - Matching size or NULL */
@@ -658,7 +654,7 @@ pwgMediaForLegacy(const char *legacy)       /* I - Legacy size name */
  * thread.  Custom names can be of the form "Custom.WIDTHxLENGTH[units]" or
  * "WIDTHxLENGTH[units]".
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 pwg_media_t *                          /* O - Matching size or NULL */
@@ -834,7 +830,7 @@ pwgMediaForPPD(const char *ppd)             /* I - PPD size name */
  * thread-local storage and is overwritten by each call to the function in the
  * thread.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 pwg_media_t *                          /* O - Matching size or NULL */
@@ -945,7 +941,7 @@ pwgMediaForPWG(const char *pwg)             /* I - PWG size name */
  * thread-local storage and is overwritten by each call to the function in the
  * thread.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 pwg_media_t *                          /* O - PWG media name */
index 47b45f0fb678f377de86fd2588bf7ddad6136f36..4bd65dbd06aacc4a57400343fc186c0a06dee53c 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Random number function for CUPS.
 //
-// Copyright © 2019-2022 by Michael R Sweet.
+// Copyright © 2019-2025 by Michael R Sweet.
 //
 // Licensed under Apache License v2.0.  See the file "LICENSE" for more
 // information.
index a3f7cde6c1c0b7eb8578127fcdf6cfcd0277dc8f..852a4db004bf1aec7b36cf273931c2e35e6c60a4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * PPD command interpreter for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2018 by Apple Inc.
  * Copyright © 1993-2007 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include <cups/raster-private.h>
 #include <cups/ppd-private.h>
 #include "debug-internal.h"
@@ -119,7 +115,7 @@ static void         DEBUG_stack(const char *prefix, _cups_ps_stack_t *st);
  * @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators
  * are supported.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
index 3443de532e2c885771938157e2ffd89c1cbb78a1..d1e9ba3f6c32513be2cdf4b723bb7962c6628782 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * cupsRasterInterpretPPD stub for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2018 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include <cups/ppd-private.h>
 
 
@@ -49,7 +45,7 @@
  * @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators
  * are supported.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
index 1a17b048b40818c10e05b863c9976c49236fb284..d96b589e200e1b9ff74cf31ad7563aa450a51cf9 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Raster file routines for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products.
 //
@@ -538,7 +538,7 @@ cupsRasterInitHeader(
 // The "sheet_back" argument specifies a "pwg-raster-document-sheet-back" value
 // to apply for the back side of a page.  Pass `NULL` for the front side.
 //
-// @since CUPS 2.2/macOS 10.12@
+// @since CUPS 2.2@
 //
 
 int                                    // O - 1 on success, 0 on failure
index 898e9e486ab3f09cccfc1b74047a1137292423b3..2354b8237b122c5e62774b2da7ac025f8acaab84 100644 (file)
@@ -1,17 +1,13 @@
 /*
  * Imaging library stubs for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2018 by Apple Inc.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "raster-private.h"
 
 
@@ -185,7 +181,7 @@ cupsRasterReadHeader(
  * 'cupsRasterReadHeader2()' - Read a raster page header and store it in a
  *                             version 2 page header structure.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure/end-of-file */
@@ -264,7 +260,7 @@ cupsRasterWriteHeader(
  *
  * The page header can be initialized using @link cupsRasterInitPWGHeader@.
  *
- * @since CUPS 1.2/macOS 10.5@
+ * @since CUPS 1.2@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure */
index d8ca98d57d594ea40fb2e322ea0c57011570424f..f7ae6c7e02f77bb445e322b1a19d665b6752dab0 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Raster file definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products.
 //
@@ -118,28 +118,28 @@ typedef enum cups_cspace_e                // cupsColorSpace attribute values
   CUPS_CSPACE_GOLD = 13,               // Gold foil @deprecated@
   CUPS_CSPACE_SILVER = 14,             // Silver foil @deprecated@
 
-  CUPS_CSPACE_CIEXYZ = 15,             // CIE XYZ @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_CIELab = 16,             // CIE Lab @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_RGBW = 17,               // Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/macOS 10.5@
+  CUPS_CSPACE_CIEXYZ = 15,             // CIE XYZ @since CUPS 1.1.19@
+  CUPS_CSPACE_CIELab = 16,             // CIE Lab @since CUPS 1.1.19@
+  CUPS_CSPACE_RGBW = 17,               // Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2@
   CUPS_CSPACE_SW = 18,                 // Luminance (gamma 2.2) @since CUPS 1.4.5@
   CUPS_CSPACE_SRGB = 19,               // Red, green, blue (sRGB) @since CUPS 1.4.5@
   CUPS_CSPACE_ADOBERGB = 20,           // Red, green, blue (Adobe RGB) @since CUPS 1.4.5@
 
-  CUPS_CSPACE_ICC1 = 32,               // ICC-based, 1 color @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC2 = 33,               // ICC-based, 2 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC3 = 34,               // ICC-based, 3 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC4 = 35,               // ICC-based, 4 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC5 = 36,               // ICC-based, 5 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC6 = 37,               // ICC-based, 6 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC7 = 38,               // ICC-based, 7 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC8 = 39,               // ICC-based, 8 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICC9 = 40,               // ICC-based, 9 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCA = 41,               // ICC-based, 10 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCB = 42,               // ICC-based, 11 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCC = 43,               // ICC-based, 12 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCD = 44,               // ICC-based, 13 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCE = 45,               // ICC-based, 14 colors @since CUPS 1.1.19/macOS 10.3@
-  CUPS_CSPACE_ICCF = 46,               // ICC-based, 15 colors @since CUPS 1.1.19/macOS 10.3@
+  CUPS_CSPACE_ICC1 = 32,               // ICC-based, 1 color @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC2 = 33,               // ICC-based, 2 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC3 = 34,               // ICC-based, 3 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC4 = 35,               // ICC-based, 4 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC5 = 36,               // ICC-based, 5 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC6 = 37,               // ICC-based, 6 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC7 = 38,               // ICC-based, 7 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC8 = 39,               // ICC-based, 8 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICC9 = 40,               // ICC-based, 9 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCA = 41,               // ICC-based, 10 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCB = 42,               // ICC-based, 11 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCC = 43,               // ICC-based, 12 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCD = 44,               // ICC-based, 13 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCE = 45,               // ICC-based, 14 colors @since CUPS 1.1.19@
+  CUPS_CSPACE_ICCF = 46,               // ICC-based, 15 colors @since CUPS 1.1.19@
 
   CUPS_CSPACE_DEVICE1 = 48,            // DeviceN, 1 color @since CUPS 1.4.5@
   CUPS_CSPACE_DEVICE2 = 49,            // DeviceN, 2 colors @since CUPS 1.4.5@
@@ -187,8 +187,8 @@ enum cups_raster_mode_e                     // cupsRasterOpen modes
 {
   CUPS_RASTER_READ = 0,                        // Open stream for reading
   CUPS_RASTER_WRITE = 1,               // Open stream for writing
-  CUPS_RASTER_WRITE_COMPRESSED = 2,    // Open stream for compressed writing @since CUPS 1.3/macOS 10.5@
-  CUPS_RASTER_WRITE_PWG = 3,           // Open stream for compressed writing in PWG Raster mode @since CUPS 1.5/macOS 10.7@
+  CUPS_RASTER_WRITE_COMPRESSED = 2,    // Open stream for compressed writing @since CUPS 1.3@
+  CUPS_RASTER_WRITE_PWG = 3,           // Open stream for compressed writing in PWG Raster mode @since CUPS 1.5@
   CUPS_RASTER_WRITE_APPLE = 4          // Open stream for compressed writing in AppleRaster mode (beta) @private@
 };
 
@@ -269,7 +269,7 @@ typedef struct cups_page_header_s   // Version 1 page header @deprecated@
   unsigned     cupsRowStep;            // Spacing between lines
 } cups_page_header_t;
 
-typedef struct cups_page_header2_s     // Version 2 page header @since CUPS 1.2/macOS 10.5@
+typedef struct cups_page_header2_s     // Version 2 page header @since CUPS 1.2@
 {
   // Standard Page Device Dictionary String Values
   char         MediaClass[64];         // MediaClass string
@@ -317,20 +317,20 @@ typedef struct cups_page_header2_s        // Version 2 page header @since CUPS 1.2/macO
   unsigned     cupsRowStep;            // Spacing between lines
 
   // Version 2 Dictionary Values
-  unsigned     cupsNumColors;          // Number of color components @since CUPS 1.2/macOS 10.5@
+  unsigned     cupsNumColors;          // Number of color components @since CUPS 1.2@
   float                cupsBorderlessScalingFactor;
-                                       // Scaling that was applied to page data @since CUPS 1.2/macOS 10.5@
+                                       // Scaling that was applied to page data @since CUPS 1.2@
   float                cupsPageSize[2];        /* Floating point PageSize (scaling *
-                                        * factor not applied) @since CUPS 1.2/macOS 10.5@ */
+                                        * factor not applied) @since CUPS 1.2@ */
   float                cupsImagingBBox[4];     /* Floating point ImagingBoundingBox
                                         * (scaling factor not applied, left,
-                                        * bottom, right, top) @since CUPS 1.2/macOS 10.5@ */
-  unsigned     cupsInteger[16];        // User-defined integer values @since CUPS 1.2/macOS 10.5@
-  float                cupsReal[16];           // User-defined floating-point values @since CUPS 1.2/macOS 10.5@
-  char         cupsString[16][64];     // User-defined string values @since CUPS 1.2/macOS 10.5@
-  char         cupsMarkerType[64];     // Ink/toner type @since CUPS 1.2/macOS 10.5@
-  char         cupsRenderingIntent[64];// Color rendering intent @since CUPS 1.2/macOS 10.5@
-  char         cupsPageSizeName[64];   // PageSize name @since CUPS 1.2/macOS 10.5@
+                                        * bottom, right, top) @since CUPS 1.2@ */
+  unsigned     cupsInteger[16];        // User-defined integer values @since CUPS 1.2@
+  float                cupsReal[16];           // User-defined floating-point values @since CUPS 1.2@
+  char         cupsString[16][64];     // User-defined string values @since CUPS 1.2@
+  char         cupsMarkerType[64];     // Ink/toner type @since CUPS 1.2@
+  char         cupsRenderingIntent[64];// Color rendering intent @since CUPS 1.2@
+  char         cupsPageSizeName[64];   // PageSize name @since CUPS 1.2@
 } cups_page_header2_t;
 
 typedef struct _cups_raster_s cups_raster_t;
index cddc8edcb46d6660d7019da364cc704c4a3d82fb..26483c9c7de116c3efef0d2be19831a4fe62a4fe 100644 (file)
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include <fcntl.h>
@@ -98,7 +94,7 @@ cupsDoFileRequest(http_t     *http,   /* I - Connection to server or @code CUPS_HT
  * If "outfile" is a valid file descriptor, @code cupsDoIORequest@ copies
  * all of the data after the IPP response message to the file.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 ipp_t *                                        /* O - Response data */
@@ -335,7 +331,7 @@ cupsGetErrorString(void)
  * @link cupsReadResponseData@ after getting a successful response,
  * otherwise call @link httpFlush@ to complete the response processing.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 ipp_t *                                        /* O - Response or @code NULL@ on HTTP error */
@@ -558,7 +554,7 @@ _cupsNextDelay(int current,         /* I  - Current delay value or 0 */
  * files from @code CUPS_GET_PPD@ and @code CUPS_GET_DOCUMENT@ requests,
  * respectively.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 ssize_t                                        /* O - Bytes read, 0 on EOF, -1 on error */
@@ -608,7 +604,7 @@ cupsReadResponseData(
  * Note: Unlike @link cupsDoFileRequest@, @link cupsDoIORequest@, and
  * @link cupsDoRequest@, the request is NOT freed with @link ippDelete@.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 http_status_t                          /* O - Initial HTTP status */
@@ -922,7 +918,7 @@ cupsSendRequest(http_t     *http,   /* I - Connection to server or @code CUPS_HTTP
  * This function is used after @link cupsSendRequest@ to provide a PPD and
  * after @link cupsStartDocument@ to provide a document file.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 http_status_t                          /* O - @code HTTP_STATUS_CONTINUE@ if OK or HTTP status on error */
index 4f7ffe766af5e847b2371ceeb35ce56882c7a3f8..1b1d7bdfd6644bd909fcb5ddda9f062799bf4061 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Side-channel API code for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 2006 by Easy Software Products.
  *
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "sidechannel.h"
 #include "cups-private.h"
 #include "debug-internal.h"
@@ -47,7 +43,7 @@
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 cups_sc_status_t                       /* O  - Status of command */
@@ -86,7 +82,7 @@ cupsSideChannelDoRequest(
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -265,7 +261,7 @@ cupsSideChannelRead(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the SNMP query.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 cups_sc_status_t                       /* O  - Query status */
@@ -369,7 +365,7 @@ cupsSideChannelSNMPGet(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the first SNMP query.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 cups_sc_status_t                       /* O - Status of first query of @code CUPS_SC_STATUS_OK@ on success */
@@ -487,7 +483,7 @@ cupsSideChannelSNMPWalk(
  * This function is normally only called by backend programs to send
  * responses to a filter, driver, or port monitor program.
  *
- * @since CUPS 1.3/macOS 10.5@
+ * @since CUPS 1.3@
  */
 
 int                                    /* O - 0 on success, -1 on error */
index 94e7b959b3f94978ee6ae030b04488503137d0cf..ecd55d94179e9351f7866754cc8d3591c333fc30 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Side-channel API definitions for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2019 by Apple Inc.
 // Copyright © 2006 by Easy Software Products.
 //
@@ -51,9 +51,9 @@ enum cups_sc_command_e                        // Request command codes
   CUPS_SC_CMD_GET_BIDI = 3,            // Return bidirectional capabilities
   CUPS_SC_CMD_GET_DEVICE_ID = 4,       // Return the IEEE-1284 device ID
   CUPS_SC_CMD_GET_STATE = 5,           // Return the device state
-  CUPS_SC_CMD_SNMP_GET = 6,            // Query an SNMP OID @since CUPS 1.4/macOS 10.6@
-  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       // Query the next SNMP OID @since CUPS 1.4/macOS 10.6@
-  CUPS_SC_CMD_GET_CONNECTED = 8,       // Return whether the backend is "connected" to the printer @since CUPS 1.5/macOS 10.7@
+  CUPS_SC_CMD_SNMP_GET = 6,            // Query an SNMP OID @since CUPS 1.4@
+  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       // Query the next SNMP OID @since CUPS 1.4@
+  CUPS_SC_CMD_GET_CONNECTED = 8,       // Return whether the backend is "connected" to the printer @since CUPS 1.5@
   CUPS_SC_CMD_MAX                      // End of valid values @private@
 };
 typedef enum cups_sc_command_e cups_sc_command_t;
index 8c9cf3548679a6c1d49cbcb79a03bb33b58ef329..ab459d67435c2d9dec3c2af0fe4caaa2da08e572 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Temp file utilities for CUPS.
 //
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products.
 //
index 98dbe4acabb89fc2f5eb3f89c4361422b5b9aa60..5630a3eb719032f31888f1573a1fb5bddea656bb 100644 (file)
@@ -1,7 +1,7 @@
 //
 // HTTP test program for CUPS.
 //
-// Copyright © 2021-2024 by OpenPrinting.
+// Copyright © 2021-2025 by OpenPrinting.
 // Copyright © 2007-2018 by Apple Inc.
 // Copyright © 1997-2006 by Easy Software Products.
 //
index 61791e06aedcc8aa872430b2b684f7cb8c003f9d..4f4a186fb5f281c71ec8e3b16ef95ecd368d6960 100644 (file)
@@ -9,10 +9,6 @@
  * information.
  */
 
-/*
- * Include necessary headers...
- */
-
 #include "cups-private.h"
 #include "debug-internal.h"
 #include <stdlib.h>
@@ -188,7 +184,7 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */
  * the @link cupsSetPasswordCB2@ function need to do so in each thread for the
  * same function to be used.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 const char *                           /* O - Password */
@@ -480,7 +476,7 @@ cupsSetPasswordCB(cups_password_cb_t cb)/* I - Callback function */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.4/macOS 10.6@
+ * @since CUPS 1.4@
  */
 
 void
@@ -627,7 +623,7 @@ cupsSetUser(const char *user)               /* I - User name */
  * Setting the string to NULL forces the default value containing the CUPS
  * version, IPP version, and operating system version and architecture.
  *
- * @since CUPS 1.7/macOS 10.9@
+ * @since CUPS 1.7@
  */
 
 void
index ae7d38289316e50a4a2534faf65419b43809ddab..80063c2b7cff7a9d3689908d943d1ad80a899ab9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Printing utilities for CUPS.
  *
- * Copyright © 2020-2024 by OpenPrinting.
+ * Copyright © 2020-2025 by OpenPrinting.
  * Copyright © 2007-2018 by Apple Inc.
  * Copyright © 1997-2006 by Easy Software Products.
  *
@@ -57,7 +57,7 @@ cupsCancelJob(const char *name,               /* I - Name of printer or class */
  * Use the @link cupsGetError@ and @link cupsGetErrorString@ functions to get
  * the cause of any failure.
  *
- * @since CUPS 1.4/macOS 10.6@ @exclude all@
+ * @since CUPS 1.4@ @exclude all@
  */
 
 ipp_status_t                           /* O - IPP status */
@@ -145,7 +145,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@ @exclude all@
+ * @since CUPS 1.4@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -219,7 +219,7 @@ cupsCreateJob(
  *
  * The document must have been started using @link cupsStartDocument@.
  *
- * @since CUPS 1.4/macOS 10.6@ @exclude all@
+ * @since CUPS 1.4@ @exclude all@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -317,7 +317,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@ @exclude all@
+ * @since CUPS 1.1.21@ @exclude all@
  */
 
 const char *                           /* O - Default printer or @code NULL@ */
@@ -410,7 +410,7 @@ cupsGetJobs(cups_job_t **jobs,              /* O - Job data */
  * pending, processing, or held and @code CUPS_WHICHJOBS_COMPLETED@ returns
  * jobs that are stopped, canceled, aborted, or completed.
  *
- * @since CUPS 1.1.21/macOS 10.4@
+ * @since CUPS 1.1.21@
  */
 
 int                                    /* O - Number of jobs */
@@ -717,7 +717,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@ @exclude all@
+ * @since CUPS 1.1.21@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -767,7 +767,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@ @exclude all@
+ * @since CUPS 1.1.21@ @exclude all@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -897,7 +897,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@ @exclude all@
+ * @since CUPS 1.4@ @exclude all@
  */
 
 http_status_t                          /* O - HTTP status of request */
index a65e97a8203833277ffc0e55d9441af5a73f0d0f..1052c37184b19ebb91552bbf20aa387fc2067563 100644 (file)
@@ -5,7 +5,7 @@
 <title>Administration APIs</title>
 <meta name="keywords" content="Programming">
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="generator" content="codedoc v3.7">
+<meta name="generator" content="codedoc v3.8">
 <meta name="author" content="Unknown">
 <meta name="language" content="en-US">
 <meta name="copyright" content="Unknown">
@@ -438,7 +438,7 @@ show_devices(void)
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
 <p class="description">Get settings from the server.</p>
 <p class="code">
 <span class="reserved">int</span> cupsAdminGetServerSettings(http_t *http, <span class="reserved">int</span> *num_settings, cups_option_t **settings);</p>
@@ -458,7 +458,7 @@ show_devices(void)
 you are done with them.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
 <p class="description">Set settings on the server.</p>
 <p class="code">
 <span class="reserved">int</span> cupsAdminSetServerSettings(http_t *http, <span class="reserved">int</span> num_settings, cups_option_t *settings);</p>
@@ -506,7 +506,7 @@ being provided by the <a href="#cupsEnumDests"><code>cupsEnumDests</code></a> an
 
 </p>
 <h2 class="title"><a id="TYPES">Data Types</a></h2>
-<h3 class="typedef"><a id="cups_device_cb_t"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span>cups_device_cb_t</a></h3>
+<h3 class="typedef"><a id="cups_device_cb_t"><span class="info">&#160;CUPS 1.4&#160;</span>cups_device_cb_t</a></h3>
 <p class="description">Device callback </p>
 <p class="code">
 typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
index b08c8c03fc6dace9c5cd6a68ab92a7485956a9d7..374a9f0bff243a596aa0a9cb5fd5b6de41799a9f 100644 (file)
@@ -5,7 +5,7 @@
 <title>Filter and Backend Programming</title>
 <meta name="keywords" content="Programming">
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="generator" content="codedoc v3.7">
+<meta name="generator" content="codedoc v3.8">
 <meta name="author" content="Unknown">
 <meta name="language" content="en-US">
 <meta name="copyright" content="Unknown">
@@ -1215,7 +1215,7 @@ void *my_data;
 <p>The sandbox profile used in CUPS still allows some actions that are not listed above - these privileges will be removed over time until the profile matches the list above.</p>
 </blockquote>
 <h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackChannelRead">cupsBackChannelRead</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsBackChannelRead">cupsBackChannelRead</a></h3>
 <p class="description">Read data from the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelRead(<span class="reserved">char</span> *buffer, size_t bytes, <span class="reserved">double</span> timeout);</p>
@@ -1236,7 +1236,7 @@ parameter controls how many seconds to wait for the data - use 0.0 to
 return immediately if there is no data, -1.0 to wait for data indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
 <p class="description">Write data to the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelWrite(<span class="reserved">const</span> <span class="reserved">char</span> *buffer, size_t bytes, <span class="reserved">double</span> timeout);</p>
@@ -1258,7 +1258,7 @@ controls how many seconds to wait for the data to be written - use
 indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
 <p class="description">Get the device URI for a backend.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsBackendDeviceURI(<span class="reserved">char</span> **argv);</p>
@@ -1276,7 +1276,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsBackendReport">cupsBackendReport</a></h3>
 <p class="description">Write a device line from a backend.</p>
 <p class="code">
 <span class="reserved">void</span> cupsBackendReport(<span class="reserved">const</span> <span class="reserved">char</span> *device_scheme, <span class="reserved">const</span> <span class="reserved">char</span> *device_uri, <span class="reserved">const</span> <span class="reserved">char</span> *device_make_and_model, <span class="reserved">const</span> <span class="reserved">char</span> *device_info, <span class="reserved">const</span> <span class="reserved">char</span> *device_id, <span class="reserved">const</span> <span class="reserved">char</span> *device_location);</p>
@@ -1301,7 +1301,7 @@ It handles quoting of special characters in the device-make-and-model,
 device-info, device-id, and device-location strings.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSideChannelDoRequest">cupsSideChannelDoRequest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsSideChannelDoRequest">cupsSideChannelDoRequest</a></h3>
 <p class="description">Send a side-channel command to a backend and wait for a response.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelDoRequest(<a href="#cups_sc_command_t">cups_sc_command_t</a> command, <span class="reserved">char</span> *data, <span class="reserved">int</span> *datalen, <span class="reserved">double</span> timeout);</p>
@@ -1330,7 +1330,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSideChannelRead">cupsSideChannelRead</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsSideChannelRead">cupsSideChannelRead</a></h3>
 <p class="description">Read a side-channel message.</p>
 <p class="code">
 <span class="reserved">int</span> cupsSideChannelRead(<a href="#cups_sc_command_t">cups_sc_command_t</a> *command, <a href="#cups_sc_status_t">cups_sc_status_t</a> *status, <span class="reserved">char</span> *data, <span class="reserved">int</span> *datalen, <span class="reserved">double</span> timeout);</p>
@@ -1360,7 +1360,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsSideChannelSNMPGet">cupsSideChannelSNMPGet</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsSideChannelSNMPGet">cupsSideChannelSNMPGet</a></h3>
 <p class="description">Query a SNMP OID's value.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPGet(<span class="reserved">const</span> <span class="reserved">char</span> *oid, <span class="reserved">char</span> *data, <span class="reserved">int</span> *datalen, <span class="reserved">double</span> timeout);</p>
@@ -1396,7 +1396,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsSideChannelSNMPWalk">cupsSideChannelSNMPWalk</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsSideChannelSNMPWalk">cupsSideChannelSNMPWalk</a></h3>
 <p class="description">Query multiple SNMP OID values.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPWalk(<span class="reserved">const</span> <span class="reserved">char</span> *oid, <span class="reserved">double</span> timeout, <a href="#cups_sc_walk_func_t">cups_sc_walk_func_t</a> cb, <span class="reserved">void</span> *context);</p>
@@ -1437,7 +1437,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the first SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
 <p class="description">Write a side-channel message.</p>
 <p class="code">
 <span class="reserved">int</span> cupsSideChannelWrite(<a href="#cups_sc_command_t">cups_sc_command_t</a> command, <a href="#cups_sc_status_t">cups_sc_status_t</a> status, <span class="reserved">const</span> <span class="reserved">char</span> *data, <span class="reserved">int</span> datalen, <span class="reserved">double</span> timeout);</p>
@@ -1524,11 +1524,11 @@ typedef void (*cups_sc_walk_func_t)(const char *oid, const char *data, int datal
 <table class="list"><tbody>
 <tr><th>CUPS_SC_CMD_DRAIN_OUTPUT </th><td class="description">Drain all pending output</td></tr>
 <tr><th>CUPS_SC_CMD_GET_BIDI </th><td class="description">Return bidirectional capabilities</td></tr>
-<tr><th>CUPS_SC_CMD_GET_CONNECTED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th><td class="description">Return whether the backend is &quot;connected&quot; to the printer </td></tr>
+<tr><th>CUPS_SC_CMD_GET_CONNECTED <span class="info">&#160;CUPS 1.5&#160;</span></th><td class="description">Return whether the backend is &quot;connected&quot; to the printer </td></tr>
 <tr><th>CUPS_SC_CMD_GET_DEVICE_ID </th><td class="description">Return the IEEE-1284 device ID</td></tr>
 <tr><th>CUPS_SC_CMD_GET_STATE </th><td class="description">Return the device state</td></tr>
-<tr><th>CUPS_SC_CMD_SNMP_GET <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></th><td class="description">Query an SNMP OID </td></tr>
-<tr><th>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></th><td class="description">Query the next SNMP OID </td></tr>
+<tr><th>CUPS_SC_CMD_SNMP_GET <span class="info">&#160;CUPS 1.4&#160;</span></th><td class="description">Query an SNMP OID </td></tr>
+<tr><th>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&#160;CUPS 1.4&#160;</span></th><td class="description">Query the next SNMP OID </td></tr>
 <tr><th>CUPS_SC_CMD_SOFT_RESET </th><td class="description">Do a soft reset</td></tr>
 </tbody></table>
 <h3 class="enumeration"><a id="cups_sc_connected_e">cups_sc_connected_e</a></h3>
index d6ef5eb7f68b38ba64d301b084669f0638cbf5cb..5d74c3408704954fab50a956d52e3c5c482b80e7 100644 (file)
@@ -5,7 +5,7 @@
 <title>PPD API (DEPRECATED)</title>
 <meta name="keywords" content="Programming">
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="generator" content="codedoc v3.7">
+<meta name="generator" content="codedoc v3.8">
 <meta name="author" content="Unknown">
 <meta name="language" content="en-US">
 <meta name="copyright" content="Unknown">
@@ -592,7 +592,7 @@ for (attr = <a href="#ppdFindAttr">ppdFindAttr</a>(ppd, "Product", NULL);
   puts(attr->value);
 </pre>
 <h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetConflicts">cupsGetConflicts</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsGetConflicts">cupsGetConflicts</a></h3>
 <p class="description">Get a list of conflicting options in a marked PPD.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetConflicts(ppd_file_t *ppd, <span class="reserved">const</span> <span class="reserved">char</span> *option, <span class="reserved">const</span> <span class="reserved">char</span> *choice, cups_option_t **options);</p>
@@ -638,7 +638,7 @@ in the class.<br>
 The returned filename is stored in a static buffer and is overwritten with
 each call to <code>cupsGetPPD</code> or <a href="#cupsGetPPD2"><code>cupsGetPPD2</code></a>.  The caller &quot;owns&quot; the
 file that is created and must <code>unlink</code> the returned filename.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetPPD2">cupsGetPPD2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.21&#160;</span><a id="cupsGetPPD2">cupsGetPPD2</a></h3>
 <p class="description">Get the PPD file for a printer from the specified server.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsGetPPD2(http_t *http, <span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -660,7 +660,7 @@ each call to <a href="#cupsGetPPD"><code>cupsGetPPD</code></a> or <code>cupsGetP
 file that is created and must <code>unlink</code> the returned filename.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetPPD3">cupsGetPPD3</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsGetPPD3">cupsGetPPD3</a></h3>
 <p class="description">Get the PPD file for a printer on the specified
                   server if it has changed.</p>
 <p class="code">
@@ -698,7 +698,7 @@ For classes, <code>cupsGetPPD3</code> returns the PPD file for the first printer
 in the class.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsGetServerPPD">cupsGetServerPPD</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsGetServerPPD">cupsGetServerPPD</a></h3>
 <p class="description">Get an available PPD file from the server.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsGetServerPPD(http_t *http, <span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -742,7 +742,7 @@ or <a href="#cupsGetServerPPD"><code>cupsGetServerPPD</code></a>.
 &quot;multiple-document-handling&quot;, &quot;output-bin&quot;, &quot;print-color-mode&quot;,
 &quot;print-quality&quot;, &quot;printer-resolution&quot;, and &quot;sides&quot; attributes to their
 corresponding PPD options and choices.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
 <p class="description">Interpret PPD commands to create a page header.</p>
 <p class="code">
 <span class="reserved">int</span> cupsRasterInterpretPPD(cups_page_header2_t *h, ppd_file_t *ppd, <span class="reserved">int</span> num_options, cups_option_t *options, <a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func);</p>
@@ -787,7 +787,7 @@ Currently only the <code>[</code>, <code>]</code>, <code>&lt;&lt;</code>, <code>
 are supported.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsResolveConflicts">cupsResolveConflicts</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsResolveConflicts">cupsResolveConflicts</a></h3>
 <p class="description">Resolve conflicts in a marked PPD.</p>
 <p class="code">
 <span class="reserved">int</span> cupsResolveConflicts(ppd_file_t *ppd, <span class="reserved">const</span> <span class="reserved">char</span> *option, <span class="reserved">const</span> <span class="reserved">char</span> *choice, <span class="reserved">int</span> *num_options, cups_option_t **options);</p>
@@ -858,7 +858,7 @@ until a non-conflicting option choice is found.
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">The choices array should be freed using <code>free</code> when you are
 finished with it.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdCollect2">ppdCollect2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdCollect2">ppdCollect2</a></h3>
 <p class="description">Collect all marked options that reside in the
                   specified section and minimum order.</p>
 <p class="code">
@@ -910,7 +910,7 @@ finished with it.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdEmitAfterOrder">ppdEmitAfterOrder</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdEmitAfterOrder">ppdEmitAfterOrder</a></h3>
 <p class="description">Emit a subset of the code for marked options to a file.</p>
 <p class="code">
 <span class="reserved">int</span> ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp, <a href="#ppd_section_t">ppd_section_t</a> section, <span class="reserved">int</span> limit, <span class="reserved">float</span> min_order);</p>
@@ -970,7 +970,7 @@ When &quot;limit&quot; is zero, this function is identical to ppdEmit().
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
 <p class="description">Emit JCLEnd code to a file.</p>
 <p class="code">
 <span class="reserved">int</span> ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp);</p>
@@ -983,7 +983,7 @@ When &quot;limit&quot; is zero, this function is identical to ppdEmit().
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdEmitString">ppdEmitString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdEmitString">ppdEmitString</a></h3>
 <p class="description">Get a string containing the code for marked options.</p>
 <p class="code">
 <span class="reserved">char</span> *ppdEmitString(ppd_file_t *ppd, <a href="#ppd_section_t">ppd_section_t</a> section, <span class="reserved">float</span> min_order);</p>
@@ -1008,7 +1008,7 @@ The return string is allocated on the heap and should be freed using
 <code>free</code> when you are done with it.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ppdFindAttr">ppdFindAttr</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ppdFindAttr">ppdFindAttr</a></h3>
 <p class="description">Find the first matching attribute.</p>
 <p class="code">
 <a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindAttr(ppd_file_t *ppd, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *spec);</p>
@@ -1036,7 +1036,7 @@ The return string is allocated on the heap and should be freed using
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Choice pointer or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdFindCustomOption">ppdFindCustomOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdFindCustomOption">ppdFindCustomOption</a></h3>
 <p class="description">Find a custom option.</p>
 <p class="code">
 ppd_coption_t *ppdFindCustomOption(ppd_file_t *ppd, <span class="reserved">const</span> <span class="reserved">char</span> *keyword);</p>
@@ -1049,7 +1049,7 @@ ppd_coption_t *ppdFindCustomOption(ppd_file_t *ppd, <span class="reserved">const
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom option or NULL</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdFindCustomParam">ppdFindCustomParam</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdFindCustomParam">ppdFindCustomParam</a></h3>
 <p class="description">Find a parameter for a custom option.</p>
 <p class="code">
 ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt, <span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -1075,7 +1075,7 @@ ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt, <span class="reserved">cons
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to choice or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ppdFindNextAttr">ppdFindNextAttr</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ppdFindNextAttr">ppdFindNextAttr</a></h3>
 <p class="description">Find the next matching attribute.</p>
 <p class="code">
 <a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindNextAttr(ppd_file_t *ppd, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *spec);</p>
@@ -1103,7 +1103,7 @@ ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt, <span class="reserved">cons
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to option or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdFirstCustomParam">ppdFirstCustomParam</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdFirstCustomParam">ppdFirstCustomParam</a></h3>
 <p class="description">Return the first parameter for a custom option.</p>
 <p class="code">
 ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt);</p>
@@ -1114,7 +1114,7 @@ ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdFirstOption">ppdFirstOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdFirstOption">ppdFirstOption</a></h3>
 <p class="description">Return the first option in the PPD file.</p>
 <p class="code">
 <a href="#ppd_option_t">ppd_option_t</a> *ppdFirstOption(ppd_file_t *ppd);</p>
@@ -1129,7 +1129,7 @@ ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt);</p>
 <p class="discussion">Options are returned from all groups in ascending alphanumeric order.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="ppdInstallableConflict">ppdInstallableConflict</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="ppdInstallableConflict">ppdInstallableConflict</a></h3>
 <p class="description">Test whether an option choice conflicts with
                              an installable option.</p>
 <p class="code">
@@ -1165,7 +1165,7 @@ on constraints against options in the &quot;InstallableOptions&quot; group.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Non-zero if option is marked</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdLocalize">ppdLocalize</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdLocalize">ppdLocalize</a></h3>
 <p class="description">Localize the PPD file to the current locale.</p>
 <p class="code">
 <span class="reserved">int</span> ppdLocalize(ppd_file_t *ppd);</p>
@@ -1201,7 +1201,7 @@ localized string uses the UTF-8 character encoding.
 <p class="discussion">This function uses the current locale to find the localized attribute for
 the given main and option keywords.  If no localized version of the
 attribute exists for the current locale, the unlocalized version is returned.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
 <p class="description">Get the localized version of a cupsIPPReason
                            attribute.</p>
 <p class="code">
@@ -1230,7 +1230,7 @@ string or attribute value. Otherwise the corresponding URI is returned.<br>
 If no value of the requested scheme can be found, NULL is returned.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
 <p class="description">Get the localized version of a marker-names
                             attribute value.</p>
 <p class="code">
@@ -1275,7 +1275,7 @@ name can be found, <code>NULL</code> is returned.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of conflicts</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdNextCustomParam">ppdNextCustomParam</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdNextCustomParam">ppdNextCustomParam</a></h3>
 <p class="description">Return the next parameter for a custom option.</p>
 <p class="code">
 ppd_cparam_t *ppdNextCustomParam(ppd_coption_t *opt);</p>
@@ -1286,7 +1286,7 @@ ppd_cparam_t *ppdNextCustomParam(ppd_coption_t *opt);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppdNextOption">ppdNextOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ppdNextOption">ppdNextOption</a></h3>
 <p class="description">Return the next option in the PPD file.</p>
 <p class="code">
 <a href="#ppd_option_t">ppd_option_t</a> *ppdNextOption(ppd_file_t *ppd);</p>
@@ -1327,7 +1327,7 @@ ppd_size_t *ppdPageSize(ppd_file_t *ppd, <span class="reserved">const</span> <sp
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Size record for page or NULL</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
 <p class="description">Return the custom page size limits.</p>
 <p class="code">
 <span class="reserved">int</span> ppdPageSizeLimits(ppd_file_t *ppd, ppd_size_t *minimum, ppd_size_t *maximum);</p>
index 3d69b9bd4d08dc81f01727c5ef619a58c34058ae..7a13ac93f17b9b849d7d91a3cb0769ef0b68eadd 100644 (file)
Binary files a/doc/help/cupspm.epub and b/doc/help/cupspm.epub differ
index 2b8c0c402fc64f023d6835f49c09c0cf7bbfaea2..782603d487caec38e9a05d925961361c4171fbf8 100644 (file)
@@ -5,10 +5,10 @@
 <title>CUPS Programming Manual</title>
 <meta name="keywords" content="Programming">
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<meta name="generator" content="codedoc v3.7">
+<meta name="generator" content="codedoc v3.8">
 <meta name="author" content="Michael R Sweet">
 <meta name="language" content="en-US">
-<meta name="copyright" content="Copyright © 2020-2024 by OpenPrinting. All Rights Reserved.">
+<meta name="copyright" content="Copyright © 2020-2025 by OpenPrinting. All Rights Reserved.">
 <meta name="version" content="2.5.0">
 <style type="text/css"><!--
 body {
@@ -254,7 +254,7 @@ span.string {
 <div class="header">
 <h1 class="title">CUPS Programming Manual</h1>
 <p>Michael R Sweet</p>
-<p>Copyright © 2020-2024 by OpenPrinting. All Rights Reserved.</p>
+<p>Copyright © 2020-2025 by OpenPrinting. All Rights Reserved.</p>
 </div>
 <div class="contents">
 <h2 class="title">Contents</h2>
@@ -284,7 +284,6 @@ span.string {
 <li><a href="#writing-ipp-data-files">Writing IPP Data Files</a></li>
 </ul></li>
 <li><a href="#FUNCTIONS">Functions</a><ul class="subcontents">
-<li><a href="#DllMain">DllMain</a></li>
 <li><a href="#cupsAddDest">cupsAddDest</a></li>
 <li><a href="#cupsAddDestMediaOptions">cupsAddDestMediaOptions</a></li>
 <li><a href="#cupsAddDestMediaOptions2">cupsAddDestMediaOptions2</a></li>
@@ -325,6 +324,7 @@ span.string {
 <li><a href="#cupsConnectDest">cupsConnectDest</a></li>
 <li><a href="#cupsCopyCredentials">cupsCopyCredentials</a></li>
 <li><a href="#cupsCopyCredentialsKey">cupsCopyCredentialsKey</a></li>
+<li><a href="#cupsCopyCredentialsPublicKey">cupsCopyCredentialsPublicKey</a></li>
 <li><a href="#cupsCopyCredentialsRequest">cupsCopyCredentialsRequest</a></li>
 <li><a href="#cupsCopyDest">cupsCopyDest</a></li>
 <li><a href="#cupsCopyDestConflicts">cupsCopyDestConflicts</a></li>
@@ -481,6 +481,7 @@ span.string {
 <li><a href="#cupsJWTGetHeaders">cupsJWTGetHeaders</a></li>
 <li><a href="#cupsJWTHasValidSignature">cupsJWTHasValidSignature</a></li>
 <li><a href="#cupsJWTImportString">cupsJWTImportString</a></li>
+<li><a href="#cupsJWTLoadCredentials">cupsJWTLoadCredentials</a></li>
 <li><a href="#cupsJWTMakePrivateKey">cupsJWTMakePrivateKey</a></li>
 <li><a href="#cupsJWTMakePublicKey">cupsJWTMakePublicKey</a></li>
 <li><a href="#cupsJWTNew">cupsJWTNew</a></li>
@@ -1585,14 +1586,25 @@ ippNewRequest(ipp_op_t op);
 ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI,
              <span class="string">&quot;printer-uri&quot;</span>, <span class="comment">/*language*/</span>NULL, printer_uri);
 ```c
-</code></pre>
-<blockquote>
-<p><strong>Note:</strong></p>
-<p>If we wanted to query the scheduler instead of the device, we would look up the &quot;printer-uri-supported&quot; option instead of the &quot;device-uri&quot; value.</p>
-</blockquote>
-<p>The <a href="#ippAddString"><code>ippAddString</code></a> function adds the &quot;printer-uri&quot; attribute to the IPP request. The <code>IPP_TAG_OPERATION</code> argument specifies that the attribute is part of the operation. The <code>IPP_TAG_URI</code> argument specifies that the value is a Universal Resource Identifier (URI) string. The <code>NULL</code> argument specifies there is no language (English, French, Japanese, etc.) associated with the string, and the <code>printer_uri</code> argument specifies the string value.</p>
-<p>The IPP Get-Printer-Attributes request also supports an IPP attribute called &quot;requested-attributes&quot; that lists the attributes and values you are interested in. For example, the following code requests the printer state attributes:</p>
-<pre><code class="language-c"><span class="reserved">static</span> <span class="reserved">const</span> <span class="reserved">char</span> * <span class="reserved">const</span> requested_attributes[] =
+
+&gt; **Note:**
+&gt;
+&gt; If we wanted to query the scheduler instead of the device, we would look
+&gt; up the <span class="string">&quot;printer-uri-supported&quot;</span> option instead of the <span class="string">&quot;device-uri&quot;</span> value.
+
+The [`ippAddString`](@@) function adds the <span class="string">&quot;printer-uri&quot;</span> attribute to the IPP
+request.  The `IPP_TAG_OPERATION` argument specifies that the attribute is part
+of the operation.  The `IPP_TAG_URI` argument specifies that the value is a
+Universal Resource Identifier (URI) string.  The `NULL` argument specifies there
+is no language (English, French, Japanese, etc.) associated with the string, <span class="reserved">and</span>
+the `printer_uri` argument specifies the string value.
+
+The IPP Get-Printer-Attributes request also supports an IPP attribute called
+<span class="string">&quot;requested-attributes&quot;</span> that lists the attributes <span class="reserved">and</span> values you are interested
+in.  For example, the following code requests the printer state attributes:
+
+```c
+<span class="reserved">static</span> <span class="reserved">const</span> <span class="reserved">char</span> * <span class="reserved">const</span> requested_attributes[] =
 {
   <span class="string">&quot;printer-state&quot;</span>,
   <span class="string">&quot;printer-state-message&quot;</span>,
@@ -1776,21 +1788,6 @@ token_cb(ipp_file_t *file, <span class="reserved">void</span> *cb_data, <span cl
 <h3 class="title" id="writing-ipp-data-files">Writing IPP Data Files</h3>
 <p>As when reading an IPP data file, the <a href="#ippFileNew"><code>ippFileNew</code></a> function creates a new file object, <a href="#ippFileOpen"><code>ippFileOpen</code></a> opens the file, and <a href="#ippFileClose"><code>ippFileClose</code></a> closes the file. However, you call <a href="#ippFileWriteAttributes"><code>ippFileWriteAttributes</code></a> to write the attributes in an IPP message (<code>ipp_t</code>), <a href="#ippFileWriteComment"><code>ippFileWriteComment</code></a> to write a comment in the file, and <a href="#ippWriteToken"><code>ippWriteToken</code></a> or <a href="#ippWriteTokenf"><code>ippWriteTokenf</code></a> to write a token or value to the file.</p>
 <h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><a id="DllMain">DllMain</a></h3>
-<p class="description">Main entry for library.</p>
-<p class="code">
-BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved);</p>
-<h4 class="parameters">Parameters</h4>
-<table class="list"><tbody>
-<tr><th>hinst</th>
-<td class="description">DLL module handle</td></tr>
-<tr><th>reason</th>
-<td class="description">Reason</td></tr>
-<tr><th>reserved</th>
-<td class="description">Unused</td></tr>
-</tbody></table>
-<h4 class="returnvalue">Return Value</h4>
-<p class="description">Success/failure</p>
 <h3 class="function"><a id="cupsAddDest">cupsAddDest</a></h3>
 <p class="description">Add a destination to the list of destinations.</p>
 <p class="code">
@@ -1819,7 +1816,7 @@ 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"><span class="info">&#160;CUPS 2.3/macOS 10.14&#160;</span><a id="cupsAddDestMediaOptions">cupsAddDestMediaOptions</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.3&#160;</span><a id="cupsAddDestMediaOptions">cupsAddDestMediaOptions</a></h3>
 <p class="description">Add the option corresponding to the specified media size.</p>
 <p class="code">
 <span class="reserved">int</span> cupsAddDestMediaOptions(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">unsigned</span> flags, <a href="#cups_size_t">cups_size_t</a> *size, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
@@ -1865,7 +1862,7 @@ destinations to the user's lpoptions file.</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New number of options</p>
-<h3 class="function"><span class="info">&#160;CUPS 2.2.4/macOS 10.13&#160;</span><a id="cupsAddIntegerOption">cupsAddIntegerOption</a></h3>
+<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">
 <span class="reserved">int</span> cupsAddIntegerOption(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> value, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
@@ -1921,7 +1918,7 @@ destinations to the user's lpoptions file.</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>true</code> if valid, <code>false</code> otherwise</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayAdd">cupsArrayAdd</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayAdd">cupsArrayAdd</a></h3>
 <p class="description">Add an element to the array.</p>
 <p class="code">
 <span class="reserved">int</span> cupsArrayAdd(<a href="#cups_array_t">cups_array_t</a> *a, <span class="reserved">void</span> *e);</p>
@@ -1961,7 +1958,7 @@ function. Duplicate strings are NOT added. If the string pointer &quot;s&quot; i
 or the empty string, no strings are added to the array.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayClear">cupsArrayClear</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayClear">cupsArrayClear</a></h3>
 <p class="description">Clear the array.</p>
 <p class="code">
 <span class="reserved">void</span> cupsArrayClear(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -1976,7 +1973,7 @@ 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="cupsArrayDelete">cupsArrayDelete</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayDelete">cupsArrayDelete</a></h3>
 <p class="description">Free all memory used by the array.</p>
 <p class="code">
 <span class="reserved">void</span> cupsArrayDelete(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -1990,7 +1987,7 @@ elements themselves.
 elements themselves.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayDup">cupsArrayDup</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -2001,7 +1998,7 @@ elements themselves.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayFind">cupsArrayFind</a></h3>
 <p class="description">Find an element in the array.</p>
 <p class="code">
 <span class="reserved">void</span> *cupsArrayFind(<a href="#cups_array_t">cups_array_t</a> *a, <span class="reserved">void</span> *e);</p>
@@ -2065,7 +2062,7 @@ elements themselves.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
 <p class="description">Get the index of the current element.</p>
 <p class="code">
 <span class="reserved">int</span> cupsArrayGetIndex(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -2081,7 +2078,7 @@ elements themselves.
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
 <p class="description">Get the index of the last inserted element.</p>
 <p class="code">
 <span class="reserved">int</span> cupsArrayGetInsert(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -2152,7 +2149,7 @@ to set the current element.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">User data</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayInsert">cupsArrayInsert</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayInsert">cupsArrayInsert</a></h3>
 <p class="description">Insert an element in the array.</p>
 <p class="code">
 <span class="reserved">int</span> cupsArrayInsert(<a href="#cups_array_t">cups_array_t</a> *a, <span class="reserved">void</span> *e);</p>
@@ -2171,7 +2168,7 @@ 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.5/macOS 10.7&#160;</span><a id="cupsArrayNew3">cupsArrayNew3</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.5&#160;</span><a id="cupsArrayNew3">cupsArrayNew3</a></h3>
 <p class="description">Create a new array with optional compare, hash, copy, and/or free callbacks.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew3(<a href="#cups_array_cb_t">cups_array_cb_t</a> f, <span class="reserved">void</span> *d, <a href="#cups_ahash_cb_t">cups_ahash_cb_t</a> h, <span class="reserved">int</span> hsize, <a href="#cups_acopy_cb_t">cups_acopy_cb_t</a> cf, <a href="#cups_afree_cb_t">cups_afree_cb_t</a> ff);</p>
@@ -2229,7 +2226,7 @@ passed.  If the string pointer &quot;s&quot; is <code>NULL</code> or the empty s
 are added to the newly created array.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayRemove">cupsArrayRemove</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsArrayRemove">cupsArrayRemove</a></h3>
 <p class="description">Remove an element from the array.</p>
 <p class="code">
 <span class="reserved">int</span> cupsArrayRemove(<a href="#cups_array_t">cups_array_t</a> *a, <span class="reserved">void</span> *e);</p>
@@ -2250,7 +2247,7 @@ The caller is responsible for freeing the memory used by the
 removed element.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsArrayRestore">cupsArrayRestore</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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">
 <span class="reserved">void</span> *cupsArrayRestore(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -2261,7 +2258,7 @@ removed element.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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>
 <p class="code">
 <span class="reserved">int</span> cupsArraySave(<a href="#cups_array_t">cups_array_t</a> *a);</p>
@@ -2280,7 +2277,7 @@ to set the current element.<br>
 The save/restore stack is guaranteed to be at least 32 elements deep.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCancelDestJob">cupsCancelDestJob</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCancelDestJob">cupsCancelDestJob</a></h3>
 <p class="description">Cancel a job on a destination.</p>
 <p class="code">
 ipp_status_t cupsCancelDestJob(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <span class="reserved">int</span> job_id);</p>
@@ -2320,7 +2317,7 @@ Returns <code>IPP_STATUS_OK</code> on success and
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Count or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCheckDestSupported">cupsCheckDestSupported</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCheckDestSupported">cupsCheckDestSupported</a></h3>
 <p class="description">Check that the option and value are supported
                              by the destination.</p>
 <p class="code">
@@ -2344,7 +2341,7 @@ Returns <code>IPP_STATUS_OK</code> on success and
 <p class="discussion">Returns 1 if supported, 0 otherwise.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCloseDestJob">cupsCloseDestJob</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCloseDestJob">cupsCloseDestJob</a></h3>
 <p class="description">Close a job and start printing.</p>
 <p class="code">
 ipp_status_t cupsCloseDestJob(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *info, <span class="reserved">int</span> job_id);</p>
@@ -2422,7 +2419,7 @@ size_t cupsConcatString(<span class="reserved">char</span> *dst, <span class="re
 <tr><th>timeout</th>
 <td class="description">Timeout in seconds (<code>0</code> or negative for none)</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsConnectDest">cupsConnectDest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsConnectDest">cupsConnectDest</a></h3>
 <p class="description">Open a connection to the destination.</p>
 <p class="code">
 <a href="#http_t">http_t</a> *cupsConnectDest(<a href="#cups_dest_t">cups_dest_t</a> *dest, <span class="reserved">unsigned</span> flags, <span class="reserved">int</span> msec, <span class="reserved">int</span> *cancel, <span class="reserved">char</span> *resource, size_t resourcesize, <a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb, <span class="reserved">void</span> *user_data);</p>
@@ -2487,8 +2484,21 @@ associated with the destination.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Copy the private key to a string.</p>
+<h3 class="function"><a id="cupsCopyCredentialsPublicKey">cupsCopyCredentialsPublicKey</a></h3>
+<p class="description">Copy the public key for a X.509 certificate request.</p>
+<p class="code">
+<span class="reserved">char</span> *cupsCopyCredentialsPublicKey(<span class="reserved">const</span> <span class="reserved">char</span> *path, <span class="reserved">const</span> <span class="reserved">char</span> *common_name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+<td class="description">Directory path for certificate/key store or <code>NULL</code> for default</td></tr>
+<tr><th>common_name</th>
+<td class="description">Common name</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">PEM-encoded public key</p>
 <h3 class="function"><a id="cupsCopyCredentialsRequest">cupsCopyCredentialsRequest</a></h3>
-<p class="description"></p>
+<p class="description">Copy the X.509 certificate signing request to a string.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsCopyCredentialsRequest(<span class="reserved">const</span> <span class="reserved">char</span> *path, <span class="reserved">const</span> <span class="reserved">char</span> *common_name);</p>
 <h4 class="parameters">Parameters</h4>
@@ -2499,8 +2509,8 @@ associated with the destination.
 <td class="description">Common name</td></tr>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Copy the X.509 certificate signing request to a string.</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">PEM-encoded X.509 certificate signing request</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCopyDest">cupsCopyDest</a></h3>
 <p class="description">Copy a destination.</p>
 <p class="code">
 <span class="reserved">int</span> cupsCopyDest(<a href="#cups_dest_t">cups_dest_t</a> *dest, <span class="reserved">int</span> num_dests, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
@@ -2521,7 +2531,7 @@ copy) - for use with the cupsEnumDests* functions. The caller is responsible
 for calling cupsFreeDests() on the returned object(s).
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCopyDestConflicts">cupsCopyDestConflicts</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCopyDestConflicts">cupsCopyDestConflicts</a></h3>
 <p class="description">Get conflicts and resolutions for a new
                             option/value pair.</p>
 <p class="code">
@@ -2861,7 +2871,7 @@ issuer.<br>
 The &quot;common_name&quot; argument specifies the common name and the &quot;num_alt_names&quot;
 and &quot;alt_names&quot; arguments specify a list of DNS hostnames for the
 certificate.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCreateDestJob">cupsCreateDestJob</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsCreateDestJob">cupsCreateDestJob</a></h3>
 <p class="description">Create a job on a destination.</p>
 <p class="code">
 ipp_status_t cupsCreateDestJob(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *info, <span class="reserved">int</span> *job_id, <span class="reserved">const</span> <span class="reserved">char</span> *title, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
@@ -3422,7 +3432,7 @@ specified coordinates and uncertainty are converted into a DNS LOC record
 for the service name label.  Only the &quot;wgs84&quot; CRSLABEL string is supported.<br>
 <br>
 You must call this function prior to <a href="#cupsDNSSDServiceAdd"><code>cupsDNSSDServiceAdd</code></a>.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirClose">cupsDirClose</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsDirClose">cupsDirClose</a></h3>
 <p class="description">Close a directory.</p>
 <p class="code">
 <span class="reserved">void</span> cupsDirClose(<a href="#cups_dir_t">cups_dir_t</a> *dp);</p>
@@ -3431,7 +3441,7 @@ You must call this function prior to <a href="#cupsDNSSDServiceAdd"><code>cupsDN
 <tr><th>dp</th>
 <td class="description">Directory pointer</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsDirOpen">cupsDirOpen</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">const</span> <span class="reserved">char</span> *directory);</p>
@@ -3442,7 +3452,7 @@ You must call this function prior to <a href="#cupsDNSSDServiceAdd"><code>cupsDN
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<a href="#cups_dir_t">cups_dir_t</a> *dp);</p>
@@ -3453,7 +3463,7 @@ You must call this function prior to <a href="#cupsDNSSDServiceAdd"><code>cupsDN
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsDirRewind">cupsDirRewind</a></h3>
 <p class="description">Rewind to the start of the directory.</p>
 <p class="code">
 <span class="reserved">void</span> cupsDirRewind(<a href="#cups_dir_t">cups_dir_t</a> *dp);</p>
@@ -3462,7 +3472,7 @@ You must call this function prior to <a href="#cupsDNSSDServiceAdd"><code>cupsDN
 <tr><th>dp</th>
 <td class="description">Directory pointer</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsDoAuthentication">cupsDoAuthentication</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.20&#160;</span><a id="cupsDoAuthentication">cupsDoAuthentication</a></h3>
 <p class="description">Authenticate a request.</p>
 <p class="code">
 <span class="reserved">int</span> cupsDoAuthentication(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *method, <span class="reserved">const</span> <span class="reserved">char</span> *resource);</p>
@@ -3503,7 +3513,7 @@ status, prior to resubmitting your request.
 <p class="discussion">This function sends the IPP request and attached file to the specified
 server, retrying and authenticating as necessary.  The request is freed with
 <a href="#ippDelete"><code>ippDelete</code></a>.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsDoIORequest">cupsDoIORequest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsDoIORequest">cupsDoIORequest</a></h3>
 <p class="description">Do an IPP request with file descriptors.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsDoIORequest(<a href="#http_t">http_t</a> *http, <a href="#ipp_t">ipp_t</a> *request, <span class="reserved">const</span> <span class="reserved">char</span> *resource, <span class="reserved">int</span> infile, <span class="reserved">int</span> outfile);</p>
@@ -3552,7 +3562,7 @@ all of the data after the IPP response message to the file.
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">This function sends the IPP request to the specified server, retrying
 and authenticating as necessary.  The request is freed with <a href="#ippDelete"><code>ippDelete</code></a>.</p>
-<h3 class="function"><span class="info">&#160;CUPS 2.3/macOS 10.14&#160;</span><a id="cupsEncodeOption">cupsEncodeOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.3&#160;</span><a id="cupsEncodeOption">cupsEncodeOption</a></h3>
 <p class="description">Encode a single option into an IPP attribute.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *cupsEncodeOption(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group_tag, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *value);</p>
@@ -3586,7 +3596,7 @@ and authenticating as necessary.  The request is freed with <a href="#ippDelete"
 <p class="discussion">This function adds operation, job, and then subscription attributes,
 in that order. Use the <a href="#cupsEncodeOptions2"><code>cupsEncodeOptions2</code></a> 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
 <p class="description">Encode printer options into IPP attributes for a group.</p>
 <p class="code">
 <span class="reserved">void</span> cupsEncodeOptions2(<a href="#ipp_t">ipp_t</a> *ipp, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> *options, ipp_tag_t group_tag);</p>
@@ -3613,7 +3623,7 @@ to add the standard groups.
 <a href="#http_encryption_t">http_encryption_t</a> cupsEncryption(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Encryption settings</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsEnumDests">cupsEnumDests</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsEnumDests">cupsEnumDests</a></h3>
 <p class="description">Enumerate available destinations with a callback function.</p>
 <p class="code">
 <span class="reserved">int</span> cupsEnumDests(<span class="reserved">unsigned</span> flags, <span class="reserved">int</span> msec, <span class="reserved">int</span> *cancel, <a href="#cups_ptype_t">cups_ptype_t</a> type, <a href="#cups_ptype_t">cups_ptype_t</a> mask, <a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb, <span class="reserved">void</span> *user_data);</p>
@@ -3654,7 +3664,7 @@ Note: The callback function will likely receive multiple updates for the same
 destinations - it is up to the caller to suppress any duplicate destinations.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileClose">cupsFileClose</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileClose">cupsFileClose</a></h3>
 <p class="description">Close a CUPS file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileClose(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3665,7 +3675,7 @@ destinations - it is up to the caller to suppress any duplicate destinations.
 </tbody></table>
 <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="cupsFileEOF">cupsFileEOF</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileEOF">cupsFileEOF</a></h3>
 <p class="description">Return the end-of-file status.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileEOF(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3676,7 +3686,7 @@ destinations - it is up to the caller to suppress any duplicate destinations.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileFind">cupsFileFind</a></h3>
 <p class="description">Find a file using the specified path.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsFileFind(<span class="reserved">const</span> <span class="reserved">char</span> *filename, <span class="reserved">const</span> <span class="reserved">char</span> *path, <span class="reserved">int</span> executable, <span class="reserved">char</span> *buffer, <span class="reserved">int</span> bufsize);</p>
@@ -3703,7 +3713,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileFlush">cupsFileFlush</a></h3>
 <p class="description">Flush pending output.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileFlush(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3714,7 +3724,7 @@ matches the current directory.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileGetChar">cupsFileGetChar</a></h3>
 <p class="description">Get a single character from a file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileGetChar(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3725,7 +3735,7 @@ matches the current directory.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileGetConf">cupsFileGetConf</a></h3>
 <p class="description">Get a line from a configuration file.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsFileGetConf(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">char</span> *buf, size_t buflen, <span class="reserved">char</span> **value, <span class="reserved">int</span> *linenum);</p>
@@ -3744,7 +3754,7 @@ matches the current directory.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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">
@@ -3767,7 +3777,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileGets">cupsFileGets</a></h3>
 <p class="description">Get a CR and/or LF-terminated line.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsFileGets(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">char</span> *buf, size_t buflen);</p>
@@ -3793,7 +3803,7 @@ the number of bytes on the line.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>true</code> if file is compressed, <code>false</code> otherwise</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileLock">cupsFileLock</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileLock">cupsFileLock</a></h3>
 <p class="description">Temporarily lock access to a file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileLock(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">int</span> block);</p>
@@ -3806,7 +3816,7 @@ the number of bytes on the line.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileNumber">cupsFileNumber</a></h3>
 <p class="description">Return the file descriptor associated with a CUPS file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileNumber(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3817,7 +3827,7 @@ the number of bytes on the line.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">const</span> <span class="reserved">char</span> *filename, <span class="reserved">const</span> <span class="reserved">char</span> *mode);</p>
@@ -3848,7 +3858,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">int</span> fd, <span class="reserved">const</span> <span class="reserved">char</span> *mode);</p>
@@ -3870,7 +3880,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFilePeekChar">cupsFilePeekChar</a></h3>
 <p class="description">Peek at the next character from a file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFilePeekChar(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -3881,7 +3891,7 @@ not supported for the &quot;a&quot; (append) mode.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFilePrintf">cupsFilePrintf</a></h3>
 <p class="description">Write a formatted string.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFilePrintf(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">const</span> <span class="reserved">char</span> *format, ...);</p>
@@ -3896,7 +3906,7 @@ not supported for the &quot;a&quot; (append) mode.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFilePutChar">cupsFilePutChar</a></h3>
 <p class="description">Write a character.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFilePutChar(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">int</span> c);</p>
@@ -3909,7 +3919,7 @@ not supported for the &quot;a&quot; (append) mode.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsFilePutConf">cupsFilePutConf</a></h3>
 <p class="description">Write a configuration line.</p>
 <p class="code">
 ssize_t cupsFilePutConf(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">const</span> <span class="reserved">char</span> *directive, <span class="reserved">const</span> <span class="reserved">char</span> *value);</p>
@@ -3928,7 +3938,7 @@ ssize_t cupsFilePutConf(<a href="#cups_file_t">cups_file_t</a> *fp, <span class=
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFilePuts">cupsFilePuts</a></h3>
 <p class="description">Write a string.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFilePuts(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">const</span> <span class="reserved">char</span> *s);</p>
@@ -3945,7 +3955,7 @@ ssize_t cupsFilePutConf(<a href="#cups_file_t">cups_file_t</a> *fp, <span class=
 <p class="discussion">Like the <code>fputs</code> function, no newline is appended to the string.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsFileRead">cupsFileRead</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileRead">cupsFileRead</a></h3>
 <p class="description">Read from a file.</p>
 <p class="code">
 ssize_t cupsFileRead(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">char</span> *buf, size_t bytes);</p>
@@ -3960,7 +3970,7 @@ ssize_t cupsFileRead(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="re
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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">
@@ -3972,7 +3982,7 @@ off_t cupsFileRewind(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileSeek">cupsFileSeek</a></h3>
 <p class="description">Seek in a file.</p>
 <p class="code">
 off_t cupsFileSeek(<a href="#cups_file_t">cups_file_t</a> *fp, off_t pos);</p>
@@ -3985,25 +3995,25 @@ off_t cupsFileSeek(<a href="#cups_file_t">cups_file_t</a> *fp, off_t pos);</p>
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">void</span>);</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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">void</span>);</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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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(<span class="reserved">void</span>);</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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileTell">cupsFileTell</a></h3>
 <p class="description">Return the current file position.</p>
 <p class="code">
 off_t cupsFileTell(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -4014,7 +4024,7 @@ off_t cupsFileTell(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileUnlock">cupsFileUnlock</a></h3>
 <p class="description">Unlock access to a file.</p>
 <p class="code">
 <span class="reserved">int</span> cupsFileUnlock(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
@@ -4025,7 +4035,7 @@ off_t cupsFileTell(<a href="#cups_file_t">cups_file_t</a> *fp);</p>
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsFileWrite">cupsFileWrite</a></h3>
 <p class="description">Write to a file.</p>
 <p class="code">
 ssize_t cupsFileWrite(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="reserved">const</span> <span class="reserved">char</span> *buf, size_t bytes);</p>
@@ -4040,7 +4050,7 @@ ssize_t cupsFileWrite(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="r
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsFindDestDefault">cupsFindDestDefault</a></h3>
 <p class="description">Find the default value(s) for the given option.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *cupsFindDestDefault(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">const</span> <span class="reserved">char</span> *option);</p>
@@ -4065,7 +4075,7 @@ ssize_t cupsFileWrite(<a href="#cups_file_t">cups_file_t</a> *fp, <span class="r
 functions to inspect the default value(s) as needed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsFindDestReady">cupsFindDestReady</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsFindDestReady">cupsFindDestReady</a></h3>
 <p class="description">Find the default value(s) for the given option.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *cupsFindDestReady(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">const</span> <span class="reserved">char</span> *option);</p>
@@ -4090,7 +4100,7 @@ functions to inspect the default value(s) as needed.
 functions to inspect the default value(s) as needed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsFindDestSupported">cupsFindDestSupported</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsFindDestSupported">cupsFindDestSupported</a></h3>
 <p class="description">Find the default value(s) for the given option.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *cupsFindDestSupported(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">const</span> <span class="reserved">char</span> *option);</p>
@@ -4115,7 +4125,7 @@ functions to inspect the default value(s) as needed.
 functions to inspect the default value(s) as needed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsFinishDestDocument">cupsFinishDestDocument</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsFinishDestDocument">cupsFinishDestDocument</a></h3>
 <p class="description">Finish the current document.</p>
 <p class="code">
 ipp_status_t cupsFinishDestDocument(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *info);</p>
@@ -4223,7 +4233,7 @@ variable argument pointer, escaping special/control characters as needed so
 they can be safely displayed or logged.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
 <p class="description">Free destination information obtained using
                        <a href="#cupsCopyDestInfo"><code>cupsCopyDestInfo</code></a>.</p>
 <p class="code">
@@ -4373,7 +4383,7 @@ The returned trust value can be one of the following:
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Use the <a href="#cupsEnumDests"><code>cupsEnumDests</code></a> or <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> functions to get a
 list of supported destinations for the current user.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
 <p class="description">Get a media name, dimension, and margins for a
                               specific size.</p>
 <p class="code">
@@ -4428,7 +4438,7 @@ example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will get the Nth
 borderless size supported by the printer.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsGetDestMediaByName">cupsGetDestMediaByName</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsGetDestMediaByName">cupsGetDestMediaByName</a></h3>
 <p class="description">Get media names, dimensions, and margins.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetDestMediaByName(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">unsigned</span> flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
@@ -4465,7 +4475,7 @@ The matching result (if any) is returned in the &quot;cups_size_t&quot; structur
 Returns 1 when there is a match and 0 if there is not a match.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsGetDestMediaByName2">cupsGetDestMediaByName2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsGetDestMediaByName2">cupsGetDestMediaByName2</a></h3>
 <p class="description">Get media names, dimensions, and margins.</p>
 <p class="code">
 <span class="reserved">bool</span> cupsGetDestMediaByName2(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">unsigned</span> flags, <a href="#cups_media_t">cups_media_t</a> *media);</p>
@@ -4502,7 +4512,7 @@ The matching result (if any) is returned in the &quot;cups_size_t&quot; structur
 Returns <code>true</code> when there is a match and <code>false</code> if there is not a match.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsGetDestMediaBySize">cupsGetDestMediaBySize</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsGetDestMediaBySize">cupsGetDestMediaBySize</a></h3>
 <p class="description">Get media names, dimensions, and margins.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetDestMediaBySize(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">int</span> width, <span class="reserved">int</span> length, <span class="reserved">unsigned</span> flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
@@ -4582,7 +4592,7 @@ The matching result (if any) is returned in the &quot;cups_size_t&quot; structur
 Returns <code>true</code> when there is a match and <code>false</code> if there is not a match.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
 <p class="description">Get the number of sizes supported by a
                             destination.</p>
 <p class="code">
@@ -4606,7 +4616,7 @@ counted.  For example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will ret
 the number of borderless sizes.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
 <p class="description">Get the default size for a destination.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetDestMediaDefault(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo, <span class="reserved">unsigned</span> flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
@@ -4656,7 +4666,7 @@ example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will return the defaul
 borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="cupsGetDestWithURI">cupsGetDestWithURI</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.0&#160;</span><a id="cupsGetDestWithURI">cupsGetDestWithURI</a></h3>
 <p class="description">Get a destination associated with a URI.</p>
 <p class="code">
 <a href="#cups_dest_t">cups_dest_t</a> *cupsGetDestWithURI(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *uri);</p>
@@ -4676,7 +4686,7 @@ 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"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetDests2">cupsGetDests2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.21&#160;</span><a id="cupsGetDests2">cupsGetDests2</a></h3>
 <p class="description">Get the list of destinations from the specified server.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetDests2(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
@@ -4738,7 +4748,7 @@ ipp_status_t cupsGetError(<span class="reserved">void</span>);</p>
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsGetErrorString(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">status-message text from last request</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsGetFd">cupsGetFd</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.20&#160;</span><a id="cupsGetFd">cupsGetFd</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 http_status_t cupsGetFd(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *resource, <span class="reserved">int</span> fd);</p>
@@ -4757,7 +4767,7 @@ http_status_t cupsGetFd(<a href="#http_t">http_t</a> *http, <span class="reserve
 <p class="discussion">This function returns <code>HTTP_STATUS_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsGetFile">cupsGetFile</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.20&#160;</span><a id="cupsGetFile">cupsGetFile</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 http_status_t cupsGetFile(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *resource, <span class="reserved">const</span> <span class="reserved">char</span> *filename);</p>
@@ -4776,7 +4786,7 @@ http_status_t cupsGetFile(<a href="#http_t">http_t</a> *http, <span class="reser
 <p class="discussion">This function returns <code>HTTP_STATUS_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 2.2.4/macOS 10.13&#160;</span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.2.4&#160;</span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
 <p class="description">Get an integer option value.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetIntegerOption(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
@@ -4796,7 +4806,7 @@ http_status_t cupsGetFile(<a href="#http_t">http_t</a> *http, <span class="reser
 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.21&#160;</span><a id="cupsGetJobs2">cupsGetJobs2</a></h3>
 <p class="description">Get the jobs from the specified server.</p>
 <p class="code">
 <span class="reserved">int</span> cupsGetJobs2(<a href="#http_t">http_t</a> *http, <a href="#cups_job_t">cups_job_t</a> **jobs, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> myjobs, <span class="reserved">int</span> whichjobs);</p>
@@ -4822,7 +4832,7 @@ pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
 jobs that are stopped, canceled, aborted, or completed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetNamedDest">cupsGetNamedDest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsGetNamedDest">cupsGetNamedDest</a></h3>
 <p class="description">Get options for the named destination.</p>
 <p class="code">
 <a href="#cups_dest_t">cups_dest_t</a> *cupsGetNamedDest(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *instance);</p>
@@ -4869,7 +4879,7 @@ The returned destination must be freed using <a href="#cupsFreeDests"><code>cups
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Option value or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetPassword2">cupsGetPassword2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsGetPassword2">cupsGetPassword2</a></h3>
 <p class="description">Get a password from the user using the current
                        password callback.</p>
 <p class="code">
@@ -4907,7 +4917,7 @@ same function to be used.
 <p class="discussion">This function returns a 32-bit pseudo-random number suitable for use as
 one-time identifiers or nonces.  The random numbers are generated/seeded
 using system entropy.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetResponse">cupsGetResponse</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsGetResponse">cupsGetResponse</a></h3>
 <p class="description">Get a response to an IPP request.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsGetResponse(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *resource);</p>
@@ -5527,6 +5537,19 @@ The return value must be freed using the <code>free</code> function.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">JWT object</p>
+<h3 class="function"><a id="cupsJWTLoadCredentials">cupsJWTLoadCredentials</a></h3>
+<p class="description">Load X.509 credentials and private key into a JSON Web Key for signing.</p>
+<p class="code">
+<a href="#cups_json_t">cups_json_t</a> *cupsJWTLoadCredentials(<span class="reserved">const</span> <span class="reserved">char</span> *path, <span class="reserved">const</span> <span class="reserved">char</span> *common_name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+<td class="description">Directory path for certificate/key store or <code>NULL</code> for default</td></tr>
+<tr><th>common_name</th>
+<td class="description">Common name</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">JSON Web Key of <code>NULL</code> on error</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.5&#160;</span><a id="cupsJWTMakePrivateKey">cupsJWTMakePrivateKey</a></h3>
 <p class="description">Make a JSON Web Key for encryption and signing.</p>
 <p class="code">
@@ -5721,7 +5744,7 @@ ipp_status_t cupsLastError(<span class="reserved">void</span>);</p>
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsLastErrorString(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">status-message text from last request</p>
-<h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.0&#160;</span><a id="cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></h3>
 <p class="description">Get the localized string for a destination media
                             size.</p>
 <p class="code">
@@ -5776,7 +5799,7 @@ The returned string is stored in the destination information and will become
 invalid if the destination information is deleted.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsLocalizeDestOption">cupsLocalizeDestOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsLocalizeDestOption">cupsLocalizeDestOption</a></h3>
 <p class="description">Get the localized string for a destination
                              option.</p>
 <p class="code">
@@ -5799,7 +5822,7 @@ invalid if the destination information is deleted.
 invalid if the destination information is deleted.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsLocalizeDestValue">cupsLocalizeDestValue</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsLocalizeDestValue">cupsLocalizeDestValue</a></h3>
 <p class="description">Get the localized string for a destination
                             option+value pair.</p>
 <p class="code">
@@ -5860,7 +5883,7 @@ invalid if the destination information is deleted.
 <tr><th>mutex</th>
 <td class="description">Mutex</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsNotifySubject">cupsNotifySubject</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsNotifySubject">cupsNotifySubject</a></h3>
 <p class="description">Return the subject for the given notification message.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsNotifySubject(<a href="#cups_lang_t">cups_lang_t</a> *lang, <a href="#ipp_t">ipp_t</a> *event);</p>
@@ -5877,7 +5900,7 @@ invalid if the destination information is deleted.
 <p class="discussion">The returned string must be freed by the caller using <code>free</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsNotifyText">cupsNotifyText</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsNotifyText">cupsNotifyText</a></h3>
 <p class="description">Return the text for the given notification message.</p>
 <p class="code">
 <span class="reserved">char</span> *cupsNotifyText(<a href="#cups_lang_t">cups_lang_t</a> *lang, <a href="#ipp_t">ipp_t</a> *event);</p>
@@ -6321,7 +6344,7 @@ The &quot;end&quot; argument, if not <code>NULL</code>, receives a pointer to th
 options.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsPutFd">cupsPutFd</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.20&#160;</span><a id="cupsPutFd">cupsPutFd</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 http_status_t cupsPutFd(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *resource, <span class="reserved">int</span> fd);</p>
@@ -6341,7 +6364,7 @@ http_status_t cupsPutFd(<a href="#http_t">http_t</a> *http, <span class="reserve
 successfully.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsPutFile">cupsPutFile</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.20&#160;</span><a id="cupsPutFile">cupsPutFile</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 http_status_t cupsPutFile(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *resource, <span class="reserved">const</span> <span class="reserved">char</span> *filename);</p>
@@ -6582,7 +6605,7 @@ of the version 2 page header data. This function handles reading version 2
 page headers and copying only the version 1 data into the provided buffer.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
 <p class="description">Read a raster page header and store it in a
                             version 2 page header structure.</p>
 <p class="code">
@@ -6633,7 +6656,7 @@ the line buffer and as the number of bytes to read.</p>
 <p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
 <p class="description">Write a raster page header from a version 2
                              page header structure.</p>
 <p class="code">
@@ -6670,7 +6693,7 @@ the line buffer and as the number of bytes to read.</p>
 <p class="discussion">For best performance, filters should write one or more whole lines.
 The &quot;cupsBytesPerLine&quot; value from the page header can be used to allocate
 the line buffer and as the number of bytes to write.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsReadResponseData">cupsReadResponseData</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsReadResponseData">cupsReadResponseData</a></h3>
 <p class="description">Read additional data after the IPP response.</p>
 <p class="code">
 ssize_t cupsReadResponseData(<a href="#http_t">http_t</a> *http, <span class="reserved">char</span> *buffer, size_t length);</p>
@@ -6691,7 +6714,7 @@ files from <code>CUPS_GET_PPD</code> and <code>CUPS_GET_DOCUMENT</code> requests
 respectively.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsRemoveDest">cupsRemoveDest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsRemoveDest">cupsRemoveDest</a></h3>
 <p class="description">Remove a destination from the destination list.</p>
 <p class="code">
 <span class="reserved">int</span> cupsRemoveDest(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *instance, <span class="reserved">int</span> num_dests, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
@@ -6715,7 +6738,7 @@ queue, merely the lpoptions for that destination/instance.  Use the
 options for the user.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRemoveOption">cupsRemoveOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="cupsRemoveOption">cupsRemoveOption</a></h3>
 <p class="description">Remove an option from an option array.</p>
 <p class="code">
 <span class="reserved">int</span> cupsRemoveOption(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
@@ -6751,7 +6774,7 @@ options for the user.
 <p class="discussion">This function saves the the PEM-encoded X.509 certificate chain string and
 private key (if not <code>NULL</code>) to the directory &quot;path&quot; or, if &quot;path&quot; is <code>NULL</code>,
 in a per-user or system-wide (when running as root) certificate/key store.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsSendRequest">cupsSendRequest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsSendRequest">cupsSendRequest</a></h3>
 <p class="description">Send an IPP request.</p>
 <p class="code">
 http_status_t cupsSendRequest(<a href="#http_t">http_t</a> *http, <a href="#ipp_t">ipp_t</a> *request, <span class="reserved">const</span> <span class="reserved">char</span> *resource, size_t length);</p>
@@ -6853,7 +6876,7 @@ each thread for the same setting to be used.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
 <p class="description">Set the default destination.</p>
 <p class="code">
 <span class="reserved">void</span> cupsSetDefaultDest(<span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *instance, <span class="reserved">int</span> num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
@@ -6868,7 +6891,7 @@ each thread for the same setting to be used.
 <tr><th>dests</th>
 <td class="description">Destinations</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsSetDests2">cupsSetDests2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.21&#160;</span><a id="cupsSetDests2">cupsSetDests2</a></h3>
 <p class="description">Save the list of destinations for the specified server.</p>
 <p class="code">
 <span class="reserved">int</span> cupsSetDests2(<a href="#http_t">http_t</a> *http, <span class="reserved">int</span> num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
@@ -6937,7 +6960,7 @@ 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
 <p class="description">Set the advanced password callback for CUPS.</p>
 <p class="code">
 <span class="reserved">void</span> cupsSetPasswordCB2(<a href="#cups_password_cb2_t">cups_password_cb2_t</a> cb, <span class="reserved">void</span> *user_data);</p>
@@ -7030,7 +7053,7 @@ This function is threadsafe.</p>
 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>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
 <p class="description">Set the default HTTP User-Agent string.</p>
 <p class="code">
 <span class="reserved">void</span> cupsSetUserAgent(<span class="reserved">const</span> <span class="reserved">char</span> *user_agent);</p>
@@ -7139,7 +7162,7 @@ variations of the common name.<br>
 <br>
 The &quot;expiration_date&quot; argument specifies the expiration date and time as a
 Unix <code>time_t</code> value in seconds.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsStartDestDocument">cupsStartDestDocument</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="cupsStartDestDocument">cupsStartDestDocument</a></h3>
 <p class="description">Start a new document.</p>
 <p class="code">
 http_status_t cupsStartDestDocument(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest, <a href="#cups_dinfo_t">cups_dinfo_t</a> *info, <span class="reserved">int</span> job_id, <span class="reserved">const</span> <span class="reserved">char</span> *docname, <span class="reserved">const</span> <span class="reserved">char</span> *format, <span class="reserved">int</span> num_options, <a href="#cups_option_t">cups_option_t</a> *options, <span class="reserved">int</span> last_document);</p>
@@ -7370,7 +7393,7 @@ name to be used.
 <span class="reserved">const</span> <span class="reserved">char</span> *cupsUserAgent(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">User-Agent string</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsWriteRequestData">cupsWriteRequestData</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="cupsWriteRequestData">cupsWriteRequestData</a></h3>
 <p class="description">Write additional data after an IPP request.</p>
 <p class="code">
 http_status_t cupsWriteRequestData(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *buffer, size_t length);</p>
@@ -7390,7 +7413,7 @@ http_status_t cupsWriteRequestData(<a href="#http_t">http_t</a> *http, <span cla
 after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAcceptConnection">httpAcceptConnection</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpAcceptConnection">httpAcceptConnection</a></h3>
 <p class="description">Accept a new HTTP client connection.</p>
 <p class="code">
 <a href="#http_t">http_t</a> *httpAcceptConnection(<span class="reserved">int</span> fd, <span class="reserved">int</span> blocking);</p>
@@ -7429,7 +7452,7 @@ listen address for sockets created with <a href="#httpAddrListen"><code>httpAddr
 ensures that domain sockets are removed when closed.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAddrConnect2">httpAddrConnect2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#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>
 <p class="code">
@@ -7447,7 +7470,7 @@ ensures that domain sockets are removed when closed.
 </tbody></table>
 <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="httpAddrCopyList">httpAddrCopyList</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpAddrCopyList">httpAddrCopyList</a></h3>
 <p class="description">Copy an address list.</p>
 <p class="code">
 <a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrCopyList(<a href="#http_addrlist_t">http_addrlist_t</a> *src);</p>
@@ -7458,7 +7481,7 @@ ensures that domain sockets are removed when closed.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New address list or <code>NULL</code> on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
 <p class="description">Free an address list.</p>
 <p class="code">
 <span class="reserved">void</span> httpAddrFreeList(<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist);</p>
@@ -7489,7 +7512,7 @@ size_t httpAddrGetLength(<span class="reserved">const</span> <a href="#http_addr
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Length in bytes</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrGetList">httpAddrGetList</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpAddrGetList">httpAddrGetList</a></h3>
 <p class="description">Get a list of addresses for a hostname.</p>
 <p class="code">
 <a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrGetList(<span class="reserved">const</span> <span class="reserved">char</span> *hostname, <span class="reserved">int</span> family, <span class="reserved">const</span> <span class="reserved">char</span> *service);</p>
@@ -7565,7 +7588,7 @@ size_t httpAddrGetLength(<span class="reserved">const</span> <a href="#http_addr
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>true</code> if local host, <code>false</code> otherwise</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAddrListen">httpAddrListen</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpAddrListen">httpAddrListen</a></h3>
 <p class="description">Create a listening socket bound to the specified
                      address and port.</p>
 <p class="code">
@@ -7579,7 +7602,7 @@ size_t httpAddrGetLength(<span class="reserved">const</span> <a href="#http_addr
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Socket or -1 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrLookup">httpAddrLookup</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpAddrLookup">httpAddrLookup</a></h3>
 <p class="description">Lookup the hostname associated with the address.</p>
 <p class="code">
 <span class="reserved">char</span> *httpAddrLookup(<span class="reserved">const</span> <a href="#http_addr_t">http_addr_t</a> *addr, <span class="reserved">char</span> *name, <span class="reserved">int</span> namelen);</p>
@@ -7605,7 +7628,7 @@ size_t httpAddrGetLength(<span class="reserved">const</span> <a href="#http_addr
 <tr><th>port</th>
 <td class="description">Port</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAssembleURI">httpAssembleURI</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpAssembleURI">httpAssembleURI</a></h3>
 <p class="description">Assemble a uniform resource identifier from its
                       components.</p>
 <p class="code">
@@ -7638,7 +7661,7 @@ place of traditional string functions whenever you need to create a
 URI string.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAssembleURIf">httpAssembleURIf</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpAssembleURIf">httpAssembleURIf</a></h3>
 <p class="description">Assemble a uniform resource identifier from its components with a formatted resource.</p>
 <p class="code">
 <a href="#http_uri_status_t">http_uri_status_t</a> httpAssembleURIf(<a href="#http_uri_coding_t">http_uri_coding_t</a> encoding, <span class="reserved">char</span> *uri, <span class="reserved">int</span> urilen, <span class="reserved">const</span> <span class="reserved">char</span> *scheme, <span class="reserved">const</span> <span class="reserved">char</span> *username, <span class="reserved">const</span> <span class="reserved">char</span> *host, <span class="reserved">int</span> port, <span class="reserved">const</span> <span class="reserved">char</span> *resourcef, ...);</p>
@@ -7673,7 +7696,7 @@ this function in place of traditional string functions whenever
 you need to create a URI string.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAssembleUUID">httpAssembleUUID</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpAssembleUUID">httpAssembleUUID</a></h3>
 <p class="description">Assemble a name-based UUID URN conforming to RFC 4122.</p>
 <p class="code">
 <span class="reserved">char</span> *httpAssembleUUID(<span class="reserved">const</span> <span class="reserved">char</span> *server, <span class="reserved">int</span> port, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> number, <span class="reserved">char</span> *buffer, size_t bufsize);</p>
@@ -7724,7 +7747,7 @@ The buffer needs to be at least 46 bytes in size.
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="httpClearCookie">httpClearCookie</a></h3>
 <p class="description">Clear the cookie value(s).</p>
 <p class="code">
 <span class="reserved">void</span> httpClearCookie(<a href="#http_t">http_t</a> *http);</p>
@@ -7751,7 +7774,7 @@ The buffer needs to be at least 46 bytes in size.
 <tr><th>http</th>
 <td class="description">HTTP connection</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpConnect2">httpConnect2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpConnect2">httpConnect2</a></h3>
 <p class="description">Connect to a HTTP server.</p>
 <p class="code">
 <a href="#http_t">http_t</a> *httpConnect2(<span class="reserved">const</span> <span class="reserved">char</span> *host, <span class="reserved">int</span> port, <a href="#http_addrlist_t">http_addrlist_t</a> *addrlist, <span class="reserved">int</span> family, <a href="#http_encryption_t">http_encryption_t</a> encryption, <span class="reserved">int</span> blocking, <span class="reserved">int</span> msec, <span class="reserved">int</span> *cancel);</p>
@@ -7942,7 +7965,7 @@ Base64url (&quot;url&quot; = <code>true</code>) alphabet is used.
 <tr><th>http</th>
 <td class="description">HTTP connection</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpFlushWrite">httpFlushWrite</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpFlushWrite">httpFlushWrite</a></h3>
 <p class="description">Flush data written to a HTTP connection.</p>
 <p class="code">
 <span class="reserved">int</span> httpFlushWrite(<a href="#http_t">http_t</a> *http);</p>
@@ -7987,7 +8010,7 @@ the client.<br>
 Returns <code>NULL</code> if the socket is currently unconnected.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="httpGetAuthString">httpGetAuthString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="httpGetAuthString">httpGetAuthString</a></h3>
 <p class="description">Get the current authorization string.</p>
 <p class="code">
 <span class="reserved">char</span> *httpGetAuthString(<a href="#http_t">http_t</a> *http);</p>
@@ -8005,7 +8028,7 @@ string to use with <a href="#httpSetField"><code>httpSetField</code></a> for the
 <code>HTTP_FIELD_AUTHORIZATION</code> value.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetBlocking">httpGetBlocking</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpGetBlocking">httpGetBlocking</a></h3>
 <p class="description">Get the blocking/non-blocking state of a connection.</p>
 <p class="code">
 <span class="reserved">int</span> httpGetBlocking(<a href="#http_t">http_t</a> *http);</p>
@@ -8016,7 +8039,7 @@ string to use with <a href="#httpSetField"><code>httpSetField</code></a> for the
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if blocking, 0 if non-blocking</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpGetContentEncoding">httpGetContentEncoding</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpGetContentEncoding">httpGetContentEncoding</a></h3>
 <p class="description">Get a common content encoding, if any, between
                              the client and server.</p>
 <p class="code">
@@ -8035,7 +8058,7 @@ client.  The value returned can be use in subsequent requests (for clients)
 or in the response (for servers) in order to compress the content stream.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpGetCookie">httpGetCookie</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="httpGetCookie">httpGetCookie</a></h3>
 <p class="description">Get any cookie data from the response.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *httpGetCookie(<a href="#http_t">http_t</a> *http);</p>
@@ -8046,7 +8069,7 @@ or in the response (for servers) in order to compress the content stream.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Cookie data or <code>NULL</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetDateString2">httpGetDateString2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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">
 <span class="reserved">const</span> <span class="reserved">char</span> *httpGetDateString2(time_t t, <span class="reserved">char</span> *s, <span class="reserved">int</span> slen);</p>
@@ -8072,7 +8095,7 @@ time_t httpGetDateTime(<span class="reserved">const</span> <span class="reserved
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Time in seconds</p>
-<h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="httpGetEncryption">httpGetEncryption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.0&#160;</span><a id="httpGetEncryption">httpGetEncryption</a></h3>
 <p class="description">Get the current encryption mode of a connection.</p>
 <p class="code">
 <a href="#http_encryption_t">http_encryption_t</a> httpGetEncryption(<a href="#http_t">http_t</a> *http);</p>
@@ -8100,7 +8123,7 @@ been established.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Error code (errno) value</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpGetExpect">httpGetExpect</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpGetExpect">httpGetExpect</a></h3>
 <p class="description">Get the value of the Expect header, if any.</p>
 <p class="code">
 http_status_t httpGetExpect(<a href="#http_t">http_t</a> *http);</p>
@@ -8116,7 +8139,7 @@ http_status_t httpGetExpect(<a href="#http_t">http_t</a> *http);</p>
 returns the expected HTTP status code, typically <code>HTTP_STATUS_CONTINUE</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetFd">httpGetFd</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpGetFd">httpGetFd</a></h3>
 <p class="description">Get the file descriptor associated with a connection.</p>
 <p class="code">
 <span class="reserved">int</span> httpGetFd(<a href="#http_t">http_t</a> *http);</p>
@@ -8140,7 +8163,7 @@ returns the expected HTTP status code, typically <code>HTTP_STATUS_CONTINUE</cod
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Field value</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetHostname">httpGetHostname</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpGetHostname">httpGetHostname</a></h3>
 <p class="description">Get the FQDN for the connection or local system.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *httpGetHostname(<a href="#http_t">http_t</a> *http, <span class="reserved">char</span> *s, <span class="reserved">int</span> slen);</p>
@@ -8174,7 +8197,7 @@ and gethostbyname() to get the local hostname with domain.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Keep-Alive state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetLength2">httpGetLength2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#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>
 <p class="code">
 off_t httpGetLength2(<a href="#http_t">http_t</a> *http);</p>
@@ -8239,7 +8262,7 @@ message body is chunked or fixed-length.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetStatus">httpGetStatus</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpGetStatus">httpGetStatus</a></h3>
 <p class="description">Get the status of the last HTTP request.</p>
 <p class="code">
 http_status_t httpGetStatus(<a href="#http_t">http_t</a> *http);</p>
@@ -8250,7 +8273,7 @@ http_status_t httpGetStatus(<a href="#http_t">http_t</a> *http);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP status</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetSubField2">httpGetSubField2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpGetSubField2">httpGetSubField2</a></h3>
 <p class="description">Get a sub-field value.</p>
 <p class="code">
 <span class="reserved">char</span> *httpGetSubField2(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">char</span> *value, <span class="reserved">int</span> valuelen);</p>
@@ -8395,7 +8418,7 @@ it produces an empty string. Please use <a href="#cupsDoAuthentication"><code>cu
 it produces an empty string. Please use <a href="#cupsDoAuthentication"><code>cupsDoAuthentication</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpPeek">httpPeek</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpPeek">httpPeek</a></h3>
 <p class="description">Peek at data from a HTTP connection.</p>
 <p class="code">
 ssize_t httpPeek(<a href="#http_t">http_t</a> *http, <span class="reserved">char</span> *buffer, size_t length);</p>
@@ -8418,7 +8441,7 @@ a buffer as needed.  The data is still available for reading using
 For non-blocking connections the usual timeouts apply.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpRead2">httpRead2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpRead2">httpRead2</a></h3>
 <p class="description">Read data from a HTTP connection.</p>
 <p class="code">
 ssize_t httpRead2(<a href="#http_t">http_t</a> *http, <span class="reserved">char</span> *buffer, size_t length);</p>
@@ -8433,7 +8456,7 @@ ssize_t httpRead2(<a href="#http_t">http_t</a> *http, <span class="reserved">cha
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of bytes read</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpReadRequest">httpReadRequest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpReadRequest">httpReadRequest</a></h3>
 <p class="description">Read a HTTP request from a connection.</p>
 <p class="code">
 <a href="#http_state_t">http_state_t</a> httpReadRequest(<a href="#http_t">http_t</a> *http, <span class="reserved">char</span> *uri, size_t urilen);</p>
@@ -8502,7 +8525,7 @@ terminated.  The callback is provided the &quot;cb_data&quot; value and returns
 <code>bool</code> value that is <code>true</code> to continue and <code>false</code> to stop.  If no callback
 is specified (&quot;cb&quot; is <code>NULL</code>), then this function will block up to 90 seconds
 to resolve the specified URI.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSeparateURI">httpSeparateURI</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpSeparateURI">httpSeparateURI</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
                       components.</p>
 <p class="code">
@@ -8534,7 +8557,7 @@ to resolve the specified URI.</p>
 </tbody></table>
 <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>
+<h3 class="function"><span class="info">&#160;CUPS 1.3&#160;</span><a id="httpSetAuthString">httpSetAuthString</a></h3>
 <p class="description">Set the current authorization string.</p>
 <p class="code">
 <span class="reserved">void</span> httpSetAuthString(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *scheme, <span class="reserved">const</span> <span class="reserved">char</span> *data);</p>
@@ -8565,7 +8588,7 @@ the HTTP connection object.  You must still call <a href="#httpSetField"><code>h
 <tr><th>b</th>
 <td class="description"><code>true</code> for blocking, <code>false</code> for non-blocking</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpSetCookie">httpSetCookie</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="httpSetCookie">httpSetCookie</a></h3>
 <p class="description">Set the cookie value(s).</p>
 <p class="code">
 <span class="reserved">void</span> httpSetCookie(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *cookie);</p>
@@ -8576,7 +8599,7 @@ the HTTP connection object.  You must still call <a href="#httpSetField"><code>h
 <tr><th>cookie</th>
 <td class="description">Cookie string</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
 <p class="description">Set the default value of an HTTP header.</p>
 <p class="code">
 <span class="reserved">void</span> httpSetDefaultField(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field, <span class="reserved">const</span> <span class="reserved">char</span> *value);</p>
@@ -8607,7 +8630,7 @@ and <code>HTTP_FIELD_USER_AGENT</code> can be set.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>true</code> on success, <code>false</code> on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSetExpect">httpSetExpect</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpSetExpect">httpSetExpect</a></h3>
 <p class="description">Set the Expect: header in a request.</p>
 <p class="code">
 <span class="reserved">void</span> httpSetExpect(<a href="#http_t">http_t</a> *http, http_status_t expect);</p>
@@ -8647,7 +8670,7 @@ argument.
 <tr><th>keep_alive</th>
 <td class="description">New Keep-Alive value</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSetLength">httpSetLength</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpSetLength">httpSetLength</a></h3>
 <p class="description">Set the content-length and content-encoding.</p>
 <p class="code">
 <span class="reserved">void</span> httpSetLength(<a href="#http_t">http_t</a> *http, size_t length);</p>
@@ -8658,7 +8681,7 @@ argument.
 <tr><th>length</th>
 <td class="description">Length (0 for chunked)</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpSetTimeout">httpSetTimeout</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.5&#160;</span><a id="httpSetTimeout">httpSetTimeout</a></h3>
 <p class="description">Set read/write timeouts and an optional callback.</p>
 <p class="code">
 <span class="reserved">void</span> httpSetTimeout(<a href="#http_t">http_t</a> *http, <span class="reserved">double</span> timeout, <a href="#http_timeout_cb_t">http_timeout_cb_t</a> cb, <span class="reserved">void</span> *user_data);</p>
@@ -8736,7 +8759,7 @@ http_status_t httpUpdate(<a href="#http_t">http_t</a> *http);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP status</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpWait">httpWait</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="httpWait">httpWait</a></h3>
 <p class="description">Wait for data available on a connection.</p>
 <p class="code">
 <span class="reserved">int</span> httpWait(<a href="#http_t">http_t</a> *http, <span class="reserved">int</span> msec);</p>
@@ -8749,7 +8772,7 @@ http_status_t httpUpdate(<a href="#http_t">http_t</a> *http);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if data is available, 0 otherwise</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpWrite2">httpWrite2</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="httpWrite2">httpWrite2</a></h3>
 <p class="description">Write data to a HTTP connection.</p>
 <p class="code">
 ssize_t httpWrite2(<a href="#http_t">http_t</a> *http, <span class="reserved">const</span> <span class="reserved">char</span> *buffer, size_t length);</p>
@@ -8779,7 +8802,7 @@ ssize_t httpWrite2(<a href="#http_t">http_t</a> *http, <span class="reserved">co
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>true</code> on success, <code>false</code> on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpWriteResponse">httpWriteResponse</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="httpWriteResponse">httpWriteResponse</a></h3>
 <p class="description">Write a HTTP response to a client connection.</p>
 <p class="code">
 <span class="reserved">int</span> httpWriteResponse(<a href="#http_t">http_t</a> *http, http_status_t status);</p>
@@ -8846,7 +8869,7 @@ The &quot;group&quot; parameter specifies the IPP attribute group tag: none
 event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippAddCollection">ippAddCollection</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ippAddCollection">ippAddCollection</a></h3>
 <p class="description">Add a collection value.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollection(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, <span class="reserved">const</span> <span class="reserved">char</span> *name, <a href="#ipp_t">ipp_t</a> *value);</p>
@@ -8874,7 +8897,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippAddCollections">ippAddCollections</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ippAddCollections">ippAddCollections</a></h3>
 <p class="description">Add an array of collection values.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollections(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> num_values, <span class="reserved">const</span> <a href="#ipp_t">ipp_t</a> **values);</p>
@@ -9027,7 +9050,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <br>
 Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
 (<code>IPP_TAG_INTEGER</code>).</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippAddOctetString">ippAddOctetString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippAddOctetString">ippAddOctetString</a></h3>
 <p class="description">Add an octetString value to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddOctetString(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">void</span> *data, <span class="reserved">int</span> datalen);</p>
@@ -9057,7 +9080,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippAddOutOfBand">ippAddOutOfBand</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippAddOutOfBand">ippAddOutOfBand</a></h3>
 <p class="description">Add an out-of-band value to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddOutOfBand(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, <span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -9267,7 +9290,7 @@ Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
 
 The "language" parameter must be non-`NULL` for nameWithLanguage and
 textWithLanguage string values and must be `NULL` for all other string values.</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippAddStringf">ippAddStringf</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippAddStringf">ippAddStringf</a></h3>
 <p class="description">Add a formatted string to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringf(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *language, <span class="reserved">const</span> <span class="reserved">char</span> *format, ...);</p>
@@ -9317,8 +9340,8 @@ printf family of standard functions.  Additional arguments follow it as
 needed.  The formatted string is truncated as needed to the maximum length of
 the corresponding value type.
 
-</code>since CUPS 1.7/macOS 10.9@</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippAddStringfv">ippAddStringfv</a></h3>
+</code>since CUPS 1.7@</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippAddStringfv">ippAddStringfv</a></h3>
 <p class="description">Add a formatted string to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringfv(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">const</span> <span class="reserved">char</span> *language, <span class="reserved">const</span> <span class="reserved">char</span> *format, va_list ap);</p>
@@ -9368,7 +9391,7 @@ printf family of standard functions.  Additional arguments are passed in the
 stdarg pointer "ap".  The formatted string is truncated as needed to the
 maximum length of the corresponding value type.
 
-</code>since CUPS 1.7/macOS 10.9@</p>
+</code>since CUPS 1.7@</p>
 <h3 class="function"><a id="ippAddStrings">ippAddStrings</a></h3>
 <p class="description">Add language-encoded strings to an IPP message.</p>
 <p class="code">
@@ -9411,7 +9434,7 @@ Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
 
 The "language" parameter must be non-`NULL` for nameWithLanguage and
 textWithLanguage string values and must be `NULL` for all other string values.</code></p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippAttributeString">ippAttributeString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippAttributeString">ippAttributeString</a></h3>
 <p class="description">Convert the attribute's value to a string.</p>
 <p class="code">
 size_t ippAttributeString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">char</span> *buffer, size_t bufsize);</p>
@@ -9432,7 +9455,7 @@ trailing nul. The buffer pointer can be NULL to get the required length,
 just like (v)snprintf.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippContainsInteger">ippContainsInteger</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippContainsInteger">ippContainsInteger</a></h3>
 <p class="description">Determine whether an attribute contains the
                          specified value or is within the list of ranges.</p>
 <p class="code">
@@ -9452,7 +9475,7 @@ enum value, or the value falls within one of the rangeOfInteger values for
 the attribute.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippContainsString">ippContainsString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippContainsString">ippContainsString</a></h3>
 <p class="description">Determine whether an attribute contains the
                         specified string value.</p>
 <p class="code">
@@ -9471,7 +9494,7 @@ the attribute.
 naturalLanguage, mimeMediaType, name, text, uri, or uriScheme value.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippCopyAttribute">ippCopyAttribute</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippCopyAttribute">ippCopyAttribute</a></h3>
 <p class="description">Copy an attribute.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippCopyAttribute(<a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_attribute_t">ipp_attribute_t</a> *srcattr, <span class="reserved">int</span> quickcopy);</p>
@@ -9493,7 +9516,7 @@ created - this should only be done as long as the original source IPP message wi
 not be freed for the life of the destination.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippCopyAttributes">ippCopyAttributes</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippCopyAttributes">ippCopyAttributes</a></h3>
 <p class="description">Copy attributes from one IPP message to another.</p>
 <p class="code">
 <span class="reserved">int</span> ippCopyAttributes(<a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_t">ipp_t</a> *src, <span class="reserved">int</span> quickcopy, <a href="#ipp_copy_cb_t">ipp_copy_cb_t</a> cb, <span class="reserved">void</span> *context);</p>
@@ -9540,7 +9563,7 @@ itself.
 <p class="discussion">This function concatenates the 1setOf text credential values of an attribute,
 separated by newlines.  The returned string must be freed using the <code>free</code>
 function.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
 <p class="description">Create a CUPS array of attribute names from the
                               given requested-attributes attribute.</p>
 <p class="code">
@@ -9588,7 +9611,7 @@ time_t ippDateToTime(<span class="reserved">const</span> <a href="#ipp_uchar_t">
 <tr><th>ipp</th>
 <td class="description">IPP message</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippDeleteAttribute">ippDeleteAttribute</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ippDeleteAttribute">ippDeleteAttribute</a></h3>
 <p class="description">Delete a single attribute in an IPP message.</p>
 <p class="code">
 <span class="reserved">void</span> ippDeleteAttribute(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -9599,7 +9622,7 @@ time_t ippDateToTime(<span class="reserved">const</span> <a href="#ipp_uchar_t">
 <tr><th>attr</th>
 <td class="description">Attribute to delete</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippDeleteValues">ippDeleteValues</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippDeleteValues">ippDeleteValues</a></h3>
 <p class="description">Delete values in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippDeleteValues(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">int</span> count);</p>
@@ -9664,7 +9687,7 @@ Deleting all values in an attribute deletes the attribute.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Text string</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippErrorValue">ippErrorValue</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippErrorValue">ippErrorValue</a></h3>
 <p class="description">Return a status code for the given name.</p>
 <p class="code">
 ipp_status_t ippErrorValue(<span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -10097,7 +10120,7 @@ member names separated by slashes, for example &quot;media-col/media-size&quot;.
 <p class="discussion">This function finds the next named attribute in an IPP message.  The
 attribute name can contain a hierarchical list of attribute and member names
 separated by slashes, for example &quot;media-col/media-size&quot;.</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetBoolean">ippGetBoolean</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetBoolean">ippGetBoolean</a></h3>
 <p class="description">Get a boolean value for an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetBoolean(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element);</p>
@@ -10115,7 +10138,7 @@ separated by slashes, for example &quot;media-col/media-size&quot;.</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetCollection">ippGetCollection</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetCollection">ippGetCollection</a></h3>
 <p class="description">Get a collection value for an attribute.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *ippGetCollection(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element);</p>
@@ -10133,7 +10156,7 @@ separated by slashes, for example &quot;media-col/media-size&quot;.</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetCount">ippGetCount</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetCount">ippGetCount</a></h3>
 <p class="description">Get the number of values in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetCount(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -10144,7 +10167,7 @@ separated by slashes, for example &quot;media-col/media-size&quot;.</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of values or 0 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetDate">ippGetDate</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetDate">ippGetDate</a></h3>
 <p class="description">Get a dateTime value for an attribute.</p>
 <p class="code">
 <span class="reserved">const</span> <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element);</p>
@@ -10173,7 +10196,7 @@ separated by slashes, for example &quot;media-col/media-size&quot;.</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">First attribute or <code>NULL</code> if none</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetGroupTag">ippGetGroupTag</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetGroupTag">ippGetGroupTag</a></h3>
 <p class="description">Get the group associated with an attribute.</p>
 <p class="code">
 ipp_tag_t ippGetGroupTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -10184,7 +10207,7 @@ ipp_tag_t ippGetGroupTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);<
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Group tag or <code>IPP_TAG_ZERO</code> on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetInteger">ippGetInteger</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetInteger">ippGetInteger</a></h3>
 <p class="description">Get the integer/enum value for an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetInteger(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element);</p>
@@ -10213,7 +10236,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Size of IPP message</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetName">ippGetName</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetName">ippGetName</a></h3>
 <p class="description">Get the attribute name.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *ippGetName(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -10235,7 +10258,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Next attribute or <code>NULL</code> if none</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippGetOctetString">ippGetOctetString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippGetOctetString">ippGetOctetString</a></h3>
 <p class="description">Get an octetString value from an IPP attribute.</p>
 <p class="code">
 <span class="reserved">void</span> *ippGetOctetString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element, <span class="reserved">int</span> *datalen);</p>
@@ -10255,7 +10278,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetOperation">ippGetOperation</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetOperation">ippGetOperation</a></h3>
 <p class="description">Get the operation ID in an IPP message.</p>
 <p class="code">
 <a href="#ipp_op_t">ipp_op_t</a> ippGetOperation(<a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10272,7 +10295,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <span class="reserved">int</span> ippGetPort(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Port number</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetRange">ippGetRange</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetRange">ippGetRange</a></h3>
 <p class="description">Get a rangeOfInteger value from an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetRange(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element, <span class="reserved">int</span> *uppervalue);</p>
@@ -10292,7 +10315,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetRequestId">ippGetRequestId</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetRequestId">ippGetRequestId</a></h3>
 <p class="description">Get the request ID from an IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetRequestId(<a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10303,7 +10326,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Request ID or 0 on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetResolution">ippGetResolution</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetResolution">ippGetResolution</a></h3>
 <p class="description">Get a resolution value for an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetResolution(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, <span class="reserved">int</span> element, <span class="reserved">int</span> *yres, <a href="#ipp_res_t">ipp_res_t</a> *units);</p>
@@ -10325,7 +10348,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetState">ippGetState</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetState">ippGetState</a></h3>
 <p class="description">Get the IPP message state.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippGetState(<a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10336,7 +10359,7 @@ size_t ippGetLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">IPP message state value</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetStatusCode">ippGetStatusCode</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetStatusCode">ippGetStatusCode</a></h3>
 <p class="description">Get the status code from an IPP response or event message.</p>
 <p class="code">
 ipp_status_t ippGetStatusCode(<a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10366,7 +10389,7 @@ ipp_status_t ippGetStatusCode(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <code>ippGetCount(attr)</code> - 1.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetValueTag">ippGetValueTag</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetValueTag">ippGetValueTag</a></h3>
 <p class="description">Get the value tag for an attribute.</p>
 <p class="code">
 ipp_tag_t ippGetValueTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -10377,7 +10400,7 @@ ipp_tag_t ippGetValueTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);<
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Value tag or <code>IPP_TAG_ZERO</code> on error</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetVersion">ippGetVersion</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippGetVersion">ippGetVersion</a></h3>
 <p class="description">Get the major and minor version number from an IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippGetVersion(<a href="#ipp_t">ipp_t</a> *ipp, <span class="reserved">int</span> *minor);</p>
@@ -10396,7 +10419,7 @@ ipp_tag_t ippGetValueTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);<
 <a href="#ipp_t">ipp_t</a> *ippNew(<span class="reserved">void</span>);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New IPP message</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippNewRequest">ippNewRequest</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippNewRequest">ippNewRequest</a></h3>
 <p class="description">Allocate a new IPP request message.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *ippNewRequest(<a href="#ipp_op_t">ipp_op_t</a> op);</p>
@@ -10413,7 +10436,7 @@ ipp_tag_t ippGetValueTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);<
 &quot;attributes-natural-language&quot; value is derived from the current locale.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippNewResponse">ippNewResponse</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippNewResponse">ippNewResponse</a></h3>
 <p class="description">Allocate a new IPP response message.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *ippNewResponse(<a href="#ipp_t">ipp_t</a> *request);</p>
@@ -10433,7 +10456,7 @@ provided request message.  If the &quot;attributes-charset&quot; or
 respectively.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippOpString">ippOpString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippOpString">ippOpString</a></h3>
 <p class="description">Return a name for the given operation id.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *ippOpString(<a href="#ipp_op_t">ipp_op_t</a> op);</p>
@@ -10444,7 +10467,7 @@ respectively.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Name</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippOpValue">ippOpValue</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippOpValue">ippOpValue</a></h3>
 <p class="description">Return an operation id for the given name.</p>
 <p class="code">
 <a href="#ipp_op_t">ipp_op_t</a> ippOpValue(<span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -10468,7 +10491,7 @@ respectively.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippReadFile">ippReadFile</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ippReadFile">ippReadFile</a></h3>
 <p class="description">Read data for an IPP message from a file.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippReadFile(<span class="reserved">int</span> fd, <a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10481,7 +10504,7 @@ respectively.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippReadIO">ippReadIO</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippReadIO">ippReadIO</a></h3>
 <p class="description">Read data for an IPP message.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippReadIO(<span class="reserved">void</span> *src, <a href="#ipp_io_cb_t">ipp_io_cb_t</a> cb, <span class="reserved">int</span> blocking, <a href="#ipp_t">ipp_t</a> *parent, <a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -10518,7 +10541,7 @@ respectively.
 <tr><th>ipp</th>
 <td class="description">IPP message</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetBoolean">ippSetBoolean</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetBoolean">ippSetBoolean</a></h3>
 <p class="description">Set a boolean value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetBoolean(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">int</span> boolvalue);</p>
@@ -10545,7 +10568,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetCollection">ippSetCollection</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetCollection">ippSetCollection</a></h3>
 <p class="description">Set a collection value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetCollection(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <a href="#ipp_t">ipp_t</a> *colvalue);</p>
@@ -10572,7 +10595,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetDate">ippSetDate</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetDate">ippSetDate</a></h3>
 <p class="description">Set a dateTime value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetDate(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">const</span> <a href="#ipp_uchar_t">ipp_uchar_t</a> *datevalue);</p>
@@ -10599,7 +10622,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetGroupTag">ippSetGroupTag</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetGroupTag">ippSetGroupTag</a></h3>
 <p class="description">Set the group tag of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetGroupTag(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, ipp_tag_t group_tag);</p>
@@ -10627,7 +10650,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetInteger">ippSetInteger</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetInteger">ippSetInteger</a></h3>
 <p class="description">Set an integer or enum value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetInteger(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">int</span> intvalue);</p>
@@ -10654,7 +10677,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetName">ippSetName</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetName">ippSetName</a></h3>
 <p class="description">Set the name of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetName(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -10676,7 +10699,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The &quot;attr&quot; parameter may be modified as a result of setting the value.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippSetOctetString">ippSetOctetString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippSetOctetString">ippSetOctetString</a></h3>
 <p class="description">Set an octetString value in an IPP attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetOctetString(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">const</span> <span class="reserved">void</span> *data, <span class="reserved">int</span> datalen);</p>
@@ -10705,7 +10728,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetOperation">ippSetOperation</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetOperation">ippSetOperation</a></h3>
 <p class="description">Set the operation ID in an IPP request message.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetOperation(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_op_t">ipp_op_t</a> op);</p>
@@ -10732,7 +10755,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 <tr><th>p</th>
 <td class="description">Port number to use</td></tr>
 </tbody></table>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetRange">ippSetRange</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetRange">ippSetRange</a></h3>
 <p class="description">Set a rangeOfInteger value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetRange(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">int</span> lowervalue, <span class="reserved">int</span> uppervalue);</p>
@@ -10761,7 +10784,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetRequestId">ippSetRequestId</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetRequestId">ippSetRequestId</a></h3>
 <p class="description">Set the request ID in an IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetRequestId(<a href="#ipp_t">ipp_t</a> *ipp, <span class="reserved">int</span> request_id);</p>
@@ -10781,7 +10804,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>request_id</code> parameter must be greater than 0.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetResolution">ippSetResolution</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetResolution">ippSetResolution</a></h3>
 <p class="description">Set a resolution value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetResolution(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <a href="#ipp_res_t">ipp_res_t</a> unitsvalue, <span class="reserved">int</span> xresvalue, <span class="reserved">int</span> yresvalue);</p>
@@ -10812,7 +10835,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetState">ippSetState</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetState">ippSetState</a></h3>
 <p class="description">Set the current state of the IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetState(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_state_t">ipp_state_t</a> state);</p>
@@ -10825,7 +10848,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetStatusCode">ippSetStatusCode</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetStatusCode">ippSetStatusCode</a></h3>
 <p class="description">Set the status code in an IPP response or event message.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetStatusCode(<a href="#ipp_t">ipp_t</a> *ipp, ipp_status_t status);</p>
@@ -10843,7 +10866,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or  <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetString">ippSetString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetString">ippSetString</a></h3>
 <p class="description">Set a string value in an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetString(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">const</span> <span class="reserved">char</span> *strvalue);</p>
@@ -10870,7 +10893,7 @@ The &quot;element&quot; parameter specifies which value to set from 0 to
 <code>ippGetCount(attr)</code>.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippSetStringf">ippSetStringf</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippSetStringf">ippSetStringf</a></h3>
 <p class="description">Set a formatted string value of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetStringf(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">const</span> <span class="reserved">char</span> *format, ...);</p>
@@ -10904,7 +10927,7 @@ needed.  The formatted string is truncated as needed to the maximum length of
 the corresponding value type.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippSetStringfv">ippSetStringfv</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippSetStringfv">ippSetStringfv</a></h3>
 <p class="description">Set a formatted string value of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetStringfv(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, <span class="reserved">int</span> element, <span class="reserved">const</span> <span class="reserved">char</span> *format, va_list ap);</p>
@@ -10938,7 +10961,7 @@ needed.  The formatted string is truncated as needed to the maximum length of
 the corresponding value type.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetValueTag">ippSetValueTag</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetValueTag">ippSetValueTag</a></h3>
 <p class="description">Set the value tag of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetValueTag(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, ipp_tag_t value_tag);</p>
@@ -10972,7 +10995,7 @@ code in the &quot;attributes-natural-language&quot; attribute or, if not present
 code for the current locale.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetVersion">ippSetVersion</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.6&#160;</span><a id="ippSetVersion">ippSetVersion</a></h3>
 <p class="description">Set the version number in an IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippSetVersion(<a href="#ipp_t">ipp_t</a> *ipp, <span class="reserved">int</span> major, <span class="reserved">int</span> minor);</p>
@@ -11005,7 +11028,7 @@ The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">State name</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="ippTagString">ippTagString</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="ippTagString">ippTagString</a></h3>
 <p class="description">Return the tag name corresponding to a tag value.</p>
 <p class="code">
 <span class="reserved">const</span> <span class="reserved">char</span> *ippTagString(ipp_tag_t tag);</p>
@@ -11020,7 +11043,7 @@ The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
 <p class="discussion">The returned names are defined in RFC 8011 and the IANA IPP Registry.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="ippTagValue">ippTagValue</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.4&#160;</span><a id="ippTagValue">ippTagValue</a></h3>
 <p class="description">Return the tag value corresponding to a tag name.</p>
 <p class="code">
 ipp_tag_t ippTagValue(<span class="reserved">const</span> <span class="reserved">char</span> *name);</p>
@@ -11046,7 +11069,7 @@ ipp_tag_t ippTagValue(<span class="reserved">const</span> <span class="reserved"
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">RFC-2579 date/time data</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippValidateAttribute">ippValidateAttribute</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippValidateAttribute">ippValidateAttribute</a></h3>
 <p class="description">Validate the contents of an attribute.</p>
 <p class="code">
 <span class="reserved">int</span> ippValidateAttribute(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
@@ -11063,7 +11086,7 @@ value tag.  1 is returned if the attribute is valid, 0 otherwise.  On
 failure, <a href="#cupsGetErrorString"><code>cupsGetErrorString</code></a> is set to a human-readable message.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippValidateAttributes">ippValidateAttributes</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="ippValidateAttributes">ippValidateAttributes</a></h3>
 <p class="description">Validate all attributes in an IPP message.</p>
 <p class="code">
 <span class="reserved">int</span> ippValidateAttributes(<a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -11093,7 +11116,7 @@ set to a human-readable message on failure.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="ippWriteFile">ippWriteFile</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19&#160;</span><a id="ippWriteFile">ippWriteFile</a></h3>
 <p class="description">Write data for an IPP message to a file.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippWriteFile(<span class="reserved">int</span> fd, <a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -11106,7 +11129,7 @@ set to a human-readable message on failure.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ippWriteIO">ippWriteIO</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.2&#160;</span><a id="ippWriteIO">ippWriteIO</a></h3>
 <p class="description">Write data for an IPP message.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippWriteIO(<span class="reserved">void</span> *dst, <a href="#ipp_io_cb_t">ipp_io_cb_t</a> cb, <span class="reserved">int</span> blocking, <a href="#ipp_t">ipp_t</a> *parent, <a href="#ipp_t">ipp_t</a> *ipp);</p>
@@ -11125,7 +11148,7 @@ set to a human-readable message on failure.
 </tbody></table>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgFormatSizeName">pwgFormatSizeName</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgFormatSizeName">pwgFormatSizeName</a></h3>
 <p class="description">Generate a PWG self-describing media size name.</p>
 <p class="code">
 <span class="reserved">int</span> pwgFormatSizeName(<span class="reserved">char</span> *keyword, size_t keysize, <span class="reserved">const</span> <span class="reserved">char</span> *prefix, <span class="reserved">const</span> <span class="reserved">char</span> *name, <span class="reserved">int</span> width, <span class="reserved">int</span> length, <span class="reserved">const</span> <span class="reserved">char</span> *units);</p>
@@ -11165,7 +11188,7 @@ units string is <code>NULL</code>, otherwise inches (&quot;in&quot;) or millimet
 are used.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgInitSize">pwgInitSize</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgInitSize">pwgInitSize</a></h3>
 <p class="description">Initialize a pwg_size_t structure using IPP Job Template
                   attributes.</p>
 <p class="code">
@@ -11191,7 +11214,7 @@ member attribute was specified in the &quot;media-col&quot; Job Template attribu
 otherwise it is initialized to 0.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
 <p class="description">Find a PWG media size by ISO/IPP legacy name.</p>
 <p class="code">
 <a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForLegacy(<span class="reserved">const</span> <span class="reserved">char</span> *legacy);</p>
@@ -11207,7 +11230,7 @@ otherwise it is initialized to 0.
 &quot;iso-a4&quot; or &quot;na-letter&quot;.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgMediaForPPD">pwgMediaForPPD</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgMediaForPPD">pwgMediaForPPD</a></h3>
 <p class="description">Find a PWG media size by Adobe PPD name.</p>
 <p class="code">
 <a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPPD(<span class="reserved">const</span> <span class="reserved">char</span> *ppd);</p>
@@ -11229,7 +11252,7 @@ thread.  Custom names can be of the form &quot;Custom.WIDTHxLENGTH[units]&quot;
 &quot;WIDTHxLENGTH[units]&quot;.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgMediaForPWG">pwgMediaForPWG</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgMediaForPWG">pwgMediaForPWG</a></h3>
 <p class="description">Find a PWG media size by 5101.1 self-describing name.</p>
 <p class="code">
 <a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPWG(<span class="reserved">const</span> <span class="reserved">char</span> *pwg);</p>
@@ -11249,7 +11272,7 @@ thread-local storage and is overwritten by each call to the function in the
 thread.
 
 </p>
-<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="pwgMediaForSize">pwgMediaForSize</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.7&#160;</span><a id="pwgMediaForSize">pwgMediaForSize</a></h3>
 <p class="description">Get the PWG media size for the given dimensions.</p>
 <p class="code">
 <a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForSize(<span class="reserved">int</span> width, <span class="reserved">int</span> length);</p>
@@ -11357,7 +11380,7 @@ typedef unsigned short cups_dbcs_t;
 <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_cb_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>cups_dest_cb_t</a></h3>
+<h3 class="typedef"><a id="cups_dest_cb_t"><span class="info">&#160;CUPS 1.6&#160;</span>cups_dest_cb_t</a></h3>
 <p class="description">Destination enumeration callback </p>
 <p class="code">
 typedef int(*)(void *user_data, unsigned flags, <a href="#cups_dest_t">cups_dest_t</a> *dest)cups_dest_cb_t;
@@ -11372,7 +11395,7 @@ typedef unsigned cups_dest_flags_t;
 <p class="code">
 typedef struct <a href="#cups_dest_s">cups_dest_s</a> cups_dest_t;
 </p>
-<h3 class="typedef"><a id="cups_dinfo_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>cups_dinfo_t</a></h3>
+<h3 class="typedef"><a id="cups_dinfo_t"><span class="info">&#160;CUPS 1.6&#160;</span>cups_dinfo_t</a></h3>
 <p class="description">Destination capability and status information </p>
 <p class="code">
 typedef struct _cups_dinfo_s cups_dinfo_t;
@@ -11527,7 +11550,7 @@ typedef enum <a href="#cups_order_e">cups_order_e</a> cups_order_t;
 <p class="code">
 typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
 </p>
-<h3 class="typedef"><a id="cups_page_header2_t"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span>cups_page_header2_t</a></h3>
+<h3 class="typedef"><a id="cups_page_header2_t"><span class="info">&#160;CUPS 1.2&#160;</span>cups_page_header2_t</a></h3>
 <p class="description">Version 2 page header </p>
 <p class="code">
 typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
@@ -11537,7 +11560,7 @@ typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_
 <p class="code">
 typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
 </p>
-<h3 class="typedef"><a id="cups_password_cb2_t"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span>cups_password_cb2_t</a></h3>
+<h3 class="typedef"><a id="cups_password_cb2_t"><span class="info">&#160;CUPS 1.4&#160;</span>cups_password_cb2_t</a></h3>
 <p class="description">New password callback </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;
@@ -11697,7 +11720,7 @@ typedef enum <a href="#http_uri_status_e">http_uri_status_e</a> http_uri_status_
 <p class="code">
 typedef struct _ipp_attribute_s ipp_attribute_t;
 </p>
-<h3 class="typedef"><a id="ipp_copy_cb_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>ipp_copy_cb_t</a></h3>
+<h3 class="typedef"><a id="ipp_copy_cb_t"><span class="info">&#160;CUPS 1.6&#160;</span>ipp_copy_cb_t</a></h3>
 <p class="description">ippCopyAttributes callback function </p>
 <p class="code">
 typedef int(*)(void *context, <a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr)ipp_copy_cb_t;
@@ -11722,7 +11745,7 @@ typedef struct _ipp_file_s ipp_file_t;
 <p class="code">
 typedef bool(*)(ipp_file_t *file, void *cb_data, const char *token)ipp_ftoken_cb_t;
 </p>
-<h3 class="typedef"><a id="ipp_io_cb_t"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span>ipp_io_cb_t</a></h3>
+<h3 class="typedef"><a id="ipp_io_cb_t"><span class="info">&#160;CUPS 1.2&#160;</span>ipp_io_cb_t</a></h3>
 <p class="description">ippReadIO/ippWriteIO callback function </p>
 <p class="code">
 typedef ssize_t(*)(void *context, ipp_uchar_t *buffer, size_t bytes) ipp_io_cb_t;
@@ -11900,7 +11923,7 @@ typedef struct <a href="#pwg_media_s">pwg_media_s</a> pwg_media_t;
 <tr><th>value </th>
 <td class="description">Value of option</td></tr>
 </tbody></table>
-<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>
+<h3 class="struct"><span class="info">&#160;CUPS 1.2&#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"><span class="reserved">struct</span> cups_page_header2_s {<br>
 &#160;&#160;&#160;&#160;<span class="reserved">unsigned</span> AdvanceDistance;<br>
@@ -12013,7 +12036,7 @@ typedef struct <a href="#pwg_media_s">pwg_media_s</a> pwg_media_t;
 <td class="description">Number of bits for each color</td></tr>
 <tr><th>cupsBitsPerPixel </th>
 <td class="description">Number of bits for each pixel</td></tr>
-<tr><th>cupsBorderlessScalingFactor <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsBorderlessScalingFactor <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Scaling that was applied to page data </td></tr>
 <tr><th>cupsBytesPerLine </th>
 <td class="description">Number of bytes per line</td></tr>
@@ -12025,26 +12048,26 @@ typedef struct <a href="#pwg_media_s">pwg_media_s</a> pwg_media_t;
 <td class="description">Device compression to use</td></tr>
 <tr><th>cupsHeight </th>
 <td class="description">Height of page image in pixels</td></tr>
-<tr><th>cupsImagingBBox[4] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsImagingBBox[4] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Floating point ImagingBoundingBox
 (scaling factor not applied, left,
 bottom, right, top) </td></tr>
-<tr><th>cupsInteger[16] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsInteger[16] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">User-defined integer values </td></tr>
-<tr><th>cupsMarkerType[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsMarkerType[64] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Ink/toner type </td></tr>
 <tr><th>cupsMediaType </th>
 <td class="description">Media type code</td></tr>
-<tr><th>cupsNumColors <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsNumColors <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Number of color components </td></tr>
-<tr><th>cupsPageSizeName[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsPageSizeName[64] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">PageSize name </td></tr>
-<tr><th>cupsPageSize[2] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsPageSize[2] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Floating point PageSize (scaling *
 factor not applied) </td></tr>
-<tr><th>cupsReal[16] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsReal[16] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">User-defined floating-point values </td></tr>
-<tr><th>cupsRenderingIntent[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsRenderingIntent[64] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">Color rendering intent </td></tr>
 <tr><th>cupsRowCount </th>
 <td class="description">Rows per band</td></tr>
@@ -12052,7 +12075,7 @@ factor not applied) </td></tr>
 <td class="description">Feed between bands</td></tr>
 <tr><th>cupsRowStep </th>
 <td class="description">Spacing between lines</td></tr>
-<tr><th>cupsString[16][64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>
+<tr><th>cupsString[16][64] <span class="info">&#160;CUPS 1.2&#160;</span></th>
 <td class="description">User-defined string values </td></tr>
 <tr><th>cupsWidth </th>
 <td class="description">Width of page image in pixels</td></tr>
@@ -12271,8 +12294,8 @@ factor not applied) </td></tr>
 <h4 class="constants">Constants</h4>
 <table class="list"><tbody>
 <tr><th>CUPS_CSPACE_ADOBERGB <span class="info">&#160;CUPS 1.4.5&#160;</span></th><td class="description">Red, green, blue (Adobe RGB) </td></tr>
-<tr><th>CUPS_CSPACE_CIELab <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">CIE Lab </td></tr>
-<tr><th>CUPS_CSPACE_CIEXYZ <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">CIE XYZ </td></tr>
+<tr><th>CUPS_CSPACE_CIELab <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">CIE Lab </td></tr>
+<tr><th>CUPS_CSPACE_CIEXYZ <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">CIE XYZ </td></tr>
 <tr><th>CUPS_CSPACE_CMY </th><td class="description">Cyan, magenta, yellow (DeviceCMY)</td></tr>
 <tr><th>CUPS_CSPACE_CMYK </th><td class="description">Cyan, magenta, yellow, black (DeviceCMYK)</td></tr>
 <tr><th>CUPS_CSPACE_DEVICE1 <span class="info">&#160;CUPS 1.4.5&#160;</span></th><td class="description">DeviceN, 1 color </td></tr>
@@ -12293,27 +12316,27 @@ factor not applied) </td></tr>
 <tr><th>CUPS_CSPACE_GMCK <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Gold, magenta, yellow, black </td></tr>
 <tr><th>CUPS_CSPACE_GMCS <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Gold, magenta, yellow, silver </td></tr>
 <tr><th>CUPS_CSPACE_GOLD <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Gold foil </td></tr>
-<tr><th>CUPS_CSPACE_ICC1 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 1 color </td></tr>
-<tr><th>CUPS_CSPACE_ICC2 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 2 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC3 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 3 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC4 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 4 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC5 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 5 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC6 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 6 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC7 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 7 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC8 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 8 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICC9 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 9 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCA <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 10 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCB <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 11 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCC <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 12 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCD <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 13 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCE <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 14 colors </td></tr>
-<tr><th>CUPS_CSPACE_ICCF <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th><td class="description">ICC-based, 15 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC1 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 1 color </td></tr>
+<tr><th>CUPS_CSPACE_ICC2 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 2 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC3 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 3 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC4 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 4 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC5 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 5 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC6 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 6 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC7 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 7 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC8 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 8 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICC9 <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 9 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCA <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 10 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCB <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 11 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCC <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 12 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCD <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 13 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCE <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 14 colors </td></tr>
+<tr><th>CUPS_CSPACE_ICCF <span class="info">&#160;CUPS 1.1.19&#160;</span></th><td class="description">ICC-based, 15 colors </td></tr>
 <tr><th>CUPS_CSPACE_K </th><td class="description">Black (DeviceK)</td></tr>
 <tr><th>CUPS_CSPACE_KCMY <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Black, cyan, magenta, yellow </td></tr>
 <tr><th>CUPS_CSPACE_KCMYcm <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Black, cyan, magenta, yellow, light-cyan, light-magenta </td></tr>
 <tr><th>CUPS_CSPACE_RGB </th><td class="description">Red, green, blue (DeviceRGB, sRGB by default)</td></tr>
 <tr><th>CUPS_CSPACE_RGBA </th><td class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</td></tr>
-<tr><th>CUPS_CSPACE_RGBW <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </td></tr>
+<tr><th>CUPS_CSPACE_RGBW <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </td></tr>
 <tr><th>CUPS_CSPACE_SILVER <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Silver foil </td></tr>
 <tr><th>CUPS_CSPACE_SRGB <span class="info">&#160;CUPS 1.4.5&#160;</span></th><td class="description">Red, green, blue (sRGB) </td></tr>
 <tr><th>CUPS_CSPACE_SW <span class="info">&#160;CUPS 1.4.5&#160;</span></th><td class="description">Luminance (gamma 2.2) </td></tr>
@@ -12508,8 +12531,8 @@ factor not applied) </td></tr>
 <table class="list"><tbody>
 <tr><th>CUPS_RASTER_READ </th><td class="description">Open stream for reading</td></tr>
 <tr><th>CUPS_RASTER_WRITE </th><td class="description">Open stream for writing</td></tr>
-<tr><th>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span></th><td class="description">Open stream for compressed writing </td></tr>
-<tr><th>CUPS_RASTER_WRITE_PWG <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th><td class="description">Open stream for compressed writing in PWG Raster mode </td></tr>
+<tr><th>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&#160;CUPS 1.3&#160;</span></th><td class="description">Open stream for compressed writing </td></tr>
+<tr><th>CUPS_RASTER_WRITE_PWG <span class="info">&#160;CUPS 1.5&#160;</span></th><td class="description">Open stream for compressed writing in PWG Raster mode </td></tr>
 </tbody></table>
 <h3 class="enumeration"><a id="cups_whichjobs_e">cups_whichjobs_e</a></h3>
 <p class="description">Which jobs for <a href="#cupsGetJobs"><code>cupsGetJobs</code></a></p>
@@ -12827,24 +12850,24 @@ factor not applied) </td></tr>
 <tr><th>IPP_OP_CANCEL_JOBS </th><td class="description">Cancel-Jobs: Cancel all jobs (administrative)</td></tr>
 <tr><th>IPP_OP_CANCEL_MY_JOBS </th><td class="description">Cancel-My-Jobs: Cancel a user's jobs</td></tr>
 <tr><th>IPP_OP_CANCEL_RESOURCE </th><td class="description">Cancel-Resource: Uninstall a resource.</td></tr>
-<tr><th>IPP_OP_CANCEL_SUBSCRIPTION <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Cancel-Subscription: Cancel a subscription </td></tr>
+<tr><th>IPP_OP_CANCEL_SUBSCRIPTION <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Cancel-Subscription: Cancel a subscription </td></tr>
 <tr><th>IPP_OP_CLOSE_JOB </th><td class="description">Close-Job: Close a job and start printing</td></tr>
 <tr><th>IPP_OP_CREATE_JOB </th><td class="description">Create-Job: Create an empty print job</td></tr>
-<tr><th>IPP_OP_CREATE_JOB_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Create-Job-Subscriptions: Create one of more job subscriptions </td></tr>
+<tr><th>IPP_OP_CREATE_JOB_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Create-Job-Subscriptions: Create one of more job subscriptions </td></tr>
 <tr><th>IPP_OP_CREATE_PRINTER </th><td class="description">Create-Printer: Create a new service.</td></tr>
-<tr><th>IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Create-Printer-Subscriptions: Create one or more printer subscriptions </td></tr>
+<tr><th>IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Create-Printer-Subscriptions: Create one or more printer subscriptions </td></tr>
 <tr><th>IPP_OP_CREATE_RESOURCE </th><td class="description">Create-Resource: Create a new (empty) resource.</td></tr>
 <tr><th>IPP_OP_CREATE_RESOURCE_SUBSCRIPTIONS </th><td class="description">Create-Resource-Subscriptions: Create event subscriptions for a resource.</td></tr>
 <tr><th>IPP_OP_CREATE_SYSTEM_SUBSCRIPTIONS </th><td class="description">Create-System-Subscriptions: Create event subscriptions for a system.</td></tr>
 <tr><th>IPP_OP_CUPS_ADD_MODIFY_CLASS </th><td class="description">CUPS-Add-Modify-Class: Add or modify a class</td></tr>
 <tr><th>IPP_OP_CUPS_ADD_MODIFY_PRINTER </th><td class="description">CUPS-Add-Modify-Printer: Add or modify a printer</td></tr>
-<tr><th>IPP_OP_CUPS_AUTHENTICATE_JOB <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">CUPS-Authenticate-Job: Authenticate a job </td></tr>
+<tr><th>IPP_OP_CUPS_AUTHENTICATE_JOB <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">CUPS-Authenticate-Job: Authenticate a job </td></tr>
 <tr><th>IPP_OP_CUPS_CREATE_LOCAL_PRINTER <span class="info">&#160;CUPS 2.2&#160;</span></th><td class="description">CUPS-Create-Local-Printer: Create a local (temporary) printer </td></tr>
 <tr><th>IPP_OP_CUPS_DELETE_CLASS </th><td class="description">CUPS-Delete-Class: Delete a class</td></tr>
 <tr><th>IPP_OP_CUPS_DELETE_PRINTER </th><td class="description">CUPS-Delete-Printer: Delete a printer</td></tr>
 <tr><th>IPP_OP_CUPS_GET_DEFAULT </th><td class="description">CUPS-Get-Default: Get the default printer</td></tr>
 <tr><th>IPP_OP_CUPS_GET_DEVICES <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">CUPS-Get-Devices: Get a list of supported devices </td></tr>
-<tr><th>IPP_OP_CUPS_GET_DOCUMENT <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></th><td class="description">CUPS-Get-Document: Get a document file </td></tr>
+<tr><th>IPP_OP_CUPS_GET_DOCUMENT <span class="info">&#160;CUPS 1.4&#160;</span></th><td class="description">CUPS-Get-Document: Get a document file </td></tr>
 <tr><th>IPP_OP_CUPS_GET_PPD <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">CUPS-Get-PPD: Get a PPD file </td></tr>
 <tr><th>IPP_OP_CUPS_GET_PPDS <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">CUPS-Get-PPDs: Get a list of supported drivers </td></tr>
 <tr><th>IPP_OP_CUPS_GET_PRINTERS </th><td class="description">CUPS-Get-Printers: Get a list of printers and/or classes</td></tr>
@@ -12859,12 +12882,12 @@ factor not applied) </td></tr>
 <tr><th>IPP_OP_ENABLE_PRINTER </th><td class="description">Enable-Printer: Accept new jobs for a printer</td></tr>
 <tr><th>IPP_OP_GET_JOBS </th><td class="description">Get-Jobs: Get a list of jobs</td></tr>
 <tr><th>IPP_OP_GET_JOB_ATTRIBUTES </th><td class="description">Get-Job-Attribute: Get information about a job</td></tr>
-<tr><th>IPP_OP_GET_NOTIFICATIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Get-Notifications: Get notification events </td></tr>
+<tr><th>IPP_OP_GET_NOTIFICATIONS <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Get-Notifications: Get notification events </td></tr>
 <tr><th>IPP_OP_GET_PRINTERS </th><td class="description">Get-Printers: Get a list of services.</td></tr>
 <tr><th>IPP_OP_GET_PRINTER_ATTRIBUTES </th><td class="description">Get-Printer-Attributes: Get information about a printer</td></tr>
 <tr><th>IPP_OP_GET_PRINTER_SUPPORTED_VALUES </th><td class="description">Get-Printer-Supported-Values: Get supported values</td></tr>
-<tr><th>IPP_OP_GET_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Get-Subscriptions: Get list of subscriptions </td></tr>
-<tr><th>IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Get-Subscription-Attributes: Get subscription information </td></tr>
+<tr><th>IPP_OP_GET_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Get-Subscriptions: Get list of subscriptions </td></tr>
+<tr><th>IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Get-Subscription-Attributes: Get subscription information </td></tr>
 <tr><th>IPP_OP_GET_SYSTEM_ATTRIBUTES </th><td class="description">Get-System-Attributes: Get system object attributes.</td></tr>
 <tr><th>IPP_OP_GET_SYSTEM_SUPPORTED_VALUES </th><td class="description">Get-System-Supported-Values: Get supported values for system object attributes.</td></tr>
 <tr><th>IPP_OP_HOLD_JOB </th><td class="description">Hold-Job: Hold a job for printing</td></tr>
@@ -12880,7 +12903,7 @@ factor not applied) </td></tr>
 <tr><th>IPP_OP_REGISTER_OUTPUT_DEVICE </th><td class="description">Register-Output-Device: Register a remote service.</td></tr>
 <tr><th>IPP_OP_RELEASE_HELD_NEW_JOBS </th><td class="description">Release-Held-New-Jobs: Release new jobs that were previously held</td></tr>
 <tr><th>IPP_OP_RELEASE_JOB </th><td class="description">Release-Job: Release a job for printing</td></tr>
-<tr><th>IPP_OP_RENEW_SUBSCRIPTION <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th><td class="description">Renew-Subscription: Renew a printer subscription </td></tr>
+<tr><th>IPP_OP_RENEW_SUBSCRIPTION <span class="info">&#160;CUPS 1.2&#160;</span></th><td class="description">Renew-Subscription: Renew a printer subscription </td></tr>
 <tr><th>IPP_OP_RESTART_JOB <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">Restart-Job: Reprint a job </td></tr>
 <tr><th>IPP_OP_RESTART_SYSTEM </th><td class="description">Restart-System: Restart all services.</td></tr>
 <tr><th>IPP_OP_RESUME_ALL_PRINTERS </th><td class="description">Resume-All-Printers: Start job processing on all services.</td></tr>
@@ -12982,10 +13005,10 @@ factor not applied) </td></tr>
 <tr><th>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED </th><td class="description">cups-error-account-closed @deprecate@</td></tr>
 <tr><th>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">cups-error-account-info-needed </td></tr>
 <tr><th>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info">&#160;DEPRECATED&#160;</span></th><td class="description">cups-error-account-limit-reached </td></tr>
-<tr><th>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th><td class="description">cups-authentication-canceled - Authentication canceled by user </td></tr>
+<tr><th>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info">&#160;CUPS 1.5&#160;</span></th><td class="description">cups-authentication-canceled - Authentication canceled by user </td></tr>
 <tr><th>IPP_STATUS_ERROR_CUPS_OAUTH </th><td class="description">cups-oauth - OAuth error</td></tr>
-<tr><th>IPP_STATUS_ERROR_CUPS_PKI <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th><td class="description">cups-pki-error - Error negotiating a secure connection </td></tr>
-<tr><th>IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th><td class="description">cups-upgrade-required - TLS upgrade required </td></tr>
+<tr><th>IPP_STATUS_ERROR_CUPS_PKI <span class="info">&#160;CUPS 1.5&#160;</span></th><td class="description">cups-pki-error - Error negotiating a secure connection </td></tr>
+<tr><th>IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED <span class="info">&#160;CUPS 1.5&#160;</span></th><td class="description">cups-upgrade-required - TLS upgrade required </td></tr>
 <tr><th>IPP_STATUS_ERROR_DEVICE </th><td class="description">server-error-device-error</td></tr>
 <tr><th>IPP_STATUS_ERROR_DOCUMENT_ACCESS </th><td class="description">client-error-document-access-error</td></tr>
 <tr><th>IPP_STATUS_ERROR_DOCUMENT_FORMAT_ERROR </th><td class="description">client-error-document-format-error</td></tr>