]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge pull request #5029 from AOSC-Dev/master
authorMichael R Sweet <michaelrsweet@gmail.com>
Mon, 19 Jun 2017 13:10:09 +0000 (09:10 -0400)
committerGitHub <noreply@github.com>
Mon, 19 Jun 2017 13:10:09 +0000 (09:10 -0400)
locale: introduce cups_zh_CN.po

76 files changed:
.gitignore
CHANGES.md
Makedefs.in
backend/dnssd.c
backend/org.cups.usb-quirks
cgi-bin/help.c
conf/mime.types
config-scripts/cups-common.m4
config-scripts/cups-defaults.m4
config-scripts/cups-directories.m4
config-scripts/cups-manpages.m4
config-scripts/cups-sharedlibs.m4
config-scripts/cups-startup.m4
configure
cups/Makefile
cups/cups-private.h
cups/cupspm.md
cups/dest-job.c
cups/dest-options.c
cups/dest.c
cups/encode.c
cups/file-private.h
cups/file.c
cups/file.h
cups/http-addr.c
cups/http-support.c
cups/http.c
cups/ipp-support.c
cups/ipp.c
cups/ipp.h
cups/options.c
cups/snmp.c
cups/usersys.c
cups/util.c
doc/help/api-admin.html
doc/help/api-filter.html
doc/help/api-ppd.html
doc/help/api-raster.html
doc/help/cupspm.epub
doc/help/cupspm.html
doc/help/man-ipptool.html
doc/help/man-ipptoolfile.html
doc/help/man-lpstat.html
locale/cups.pot
locale/cups.strings
locale/cups_ca.po
locale/cups_cs.po
locale/cups_de.po
locale/cups_es.po
locale/cups_fr.po
locale/cups_it.po
locale/cups_ja.po
locale/cups_pt_BR.po
locale/cups_ru.po
man/ipptool.man
man/ipptoolfile.man
packaging/cups.spec.in
scheduler/cups-lpd.c
scheduler/printers.c
scheduler/process.c
scheduler/sysman.c
systemv/cupstestppd.c
systemv/lpstat.c
test/5.4-lpstat.sh
test/ipp-1.1.test
test/ipp-2.0.test
test/ipp-2.1.test
test/ipp-2.2.test
test/ipp-everywhere.test
test/ippserver.c
test/ipptool.c
test/print-job-manual.test [new file with mode: 0644]
test/run-stp-tests.sh
test/str-header.html
test/str-trailer.html
xcode/CUPS.xcodeproj/project.pbxproj

index 25df119a03eadf6a0a9b8dd8a3bcc31e986596c0..5023257dbf9b69e7da9872edd9bbe04a215e4c05 100644 (file)
@@ -144,7 +144,7 @@ systemv/reject
 templates/header.tmpl
 templates/*/header.tmpl
 test/cups-str-*.html
-test/error_log-*
+test/*_log-*
 test/ippfind
 test/ippfind-static
 test/ippserver
index 7788f8cecb879a054656272f4abe9a130993e320..5692935619771771a75a974eaaedab8197de1baf 100644 (file)
@@ -1,4 +1,4 @@
-CHANGES - 2.2.4 - 2017-06-05
+CHANGES - 2.2.4 - 2017-06-19
 ============================
 
 CHANGES IN CUPS V2.2.4
@@ -13,6 +13,7 @@ CHANGES IN CUPS V2.2.4
   (Issue #4992)
 - The cupsGetDests and cupsCreateJob functions now support Bonjour printers
   (Issue #4993)
+- Added a USB quirk rule for Lexmark E260dn printers (Issue #4994)
 - IPP Everywhere improvements (Issue #4998)
 - Fixed the "cancel all jobs" function in the web interface for several
   languages (Issue #4999)
@@ -24,6 +25,10 @@ CHANGES IN CUPS V2.2.4
   haven't yet been added (Issue #5006)
 - Fixed a typo in the mime.types file.
 - Fixed a bug in the Spanish web interface template (Issue #5016)
+- The cupsEnumDests* and cupsGetDest* functions now report the value of the
+  "printer-is-temporary" Printer Status attribute (Issue #5028)
+- The cupsCheckDestSupported function did not support NULL values (Issue #5031)
+- Fixed some issues in the RPM spec file (Issue #5032)
 
 
 CHANGES IN CUPS V2.2.3
index 7897eafd799c481e80b740f92a222955564e4784..f958c263f32865af226a696b362aa836112a0d5a 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Common makefile definitions for CUPS.
 #
-# Copyright 2007-2014 by Apple Inc.
+# Copyright 2007-2017 by Apple Inc.
 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -38,14 +38,14 @@ SHELL               =       /bin/sh
 # Installation programs...
 #
 
-INSTALL_BIN    =       $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+INSTALL_BIN    =       $(LIBTOOL) $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
 INSTALL_COMPDATA =     $(INSTALL) -c -m 444 @INSTALL_GZIP@
 INSTALL_CONFIG =       $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
 INSTALL_DATA   =       $(INSTALL) -c -m 444
 INSTALL_DIR    =       $(INSTALL) -d
-INSTALL_LIB    =       $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+INSTALL_LIB    =       $(LIBTOOL) $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
 INSTALL_MAN    =       $(INSTALL) -c -m 444
-INSTALL_SCRIPT =       $(INSTALL) -c -m 555
+INSTALL_SCRIPT =       $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@
 
 #
 # Default user, group, and system groups for the scheduler...
@@ -149,7 +149,7 @@ IPPFIND_MAN =       @IPPFIND_MAN@
 LDFLAGS                =       -L../cgi-bin -L../cups -L../filter -L../ppdc \
                        -L../scheduler @LDARCHFLAGS@ \
                        @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-LINKCUPS       =       @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ)
+LINKCUPS       =       @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ)
 LINKCUPSIMAGE  =       @LINKCUPSIMAGE@
 LIBS           =       $(LINKCUPS) $(COMMONLIBS)
 ONDEMANDFLAGS  =       @ONDEMANDFLAGS@
index 0aa01a90e7bde2626bd7180739fe094bb38926f1..849595dbccbb8561e531137e7ddea26eef613b1d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * DNS-SD discovery backend for CUPS.
  *
- * Copyright 2008-2015 by Apple Inc.
+ * Copyright 2008-2017 by Apple Inc.
  *
  * These coded instructions, statements, and computer programs are the
  * property of Apple Inc. and are protected by Federal copyright
@@ -949,7 +949,7 @@ get_device(cups_array_t *devices,   /* I - Device array */
  *
  * Note: This function is needed because avahi_simple_poll_iterate is broken
  *       and always uses a timeout of 0 (!) milliseconds.
- *       (Avahi Ticket #364)
+ *       (https://github.com/lathiat/avahi/issues/127)
  */
 
 static int                             /* O - Number of file descriptors matching */
index d126a324313d19a096a2c02b521bf7cd79839daf..b15a75c1955eac1e912b0681645fd3e81e37c163 100644 (file)
 
 # Kyocera Ecosys P6026cdn (Issue #4900)
 0x0482 0x063f no-reattach
+
+# Lexmark E260dn (Issue #4994)
+0x043d 0x0123 no-reattach
index 07f6f27209a5dbc464f1e39ddaa0f8f859eee74c..df3392652c08a43c7036730acc16e73397266523 100644 (file)
@@ -271,7 +271,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       section = n->section;
     }
 
-    if (!topic || strcmp(n->section, topic))
+    if (!topic || !n->section || strcmp(n->section, topic))
       continue;
 
    /*
index 2e5c6daca3fe3930a472f8064f128c3d50645c38..fa5371486e3b0e9d21b5b67902d8d387e26bb329 100644 (file)
@@ -79,12 +79,6 @@ application/postscript               ai eps ps string(0,%!) string(0,<04>%!) \
                                 (contains(0,4096,<0a>%!) + \
                                  !contains(0,4096,"ENTER LANGUAGE")))
 
-application/g-code             gcode
-application/sla                        stl string(0,"solid ") + contains(0,4096,"facet") + contains(0,4096,"vertex")
-application/vnd.makerbot-s3g   x3g
-model/amf                      amf
-model/vnd.collada+xml          dae
-
 
 ########################################################################
 #
index 6e65fc011eca42cade1ee17418518f5f39928176..8136ce161ba1a447e68ce846e6ca57b59fa3c865 100644 (file)
@@ -181,7 +181,7 @@ AC_CHECK_FUNCS(vsyslog)
 
 dnl Checks for signal functions.
 case "$host_os_name" in
-       linux | gnu)
+       linux* | gnu*)
                # Do not use sigset on Linux or GNU HURD
                ;;
        *)
index e394d6b0cf9c8e6409026de7cf0c08c1d887aab0..9fd99689bbe539e7cf648175051d9e7f9b4d1d78 100644 (file)
@@ -37,21 +37,41 @@ if test "x$CUPS_BUNDLEDIR" != x; then
        AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR")
 fi
 
+dnl Default executable file permissions
+AC_ARG_WITH(exe_file_perm, [  --with-exe-file-perm set default exectuable permissions value, default=0555],
+       CUPS_EXE_FILE_PERM="$withval",
+       [case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_EXE_FILE_PERM="755"
+                       ;;
+               *)
+                       CUPS_EXE_FILE_PERM="555"
+                       ;;
+       esac])
+AC_SUBST(CUPS_EXE_FILE_PERM)
+
 dnl Default ConfigFilePerm
 AC_ARG_WITH(config_file_perm, [  --with-config-file-perm set default ConfigFilePerm value, default=0640],
        CUPS_CONFIG_FILE_PERM="$withval",
-       if test "x$host_os_name" = xdarwin; then
+       [if test "x$host_os_name" = xdarwin; then
                CUPS_CONFIG_FILE_PERM="644"
        else
                CUPS_CONFIG_FILE_PERM="640"
-       fi)
+       fi])
 AC_SUBST(CUPS_CONFIG_FILE_PERM)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
 
 dnl Default permissions for cupsd
 AC_ARG_WITH(cupsd_file_perm, [  --with-cupsd-file-perm  set default cupsd permissions, default=0500],
        CUPS_CUPSD_FILE_PERM="$withval",
-       CUPS_CUPSD_FILE_PERM="500")
+       [case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_CUPSD_FILE_PERM="700"
+                       ;;
+               *)
+                       CUPS_CUPSD_FILE_PERM="500"
+                       ;;
+       esac])
 AC_SUBST(CUPS_CUPSD_FILE_PERM)
 
 dnl Default LogFilePerm
index 78d2f8f363ea2b64cd2a667d7b5e0a56f38ae34d..c99550710e3d72d8e4ef5694ef3603267053aefa 100644 (file)
@@ -231,7 +231,7 @@ AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$CUPS_FONTPATH")
 # Locale data
 if test "$localedir" = "\${datarootdir}/locale"; then
        case "$host_os_name" in
-               linux | gnu | *bsd* | darwin*)
+               linux* | gnu* | *bsd* | darwin*)
                        CUPS_LOCALEDIR="$datarootdir/locale"
                        ;;
 
index 1af933d4e56ff3ba02e1a9ab6ff6bd1df148aa50..e693e3a552d195fa8a79c52a2bde2745eb4c0d76 100644 (file)
@@ -20,7 +20,7 @@ fi
 
 if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/"; then
        case "$host_os_name" in
-               darwin* | linux | gnu | *bsd*)
+               darwin* | linux* | gnu* | *bsd*)
                        # Darwin, macOS, Linux, GNU HURD, and *BSD
                        mandir="/usr/share/man"
                        AMANDIR="/usr/share/man"
index 9f8bab8c5c62ecf4b1d2dd9011c3b9bf49694e39..6e6b582392602ead3dff7bdfe8f7eea31b5f3d5b 100644 (file)
@@ -32,7 +32,7 @@ if test x$enable_shared != xno; then
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
                        ;;
-               linux | gnu | *bsd*)
+               linux* | gnu* | *bsd*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
@@ -137,7 +137,7 @@ if test "$DSO" != ":"; then
                                EXPORT_LDFLAGS="-Wl,-R$libdir"
                        fi
                        ;;
-                linux | gnu)
+                linux* | gnu*)
                         # Linux, and HURD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
index 7a999ed4e4cf33e46a59075b55c600a709670e78..978daae7553d9f6f538b18d9c54dd01f2cb7dbe3 100644 (file)
@@ -118,7 +118,7 @@ fi
 
 if test "x$rcstart" = x; then
        case "$host_os_name" in
-               linux | gnu | gnu/k*bsd*)
+               linux* | gnu*)
                        # Linux
                         rcstart="81"
                        ;;
@@ -137,7 +137,7 @@ fi
 
 if test "x$rcstop" = x; then
        case "$host_os_name" in
-               linux | gnu | gnu/k*bsd*)
+               linux* | gnu*)
                        # Linux
                         rcstop="36"
                        ;;
index 74f67a5871e398d50e9cec65869d2218a2c1c2f1..02644296537bf80fcab22356dc0f36dba8d1dab1 100755 (executable)
--- a/configure
+++ b/configure
@@ -654,6 +654,7 @@ CUPS_FATAL_ERRORS
 CUPS_LOG_FILE_PERM
 CUPS_CUPSD_FILE_PERM
 CUPS_CONFIG_FILE_PERM
+CUPS_EXE_FILE_PERM
 CUPS_BUNDLEDIR
 LANGUAGES
 XINETD
@@ -896,6 +897,7 @@ with_rcstop
 with_xinetd
 with_languages
 with_bundledir
+with_exe_file_perm
 with_config_file_perm
 with_cupsd_file_perm
 with_log_file_perm
@@ -1619,6 +1621,7 @@ Optional Packages:
   --with-xinetd           set path for xinetd config files
   --with-languages        set installed languages, default=all
   --with-bundledir        set macOS localization bundle directory
+  --with-exe-file-perm set default exectuable permissions value, default=0555
   --with-config-file-perm set default ConfigFilePerm value, default=0640
   --with-cupsd-file-perm  set default cupsd permissions, default=0500
   --with-log-file-perm    set default LogFilePerm value, default=0644
@@ -2637,12 +2640,10 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 host_os_name=`echo $host_os | sed -e '1,$s/[0-9.]*$//g'`
 host_os_version=`echo $host_os | sed -e '1,$s/^[^0-9.]*//g' | awk -F. '{print $1 $2}'`
+# Linux often does not yield an OS version we can use...
 if test "x$host_os_version" = x; then
         host_os_version="0"
 fi
-echo "host_os=$host_os"
-echo "host_os_name=$host_os_name"
-echo "host_os_version=$host_os_version"
 
 if test "$host_os_name" = darwin -a $host_os_version -lt 120; then
         as_fn_error $? "Sorry, this version of CUPS requires macOS 10.8 or higher." "$LINENO" 5
@@ -5362,7 +5363,7 @@ done
 
 
 case "$host_os_name" in
-       linux | gnu)
+       linux* | gnu*)
                # Do not use sigset on Linux or GNU HURD
                ;;
        *)
@@ -6350,7 +6351,7 @@ _ACEOF
 # Locale data
 if test "$localedir" = "\${datarootdir}/locale"; then
        case "$host_os_name" in
-               linux | gnu | *bsd* | darwin*)
+               linux* | gnu* | *bsd* | darwin*)
                        CUPS_LOCALEDIR="$datarootdir/locale"
                        ;;
 
@@ -6465,7 +6466,7 @@ fi
 
 if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/"; then
        case "$host_os_name" in
-               darwin* | linux | gnu | *bsd*)
+               darwin* | linux* | gnu* | *bsd*)
                        # Darwin, macOS, Linux, GNU HURD, and *BSD
                        mandir="/usr/share/man"
                        AMANDIR="/usr/share/man"
@@ -6546,7 +6547,7 @@ if test x$enable_shared != xno; then
                        DSOXX="\$(CXX)"
                        DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
                        ;;
-               linux | gnu | *bsd*)
+               linux* | gnu* | *bsd*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
@@ -6650,7 +6651,7 @@ if test "$DSO" != ":"; then
                                EXPORT_LDFLAGS="-Wl,-R$libdir"
                        fi
                        ;;
-                linux | gnu)
+                linux* | gnu*)
                         # Linux, and HURD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
@@ -9402,7 +9403,7 @@ fi
 
 if test "x$rcstart" = x; then
        case "$host_os_name" in
-               linux | gnu | gnu/k*bsd*)
+               linux* | gnu*)
                        # Linux
                         rcstart="81"
                        ;;
@@ -9421,7 +9422,7 @@ fi
 
 if test "x$rcstop" = x; then
        case "$host_os_name" in
-               linux | gnu | gnu/k*bsd*)
+               linux* | gnu*)
                        # Linux
                         rcstop="36"
                        ;;
@@ -9497,7 +9498,6 @@ fi
 if test "${with_bundledir+set}" = set; then :
   withval=$with_bundledir; CUPS_BUNDLEDIR="$withval"
 else
-  echo "host_os_version=$host_os_version"
   if test "x$host_os_name" = xdarwin -a $host_os_version -ge 100; then
                CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
                LANGUAGES=""
@@ -9516,6 +9516,23 @@ _ACEOF
 fi
 
 
+# Check whether --with-exe_file_perm was given.
+if test "${with_exe_file_perm+set}" = set; then :
+  withval=$with_exe_file_perm; CUPS_EXE_FILE_PERM="$withval"
+else
+  case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_EXE_FILE_PERM="755"
+                       ;;
+               *)
+                       CUPS_EXE_FILE_PERM="555"
+                       ;;
+       esac
+fi
+
+
+
+
 # Check whether --with-config_file_perm was given.
 if test "${with_config_file_perm+set}" = set; then :
   withval=$with_config_file_perm; CUPS_CONFIG_FILE_PERM="$withval"
@@ -9538,7 +9555,14 @@ _ACEOF
 if test "${with_cupsd_file_perm+set}" = set; then :
   withval=$with_cupsd_file_perm; CUPS_CUPSD_FILE_PERM="$withval"
 else
-  CUPS_CUPSD_FILE_PERM="500"
+  case "$host_os_name" in
+               linux* | gnu*)
+                       CUPS_CUPSD_FILE_PERM="700"
+                       ;;
+               *)
+                       CUPS_CUPSD_FILE_PERM="500"
+                       ;;
+       esac
 fi
 
 
index 28584bc41cf9da7ec9787b782f0395ece3620172..962bee636ca3c59f5bf3b550d002e906db7cc252 100644 (file)
@@ -574,10 +574,8 @@ apihelp:
        $(RM) cupspm.xml
        mxmldoc --section "Programming" --body cupspm.md \
                cupspm.xml \
-               auth.c cups.h dest*.c encode.c \
-               http.h http*.c ipp.h ipp*.c language.[ch] \
-               notify.c options.c \
-               tls-darwin.c usersys.c util.c \
+               auth.c cups.h dest*.c encode.c http.h http*.c ipp.h ipp*.c \
+               options.c tls-darwin.c usersys.c util.c \
                --coverimage cupspm.png \
                --epub ../doc/help/cupspm.epub
        mxmldoc --section "Programming" --body cupspm.md \
index 264fd01c8e13dd5645d2ffeca22d3d53b3c2a4d1..6fd66a9cedd1d0893b6945748650978fa42da396 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Private definitions for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -105,7 +105,7 @@ typedef struct _cups_globals_s              /**** CUPS global state data ****/
   int                  need_res_init;  /* Need to reinitialize resolver? */
 
   /* ipp.c */
-  ipp_uchar_t          ipp_date[11];   /* RFC-1903 date/time data */
+  ipp_uchar_t          ipp_date[11];   /* RFC-2579 date/time data */
   _cups_buffer_t       *cups_buffers;  /* Buffer list */
 
   /* ipp-support.c */
index c7f86d87dcdb5a10377427506e3ee212c4a4ae88..35b5a75321d415a17df82fd45217213c00df883d 100644 (file)
@@ -729,3 +729,21 @@ created:
     }
 
     fclose(fp);
+
+
+# Sending IPP Requests
+
+## Connecting to the Scheduler or Printer
+
+cupsDestConnect and httpConnect2
+
+httpGetTrust, etc.
+
+
+## Creating an IPP Request
+
+## Sending the IPP Request
+
+## Getting the IPP Response
+
+## Authentication
index 9fc0bdb9a40b76f8388532eb3a4c62d33b13f93b..f12b1dc58e3b29bd4fb39a6703cefae1a102fc59 100644 (file)
  * The "job_id" is the number returned by cupsCreateDestJob.
  *
  * Returns @code IPP_STATUS_OK@ on success and
- * @code IPP_STATUS_ERRPR_NOT_AUTHORIZED@ or
+ * @code IPP_STATUS_ERROR_NOT_AUTHORIZED@ or
  * @code IPP_STATUS_ERROR_FORBIDDEN@ on failure.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
 
-ipp_status_t
+ipp_status_t                            /* O - Status of cancel operation */
 cupsCancelDestJob(http_t      *http,   /* I - Connection to destination */
                   cups_dest_t *dest,   /* I - Destination */
                   int         job_id)  /* I - Job ID */
index 2832055a46e98b8685013f21a9ae99095d23d99e..51705a50cb5e5744deec04a8443bfd9f42fb6b97 100644 (file)
@@ -73,7 +73,7 @@ cupsCheckDestSupported(
     cups_dest_t  *dest,                        /* I - Destination */
     cups_dinfo_t *dinfo,               /* I - Destination information */
     const char   *option,              /* I - Option */
-    const char   *value)               /* I - Value */
+    const char   *value)               /* I - Value or @code NULL@ */
 {
   int                  i;              /* Looping var */
   char                 temp[1024];     /* Temporary string */
@@ -96,7 +96,7 @@ cupsCheckDestSupported(
   * Range check input...
   */
 
-  if (!http || !dest || !dinfo || !option || !value)
+  if (!http || !dest || !dinfo || !option)
     return (0);
 
  /*
@@ -114,7 +114,10 @@ cupsCheckDestSupported(
   if (!attr)
     return (0);
 
- /*
+  if (!value)
+    return (1);
+
+/*
   * Compare values...
   */
 
@@ -833,6 +836,8 @@ cupsFindDestSupported(
 /*
  * 'cupsFreeDestInfo()' - Free destination information obtained using
  *                        @link cupsCopyDestInfo@.
+ *
+ * @since CUPS 1.6/macOS 10.8@
  */
 
 void
index 674d8d2dad75e5d82634598a59932c646873f11b..3ff285d8c2e446b54b30c3afc08bca34c0b78705 100644 (file)
@@ -225,8 +225,8 @@ static const char   *cups_dnssd_resolve(cups_dest_t *dest, const char *uri,
 static int             cups_dnssd_resolve_cb(void *context);
 static void            cups_dnssd_unquote(char *dst, const char *src,
                                           size_t dstsize);
-#endif /* HAVE_DNSSD || HAVE_AVAHI */
 static int             cups_elapsed(struct timeval *t);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 static int             cups_find_dest(const char *name, const char *instance,
                                       int num_dests, cups_dest_t *dests, int prev,
                                       int *rdiff);
@@ -570,18 +570,19 @@ _cupsAppleSetUseLastPrinter(
 
 
 /*
- * 'cupsConnectDest()' - Connect to the server for a destination.
+ * 'cupsConnectDest()' - Open a conection to the destination.
  *
- * Connect to the destination, returning a new http_t connection object and
- * optionally the resource path to use for the destination.  These calls will
- * block until a connection is made, the timeout expires, the integer pointed
- * to by "cancel" is non-zero, or the callback function (or block) returns 0,
- * The caller is responsible for calling httpClose() on the returned object.
+ * Connect to the destination, returning a new @code http_t@ connection object
+ * and optionally the resource path to use for the destination.  These calls
+ * will block until a connection is made, the timeout expires, the integer
+ * pointed to by "cancel" is non-zero, or the callback function (or block)
+ * returns 0.  The caller is responsible for calling @link httpClose@ on the
+ * returned connection.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
 
-http_t *                               /* O - Connection to server or @code NULL@ */
+http_t *                               /* O - Connection to destination or @code NULL@ */
 cupsConnectDest(
     cups_dest_t    *dest,              /* I - Destination */
     unsigned       flags,              /* I - Connection flags */
@@ -746,18 +747,18 @@ cupsConnectDest(
 
 #ifdef __BLOCKS__
 /*
- * 'cupsConnectDestBlock()' - Connect to the server for a destination.
+ * 'cupsConnectDestBlock()' - Open a connection to the destination.
  *
- * Connect to the destination, returning a new http_t connection object and
- * optionally the resource path to use for the destination.  These calls will
- * block until a connection is made, the timeout expires, the integer pointed
- * to by "cancel" is non-zero, or the callback function (or block) returns 0,
- * The caller is responsible for calling httpClose() on the returned object.
+ * Connect to the destination, returning a new @code http_t@ connection object
+ * and optionally the resource path to use for the destination.  These calls
+ * will block until a connection is made, the timeout expires, the integer
+ * pointed to by "cancel" is non-zero, or the block returns 0.  The caller is
+ * responsible for calling @link httpClose@ on the returned connection.
  *
  * @since CUPS 1.6/macOS 10.8@ @exclude all@
  */
 
-http_t *                               /* O - Connection to server or @code NULL@ */
+http_t *                               /* O - Connection to destination or @code NULL@ */
 cupsConnectDestBlock(
     cups_dest_t       *dest,           /* I - Destination */
     unsigned          flags,           /* I - Connection flags */
@@ -975,11 +976,11 @@ cupsEnumDests(
 #  ifdef HAVE_DNSSD
   int                  nfds,           /* Number of files responded */
                        main_fd;        /* File descriptor for lookups */
-  DNSServiceRef                ipp_ref,        /* IPP browser */
-                       local_ipp_ref /* Local IPP browser */
+  DNSServiceRef                ipp_ref = NULL, /* IPP browser */
+                       local_ipp_ref = NULL; /* Local IPP browser */
 #    ifdef HAVE_SSL
-  DNSServiceRef                ipps_ref,       /* IPPS browser */
-                       local_ipps_ref; /* Local IPPS browser */
+  DNSServiceRef                ipps_ref = NULL,/* IPPS browser */
+                       local_ipps_ref = NULL; /* Local IPPS browser */
 #    endif /* HAVE_SSL */
 #    ifdef HAVE_POLL
   struct pollfd                pfd;            /* Polling data */
@@ -989,13 +990,14 @@ cupsEnumDests(
 #    endif /* HAVE_POLL */
 #  else /* HAVE_AVAHI */
   int                  error;          /* Error value */
-  AvahiServiceBrowser  *ipp_ref;       /* IPP browser */
+  AvahiServiceBrowser  *ipp_ref = NULL;/* IPP browser */
 #    ifdef HAVE_SSL
-  AvahiServiceBrowser  *ipps_ref;      /* IPPS browser */
+  AvahiServiceBrowser  *ipps_ref = NULL; /* IPPS browser */
 #    endif /* HAVE_SSL */
 #  endif /* HAVE_DNSSD */
 #endif /* HAVE_DNSSD || HAVE_AVAHI */
 
+
  /*
   * Range check input...
   */
@@ -1010,6 +1012,8 @@ cupsEnumDests(
   */
 
 #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  memset(&data, 0, sizeof(data));
+
   data.type      = type;
   data.mask      = mask;
   data.cb        = cb;
@@ -1071,11 +1075,11 @@ cupsEnumDests(
         */
 
         char   scheme[32],             /* URI scheme */
-                  userpass[32],                /* Username:password */
-                  serviceName[256],    /* Service name (host field) */
-                  resource[256],               /* Resource (options) */
-                  *regtype,            /* Registration type */
-                  *replyDomain;                /* Registration domain */
+                userpass[32],           /* Username:password */
+                serviceName[256],       /* Service name (host field) */
+                resource[256],          /* Resource (options) */
+                *regtype,               /* Registration type */
+                *replyDomain;           /* Registration domain */
         int    port;                   /* Port number (not used) */
 
         if (httpSeparateURI(HTTP_URI_CODING_ALL, device_uri, scheme, sizeof(scheme), userpass, sizeof(userpass), serviceName, sizeof(serviceName), &port, resource, sizeof(resource)) >= HTTP_URI_STATUS_OK)
@@ -1116,6 +1120,8 @@ cupsEnumDests(
   * Get Bonjour-shared printers...
   */
 
+  gettimeofday(&curtime, NULL);
+
 #  ifdef HAVE_DNSSD
   if (DNSServiceCreateConnection(&data.main_ref) != kDNSServiceErr_NoError)
     return (0);
@@ -1309,37 +1315,46 @@ cupsEnumDests(
       break;
 #  endif /* HAVE_AVAHI */
   }
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+ /*
+  * Return...
+  */
+
+  enum_finished:
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  cupsArrayDelete(data.devices);
 
 #  ifdef HAVE_DNSSD
-  DNSServiceRefDeallocate(ipp_ref);
-  DNSServiceRefDeallocate(local_ipp_ref);
+  if (ipp_ref)
+    DNSServiceRefDeallocate(ipp_ref);
+  if (local_ipp_ref)
+    DNSServiceRefDeallocate(local_ipp_ref);
 
 #    ifdef HAVE_SSL
-  DNSServiceRefDeallocate(ipp_ref);
-  DNSServiceRefDeallocate(local_ipp_ref);
+  if (ipps_ref)
+    DNSServiceRefDeallocate(ipps_ref);
+  if (local_ipps_ref)
+    DNSServiceRefDeallocate(local_ipps_ref);
 #    endif /* HAVE_SSL */
 
-  DNSServiceRefDeallocate(data.main_ref);
+  if (data.main_ref)
+    DNSServiceRefDeallocate(data.main_ref);
 
 #  else /* HAVE_AVAHI */
-  avahi_service_browser_free(ipp_ref);
+  if (ipp_ref)
+    avahi_service_browser_free(ipp_ref);
 #    ifdef HAVE_SSL
-  avahi_service_browser_free(ipps_ref);
+  if (ipps_ref)
+    avahi_service_browser_free(ipps_ref);
 #    endif /* HAVE_SSL */
 
-  avahi_client_free(data.client);
-  avahi_simple_poll_free(data.simple_poll);
+  if (data.client)
+    avahi_client_free(data.client);
+  if (data.simple_poll)
+    avahi_simple_poll_free(data.simple_poll);
 #  endif /* HAVE_DNSSD */
-#endif /* HAVE_DNSSD || HAVE_DNSSD */
-
- /*
-  * Return...
-  */
-
-  enum_finished:
-
-#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-  cupsArrayDelete(data.devices);
 #endif /* HAVE_DNSSD || HAVE_AVAHI */
 
   return (1);
@@ -1414,7 +1429,7 @@ cupsFreeDests(int         num_dests,      /* I - Number of destinations */
 /*
  * 'cupsGetDest()' - Get the named destination from the list.
  *
- * Use the @link cupsGetDests@ or @link cupsGetDests2@ functions to get a
+ * Use the @link cupsEnumDests@ or @link cupsGetDests2@ functions to get a
  * list of supported destinations for the current user.
  */
 
@@ -1479,7 +1494,7 @@ _cupsGetDestResource(
   int          port;                   /* Port number */
 
 
-  DEBUG_printf(("_cupsGetDestResource(dest=%p(%s), resource=%p, resourcesize=%d)", dest, dest->name, resource, (int)resourcesize));
+  DEBUG_printf(("_cupsGetDestResource(dest=%p(%s), resource=%p, resourcesize=%d)", (void *)dest, dest->name, (void *)resource, (int)resourcesize));
 
  /*
   * Range check input...
@@ -1730,6 +1745,7 @@ _cupsGetDests(http_t       *http, /* I  - Connection to server or
                  "printer-info",
                  "printer-is-accepting-jobs",
                  "printer-is-shared",
+                  "printer-is-temporary",
                  "printer-location",
                  "printer-make-and-model",
                  "printer-mandatory-job-attributes",
@@ -1742,7 +1758,7 @@ _cupsGetDests(http_t       *http, /* I  - Connection to server or
                };
 
 
-  DEBUG_printf(("_cupsGetDests(http=%p, op=%x(%s), name=\"%s\", dests=%p, type=%x, mask=%x)", http, op, ippOpString(op), name, dests, type, mask));
+  DEBUG_printf(("_cupsGetDests(http=%p, op=%x(%s), name=\"%s\", dests=%p, type=%x, mask=%x)", (void *)http, op, ippOpString(op), name, (void *)dests, type, mask));
 
 #ifdef __APPLE__
  /*
@@ -1836,7 +1852,8 @@ _cupsGetDests(http_t       *http, /* I  - Connection to server or
            !strcmp(attr->name, "marker-types") ||
            !strcmp(attr->name, "printer-commands") ||
            !strcmp(attr->name, "printer-info") ||
-           !strcmp(attr->name, "printer-is-shared") ||
+            !strcmp(attr->name, "printer-is-shared") ||
+            !strcmp(attr->name, "printer-is-temporary") ||
            !strcmp(attr->name, "printer-make-and-model") ||
            !strcmp(attr->name, "printer-mandatory-job-attributes") ||
            !strcmp(attr->name, "printer-state") ||
@@ -1943,12 +1960,18 @@ _cupsGetDests(http_t       *http,       /* I  - Connection to server or
  * 'cupsGetDests()' - Get the list of destinations from the default server.
  *
  * Starting with CUPS 1.2, the returned list of destinations include the
- * printer-info, printer-is-accepting-jobs, printer-is-shared,
- * printer-make-and-model, printer-state, printer-state-change-time,
- * printer-state-reasons, and printer-type attributes as options.  CUPS 1.4
- * adds the marker-change-time, marker-colors, marker-high-levels,
- * marker-levels, marker-low-levels, marker-message, marker-names,
- * marker-types, and printer-commands attributes as well.
+ * "printer-info", "printer-is-accepting-jobs", "printer-is-shared",
+ * "printer-make-and-model", "printer-state", "printer-state-change-time",
+ * "printer-state-reasons", "printer-type", and "printer-uri-supported"
+ * attributes as options.
+ *
+ * CUPS 1.4 adds the "marker-change-time", "marker-colors",
+ * "marker-high-levels", "marker-levels", "marker-low-levels", "marker-message",
+ * "marker-names", "marker-types", and "printer-commands" attributes as options.
+ *
+ * CUPS 2.2 adds accessible IPP printers to the list of destinations that can
+ * be used.  The "printer-uri-supported" option will be present for those IPP
+ * printers that have been recently used.
  *
  * Use the @link cupsFreeDests@ function to free the destination list and
  * the @link cupsGetDest@ function to find a particular destination.
@@ -1967,17 +1990,23 @@ cupsGetDests(cups_dest_t **dests)       /* O - Destinations */
  * 'cupsGetDests2()' - Get the list of destinations from the specified server.
  *
  * Starting with CUPS 1.2, the returned list of destinations include the
- * printer-info, printer-is-accepting-jobs, printer-is-shared,
- * printer-make-and-model, printer-state, printer-state-change-time,
- * printer-state-reasons, and printer-type attributes as options.  CUPS 1.4
- * adds the marker-change-time, marker-colors, marker-high-levels,
- * marker-levels, marker-low-levels, marker-message, marker-names,
- * marker-types, and printer-commands attributes as well.
+ * "printer-info", "printer-is-accepting-jobs", "printer-is-shared",
+ * "printer-make-and-model", "printer-state", "printer-state-change-time",
+ * "printer-state-reasons", "printer-type", and "printer-uri-supported"
+ * attributes as options.
+ *
+ * CUPS 1.4 adds the "marker-change-time", "marker-colors",
+ * "marker-high-levels", "marker-levels", "marker-low-levels", "marker-message",
+ * "marker-names", "marker-types", and "printer-commands" attributes as options.
+ *
+ * CUPS 2.2 adds accessible IPP printers to the list of destinations that can
+ * be used.  The "printer-uri-supported" option will be present for those IPP
+ * printers that have been recently used.
  *
  * 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@ @exclude all@
+ * @since CUPS 1.1.21/macOS 10.4@
  */
 
 int                                    /* O - Number of destinations */
@@ -2143,10 +2172,10 @@ cupsGetDests2(http_t      *http,        /* I - Connection to server or @code CUPS_HTTP_
  * 'cupsGetNamedDest()' - Get options for the named destination.
  *
  * This function is optimized for retrieving a single destination and should
- * be used instead of @link cupsGetDests@ and @link cupsGetDest@ when you either
- * know the name of the destination or want to print to the default destination.
- * If @code NULL@ is returned, the destination does not exist or there is no
- * default destination.
+ * be used instead of @link cupsGetDests2@ and @link cupsGetDest@ when you
+ * either know the name of the destination or want to print to the default
+ * destination.  If @code NULL@ is returned, the destination does not exist or
+ * there is no default destination.
  *
  * If "http" is @code CUPS_HTTP_DEFAULT@, the connection to the default print
  * server will be used.
@@ -2175,7 +2204,7 @@ cupsGetNamedDest(http_t     *http,        /* I - Connection to server or @code CUPS_HTT
   _cups_globals_t *cg = _cupsGlobals();        /* Pointer to library globals */
 
 
-  DEBUG_printf(("cupsGetNamedDest(http=%p, name=\"%s\", instance=\"%s\")", http, name, instance));
+  DEBUG_printf(("cupsGetNamedDest(http=%p, name=\"%s\", instance=\"%s\")", (void *)http, name, instance));
 
  /*
   * If "name" is NULL, find the default destination...
@@ -2260,7 +2289,7 @@ cupsGetNamedDest(http_t     *http,        /* I - Connection to server or @code CUPS_HTT
       return (NULL);
   }
 
-  DEBUG_printf(("1cupsGetNamedDest: Got dest=%p", dest));
+  DEBUG_printf(("1cupsGetNamedDest: Got dest=%p", (void *)dest));
 
   if (instance)
     dest->instance = _cupsStrAlloc(instance);
@@ -2383,6 +2412,8 @@ cupsSetDefaultDest(
  *
  * This function saves the destinations to /etc/cups/lpoptions when run
  * as root and ~/.cups/lpoptions when run as a normal user.
+ *
+ * @exclude all@
  */
 
 void
@@ -3345,7 +3376,7 @@ cups_dnssd_local_cb(
  *
  * Note: This function is needed because avahi_simple_poll_iterate is broken
  *       and always uses a timeout of 0 (!) milliseconds.
- *       (Avahi Ticket #364)
+ *       (https://github.com/lathiat/avahi/issues/127)
  *
  * @private@
  */
@@ -3828,6 +3859,7 @@ cups_dnssd_unquote(char       *dst,       /* I - Destination buffer */
 #endif /* HAVE_DNSSD */
 
 
+#if defined(HAVE_AVAHI) || defined(HAVE_DNSSD)
 /*
  * 'cups_elapsed()' - Return the elapsed time in milliseconds.
  */
@@ -3841,12 +3873,13 @@ cups_elapsed(struct timeval *t)         /* IO - Previous time */
 
   gettimeofday(&nt, NULL);
 
-  msecs = 1000 * (nt.tv_sec - t->tv_sec) + (nt.tv_usec - t->tv_usec) / 1000;
+  msecs = (int)(1000 * (nt.tv_sec - t->tv_sec) + (nt.tv_usec - t->tv_usec) / 1000);
 
   *t = nt;
 
   return (msecs);
 }
+#endif /* HAVE_AVAHI || HAVE_DNSSD */
 
 
 /*
@@ -4297,7 +4330,7 @@ cups_name_cb(_cups_namedata_t *data,    /* I - Data from cupsGetNamedDest */
              unsigned         flags,    /* I - Enumeration flags */
              cups_dest_t      *dest)    /* I - Destination */
 {
-  DEBUG_printf(("2cups_name_cb(data=%p(%s), flags=%x, dest=%p(%s)", data, data->name, flags, dest, dest->name));
+  DEBUG_printf(("2cups_name_cb(data=%p(%s), flags=%x, dest=%p(%s)", (void *)data, data->name, flags, (void *)dest, dest->name));
 
   if (!(flags & CUPS_DEST_FLAGS_REMOVED) && !dest->instance && !strcasecmp(data->name, dest->name))
   {
index cf9ea8e88a4e4f1dea9e0c8da450b94370260e35..94695d083feb388e9cb28193f0a27a42fd62a575 100644 (file)
@@ -329,10 +329,8 @@ static int compare_ipp_options(_ipp_option_t *a, _ipp_option_t *b);
  * 'cupsEncodeOptions()' - Encode printer options into IPP attributes.
  *
  * This function adds operation, job, and then subscription attributes,
- * in that order. Use the cupsEncodeOptions2() function to add attributes
+ * in that order. Use the @link cupsEncodeOptions2@ function to add attributes
  * for a single group.
- *
- * @exclude all@
  */
 
 void
@@ -356,7 +354,7 @@ cupsEncodeOptions(ipp_t         *ipp,               /* I - Request to add to */
  * 'cupsEncodeOptions2()' - Encode printer options into IPP attributes for a group.
  *
  * This function only adds attributes for a single group. Call this
- * function multiple times for each group, or use cupsEncodeOptions()
+ * function multiple times for each group, or use @link cupsEncodeOptions@
  * to add the standard groups.
  *
  * @since CUPS 1.2/macOS 10.5@
index b8ca431fe4b11342636998a904c1f0043a19e37e..1f4db798950c715193edd9030b4480d698443caa 100644 (file)
@@ -4,9 +4,9 @@
  * Since stdio files max out at 256 files on many systems, we have to
  * write similar functions without this limit.  At the same time, using
  * our own file functions allows us to provide transparent support of
- * gzip'd print files, PPD files, etc.
+ * different line endings, gzip'd print files, PPD files, etc.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
index a027df405e6ce801410fe358e8bce0277d499a7b..8cdf0368ce5ae422b4696455eac32895b9caf779 100644 (file)
@@ -4,9 +4,9 @@
  * Since stdio files max out at 256 files on many systems, we have to
  * write similar functions without this limit.  At the same time, using
  * our own file functions allows us to provide transparent support of
- * gzip'd print files, PPD files, etc.
+ * different line endings, gzip'd print files, PPD files, etc.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -321,7 +321,6 @@ cupsFileClose(cups_file_t *fp)              /* I - CUPS file */
   int  fd;                             /* File descriptor */
   char mode;                           /* Open mode */
   int  status;                         /* Return status */
-  int  is_stdio;                       /* Is a stdio file? */
 
 
   DEBUG_printf(("cupsFileClose(fp=%p)", (void *)fp));
@@ -410,12 +409,19 @@ cupsFileClose(cups_file_t *fp)            /* I - CUPS file */
 #endif /* HAVE_LIBZ */
 
  /*
+  * If this is one of the cupsFileStdin/out/err files, return now and don't
+  * actually free memory or close (these last the life of the process...)
+  */
+
+  if (fp->is_stdio)
+    return (status);
+
+/*
   * Save the file descriptor we used and free memory...
   */
 
-  fd       = fp->fd;
-  mode     = fp->mode;
-  is_stdio = fp->is_stdio;
+  fd   = fp->fd;
+  mode = fp->mode;
 
   if (fp->printf_buffer)
     free(fp->printf_buffer);
@@ -431,11 +437,8 @@ cupsFileClose(cups_file_t *fp)             /* I - CUPS file */
     if (httpAddrClose(NULL, fd) < 0)
       status = -1;
   }
-  else if (!is_stdio)
-  {
-    if (close(fd) < 0)
-      status = -1;
-  }
+  else if (close(fd) < 0)
+    status = -1;
 
   return (status);
 }
@@ -1384,7 +1387,11 @@ cupsFilePrintf(cups_file_t *fp,          /* I - CUPS file */
   {
     memcpy(fp->ptr, fp->printf_buffer, (size_t)bytes);
     fp->ptr += bytes;
-    return ((int)bytes);
+
+    if (fp->is_stdio && cupsFileFlush(fp))
+      return (-1);
+    else
+      return ((int)bytes);
   }
 }
 
@@ -1563,7 +1570,11 @@ cupsFilePuts(cups_file_t *fp,            /* I - CUPS file */
   {
     memcpy(fp->ptr, s, (size_t)bytes);
     fp->ptr += bytes;
-    return ((int)bytes);
+
+    if (fp->is_stdio && cupsFileFlush(fp))
+      return (-1);
+    else
+      return ((int)bytes);
   }
 }
 
index 177c2e905807aacf1b59c70b043994fed8e68be9..42abe2086df5049f9a80ae96efcf63322e294e1d 100644 (file)
@@ -4,9 +4,9 @@
  * Since stdio files max out at 256 files on many systems, we have to
  * write similar functions without this limit.  At the same time, using
  * our own file functions allows us to provide transparent support of
- * gzip'd print files, PPD files, etc.
+ * different line endings, gzip'd print files, PPD files, etc.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
index 12d13a6977736ea833429fcbefb7b6910ef95436..61c86384b2e3fae3bee5b6e43675ae88a99caad1 100644 (file)
@@ -58,9 +58,9 @@ httpAddrAny(const http_addr_t *addr)  /* I - Address to check */
  * 'httpAddrClose()' - Close a socket created by @link httpAddrConnect@ or
  *                     @link httpAddrListen@.
  *
- * Pass @code NULL@ for sockets created with @link httpAddrConnect@ and the
- * listen address for sockets created with @link httpAddrListen@. This will
- * ensure that domain sockets are removed when closed.
+ * Pass @code NULL@ for sockets created with @link httpAddrConnect2@ and the
+ * listen address for sockets created with @link httpAddrListen@.  This function
+ * ensures that domain sockets are removed when closed.
  *
  * @since CUPS 2.0/OS 10.10@
  */
@@ -648,6 +648,10 @@ httpAddrString(const http_addr_t *addr,    /* I - Address to convert */
 /*
  * 'httpGetAddress()' - Get the address of the connected peer of a connection.
  *
+ * For connections created with @link httpConnect2@, the address is for the
+ * server.  For connections created with @link httpAccept@, the address is for
+ * the client.
+ *
  * Returns @code NULL@ if the socket is currently unconnected.
  *
  * @since CUPS 2.0/OS 10.10@
@@ -667,7 +671,7 @@ httpGetAddress(http_t *http)                /* I - HTTP connection */
  * 'httpGetHostByName()' - Lookup a hostname or IPv4 address, and return
  *                         address records for the specified name.
  *
- * @deprecated@
+ * @deprecated@ @exclude all@
  */
 
 struct hostent *                       /* O - Host entry */
index 3ab461e1440bd679653ce49df4f3e4be344f5bb7..76dbb7dbf0926dca038b4ea4578ab7bfea096a50 100644 (file)
@@ -566,6 +566,10 @@ httpDecode64(char       *out,              /* I - String to write to */
 /*
  * 'httpDecode64_2()' - Base64-decode a string.
  *
+ * The caller must initialize "outlen" to the maximum size of the decoded
+ * string before calling @code httpDecode64_2@.  On return "outlen" contains the
+ * decoded length of the string.
+ *
  * @since CUPS 1.1.21/macOS 10.4@
  */
 
@@ -690,7 +694,7 @@ httpEncode64(char       *out,               /* I - String to write to */
 
 char *                                 /* O - Encoded string */
 httpEncode64_2(char       *out,                /* I - String to write to */
-              int        outlen,       /* I - Size of output string */
+              int        outlen,       /* I - Maximum size of output string */
                const char *in,         /* I - String to read from */
               int        inlen)        /* I - Size of input string */
 {
@@ -782,7 +786,7 @@ httpEncode64_2(char       *out,             /* I - String to write to */
  */
 
 const char *                           /* O - Date/time string */
-httpGetDateString(time_t t)            /* I - UNIX time */
+httpGetDateString(time_t t)            /* I - Time in seconds */
 {
   _cups_globals_t *cg = _cupsGlobals();        /* Pointer to library globals */
 
@@ -798,7 +802,7 @@ httpGetDateString(time_t t)         /* I - UNIX time */
  */
 
 const char *                           /* O - Date/time string */
-httpGetDateString2(time_t t,           /* I - UNIX time */
+httpGetDateString2(time_t t,           /* I - Time in seconds */
                    char   *s,          /* I - String buffer */
                   int    slen)         /* I - Size of string buffer */
 {
@@ -819,7 +823,7 @@ httpGetDateString2(time_t t,                /* I - UNIX time */
  * 'httpGetDateTime()' - Get a time value from a formatted date/time string.
  */
 
-time_t                                 /* O - UNIX time */
+time_t                                 /* O - Time in seconds */
 httpGetDateTime(const char *s)         /* I - Date/time string */
 {
   int          i;                      /* Looping var */
@@ -1419,7 +1423,7 @@ _httpStatus(cups_lang_t   *lang,  /* I - Language */
  * 'httpStatus()' - Return a short string describing a HTTP status code.
  *
  * The returned string is localized to the current POSIX locale and is based
- * on the status strings defined in RFC 2616.
+ * on the status strings defined in RFC 7231.
  */
 
 const char *                           /* O - Localized status string */
index 15004b6241606cf3832da7124c84883cb55b689e..61b88c9db73a38d0bab9896fb996b7c092a0c973 100644 (file)
@@ -439,7 +439,7 @@ http_t *                            /* O - New HTTP connection */
 httpConnect2(
     const char        *host,           /* I - Host to connect to */
     int               port,            /* I - Port number */
-    http_addrlist_t   *addrlist,       /* I - List of addresses or NULL to lookup */
+    http_addrlist_t   *addrlist,       /* I - List of addresses or @code NULL@ to lookup */
     int               family,          /* I - Address family to use or @code AF_UNSPEC@ for any */
     http_encryption_t encryption,      /* I - Type of encryption to use */
     int               blocking,                /* I - 1 for blocking connection, 0 for non-blocking */
@@ -609,7 +609,7 @@ httpFieldValue(const char *name)    /* I - String name */
 
 
 /*
- * 'httpFlush()' - Flush data from a HTTP connection.
+ * 'httpFlush()' - Flush data read from a HTTP connection.
  */
 
 void
@@ -679,7 +679,7 @@ httpFlush(http_t *http)                     /* I - HTTP connection */
 
 
 /*
- * 'httpFlushWrite()' - Flush data in write buffer.
+ * 'httpFlushWrite()' - Flush data written to a HTTP connection.
  *
  * @since CUPS 1.2/macOS 10.5@
  */
@@ -751,7 +751,7 @@ httpGet(http_t     *http,           /* I - HTTP connection */
 /*
  * 'httpGetActivity()' - Get the most recent activity for a connection.
  *
- * The return value is the UNIX time of the last read or write.
+ * The return value is the time in seconds of the last read or write.
  *
  * @since CUPS 2.0/OS 10.10@
  */
@@ -766,10 +766,10 @@ httpGetActivity(http_t *http)             /* I - HTTP connection */
 /*
  * 'httpGetAuthString()' - Get the current authorization string.
  *
- * The authorization string is set by cupsDoAuthentication() and
- * httpSetAuthString().  Use httpGetAuthString() to retrieve the
- * string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
- * value.
+ * The authorization string is set by @link cupsDoAuthentication@ and
+ * @link httpSetAuthString@.  Use @link httpGetAuthString@ to retrieve the
+ * string to use with @link httpSetField@ for the
+ * @code HTTP_FIELD_AUTHORIZATION@ value.
  *
  * @since CUPS 1.3/macOS 10.5@
  */
@@ -891,7 +891,7 @@ httpGetContentEncoding(http_t *http)        /* I - HTTP connection */
  * @since CUPS 1.1.19/macOS 10.3@
  */
 
-const char *                           /* O - Cookie data or NULL */
+const char *                           /* O - Cookie data or @code NULL@ */
 httpGetCookie(http_t *http)            /* I - HTTP connection */
 {
   return (http ? http->cookie : NULL);
@@ -1150,7 +1150,7 @@ httpGetRemaining(http_t *http)            /* I - HTTP connection */
  * 'httpGets()' - Get a line of text from a HTTP connection.
  */
 
-char *                                 /* O - Line or NULL */
+char *                                 /* O - Line or @code NULL@ */
 httpGets(char   *line,                 /* I - Line to read into */
          int    length,                        /* I - Max length of buffer */
         http_t *http)                  /* I - HTTP connection */
@@ -1349,7 +1349,7 @@ httpGetStatus(http_t *http)               /* I - HTTP connection */
  * @deprecated@ @exclude all@
  */
 
-char *                                 /* O - Value or NULL */
+char *                                 /* O - Value or @code NULL@ */
 httpGetSubField(http_t       *http,    /* I - HTTP connection */
                 http_field_t field,    /* I - Field index */
                 const char   *name,    /* I - Name of sub-field */
@@ -1365,7 +1365,7 @@ httpGetSubField(http_t       *http,       /* I - HTTP connection */
  * @since CUPS 1.2/macOS 10.5@
  */
 
-char *                                 /* O - Value or NULL */
+char *                                 /* O - Value or @code NULL@ */
 httpGetSubField2(http_t       *http,   /* I - HTTP connection */
                  http_field_t field,   /* I - Field index */
                  const char   *name,   /* I - Name of sub-field */
@@ -1616,7 +1616,7 @@ httpOptions(http_t     *http,             /* I - HTTP connection */
  *
  * This function copies available data from the given HTTP connection, reading
  * a buffer as needed.  The data is still available for reading using
- * @link httpRead@ or @link httpRead2@.
+ * @link httpRead2@.
  *
  * For non-blocking connections the usual timeouts apply.
  *
@@ -2467,9 +2467,10 @@ httpReconnect2(http_t *http,             /* I - HTTP connection */
  * 'httpSetAuthString()' - Set the current authorization string.
  *
  * This function just stores a copy of the current authorization string in
- * the HTTP connection object.  You must still call httpSetField() to set
- * HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
- * httpHead(), httpOptions(), httpPost, or httpPut().
+ * the HTTP connection object.  You must still call @link httpSetField@ to set
+ * @code HTTP_FIELD_AUTHORIZATION@ prior to issuing a HTTP request using
+ * @link httpGet@, @link httpHead@, @link httpOptions@, @link httpPost@, or
+ * @link httpPut@.
  *
  * @since CUPS 1.3/macOS 10.5@
  */
@@ -2820,7 +2821,7 @@ httpSetTimeout(
     http_t            *http,           /* I - HTTP connection */
     double            timeout,         /* I - Number of seconds for timeout,
                                                must be greater than 0 */
-    http_timeout_cb_t cb,              /* I - Callback function or NULL */
+    http_timeout_cb_t cb,              /* I - Callback function or @code NULL@ */
     void              *user_data)      /* I - User data pointer */
 {
   if (!http || timeout <= 0.0)
@@ -2864,6 +2865,8 @@ httpShutdown(http_t *http)                /* I - HTTP connection */
 
 /*
  * 'httpTrace()' - Send an TRACE request to the server.
+ *
+ * @exclude all@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -3898,7 +3901,7 @@ static http_t *                           /* O - HTTP connection */
 http_create(
     const char        *host,           /* I - Hostname */
     int               port,            /* I - Port number */
-    http_addrlist_t   *addrlist,       /* I - Address list or NULL */
+    http_addrlist_t   *addrlist,       /* I - Address list or @code NULL@ */
     int               family,          /* I - Address family or AF_UNSPEC */
     http_encryption_t encryption,      /* I - Encryption to use */
     int               blocking,                /* I - 1 for blocking mode */
index b49ac0d2f9756ac5531eaf10681773caa463fdf8..675e5f380c36eb95aef5bd5b48e41efdcde590c5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Internet Printing Protocol support functions for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -2243,7 +2243,7 @@ ippStateString(ipp_state_t state) /* I - State value */
 /*
  * 'ippTagString()' - Return the tag name corresponding to a tag value.
  *
- * The returned names are defined in RFC 2911 and 3382.
+ * The returned names are defined in RFC 8011 and the IANA IPP Registry.
  *
  * @since CUPS 1.4/macOS 10.6@
  */
@@ -2263,7 +2263,7 @@ ippTagString(ipp_tag_t tag)               /* I - Tag value */
 /*
  * 'ippTagValue()' - Return the tag value corresponding to a tag name.
  *
- * The tag names are defined in RFC 2911 and 3382.
+ * The tag names are defined in RFC 8011 and the IANA IPP Registry.
  *
  * @since CUPS 1.4/macOS 10.6@
  */
index 817c9d5fab2f2ce15b08e2b116c08ea0b23e08aa..429a05eafe03e618691b93988a0ef441de135eb6 100644 (file)
@@ -316,7 +316,7 @@ ippAddCollections(
 
 
 /*
- * 'ippAddDate()' - Add a date attribute to an IPP message.
+ * 'ippAddDate()' - Add a dateTime attribute to an IPP message.
  *
  * The @code ipp@ parameter refers to an IPP message previously created using
  * the @link ippNew@, @link ippNewRequest@, or  @link ippNewResponse@ functions.
@@ -1380,7 +1380,7 @@ ippContainsInteger(
  *                         specified string value.
  *
  * Returns non-zero when the attribute contains a matching charset, keyword,
- * language, mimeMediaType, name, text, URI, or URI scheme value.
+ * naturalLanguage, mimeMediaType, name, text, uri, or uriScheme value.
  *
  * @since CUPS 1.7/macOS 10.9@
  */
@@ -1759,12 +1759,12 @@ ippCopyAttributes(
 
 
 /*
- * 'ippDateToTime()' - Convert from RFC 1903 Date/Time format to UNIX time
- *                     in seconds.
+ * 'ippDateToTime()' - Convert from RFC 2579 Date/Time format to time in
+ *                     seconds.
  */
 
 time_t                                 /* O - UNIX time value */
-ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
+ippDateToTime(const ipp_uchar_t *date) /* I - RFC 2579 date info */
 {
   struct tm    unixdate;               /* UNIX date/time info */
   time_t       t;                      /* Computed time */
@@ -1776,7 +1776,7 @@ ippDateToTime(const ipp_uchar_t *date)    /* I - RFC 1903 date info */
   memset(&unixdate, 0, sizeof(unixdate));
 
  /*
-  * RFC-1903 date/time format is:
+  * RFC-2579 date/time format is:
   *
   *    Byte(s)  Description
   *    -------  -----------
@@ -2152,7 +2152,7 @@ ippFirstAttribute(ipp_t *ipp)             /* I - IPP message */
  * 'ippGetBoolean()' - Get a boolean value for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2181,7 +2181,7 @@ ippGetBoolean(ipp_attribute_t *attr,      /* I - IPP attribute */
  * 'ippGetCollection()' - Get a collection value for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2232,15 +2232,15 @@ ippGetCount(ipp_attribute_t *attr)      /* I - IPP attribute */
 
 
 /*
- * 'ippGetDate()' - Get a date value for an attribute.
+ * 'ippGetDate()' - Get a dateTime value for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
 
-const ipp_uchar_t *                    /* O - Date value or @code NULL@ */
+const ipp_uchar_t *                    /* O - dateTime value or @code NULL@ */
 ippGetDate(ipp_attribute_t *attr,      /* I - IPP attribute */
            int             element)    /* I - Value number (0-based) */
 {
@@ -2288,7 +2288,7 @@ ippGetGroupTag(ipp_attribute_t *attr)     /* I - IPP attribute */
  * 'ippGetInteger()' - Get the integer/enum value for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2341,7 +2341,7 @@ ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */
  * 'ippGetOctetString()' - Get an octetString value from an IPP attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.7/macOS 10.9@
  */
@@ -2404,7 +2404,7 @@ ippGetOperation(ipp_t *ipp)               /* I - IPP request message */
  * 'ippGetRange()' - Get a rangeOfInteger value from an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2466,7 +2466,7 @@ ippGetRequestId(ipp_t *ipp)               /* I - IPP message */
  * 'ippGetResolution()' - Get a resolution value for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2560,7 +2560,7 @@ ippGetStatusCode(ipp_t *ipp)              /* I - IPP response or event message */
  * 'ippGetString()' - Get the string and optionally the language code for an attribute.
  *
  * The @code element@ parameter specifies which value to get from 0 to
- * @link ippGetCount(attr)@ - 1.
+ * @code ippGetCount(attr)@ - 1.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -2625,7 +2625,7 @@ ippGetValueTag(ipp_attribute_t *attr)     /* I - IPP attribute */
 
 int                                    /* O - Major version number or 0 on error */
 ippGetVersion(ipp_t *ipp,              /* I - IPP message */
-              int   *minor)            /* O - Minor version number or @code NULL@ */
+              int   *minor)            /* O - Minor version number or @code NULL@ for don't care */
 {
  /*
   * Range check input...
@@ -2722,9 +2722,9 @@ ippNew(void)
 /*
  *  'ippNewRequest()' - Allocate a new IPP request message.
  *
- * The new request message is initialized with the attributes-charset and
- * attributes-natural-language attributes added. The
- * attributes-natural-language value is derived from the current locale.
+ * The new request message is initialized with the "attributes-charset" and
+ * "attributes-natural-language" attributes added. The
+ * "attributes-natural-language" value is derived from the current locale.
  *
  * @since CUPS 1.2/macOS 10.5@
  */
@@ -2786,11 +2786,11 @@ ippNewRequest(ipp_op_t op)              /* I - Operation code */
 /*
  * 'ippNewResponse()' - Allocate a new IPP response message.
  *
- * The new response message is initialized with the same version-number,
- * request-id, attributes-charset, and attributes-natural-language as the
- * provided request message.  If the attributes-charset or
- * attributes-natural-language attributes are missing from the request,
- * "utf-8" and a value derived from the current locale are substituted,
+ * The new response message is initialized with the same "version-number",
+ * "request-id", "attributes-charset", and "attributes-natural-language" as the
+ * provided request message.  If the "attributes-charset" or
+ * "attributes-natural-language" attributes are missing from the request,
+ * 'utf-8' and a value derived from the current locale are substituted,
  * respectively.
  *
  * @since CUPS 1.7/macOS 10.9@
@@ -3706,7 +3706,7 @@ ippReadIO(void       *src,                /* I - Data source */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -3748,7 +3748,7 @@ ippSetBoolean(ipp_t           *ipp,       /* I  - IPP message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -3789,7 +3789,7 @@ ippSetCollection(
 
 
 /*
- * 'ippSetDate()' - Set a date value in an attribute.
+ * 'ippSetDate()' - Set a dateTime value in an attribute.
  *
  * The @code ipp@ parameter refers to an IPP message previously created using
  * the @link ippNew@, @link ippNewRequest@, or  @link ippNewResponse@ functions.
@@ -3797,7 +3797,7 @@ ippSetCollection(
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -3806,7 +3806,7 @@ int                                       /* O  - 1 on success, 0 on failure */
 ippSetDate(ipp_t             *ipp,     /* I  - IPP message */
            ipp_attribute_t   **attr,   /* IO - IPP attribute */
            int               element,  /* I  - Value number (0-based) */
-           const ipp_uchar_t *datevalue)/* I  - Date value */
+           const ipp_uchar_t *datevalue)/* I  - dateTime value */
 {
   _ipp_value_t *value;                 /* Current value */
 
@@ -3854,7 +3854,7 @@ ippSetGroupTag(
     ipp_tag_t       group_tag)         /* I  - Group tag */
 {
  /*
-  * Range check input - group tag must be 0x01 to 0x0F, per RFC 2911...
+  * Range check input - group tag must be 0x01 to 0x0F, per RFC 8011...
   */
 
   if (!ipp || !attr || !*attr ||
@@ -3881,7 +3881,7 @@ ippSetGroupTag(
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -3966,7 +3966,7 @@ ippSetName(ipp_t           *ipp,  /* I  - IPP message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.7/macOS 10.9@
  */
@@ -4084,7 +4084,7 @@ ippSetOperation(ipp_t    *ipp,            /* I - IPP request message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -4164,7 +4164,7 @@ ippSetRequestId(ipp_t *ipp,               /* I - IPP message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -4272,7 +4272,7 @@ ippSetStatusCode(ipp_t        *ipp,       /* I - IPP response or event message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * @since CUPS 1.6/macOS 10.8@
  */
@@ -4334,7 +4334,7 @@ ippSetString(ipp_t           *ipp,        /* I  - IPP message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * The @code format@ parameter uses formatting characters compatible with the
  * printf family of standard functions.  Additional arguments follow it as
@@ -4372,7 +4372,7 @@ ippSetStringf(ipp_t           *ipp,       /* I  - IPP message */
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
  * The @code element@ parameter specifies which value to set from 0 to
- * @link ippGetCount(attr)@.
+ * @code ippGetCount(attr)@.
  *
  * The @code format@ parameter uses formatting characters compatible with the
  * printf family of standard functions.  Additional arguments follow it as
@@ -4715,19 +4715,19 @@ ippSetVersion(ipp_t *ipp,               /* I - IPP message */
 
 
 /*
- * 'ippTimeToDate()' - Convert from UNIX time to RFC 1903 format.
+ * 'ippTimeToDate()' - Convert from time in seconds to RFC 2579 format.
  */
 
-const ipp_uchar_t *                    /* O - RFC-1903 date/time data */
-ippTimeToDate(time_t t)                        /* I - UNIX time value */
+const ipp_uchar_t *                    /* O - RFC-2579 date/time data */
+ippTimeToDate(time_t t)                        /* I - Time in seconds */
 {
   struct tm    *unixdate;              /* UNIX unixdate/time info */
   ipp_uchar_t  *date = _cupsGlobals()->ipp_date;
-                                       /* RFC-1903 date/time data */
+                                       /* RFC-2579 date/time data */
 
 
  /*
-  * RFC-1903 date/time format is:
+  * RFC-2579 date/time format is:
   *
   *    Byte(s)  Description
   *    -------  -----------
@@ -4767,7 +4767,7 @@ ippTimeToDate(time_t t)                   /* I - UNIX time value */
  *
  * This function validates the contents of an attribute based on the name and
  * value tag.  1 is returned if the attribute is valid, 0 otherwise.  On
- * failure, cupsLastErrorString() is set to a human-readable message.
+ * failure, @link cupsLastErrorString@ is set to a human-readable message.
  *
  * @since CUPS 1.7/macOS 10.9@
  */
@@ -4823,7 +4823,7 @@ ippValidateAttribute(
   {
     ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                   _("\"%s\": Bad attribute name - invalid character "
-                   "(RFC 2911 section 4.1.3)."), attr->name);
+                   "(RFC 8011 section 5.1.4)."), attr->name);
     return (0);
   }
 
@@ -4831,7 +4831,7 @@ ippValidateAttribute(
   {
     ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                   _("\"%s\": Bad attribute name - bad length %d "
-                   "(RFC 2911 section 4.1.3)."), attr->name,
+                   "(RFC 8011 section 5.1.4)."), attr->name,
                  (int)(ptr - attr->name));
     return (0);
   }
@@ -4849,7 +4849,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                           _("\"%s\": Bad boolen value %d "
-                           "(RFC 2911 section 4.1.11)."), attr->name,
+                           "(RFC 8011 section 5.1.21)."), attr->name,
                          attr->values[i].boolean);
            return (0);
          }
@@ -4863,7 +4863,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad enum value %d - out of range "
-                           "(RFC 2911 section 4.1.4)."), attr->name,
+                           "(RFC 8011 section 5.1.5)."), attr->name,
                            attr->values[i].integer);
             return (0);
          }
@@ -4877,7 +4877,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad octetString value - bad length %d "
-                           "(RFC 2911 section 4.1.10)."), attr->name,
+                           "(RFC 8011 section 5.1.20)."), attr->name,
                            attr->values[i].unknown.length);
            return (0);
          }
@@ -4893,7 +4893,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime month %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[2]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[2]);
            return (0);
          }
 
@@ -4901,7 +4901,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime day %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[3]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[3]);
            return (0);
          }
 
@@ -4909,7 +4909,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime hours %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[4]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[4]);
            return (0);
          }
 
@@ -4917,7 +4917,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime minutes %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[5]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[5]);
            return (0);
          }
 
@@ -4925,7 +4925,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime seconds %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[6]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[6]);
            return (0);
          }
 
@@ -4933,7 +4933,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime deciseconds %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[7]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[7]);
            return (0);
          }
 
@@ -4941,7 +4941,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime UTC sign '%c' "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[8]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[8]);
            return (0);
          }
 
@@ -4949,7 +4949,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime UTC hours %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[9]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[9]);
            return (0);
          }
 
@@ -4957,7 +4957,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad dateTime UTC minutes %u "
-                           "(RFC 2911 section 4.1.14)."), attr->name, date[10]);
+                           "(RFC 8011 section 5.1.15)."), attr->name, date[10]);
            return (0);
          }
        }
@@ -4971,7 +4971,7 @@ ippValidateAttribute(
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad resolution value %dx%d%s - cross "
                            "feed resolution must be positive "
-                           "(RFC 2911 section 4.1.15)."), attr->name,
+                           "(RFC 8011 section 5.1.16)."), attr->name,
                          attr->values[i].resolution.xres,
                          attr->values[i].resolution.yres,
                          attr->values[i].resolution.units ==
@@ -4986,7 +4986,7 @@ ippValidateAttribute(
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad resolution value %dx%d%s - feed "
                            "resolution must be positive "
-                           "(RFC 2911 section 4.1.15)."), attr->name,
+                           "(RFC 8011 section 5.1.16)."), attr->name,
                          attr->values[i].resolution.xres,
                          attr->values[i].resolution.yres,
                          attr->values[i].resolution.units ==
@@ -5001,7 +5001,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad resolution value %dx%d%s - bad "
-                           "units value (RFC 2911 section 4.1.15)."),
+                           "units value (RFC 8011 section 5.1.16)."),
                          attr->name, attr->values[i].resolution.xres,
                          attr->values[i].resolution.yres,
                          attr->values[i].resolution.units ==
@@ -5020,7 +5020,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad rangeOfInteger value %d-%d - lower "
-                           "greater than upper (RFC 2911 section 4.1.13)."),
+                           "greater than upper (RFC 8011 section 5.1.14)."),
                          attr->name, attr->values[i].range.lower,
                          attr->values[i].range.upper);
            return (0);
@@ -5082,7 +5082,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad text value \"%s\" - bad UTF-8 "
-                           "sequence (RFC 2911 section 4.1.1)."), attr->name,
+                           "sequence (RFC 8011 section 5.1.2)."), attr->name,
                          attr->values[i].string.text);
            return (0);
          }
@@ -5091,7 +5091,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad text value \"%s\" - bad length %d "
-                           "(RFC 2911 section 4.1.1)."), attr->name,
+                           "(RFC 8011 section 5.1.2)."), attr->name,
                          attr->values[i].string.text,
                          (int)(ptr - attr->values[i].string.text));
            return (0);
@@ -5140,7 +5140,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad name value \"%s\" - bad UTF-8 "
-                           "sequence (RFC 2911 section 4.1.2)."), attr->name,
+                           "sequence (RFC 8011 section 5.1.3)."), attr->name,
                          attr->values[i].string.text);
            return (0);
          }
@@ -5149,7 +5149,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad name value \"%s\" - bad length %d "
-                           "(RFC 2911 section 4.1.2)."), attr->name,
+                           "(RFC 8011 section 5.1.3)."), attr->name,
                          attr->values[i].string.text,
                          (int)(ptr - attr->values[i].string.text));
            return (0);
@@ -5169,7 +5169,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad keyword value \"%s\" - invalid "
-                           "character (RFC 2911 section 4.1.3)."),
+                           "character (RFC 8011 section 5.1.4)."),
                          attr->name, attr->values[i].string.text);
            return (0);
          }
@@ -5178,7 +5178,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad keyword value \"%s\" - bad "
-                           "length %d (RFC 2911 section 4.1.3)."),
+                           "length %d (RFC 8011 section 5.1.4)."),
                          attr->name, attr->values[i].string.text,
                          (int)(ptr - attr->values[i].string.text));
            return (0);
@@ -5200,7 +5200,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad URI value \"%s\" - %s "
-                           "(RFC 2911 section 4.1.5)."), attr->name,
+                           "(RFC 8011 section 5.1.6)."), attr->name,
                          attr->values[i].string.text,
                          uri_status_strings[uri_status -
                                             HTTP_URI_STATUS_OVERFLOW]);
@@ -5211,7 +5211,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad URI value \"%s\" - bad length %d "
-                           "(RFC 2911 section 4.1.5)."), attr->name,
+                           "(RFC 8011 section 5.1.6)."), attr->name,
                          attr->values[i].string.text,
                          (int)strlen(attr->values[i].string.text));
          }
@@ -5234,7 +5234,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad uriScheme value \"%s\" - bad "
-                           "characters (RFC 2911 section 4.1.6)."),
+                           "characters (RFC 8011 section 5.1.7)."),
                          attr->name, attr->values[i].string.text);
            return (0);
          }
@@ -5243,7 +5243,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad uriScheme value \"%s\" - bad "
-                           "length %d (RFC 2911 section 4.1.6)."),
+                           "length %d (RFC 8011 section 5.1.7)."),
                          attr->name, attr->values[i].string.text,
                          (int)(ptr - attr->values[i].string.text));
            return (0);
@@ -5263,7 +5263,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad charset value \"%s\" - bad "
-                           "characters (RFC 2911 section 4.1.7)."),
+                           "characters (RFC 8011 section 5.1.8)."),
                          attr->name, attr->values[i].string.text);
            return (0);
          }
@@ -5272,7 +5272,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad charset value \"%s\" - bad "
-                           "length %d (RFC 2911 section 4.1.7)."),
+                           "length %d (RFC 8011 section 5.1.8)."),
                          attr->name, attr->values[i].string.text,
                          (int)(ptr - attr->values[i].string.text));
            return (0);
@@ -5318,7 +5318,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad naturalLanguage value \"%s\" - bad "
-                           "characters (RFC 2911 section 4.1.8)."),
+                           "characters (RFC 8011 section 5.1.9)."),
                          attr->name, attr->values[i].string.text);
            regfree(&re);
            return (0);
@@ -5328,7 +5328,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad naturalLanguage value \"%s\" - bad "
-                           "length %d (RFC 2911 section 4.1.8)."),
+                           "length %d (RFC 8011 section 5.1.9)."),
                          attr->name, attr->values[i].string.text,
                          (int)strlen(attr->values[i].string.text));
            regfree(&re);
@@ -5372,7 +5372,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad mimeMediaType value \"%s\" - bad "
-                           "characters (RFC 2911 section 4.1.9)."),
+                           "characters (RFC 8011 section 5.1.10)."),
                          attr->name, attr->values[i].string.text);
            regfree(&re);
            return (0);
@@ -5382,7 +5382,7 @@ ippValidateAttribute(
          {
            ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST,
                          _("\"%s\": Bad mimeMediaType value \"%s\" - bad "
-                           "length %d (RFC 2911 section 4.1.9)."),
+                           "length %d (RFC 8011 section 5.1.10)."),
                          attr->name, attr->values[i].string.text,
                          (int)strlen(attr->values[i].string.text));
            regfree(&re);
@@ -5405,8 +5405,8 @@ ippValidateAttribute(
  * 'ippValidateAttributes()' - Validate all attributes in an IPP message.
  *
  * This function validates the contents of the IPP message, including each
- * attribute.  Like @link ippValidateAttribute@, cupsLastErrorString() is set
- * to a human-readable message on failure.
+ * attribute.  Like @link ippValidateAttribute@, @link cupsLastErrorString@ is
+ * set to a human-readable message on failure.
  *
  * @since CUPS 1.7/macOS 10.9@
  */
index feea0899f50e2e5a3eafd58e7e0eb2f1b58b3d9e..2a4f546c75df3740c392e9465ea16002162350d3 100644 (file)
@@ -276,7 +276,7 @@ typedef enum ipp_op_e                       /**** IPP operations ****/
   IPP_OP_GET_NOTIFICATIONS,            /* Get-Notifications: Get notification events @since CUPS 1.2/macOS 10.5@ */
   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@ */
+  IPP_OP_GET_RESOURCE_DATA,            /* Get-Resource-Data: Get resource data @private@ @deprecated@ */
   IPP_OP_GET_RESOURCES,                        /* Get-Resources: Get list of resources @private@ */
   IPP_OP_GET_PRINT_SUPPORT_FILES,      /* Get-Printer-Support-Files: Get printer support files @private@ */
   IPP_OP_ENABLE_PRINTER,               /* Enable-Printer: Accept new jobs for a printer */
@@ -442,7 +442,7 @@ typedef enum ipp_orient_e           /**** Orientation values ****/
 #  endif /* !_CUPS_NO_DEPRECATED */
 } ipp_orient_t;
 
-typedef enum ipp_pstate_e              /**** Printer states ****/
+typedef enum ipp_pstate_e              /**** Printer state values ****/
 {
   IPP_PSTATE_IDLE = 3,                 /* Printer is idle */
   IPP_PSTATE_PROCESSING,               /* Printer is working */
@@ -455,7 +455,7 @@ typedef enum ipp_pstate_e           /**** Printer states ****/
 #  endif /* _CUPS_NO_DEPRECATED */
 } ipp_pstate_t;
 
-typedef enum ipp_quality_e             /**** Qualities ****/
+typedef enum ipp_quality_e             /**** Print quality values ****/
 {
   IPP_QUALITY_DRAFT = 3,               /* Draft quality */
   IPP_QUALITY_NORMAL,                  /* Normal quality */
@@ -468,7 +468,7 @@ typedef enum ipp_res_e                      /**** Resolution units ****/
   IPP_RES_PER_CM                       /* Pixels per centimeter */
 } ipp_res_t;
 
-typedef enum ipp_state_e               /**** IPP states ****/
+typedef enum ipp_state_e               /**** ipp_t state values ****/
 {
   IPP_STATE_ERROR = -1,                        /* An error occurred */
   IPP_STATE_IDLE,                      /* Nothing is happening/request completed */
@@ -485,7 +485,7 @@ typedef enum ipp_state_e            /**** IPP states ****/
 #  endif /* !_CUPS_NO_DEPRECATED */
 } ipp_state_t;
 
-typedef enum ipp_status_e              /**** IPP status codes ****/
+typedef enum ipp_status_e              /**** IPP status code values ****/
 {
   IPP_STATUS_CUPS_INVALID = -1,                /* Invalid status name for @link ippErrorValue@ */
   IPP_STATUS_OK = 0x0000,              /* successful-ok */
@@ -636,7 +636,7 @@ typedef enum ipp_status_e           /**** IPP status codes ****/
 #  endif /* _CUPS_NO_DEPRECATED */
 } ipp_status_t;
 
-typedef enum ipp_tag_e                 /**** Format tags for attributes ****/
+typedef enum ipp_tag_e                 /**** Value and group tag values for attributes ****/
 {
   IPP_TAG_CUPS_INVALID = -1,           /* Invalid tag name for @link ippTagValue@ */
   IPP_TAG_ZERO = 0x00,                 /* Zero tag - used for separators */
@@ -695,10 +695,11 @@ typedef struct _ipp_attribute_s ipp_attribute_t;
 
 /**** New in CUPS 1.2/macOS 10.5 ****/
 typedef ssize_t        (*ipp_iocb_t)(void *context, ipp_uchar_t *buffer, size_t bytes);
-                                       /**** IPP IO Callback Function @since CUPS 1.2/macOS 10.5@ ****/
+                                       /**** ippReadIO/ippWriteIO callback function @since CUPS 1.2/macOS 10.5@ ****/
 
 /**** New in CUPS 1.6/macOS 10.8 ****/
 typedef int (*ipp_copycb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr);
+                                        /**** ippCopyAttributes callback function @since CUPS 1.6/macOS 10.8 ****/
 
 
 /*
@@ -805,7 +806,7 @@ typedef union _ipp_value_u          /**** Attribute Value ****/
 } _ipp_value_t;
 typedef _ipp_value_t ipp_value_t;      /**** Convenience typedef that will be removed @private@ ****/
 
-struct _ipp_attribute_s                        /**** Attribute ****/
+struct _ipp_attribute_s                        /**** IPP attribute ****/
 {
   ipp_attribute_t *next;               /* Next attribute in list */
   ipp_tag_t    group_tag,              /* Job/Printer/Operation group tag */
index 901c75df3c33232a652025023acfa28975871300..9aa20f8954ec5fe0acdb0acd0ed38317ac44c77a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Option routines for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -35,7 +35,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@
+ * @since CUPS 2.2.4/macOS 10.13@
  */
 
 int                                    /* O  - Number of options */
@@ -185,7 +185,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 2.2.4@
+ * @since CUPS 2.2.4/macOS 10.13@
  */
 
 int                                    /* O - Option value or @code INT_MIN@ */
index fffa2182ba333da1b03ed489c3f304dcb9d4a83f..7958b93e557e542dd28595d9ca28ef68765a1f2a 100644 (file)
@@ -739,6 +739,10 @@ asn1_debug(const char    *prefix,  /* I - Prefix string */
   _cups_globals_t *cg = _cupsGlobals();        /* Global data */
 
 
+#ifdef __clang_analyzer__ /* Suppress bogus clang error */
+  memset(string, 0, sizeof(string));
+#endif /* __clang_analyzer__ */
+
   if (cg->snmp_debug <= 0)
     return;
 
index b4fa81f78927a15d2476268d5d2d0eb144e98522..88cccfa238fa9a780d27fac5e06f531699e846a5 100644 (file)
@@ -147,7 +147,7 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */
 
 
 /*
- * 'cupsGetPassword2()' - Get a password from the user using the advanced
+ * 'cupsGetPassword2()' - Get a password from the user using the current
  *                        password callback.
  *
  * Uses the current password callback function. Returns @code NULL@ if the
@@ -155,8 +155,8 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */
  *
  * Note: The current password callback function is tracked separately for each
  * thread in a program. Multi-threaded programs that override the setting via
- * the @link cupsSetPasswordCB@ or @link cupsSetPasswordCB2@ functions need to
- * do so in each thread for the same function to be used.
+ * 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@
  */
index c7163c2e09280b31af3946d948837ed3bc8561a4..2f5ebdf44f38e6175c809a11d23d9bc36cfdb95b 100644 (file)
@@ -985,7 +985,7 @@ cups_create_cb(
     unsigned           flags,           /* I - Enumeration flags */
     cups_dest_t        *dest)           /* I - Destination */
 {
-  DEBUG_printf(("2cups_create_cb(data=%p(%s), flags=%08x, dest=%p(%s))", data, data->name, flags, dest, dest->name));
+  DEBUG_printf(("2cups_create_cb(data=%p(%s), flags=%08x, dest=%p(%s))", (void *)data, data->name, flags, (void *)dest, dest->name));
 
   (void)flags;
 
index 2d2d96a71aa8f124795943f28a54a26f64ec3438..c3f6838fc578015f279ba046f53f9e344630ac4a 100644 (file)
@@ -508,70 +508,54 @@ show_devices(void)
 <h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
         <p class="description">Create the Windows PPD file for a printer.</p>
 <p class="code">
-char *cupsAdminCreateWindowsPPD (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;const char *dest,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;int bufsize<br>
-);</p>
+char *cupsAdminCreateWindowsPPD(http_t *http, const char *dest, char *buffer, int bufsize);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>dest</dt>
-        <dd class="description">Printer or class</dd>
-<dt>buffer</dt>
-        <dd class="description">Filename buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of filename buffer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>dest</th>
+        <td class="description">Printer or class</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Filename buffer</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of filename buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">PPD file or NULL</p>
 <h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
         <p class="description">Export a printer to Samba.</p>
 <p class="code">
-int cupsAdminExportSamba (<br>
-&#160;&#160;&#160;&#160;const char *dest,<br>
-&#160;&#160;&#160;&#160;const char *ppd,<br>
-&#160;&#160;&#160;&#160;const char *samba_server,<br>
-&#160;&#160;&#160;&#160;const char *samba_user,<br>
-&#160;&#160;&#160;&#160;const char *samba_password,<br>
-&#160;&#160;&#160;&#160;FILE *logfile<br>
-);</p>
+int cupsAdminExportSamba(const char *dest, const char *ppd, const char *samba_server, const char *samba_user, const char *samba_password, FILE *logfile);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
-        <dd class="description">Destination to export</dd>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>samba_server</dt>
-        <dd class="description">Samba server</dd>
-<dt>samba_user</dt>
-        <dd class="description">Samba username</dd>
-<dt>samba_password</dt>
-        <dd class="description">Samba password</dd>
-<dt>logfile</dt>
-        <dd class="description">Log file, if any</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>dest</th>
+        <td class="description">Destination to export</td></tr>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>samba_server</th>
+        <td class="description">Samba server</td></tr>
+<tr><th>samba_user</th>
+        <td class="description">Samba username</td></tr>
+<tr><th>samba_password</th>
+        <td class="description">Samba password</td></tr>
+<tr><th>logfile</th>
+        <td class="description">Log file, if any</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
         <p class="description">Get settings from the server.</p>
 <p class="code">
-int cupsAdminGetServerSettings (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;int *num_settings,<br>
-&#160;&#160;&#160;&#160;cups_option_t **settings<br>
-);</p>
+int cupsAdminGetServerSettings(http_t *http, int *num_settings, cups_option_t **settings);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
-        <dd class="description">Number of settings</dd>
-<dt>settings</dt>
-        <dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+        <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+        <td class="description">Settings</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -582,48 +566,37 @@ you are done with them.
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
         <p class="description">Set settings on the server.</p>
 <p class="code">
-int cupsAdminSetServerSettings (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;int num_settings,<br>
-&#160;&#160;&#160;&#160;cups_option_t *settings<br>
-);</p>
+int cupsAdminSetServerSettings(http_t *http, int num_settings, cups_option_t *settings);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
-        <dd class="description">Number of settings</dd>
-<dt>settings</dt>
-        <dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+        <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+        <td class="description">Settings</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsGetDevices">cupsGetDevices</a></h3>
         <p class="description">Get available printer devices.</p>
 <p class="code">
-ipp_status_t cupsGetDevices (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;int timeout,<br>
-&#160;&#160;&#160;&#160;const char *include_schemes,<br>
-&#160;&#160;&#160;&#160;const char *exclude_schemes,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_device_cb_t">cups_device_cb_t</a> callback,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
+ipp_status_t cupsGetDevices(http_t *http, int timeout, const char *include_schemes, const char *exclude_schemes, <a href="#cups_device_cb_t">cups_device_cb_t</a> callback, void *user_data);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></dd>
-<dt>include_schemes</dt>
-        <dd class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></dd>
-<dt>exclude_schemes</dt>
-        <dd class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></dd>
-<dt>callback</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></td></tr>
+<tr><th>include_schemes</th>
+        <td class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></td></tr>
+<tr><th>exclude_schemes</th>
+        <td class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></td></tr>
+<tr><th>callback</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Request status - <code>IPP_OK</code> on success.</p>
 <h4 class="discussion">Discussion</h4>
index 7614f69618433550cc4d55bb0820d8d0cc843c5e..94fec4955deb9e0a5ae8d418447cf461b1938810 100644 (file)
@@ -1320,20 +1320,16 @@ void *my_data;
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackChannelRead">cupsBackChannelRead</a></h3>
         <p class="description">Read data from the backchannel.</p>
 <p class="code">
-ssize_t cupsBackChannelRead (<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bytes,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+ssize_t cupsBackChannelRead(char *buffer, size_t bytes, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>buffer</dt>
-        <dd class="description">Buffer to read into</dd>
-<dt>bytes</dt>
-        <dd class="description">Bytes to read</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds, typically 0.0 to poll</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>buffer</th>
+        <td class="description">Buffer to read into</td></tr>
+<tr><th>bytes</th>
+        <td class="description">Bytes to read</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds, typically 0.0 to poll</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Bytes read or -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1345,20 +1341,16 @@ return immediately if there is no data, -1.0 to wait for data indefinitely.
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
         <p class="description">Write data to the backchannel.</p>
 <p class="code">
-ssize_t cupsBackChannelWrite (<br>
-&#160;&#160;&#160;&#160;const char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bytes,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+ssize_t cupsBackChannelWrite(const char *buffer, size_t bytes, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>buffer</dt>
-        <dd class="description">Buffer to write</dd>
-<dt>bytes</dt>
-        <dd class="description">Bytes to write</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds, typically 1.0</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>buffer</th>
+        <td class="description">Buffer to write</td></tr>
+<tr><th>bytes</th>
+        <td class="description">Bytes to write</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds, typically 1.0</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Bytes written or -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1371,14 +1363,12 @@ indefinitely.
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
         <p class="description">Get the device URI for a backend.</p>
 <p class="code">
-const char *cupsBackendDeviceURI (<br>
-&#160;&#160;&#160;&#160;char **argv<br>
-);</p>
+const char *cupsBackendDeviceURI(char **argv);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>argv</dt>
-        <dd class="description">Command-line arguments</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>argv</th>
+        <td class="description">Command-line arguments</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Device URI or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
@@ -1388,34 +1378,26 @@ variable or the device URI passed in argv[0], whichever is found
 first.
 
 </p>
-<h3 class="function"><a id="cupsBackendReport">cupsBackendReport</a></h3>
-        <p class="description">PPD attribute</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsBackendReport">cupsBackendReport</a></h3>
+        <p class="description">Write a device line from a backend.</p>
 <p class="code">
-void cupsBackendReport (<br>
-&#160;&#160;&#160;&#160;const char *device_scheme,<br>
-&#160;&#160;&#160;&#160;const char *device_uri,<br>
-&#160;&#160;&#160;&#160;const char *device_make_and_model,<br>
-&#160;&#160;&#160;&#160;const char *device_info,<br>
-&#160;&#160;&#160;&#160;const char *device_id,<br>
-&#160;&#160;&#160;&#160;const char *device_location<br>
-);</p>
+void cupsBackendReport(const char *device_scheme, const char *device_uri, const char *device_make_and_model, const char *device_info, const char *device_id, const char *device_location);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>device_scheme</dt>
-        <dd class="description">device-scheme string</dd>
-<dt>device_uri</dt>
-        <dd class="description">device-uri string</dd>
-<dt>device_make_and_model</dt>
-        <dd class="description">device-make-and-model string or <code>NULL</code></dd>
-<dt>device_info</dt>
-        <dd class="description">device-info string or <code>NULL</code></dd>
-<dt>device_id</dt>
-        <dd class="description">device-id string or <code>NULL</code></dd>
-<dt>device_location</dt>
-        <dd class="description">device-location string or <code>NULL</code></dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Write a device line from a backend.</p>
+<table class="list"><tbody>
+<tr><th>device_scheme</th>
+        <td class="description">device-scheme string</td></tr>
+<tr><th>device_uri</th>
+        <td class="description">device-uri string</td></tr>
+<tr><th>device_make_and_model</th>
+        <td class="description">device-make-and-model string or <code>NULL</code></td></tr>
+<tr><th>device_info</th>
+        <td class="description">device-info string or <code>NULL</code></td></tr>
+<tr><th>device_id</th>
+        <td class="description">device-id string or <code>NULL</code></td></tr>
+<tr><th>device_location</th>
+        <td class="description">device-location string or <code>NULL</code></td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">This function writes a single device line to stdout for a backend.
 It handles quoting of special characters in the device-make-and-model,
 device-info, device-id, and device-location strings.
@@ -1424,23 +1406,18 @@ device-info, device-id, and device-location strings.
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_command_t">cups_sc_command_t</a> command,<br>
-&#160;&#160;&#160;&#160;char *data,<br>
-&#160;&#160;&#160;&#160;int *datalen,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+<a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelDoRequest(<a href="#cups_sc_command_t">cups_sc_command_t</a> command, char *data, int *datalen, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>command</dt>
-        <dd class="description">Command to send</dd>
-<dt>data</dt>
-        <dd class="description">Response data buffer pointer</dd>
-<dt>datalen</dt>
-        <dd class="description">Size of data buffer on entry, number of bytes in buffer on return</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>command</th>
+        <td class="description">Command to send</td></tr>
+<tr><th>data</th>
+        <td class="description">Response data buffer pointer</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Size of data buffer on entry, number of bytes in buffer on return</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of command</p>
 <h4 class="discussion">Discussion</h4>
@@ -1458,26 +1435,20 @@ update the value to contain the number of data bytes in the buffer.
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSideChannelRead">cupsSideChannelRead</a></h3>
         <p class="description">Read a side-channel message.</p>
 <p class="code">
-int cupsSideChannelRead (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_command_t">cups_sc_command_t</a> *command,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_status_t">cups_sc_status_t</a> *status,<br>
-&#160;&#160;&#160;&#160;char *data,<br>
-&#160;&#160;&#160;&#160;int *datalen,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+int 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, char *data, int *datalen, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>command</dt>
-        <dd class="description">Command code</dd>
-<dt>status</dt>
-        <dd class="description">Status code</dd>
-<dt>data</dt>
-        <dd class="description">Data buffer pointer</dd>
-<dt>datalen</dt>
-        <dd class="description">Size of data buffer on entry, number of bytes in buffer on return</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>command</th>
+        <td class="description">Command code</td></tr>
+<tr><th>status</th>
+        <td class="description">Status code</td></tr>
+<tr><th>data</th>
+        <td class="description">Data buffer pointer</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Size of data buffer on entry, number of bytes in buffer on return</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1494,23 +1465,18 @@ update the value to contain the number of data bytes in the buffer.
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#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 (<br>
-&#160;&#160;&#160;&#160;const char *oid,<br>
-&#160;&#160;&#160;&#160;char *data,<br>
-&#160;&#160;&#160;&#160;int *datalen,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+<a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPGet(const char *oid, char *data, int *datalen, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>oid</dt>
-        <dd class="description">OID to query</dd>
-<dt>data</dt>
-        <dd class="description">Buffer for OID value</dd>
-<dt>datalen</dt>
-        <dd class="description">Size of OID buffer on entry, size of value on return</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>oid</th>
+        <td class="description">OID to query</td></tr>
+<tr><th>data</th>
+        <td class="description">Buffer for OID value</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Size of OID buffer on entry, size of value on return</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Query status</p>
 <h4 class="discussion">Discussion</h4>
@@ -1535,23 +1501,18 @@ the printer does not respond to the SNMP query.
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#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 (<br>
-&#160;&#160;&#160;&#160;const char *oid,<br>
-&#160;&#160;&#160;&#160;double timeout,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_walk_func_t">cups_sc_walk_func_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *context<br>
-);</p>
+<a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPWalk(const char *oid, double timeout, <a href="#cups_sc_walk_func_t">cups_sc_walk_func_t</a> cb, void *context);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>oid</dt>
-        <dd class="description">First numeric OID to query</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout for each query in seconds</dd>
-<dt>cb</dt>
-        <dd class="description">Function to call with each value</dd>
-<dt>context</dt>
-        <dd class="description">Application-defined pointer to send to callback</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>oid</th>
+        <td class="description">First numeric OID to query</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout for each query in seconds</td></tr>
+<tr><th>cb</th>
+        <td class="description">Function to call with each value</td></tr>
+<tr><th>context</th>
+        <td class="description">Application-defined pointer to send to callback</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of first query of <code>CUPS_SC_STATUS_OK</code> on success</p>
 <h4 class="discussion">Discussion</h4>
@@ -1581,26 +1542,20 @@ the printer does not respond to the first SNMP query.
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
         <p class="description">Write a side-channel message.</p>
 <p class="code">
-int cupsSideChannelWrite (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_command_t">cups_sc_command_t</a> command,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_sc_status_t">cups_sc_status_t</a> status,<br>
-&#160;&#160;&#160;&#160;const char *data,<br>
-&#160;&#160;&#160;&#160;int datalen,<br>
-&#160;&#160;&#160;&#160;double timeout<br>
-);</p>
+int 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, const char *data, int datalen, double timeout);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>command</dt>
-        <dd class="description">Command code</dd>
-<dt>status</dt>
-        <dd class="description">Status code</dd>
-<dt>data</dt>
-        <dd class="description">Data buffer pointer</dd>
-<dt>datalen</dt>
-        <dd class="description">Number of bytes of data</dd>
-<dt>timeout</dt>
-        <dd class="description">Timeout in seconds</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>command</th>
+        <td class="description">Command code</td></tr>
+<tr><th>status</th>
+        <td class="description">Status code</td></tr>
+<tr><th>data</th>
+        <td class="description">Data buffer pointer</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Number of bytes of data</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Timeout in seconds</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1648,105 +1603,69 @@ typedef void (*cups_sc_walk_func_t)(const char *oid, const char *data, int datal
       <h3 class="enumeration"><a id="cups_backend_e">cups_backend_e</a></h3>
         <p class="description">Backend exit codes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_BACKEND_AUTH_REQUIRED </dt>
-        <dd class="description">Job failed, authentication required</dd>
-        <dt>CUPS_BACKEND_CANCEL </dt>
-        <dd class="description">Job failed, cancel job</dd>
-        <dt>CUPS_BACKEND_FAILED </dt>
-        <dd class="description">Job failed, use error-policy</dd>
-        <dt>CUPS_BACKEND_HOLD </dt>
-        <dd class="description">Job failed, hold job</dd>
-        <dt>CUPS_BACKEND_OK </dt>
-        <dd class="description">Job completed successfully</dd>
-        <dt>CUPS_BACKEND_RETRY </dt>
-        <dd class="description">Job failed, retry this job later</dd>
-        <dt>CUPS_BACKEND_RETRY_CURRENT </dt>
-        <dd class="description">Job failed, retry this job immediately</dd>
-        <dt>CUPS_BACKEND_STOP </dt>
-        <dd class="description">Job failed, stop queue</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_BACKEND_AUTH_REQUIRED </th>        <td class="description">Job failed, authentication required</td></tr>
+        <tr><th>CUPS_BACKEND_CANCEL </th>        <td class="description">Job failed, cancel job</td></tr>
+        <tr><th>CUPS_BACKEND_FAILED </th>        <td class="description">Job failed, use error-policy</td></tr>
+        <tr><th>CUPS_BACKEND_HOLD </th>        <td class="description">Job failed, hold job</td></tr>
+        <tr><th>CUPS_BACKEND_OK </th>        <td class="description">Job completed successfully</td></tr>
+        <tr><th>CUPS_BACKEND_RETRY </th>        <td class="description">Job failed, retry this job later</td></tr>
+        <tr><th>CUPS_BACKEND_RETRY_CURRENT </th>        <td class="description">Job failed, retry this job immediately</td></tr>
+        <tr><th>CUPS_BACKEND_STOP </th>        <td class="description">Job failed, stop queue</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_sc_bidi_e">cups_sc_bidi_e</a></h3>
         <p class="description">Bidirectional capability values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_SC_BIDI_NOT_SUPPORTED </dt>
-        <dd class="description">Bidirectional I/O is not supported</dd>
-        <dt>CUPS_SC_BIDI_SUPPORTED </dt>
-        <dd class="description">Bidirectional I/O is supported</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_SC_BIDI_NOT_SUPPORTED </th>        <td class="description">Bidirectional I/O is not supported</td></tr>
+        <tr><th>CUPS_SC_BIDI_SUPPORTED </th>        <td class="description">Bidirectional I/O is supported</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_sc_command_e">cups_sc_command_e</a></h3>
         <p class="description">Request command codes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_SC_CMD_DRAIN_OUTPUT </dt>
-        <dd class="description">Drain all pending output</dd>
-        <dt>CUPS_SC_CMD_GET_BIDI </dt>
-        <dd class="description">Return bidirectional capabilities</dd>
-        <dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">Return whether the backend is &quot;connected&quot; to the printer </dd>
-        <dt>CUPS_SC_CMD_GET_DEVICE_ID </dt>
-        <dd class="description">Return the IEEE-1284 device ID</dd>
-        <dt>CUPS_SC_CMD_GET_STATE </dt>
-        <dd class="description">Return the device state</dd>
-        <dt>CUPS_SC_CMD_SNMP_GET <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></dt>
-        <dd class="description">Query an SNMP OID </dd>
-        <dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></dt>
-        <dd class="description">Query the next SNMP OID </dd>
-        <dt>CUPS_SC_CMD_SOFT_RESET </dt>
-        <dd class="description">Do a soft reset</dd>
-</dl>
+      <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_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_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>
         <p class="description">Connectivity values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_SC_CONNECTED </dt>
-        <dd class="description">Backend is &quot;connected&quot; to printer</dd>
-        <dt>CUPS_SC_NOT_CONNECTED </dt>
-        <dd class="description">Backend is not &quot;connected&quot; to printer</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_SC_CONNECTED </th>        <td class="description">Backend is &quot;connected&quot; to printer</td></tr>
+        <tr><th>CUPS_SC_NOT_CONNECTED </th>        <td class="description">Backend is not &quot;connected&quot; to printer</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_sc_state_e">cups_sc_state_e</a></h3>
         <p class="description">Printer state bits</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_SC_STATE_BUSY </dt>
-        <dd class="description">Device is busy</dd>
-        <dt>CUPS_SC_STATE_ERROR </dt>
-        <dd class="description">Other error condition</dd>
-        <dt>CUPS_SC_STATE_MARKER_EMPTY </dt>
-        <dd class="description">Toner/ink out condition</dd>
-        <dt>CUPS_SC_STATE_MARKER_LOW </dt>
-        <dd class="description">Toner/ink low condition</dd>
-        <dt>CUPS_SC_STATE_MEDIA_EMPTY </dt>
-        <dd class="description">Paper out condition</dd>
-        <dt>CUPS_SC_STATE_MEDIA_LOW </dt>
-        <dd class="description">Paper low condition</dd>
-        <dt>CUPS_SC_STATE_OFFLINE </dt>
-        <dd class="description">Device is offline</dd>
-        <dt>CUPS_SC_STATE_ONLINE </dt>
-        <dd class="description">Device is online</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_SC_STATE_BUSY </th>        <td class="description">Device is busy</td></tr>
+        <tr><th>CUPS_SC_STATE_ERROR </th>        <td class="description">Other error condition</td></tr>
+        <tr><th>CUPS_SC_STATE_MARKER_EMPTY </th>        <td class="description">Toner/ink out condition</td></tr>
+        <tr><th>CUPS_SC_STATE_MARKER_LOW </th>        <td class="description">Toner/ink low condition</td></tr>
+        <tr><th>CUPS_SC_STATE_MEDIA_EMPTY </th>        <td class="description">Paper out condition</td></tr>
+        <tr><th>CUPS_SC_STATE_MEDIA_LOW </th>        <td class="description">Paper low condition</td></tr>
+        <tr><th>CUPS_SC_STATE_OFFLINE </th>        <td class="description">Device is offline</td></tr>
+        <tr><th>CUPS_SC_STATE_ONLINE </th>        <td class="description">Device is online</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_sc_status_e">cups_sc_status_e</a></h3>
         <p class="description">Response status codes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_SC_STATUS_BAD_MESSAGE </dt>
-        <dd class="description">The command/response message was invalid</dd>
-        <dt>CUPS_SC_STATUS_IO_ERROR </dt>
-        <dd class="description">An I/O error occurred</dd>
-        <dt>CUPS_SC_STATUS_NONE </dt>
-        <dd class="description">No status</dd>
-        <dt>CUPS_SC_STATUS_NOT_IMPLEMENTED </dt>
-        <dd class="description">Command not implemented</dd>
-        <dt>CUPS_SC_STATUS_NO_RESPONSE </dt>
-        <dd class="description">The device did not respond</dd>
-        <dt>CUPS_SC_STATUS_OK </dt>
-        <dd class="description">Operation succeeded</dd>
-        <dt>CUPS_SC_STATUS_TIMEOUT </dt>
-        <dd class="description">The backend did not respond</dd>
-        <dt>CUPS_SC_STATUS_TOO_BIG </dt>
-        <dd class="description">Response too big</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_SC_STATUS_BAD_MESSAGE </th>        <td class="description">The command/response message was invalid</td></tr>
+        <tr><th>CUPS_SC_STATUS_IO_ERROR </th>        <td class="description">An I/O error occurred</td></tr>
+        <tr><th>CUPS_SC_STATUS_NONE </th>        <td class="description">No status</td></tr>
+        <tr><th>CUPS_SC_STATUS_NOT_IMPLEMENTED </th>        <td class="description">Command not implemented</td></tr>
+        <tr><th>CUPS_SC_STATUS_NO_RESPONSE </th>        <td class="description">The device did not respond</td></tr>
+        <tr><th>CUPS_SC_STATUS_OK </th>        <td class="description">Operation succeeded</td></tr>
+        <tr><th>CUPS_SC_STATUS_TIMEOUT </th>        <td class="description">The backend did not respond</td></tr>
+        <tr><th>CUPS_SC_STATUS_TOO_BIG </th>        <td class="description">Response too big</td></tr>
+</tbody></table>
     </div>
   </body>
 </html>
index b3181369e233017d5028c38721a4e9bc27ce80ac..7e60ec4b69442687262a23f8534386335ca3f6f9 100644 (file)
@@ -710,23 +710,18 @@ for (attr = <a href="#ppdFindAttr">ppdFindAttr</a>(ppd, "Product", NULL);
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#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">
-int cupsGetConflicts (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *choice,<br>
-&#160;&#160;&#160;&#160;cups_option_t **options<br>
-);</p>
+int cupsGetConflicts(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option, const char *choice, cups_option_t **options);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>option</dt>
-        <dd class="description">Option to test</dd>
-<dt>choice</dt>
-        <dd class="description">Choice to test</dd>
-<dt>options</dt>
-        <dd class="description">Conflicting options</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>option</th>
+        <td class="description">Option to test</td></tr>
+<tr><th>choice</th>
+        <td class="description">Choice to test</td></tr>
+<tr><th>options</th>
+        <td class="description">Conflicting options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of conflicting options</p>
 <h4 class="discussion">Discussion</h4>
@@ -743,14 +738,12 @@ the conflicting options.  The returned option array must be freed using
 <h3 class="function"><a id="cupsGetPPD">cupsGetPPD</a></h3>
         <p class="description">Get the PPD file for a printer on the default server.</p>
 <p class="code">
-const char *cupsGetPPD (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+const char *cupsGetPPD(const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Filename for PPD file</p>
 <h4 class="discussion">Discussion</h4>
@@ -763,17 +756,14 @@ 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>
         <p class="description">Get the PPD file for a printer from the specified server.</p>
 <p class="code">
-const char *cupsGetPPD2 (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+const char *cupsGetPPD2(http_t *http, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Filename for PPD file</p>
 <h4 class="discussion">Discussion</h4>
@@ -789,26 +779,20 @@ file that is created and must <code>unlink</code> the returned filename.
         <p class="description">Get the PPD file for a printer on the specified
 server if it has changed.</p>
 <p class="code">
-http_status_t cupsGetPPD3 (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;time_t *modtime,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
+http_status_t cupsGetPPD3(http_t *http, const char *name, time_t *modtime, char *buffer, size_t bufsize);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>modtime</dt>
-        <dd class="description">Modification time</dd>
-<dt>buffer</dt>
-        <dd class="description">Filename buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of filename buffer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+<tr><th>modtime</th>
+        <td class="description">Modification time</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Filename buffer</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of filename buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">HTTP status</p>
 <h4 class="discussion">Discussion</h4>
@@ -832,17 +816,14 @@ in the class.
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsGetServerPPD">cupsGetServerPPD</a></h3>
         <p class="description">Get an available PPD file from the server.</p>
 <p class="code">
-char *cupsGetServerPPD (<br>
-&#160;&#160;&#160;&#160;http_t *http,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+char *cupsGetServerPPD(http_t *http, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Name of PPD file (&quot;ppd-name&quot;)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>name</th>
+        <td class="description">Name of PPD file (&quot;ppd-name&quot;)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Name of PPD file or <code>NULL</code> on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -859,20 +840,16 @@ or <a href="#cupsGetServerPPD"><code>cupsGetServerPPD</code></a>.
 <h3 class="function"><a id="cupsMarkOptions">cupsMarkOptions</a></h3>
         <p class="description">Mark command-line options in a PPD file.</p>
 <p class="code">
-int cupsMarkOptions (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;cups_option_t *options<br>
-);</p>
+int cupsMarkOptions(<a href="#ppd_file_t">ppd_file_t</a> *ppd, int num_options, cups_option_t *options);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if conflicts exist, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
@@ -883,26 +860,20 @@ corresponding PPD options and choices.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsResolveConflicts">cupsResolveConflicts</a></h3>
         <p class="description">Resolve conflicts in a marked PPD.</p>
 <p class="code">
-int cupsResolveConflicts (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *choice,<br>
-&#160;&#160;&#160;&#160;int *num_options,<br>
-&#160;&#160;&#160;&#160;cups_option_t **options<br>
-);</p>
+int cupsResolveConflicts(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option, const char *choice, int *num_options, cups_option_t **options);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>option</dt>
-        <dd class="description">Newly selected option or <code>NULL</code> for none</dd>
-<dt>choice</dt>
-        <dd class="description">Newly selected choice or <code>NULL</code> for none</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of additional selected options</dd>
-<dt>options</dt>
-        <dd class="description">Additional selected options</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>option</th>
+        <td class="description">Newly selected option or <code>NULL</code> for none</td></tr>
+<tr><th>choice</th>
+        <td class="description">Newly selected choice or <code>NULL</code> for none</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of additional selected options</td></tr>
+<tr><th>options</th>
+        <td class="description">Additional selected options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -942,20 +913,16 @@ until a non-conflicting option choice is found.
         <p class="description">Collect all marked options that reside in the specified
 section.</p>
 <p class="code">
-int ppdCollect (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_choice_t">ppd_choice_t</a> ***choices<br>
-);</p>
+int ppdCollect(<a href="#ppd_file_t">ppd_file_t</a> *ppd, <a href="#ppd_section_t">ppd_section_t</a> section, <a href="#ppd_choice_t">ppd_choice_t</a> ***choices);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>section</dt>
-        <dd class="description">Section to collect</dd>
-<dt>choices</dt>
-        <dd class="description">Pointers to choices</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to collect</td></tr>
+<tr><th>choices</th>
+        <td class="description">Pointers to choices</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of options marked</p>
 <h4 class="discussion">Discussion</h4>
@@ -965,23 +932,18 @@ finished with it.</p>
         <p class="description">Collect all marked options that reside in the
 specified section and minimum order.</p>
 <p class="code">
-int ppdCollect2 (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section,<br>
-&#160;&#160;&#160;&#160;float min_order,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_choice_t">ppd_choice_t</a> ***choices<br>
-);</p>
+int ppdCollect2(<a href="#ppd_file_t">ppd_file_t</a> *ppd, <a href="#ppd_section_t">ppd_section_t</a> section, float min_order, <a href="#ppd_choice_t">ppd_choice_t</a> ***choices);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>section</dt>
-        <dd class="description">Section to collect</dd>
-<dt>min_order</dt>
-        <dd class="description">Minimum OrderDependency value</dd>
-<dt>choices</dt>
-        <dd class="description">Pointers to choices</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to collect</td></tr>
+<tr><th>min_order</th>
+        <td class="description">Minimum OrderDependency value</td></tr>
+<tr><th>choices</th>
+        <td class="description">Pointers to choices</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of options marked</p>
 <h4 class="discussion">Discussion</h4>
@@ -993,14 +955,12 @@ finished with it.
         <p class="description">Check to see if there are any conflicts among the
 marked option choices.</p>
 <p class="code">
-int ppdConflicts (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
-);</p>
+int ppdConflicts(<a href="#ppd_file_t">ppd_file_t</a> *ppd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD to check</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD to check</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of conflicts found</p>
 <h4 class="discussion">Discussion</h4>
@@ -1008,45 +968,35 @@ int ppdConflicts (<br>
 <h3 class="function"><a id="ppdEmit">ppdEmit</a></h3>
         <p class="description">Emit code for marked options to a file.</p>
 <p class="code">
-int ppdEmit (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;FILE *fp,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section<br>
-);</p>
+int ppdEmit(<a href="#ppd_file_t">ppd_file_t</a> *ppd, FILE *fp, <a href="#ppd_section_t">ppd_section_t</a> section);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>fp</dt>
-        <dd class="description">File to write to</dd>
-<dt>section</dt>
-        <dd class="description">Section to write</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>fp</th>
+        <td class="description">File to write to</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to write</td></tr>
+</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>
         <p class="description">Emit a subset of the code for marked options to a file.</p>
 <p class="code">
-int ppdEmitAfterOrder (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;FILE *fp,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section,<br>
-&#160;&#160;&#160;&#160;int limit,<br>
-&#160;&#160;&#160;&#160;float min_order<br>
-);</p>
+int ppdEmitAfterOrder(<a href="#ppd_file_t">ppd_file_t</a> *ppd, FILE *fp, <a href="#ppd_section_t">ppd_section_t</a> section, int limit, float min_order);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>fp</dt>
-        <dd class="description">File to write to</dd>
-<dt>section</dt>
-        <dd class="description">Section to write</dd>
-<dt>limit</dt>
-        <dd class="description">Non-zero to use min_order</dd>
-<dt>min_order</dt>
-        <dd class="description">Lowest OrderDependency</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>fp</th>
+        <td class="description">File to write to</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to write</td></tr>
+<tr><th>limit</th>
+        <td class="description">Non-zero to use min_order</td></tr>
+<tr><th>min_order</th>
+        <td class="description">Lowest OrderDependency</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1059,80 +1009,63 @@ When &quot;limit&quot; is zero, this function is identical to ppdEmit().
 <h3 class="function"><a id="ppdEmitFd">ppdEmitFd</a></h3>
         <p class="description">Emit code for marked options to a file.</p>
 <p class="code">
-int ppdEmitFd (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section<br>
-);</p>
+int ppdEmitFd(<a href="#ppd_file_t">ppd_file_t</a> *ppd, int fd, <a href="#ppd_section_t">ppd_section_t</a> section);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>fd</dt>
-        <dd class="description">File to write to</dd>
-<dt>section</dt>
-        <dd class="description">Section to write</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>fd</th>
+        <td class="description">File to write to</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to write</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on failure</p>
 <h3 class="function"><a id="ppdEmitJCL">ppdEmitJCL</a></h3>
         <p class="description">Emit code for JCL options to a file.</p>
 <p class="code">
-int ppdEmitJCL (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;FILE *fp,<br>
-&#160;&#160;&#160;&#160;int job_id,<br>
-&#160;&#160;&#160;&#160;const char *user,<br>
-&#160;&#160;&#160;&#160;const char *title<br>
-);</p>
+int ppdEmitJCL(<a href="#ppd_file_t">ppd_file_t</a> *ppd, FILE *fp, int job_id, const char *user, const char *title);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>fp</dt>
-        <dd class="description">File to write to</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID</dd>
-<dt>user</dt>
-        <dd class="description">Username</dd>
-<dt>title</dt>
-        <dd class="description">Title</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>fp</th>
+        <td class="description">File to write to</td></tr>
+<tr><th>job_id</th>
+        <td class="description">Job ID</td></tr>
+<tr><th>user</th>
+        <td class="description">Username</td></tr>
+<tr><th>title</th>
+        <td class="description">Title</td></tr>
+</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>
         <p class="description">Emit JCLEnd code to a file.</p>
 <p class="code">
-int ppdEmitJCLEnd (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;FILE *fp<br>
-);</p>
+int ppdEmitJCLEnd(<a href="#ppd_file_t">ppd_file_t</a> *ppd, FILE *fp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>fp</dt>
-        <dd class="description">File to write to</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>fp</th>
+        <td class="description">File to write to</td></tr>
+</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>
         <p class="description">Get a string containing the code for marked options.</p>
 <p class="code">
-char *ppdEmitString (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_section_t">ppd_section_t</a> section,<br>
-&#160;&#160;&#160;&#160;float min_order<br>
-);</p>
+char *ppdEmitString(<a href="#ppd_file_t">ppd_file_t</a> *ppd, <a href="#ppd_section_t">ppd_section_t</a> section, float min_order);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>section</dt>
-        <dd class="description">Section to write</dd>
-<dt>min_order</dt>
-        <dd class="description">Lowest OrderDependency</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>section</th>
+        <td class="description">Section to write</td></tr>
+<tr><th>min_order</th>
+        <td class="description">Lowest OrderDependency</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">String containing option code or <code>NULL</code> if there is no option code</p>
 <h4 class="discussion">Discussion</h4>
@@ -1148,145 +1081,118 @@ The return string is allocated on the heap and should be freed using
 <h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *spec<br>
-);</p>
+<a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindAttr(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name, const char *spec);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>name</dt>
-        <dd class="description">Attribute name</dd>
-<dt>spec</dt>
-        <dd class="description">Specifier string or <code>NULL</code></dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>name</th>
+        <td class="description">Attribute name</td></tr>
+<tr><th>spec</th>
+        <td class="description">Specifier string or <code>NULL</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Attribute or <code>NULL</code> if not found</p>
 <h3 class="function"><a id="ppdFindChoice">ppdFindChoice</a></h3>
         <p class="description">Return a pointer to an option choice.</p>
 <p class="code">
-<a href="#ppd_choice_t">ppd_choice_t</a> *ppdFindChoice (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_option_t">ppd_option_t</a> *o,<br>
-&#160;&#160;&#160;&#160;const char *choice<br>
-);</p>
+<a href="#ppd_choice_t">ppd_choice_t</a> *ppdFindChoice(<a href="#ppd_option_t">ppd_option_t</a> *o, const char *choice);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>o</dt>
-        <dd class="description">Pointer to option</dd>
-<dt>choice</dt>
-        <dd class="description">Name of choice</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>o</th>
+        <td class="description">Pointer to option</td></tr>
+<tr><th>choice</th>
+        <td class="description">Name of choice</td></tr>
+</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>
         <p class="description">Find a custom option.</p>
 <p class="code">
-<a href="#ppd_coption_t">ppd_coption_t</a> *ppdFindCustomOption (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *keyword<br>
-);</p>
+<a href="#ppd_coption_t">ppd_coption_t</a> *ppdFindCustomOption(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *keyword);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>keyword</dt>
-        <dd class="description">Custom option name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>keyword</th>
+        <td class="description">Custom option name</td></tr>
+</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>
         <p class="description">Find a parameter for a custom option.</p>
 <p class="code">
-<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFindCustomParam (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_coption_t">ppd_coption_t</a> *opt,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFindCustomParam(<a href="#ppd_coption_t">ppd_coption_t</a> *opt, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>opt</dt>
-        <dd class="description">Custom option</dd>
-<dt>name</dt>
-        <dd class="description">Parameter name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>opt</th>
+        <td class="description">Custom option</td></tr>
+<tr><th>name</th>
+        <td class="description">Parameter name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Custom parameter or NULL</p>
 <h3 class="function"><a id="ppdFindMarkedChoice">ppdFindMarkedChoice</a></h3>
         <p class="description">Return the marked choice for the specified option.</p>
 <p class="code">
-<a href="#ppd_choice_t">ppd_choice_t</a> *ppdFindMarkedChoice (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
+<a href="#ppd_choice_t">ppd_choice_t</a> *ppdFindMarkedChoice(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>option</dt>
-        <dd class="description">Keyword/option name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>option</th>
+        <td class="description">Keyword/option name</td></tr>
+</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>
         <p class="description">Find the next matching attribute.</p>
 <p class="code">
-<a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindNextAttr (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *spec<br>
-);</p>
+<a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindNextAttr(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name, const char *spec);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>name</dt>
-        <dd class="description">Attribute name</dd>
-<dt>spec</dt>
-        <dd class="description">Specifier string or <code>NULL</code></dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>name</th>
+        <td class="description">Attribute name</td></tr>
+<tr><th>spec</th>
+        <td class="description">Specifier string or <code>NULL</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Attribute or <code>NULL</code> if not found</p>
 <h3 class="function"><a id="ppdFindOption">ppdFindOption</a></h3>
         <p class="description">Return a pointer to the specified option.</p>
 <p class="code">
-<a href="#ppd_option_t">ppd_option_t</a> *ppdFindOption (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
+<a href="#ppd_option_t">ppd_option_t</a> *ppdFindOption(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>option</dt>
-        <dd class="description">Option/Keyword name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>option</th>
+        <td class="description">Option/Keyword name</td></tr>
+</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>
         <p class="description">Return the first parameter for a custom option.</p>
 <p class="code">
-<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFirstCustomParam (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_coption_t">ppd_coption_t</a> *opt<br>
-);</p>
+<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFirstCustomParam(<a href="#ppd_coption_t">ppd_coption_t</a> *opt);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>opt</dt>
-        <dd class="description">Custom option</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>opt</th>
+        <td class="description">Custom option</td></tr>
+</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>
         <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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
-);</p>
+<a href="#ppd_option_t">ppd_option_t</a> *ppdFirstOption(<a href="#ppd_file_t">ppd_file_t</a> *ppd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">First option or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
@@ -1297,20 +1203,16 @@ The return string is allocated on the heap and should be freed using
         <p class="description">Test whether an option choice conflicts with
 an installable option.</p>
 <p class="code">
-int ppdInstallableConflict (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *choice<br>
-);</p>
+int ppdInstallableConflict(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option, const char *choice);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>option</dt>
-        <dd class="description">Option</dd>
-<dt>choice</dt>
-        <dd class="description">Choice</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>option</th>
+        <td class="description">Option</td></tr>
+<tr><th>choice</th>
+        <td class="description">Choice</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if conflicting, 0 if not conflicting</p>
 <h4 class="discussion">Discussion</h4>
@@ -1321,33 +1223,27 @@ on constraints against options in the &quot;InstallableOptions&quot; group.
 <h3 class="function"><a id="ppdIsMarked">ppdIsMarked</a></h3>
         <p class="description">Check to see if an option is marked.</p>
 <p class="code">
-int ppdIsMarked (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *choice<br>
-);</p>
+int ppdIsMarked(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option, const char *choice);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file data</dd>
-<dt>option</dt>
-        <dd class="description">Option/Keyword name</dd>
-<dt>choice</dt>
-        <dd class="description">Choice name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file data</td></tr>
+<tr><th>option</th>
+        <td class="description">Option/Keyword name</td></tr>
+<tr><th>choice</th>
+        <td class="description">Choice name</td></tr>
+</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>
         <p class="description">Localize the PPD file to the current locale.</p>
 <p class="code">
-int ppdLocalize (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
-);</p>
+int ppdLocalize(<a href="#ppd_file_t">ppd_file_t</a> *ppd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1359,20 +1255,16 @@ localized string uses the UTF-8 character encoding.
 <h3 class="function"><a id="ppdLocalizeAttr">ppdLocalizeAttr</a></h3>
         <p class="description">Localize an attribute.</p>
 <p class="code">
-<a href="#ppd_attr_t">ppd_attr_t</a> *ppdLocalizeAttr (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *keyword,<br>
-&#160;&#160;&#160;&#160;const char *spec<br>
-);</p>
+<a href="#ppd_attr_t">ppd_attr_t</a> *ppdLocalizeAttr(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *keyword, const char *spec);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>keyword</dt>
-        <dd class="description">Main keyword</dd>
-<dt>spec</dt>
-        <dd class="description">Option keyword or <code>NULL</code> for none</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>keyword</th>
+        <td class="description">Main keyword</td></tr>
+<tr><th>spec</th>
+        <td class="description">Option keyword or <code>NULL</code> for none</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized attribute or <code>NULL</code> if none exists</p>
 <h4 class="discussion">Discussion</h4>
@@ -1383,26 +1275,20 @@ attribute exists for the current locale, the unlocalized version is returned.</p
         <p class="description">Get the localized version of a cupsIPPReason
 attribute.</p>
 <p class="code">
-const char *ppdLocalizeIPPReason (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *reason,<br>
-&#160;&#160;&#160;&#160;const char *scheme,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
+const char *ppdLocalizeIPPReason(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *reason, const char *scheme, char *buffer, size_t bufsize);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>reason</dt>
-        <dd class="description">IPP reason keyword to look up</dd>
-<dt>scheme</dt>
-        <dd class="description">URI scheme or NULL for text</dd>
-<dt>buffer</dt>
-        <dd class="description">Value buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of value buffer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>reason</th>
+        <td class="description">IPP reason keyword to look up</td></tr>
+<tr><th>scheme</th>
+        <td class="description">URI scheme or NULL for text</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Value buffer</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of value buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Value or NULL if not found</p>
 <h4 class="discussion">Discussion</h4>
@@ -1418,17 +1304,14 @@ If no value of the requested scheme can be found, NULL is returned.
         <p class="description">Get the localized version of a marker-names
 attribute value.</p>
 <p class="code">
-const char *ppdLocalizeMarkerName (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+const char *ppdLocalizeMarkerName(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>name</dt>
-        <dd class="description">Marker name to look up</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>name</th>
+        <td class="description">Marker name to look up</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Value or <code>NULL</code> if not found</p>
 <h4 class="discussion">Discussion</h4>
@@ -1438,62 +1321,50 @@ name can be found, <code>NULL</code> is returned.
 
 </p>
 <h3 class="function"><a id="ppdMarkDefaults">ppdMarkDefaults</a></h3>
-        <p class="description">Choice pointer</p>
+        <p class="description">Mark all default options in the PPD file.</p>
 <p class="code">
-void ppdMarkDefaults (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
-);</p>
+void ppdMarkDefaults(<a href="#ppd_file_t">ppd_file_t</a> *ppd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Mark all default options in the PPD file.</p>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+</tbody></table>
 <h3 class="function"><a id="ppdMarkOption">ppdMarkOption</a></h3>
         <p class="description">Mark an option in a PPD file and return the number of
 conflicts.</p>
 <p class="code">
-int ppdMarkOption (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *choice<br>
-);</p>
+int ppdMarkOption(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *option, const char *choice);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>option</dt>
-        <dd class="description">Keyword</dd>
-<dt>choice</dt>
-        <dd class="description">Option name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>option</th>
+        <td class="description">Keyword</td></tr>
+<tr><th>choice</th>
+        <td class="description">Option name</td></tr>
+</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>
         <p class="description">Return the next parameter for a custom option.</p>
 <p class="code">
-<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdNextCustomParam (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_coption_t">ppd_coption_t</a> *opt<br>
-);</p>
+<a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdNextCustomParam(<a href="#ppd_coption_t">ppd_coption_t</a> *opt);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>opt</dt>
-        <dd class="description">Custom option</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>opt</th>
+        <td class="description">Custom option</td></tr>
+</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>
         <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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd<br>
-);</p>
+<a href="#ppd_option_t">ppd_option_t</a> *ppdNextOption(<a href="#ppd_file_t">ppd_file_t</a> *ppd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Next option or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
@@ -1503,52 +1374,42 @@ int ppdMarkOption (<br>
 <h3 class="function"><a id="ppdPageLength">ppdPageLength</a></h3>
         <p class="description">Get the page length for the given size.</p>
 <p class="code">
-float ppdPageLength (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+float ppdPageLength(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>name</dt>
-        <dd class="description">Size name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>name</th>
+        <td class="description">Size name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Length of page in points or 0.0</p>
 <h3 class="function"><a id="ppdPageSize">ppdPageSize</a></h3>
         <p class="description">Get the page size record for the named size.</p>
 <p class="code">
-<a href="#ppd_size_t">ppd_size_t</a> *ppdPageSize (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+<a href="#ppd_size_t">ppd_size_t</a> *ppdPageSize(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>name</dt>
-        <dd class="description">Size name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>name</th>
+        <td class="description">Size name</td></tr>
+</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>
         <p class="description">Return the custom page size limits.</p>
 <p class="code">
-int ppdPageSizeLimits (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_size_t">ppd_size_t</a> *minimum,<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_size_t">ppd_size_t</a> *maximum<br>
-);</p>
+int ppdPageSizeLimits(<a href="#ppd_file_t">ppd_file_t</a> *ppd, <a href="#ppd_size_t">ppd_size_t</a> *minimum, <a href="#ppd_size_t">ppd_size_t</a> *maximum);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>minimum</dt>
-        <dd class="description">Minimum custom size</dd>
-<dt>maximum</dt>
-        <dd class="description">Maximum custom size</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>minimum</th>
+        <td class="description">Minimum custom size</td></tr>
+<tr><th>maximum</th>
+        <td class="description">Maximum custom size</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if custom sizes are supported, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
@@ -1562,17 +1423,14 @@ If the specified PPD file does not support custom page sizes, both
 <h3 class="function"><a id="ppdPageWidth">ppdPageWidth</a></h3>
         <p class="description">Get the page width for the given size.</p>
 <p class="code">
-float ppdPageWidth (<br>
-&#160;&#160;&#160;&#160;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+float ppdPageWidth(<a href="#ppd_file_t">ppd_file_t</a> *ppd, const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ppd</dt>
-        <dd class="description">PPD file record</dd>
-<dt>name</dt>
-        <dd class="description">Size name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ppd</th>
+        <td class="description">PPD file record</td></tr>
+<tr><th>name</th>
+        <td class="description">Size name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Width of page in points or 0.0</p>
       <h2 class="title"><a id="TYPES">Data Types</a></h2>
@@ -1681,16 +1539,16 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char *value;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>name[PPD_MAX_NAME] </dt>
-        <dd class="description">Name of attribute (cupsXYZ)</dd>
-<dt>spec[PPD_MAX_NAME] </dt>
-        <dd class="description">Specifier string, if any</dd>
-<dt>text[PPD_MAX_TEXT] </dt>
-        <dd class="description">Human-readable text, if any</dd>
-<dt>value </dt>
-        <dd class="description">Value string</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name[PPD_MAX_NAME] </th>
+        <td class="description">Name of attribute (cupsXYZ)</td></tr>
+<tr><th>spec[PPD_MAX_NAME] </th>
+        <td class="description">Specifier string, if any</td></tr>
+<tr><th>text[PPD_MAX_TEXT] </th>
+        <td class="description">Human-readable text, if any</td></tr>
+<tr><th>value </th>
+        <td class="description">Value string</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_choice_s">ppd_choice_s</a></h3>
         <p class="description">Option choices</p>
 <p class="code">struct ppd_choice_s {<br>
@@ -1701,18 +1559,18 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char text[PPD_MAX_TEXT];<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>choice[PPD_MAX_NAME] </dt>
-        <dd class="description">Computer-readable option name</dd>
-<dt>code </dt>
-        <dd class="description">Code to send for this option</dd>
-<dt>marked </dt>
-        <dd class="description">0 if not selected, 1 otherwise</dd>
-<dt>option </dt>
-        <dd class="description">Pointer to parent option structure</dd>
-<dt>text[PPD_MAX_TEXT] </dt>
-        <dd class="description">Human-readable option name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>choice[PPD_MAX_NAME] </th>
+        <td class="description">Computer-readable option name</td></tr>
+<tr><th>code </th>
+        <td class="description">Code to send for this option</td></tr>
+<tr><th>marked </th>
+        <td class="description">0 if not selected, 1 otherwise</td></tr>
+<tr><th>option </th>
+        <td class="description">Pointer to parent option structure</td></tr>
+<tr><th>text[PPD_MAX_TEXT] </th>
+        <td class="description">Human-readable option name</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_const_s">ppd_const_s</a></h3>
         <p class="description">Constraints</p>
 <p class="code">struct ppd_const_s {<br>
@@ -1722,16 +1580,16 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char option2[PPD_MAX_NAME];<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>choice1[PPD_MAX_NAME] </dt>
-        <dd class="description">First option/choice (blank for all)</dd>
-<dt>choice2[PPD_MAX_NAME] </dt>
-        <dd class="description">Second option/choice (blank for all)</dd>
-<dt>option1[PPD_MAX_NAME] </dt>
-        <dd class="description">First keyword</dd>
-<dt>option2[PPD_MAX_NAME] </dt>
-        <dd class="description">Second keyword</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>choice1[PPD_MAX_NAME] </th>
+        <td class="description">First option/choice (blank for all)</td></tr>
+<tr><th>choice2[PPD_MAX_NAME] </th>
+        <td class="description">Second option/choice (blank for all)</td></tr>
+<tr><th>option1[PPD_MAX_NAME] </th>
+        <td class="description">First keyword</td></tr>
+<tr><th>option2[PPD_MAX_NAME] </th>
+        <td class="description">Second keyword</td></tr>
+</tbody></table>
 <h3 class="struct"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppd_coption_s">ppd_coption_s</a></h3>
         <p class="description">Custom Option </p>
 <p class="code">struct ppd_coption_s {<br>
@@ -1741,16 +1599,16 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;cups_array_t *params;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>keyword[PPD_MAX_NAME] </dt>
-        <dd class="description">Name of option that is being extended...</dd>
-<dt>marked </dt>
-        <dd class="description">Extended option is marked</dd>
-<dt>option </dt>
-        <dd class="description">Option that is being extended...</dd>
-<dt>params </dt>
-        <dd class="description">Parameters</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>keyword[PPD_MAX_NAME] </th>
+        <td class="description">Name of option that is being extended...</td></tr>
+<tr><th>marked </th>
+        <td class="description">Extended option is marked</td></tr>
+<tr><th>option </th>
+        <td class="description">Option that is being extended...</td></tr>
+<tr><th>params </th>
+        <td class="description">Parameters</td></tr>
+</tbody></table>
 <h3 class="struct"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppd_cparam_s">ppd_cparam_s</a></h3>
         <p class="description">Custom Parameter </p>
 <p class="code">struct ppd_cparam_s {<br>
@@ -1762,20 +1620,20 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;<a href="#ppd_cptype_t">ppd_cptype_t</a> type;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>current </dt>
-        <dd class="description">Current value</dd>
-<dt>maximum </dt>
-        <dd class="description">Maximum value</dd>
-<dt>name[PPD_MAX_NAME] </dt>
-        <dd class="description">Parameter name</dd>
-<dt>order </dt>
-        <dd class="description">Order (0 to N)</dd>
-<dt>text[PPD_MAX_TEXT] </dt>
-        <dd class="description">Human-readable text</dd>
-<dt>type </dt>
-        <dd class="description">Parameter type</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>current </th>
+        <td class="description">Current value</td></tr>
+<tr><th>maximum </th>
+        <td class="description">Maximum value</td></tr>
+<tr><th>name[PPD_MAX_NAME] </th>
+        <td class="description">Parameter name</td></tr>
+<tr><th>order </th>
+        <td class="description">Order (0 to N)</td></tr>
+<tr><th>text[PPD_MAX_TEXT] </th>
+        <td class="description">Human-readable text</td></tr>
+<tr><th>type </th>
+        <td class="description">Parameter type</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_emul_s">ppd_emul_s</a></h3>
         <p class="description">Emulators</p>
 <p class="code">struct ppd_emul_s {<br>
@@ -1784,14 +1642,14 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char *stop;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>name[PPD_MAX_NAME] </dt>
-        <dd class="description">Emulator name</dd>
-<dt>start </dt>
-        <dd class="description">Code to switch to this emulation</dd>
-<dt>stop </dt>
-        <dd class="description">Code to stop this emulation</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name[PPD_MAX_NAME] </th>
+        <td class="description">Emulator name</td></tr>
+<tr><th>start </th>
+        <td class="description">Code to switch to this emulation</td></tr>
+<tr><th>stop </th>
+        <td class="description">Code to stop this emulation</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_file_s">ppd_file_s</a></h3>
         <p class="description">PPD File</p>
 <p class="code">struct ppd_file_s {<br>
@@ -1839,92 +1697,92 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;int variable_sizes;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>accurate_screens </dt>
-        <dd class="description">1 = supports accurate screens, 0 = not</dd>
-<dt>color_device </dt>
-        <dd class="description">1 = color device, 0 = grayscale</dd>
-<dt>colorspace </dt>
-        <dd class="description">Default colorspace</dd>
-<dt>consts </dt>
-        <dd class="description">UI/Non-UI constraints</dd>
-<dt>contone_only </dt>
-        <dd class="description">1 = continuous tone only, 0 = not</dd>
-<dt>custom_margins[4] </dt>
-        <dd class="description">Margins around page</dd>
-<dt>custom_max[2] </dt>
-        <dd class="description">Maximum variable page size</dd>
-<dt>custom_min[2] </dt>
-        <dd class="description">Minimum variable page size</dd>
-<dt>emulations </dt>
-        <dd class="description">Emulations and the code to invoke them</dd>
-<dt>filters </dt>
-        <dd class="description">Filter strings...</dd>
-<dt>flip_duplex <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">1 = Flip page for back sides </dd>
-<dt>fonts </dt>
-        <dd class="description">Pre-loaded fonts</dd>
-<dt>groups </dt>
-        <dd class="description">UI groups</dd>
-<dt>jcl_begin </dt>
-        <dd class="description">Start JCL commands</dd>
-<dt>jcl_end </dt>
-        <dd class="description">End JCL commands</dd>
-<dt>jcl_ps </dt>
-        <dd class="description">Enter PostScript interpreter</dd>
-<dt>landscape </dt>
-        <dd class="description">-90 or 90</dd>
-<dt>lang_encoding </dt>
-        <dd class="description">Language encoding</dd>
-<dt>lang_version </dt>
-        <dd class="description">Language version (English, Spanish, etc.)</dd>
-<dt>language_level </dt>
-        <dd class="description">Language level of device</dd>
-<dt>manual_copies </dt>
-        <dd class="description">1 = Copies done manually, 0 = hardware</dd>
-<dt>manufacturer </dt>
-        <dd class="description">Manufacturer name</dd>
-<dt>model_number </dt>
-        <dd class="description">Device-specific model number</dd>
-<dt>modelname </dt>
-        <dd class="description">Model name (general)</dd>
-<dt>nickname </dt>
-        <dd class="description">Nickname (specific)</dd>
-<dt>num_consts </dt>
-        <dd class="description">Number of UI/Non-UI constraints</dd>
-<dt>num_emulations </dt>
-        <dd class="description">Number of emulations supported</dd>
-<dt>num_filters </dt>
-        <dd class="description">Number of filters</dd>
-<dt>num_fonts </dt>
-        <dd class="description">Number of pre-loaded fonts</dd>
-<dt>num_groups </dt>
-        <dd class="description">Number of UI groups</dd>
-<dt>num_profiles <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Number of sRGB color profiles </dd>
-<dt>num_sizes </dt>
-        <dd class="description">Number of page sizes</dd>
-<dt>patches </dt>
-        <dd class="description">Patch commands to be sent to printer</dd>
-<dt>pcfilename <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">PCFileName string </dd>
-<dt>product </dt>
-        <dd class="description">Product name (from PS RIP/interpreter)</dd>
-<dt>profiles <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">sRGB color profiles </dd>
-<dt>protocols <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">Protocols (BCP, TBCP) string </dd>
-<dt>shortnickname </dt>
-        <dd class="description">Short version of nickname</dd>
-<dt>sizes </dt>
-        <dd class="description">Page sizes</dd>
-<dt>throughput </dt>
-        <dd class="description">Pages per minute</dd>
-<dt>ttrasterizer </dt>
-        <dd class="description">Truetype rasterizer</dd>
-<dt>variable_sizes </dt>
-        <dd class="description">1 = supports variable sizes, 0 = doesn't</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>accurate_screens </th>
+        <td class="description">1 = supports accurate screens, 0 = not</td></tr>
+<tr><th>color_device </th>
+        <td class="description">1 = color device, 0 = grayscale</td></tr>
+<tr><th>colorspace </th>
+        <td class="description">Default colorspace</td></tr>
+<tr><th>consts </th>
+        <td class="description">UI/Non-UI constraints</td></tr>
+<tr><th>contone_only </th>
+        <td class="description">1 = continuous tone only, 0 = not</td></tr>
+<tr><th>custom_margins[4] </th>
+        <td class="description">Margins around page</td></tr>
+<tr><th>custom_max[2] </th>
+        <td class="description">Maximum variable page size</td></tr>
+<tr><th>custom_min[2] </th>
+        <td class="description">Minimum variable page size</td></tr>
+<tr><th>emulations </th>
+        <td class="description">Emulations and the code to invoke them</td></tr>
+<tr><th>filters </th>
+        <td class="description">Filter strings...</td></tr>
+<tr><th>flip_duplex <span class="info">&#160;DEPRECATED&#160;</span></th>
+        <td class="description">1 = Flip page for back sides </td></tr>
+<tr><th>fonts </th>
+        <td class="description">Pre-loaded fonts</td></tr>
+<tr><th>groups </th>
+        <td class="description">UI groups</td></tr>
+<tr><th>jcl_begin </th>
+        <td class="description">Start JCL commands</td></tr>
+<tr><th>jcl_end </th>
+        <td class="description">End JCL commands</td></tr>
+<tr><th>jcl_ps </th>
+        <td class="description">Enter PostScript interpreter</td></tr>
+<tr><th>landscape </th>
+        <td class="description">-90 or 90</td></tr>
+<tr><th>lang_encoding </th>
+        <td class="description">Language encoding</td></tr>
+<tr><th>lang_version </th>
+        <td class="description">Language version (English, Spanish, etc.)</td></tr>
+<tr><th>language_level </th>
+        <td class="description">Language level of device</td></tr>
+<tr><th>manual_copies </th>
+        <td class="description">1 = Copies done manually, 0 = hardware</td></tr>
+<tr><th>manufacturer </th>
+        <td class="description">Manufacturer name</td></tr>
+<tr><th>model_number </th>
+        <td class="description">Device-specific model number</td></tr>
+<tr><th>modelname </th>
+        <td class="description">Model name (general)</td></tr>
+<tr><th>nickname </th>
+        <td class="description">Nickname (specific)</td></tr>
+<tr><th>num_consts </th>
+        <td class="description">Number of UI/Non-UI constraints</td></tr>
+<tr><th>num_emulations </th>
+        <td class="description">Number of emulations supported</td></tr>
+<tr><th>num_filters </th>
+        <td class="description">Number of filters</td></tr>
+<tr><th>num_fonts </th>
+        <td class="description">Number of pre-loaded fonts</td></tr>
+<tr><th>num_groups </th>
+        <td class="description">Number of UI groups</td></tr>
+<tr><th>num_profiles <span class="info">&#160;DEPRECATED&#160;</span></th>
+        <td class="description">Number of sRGB color profiles </td></tr>
+<tr><th>num_sizes </th>
+        <td class="description">Number of page sizes</td></tr>
+<tr><th>patches </th>
+        <td class="description">Patch commands to be sent to printer</td></tr>
+<tr><th>pcfilename <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th>
+        <td class="description">PCFileName string </td></tr>
+<tr><th>product </th>
+        <td class="description">Product name (from PS RIP/interpreter)</td></tr>
+<tr><th>profiles <span class="info">&#160;DEPRECATED&#160;</span></th>
+        <td class="description">sRGB color profiles </td></tr>
+<tr><th>protocols <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></th>
+        <td class="description">Protocols (BCP, TBCP) string </td></tr>
+<tr><th>shortnickname </th>
+        <td class="description">Short version of nickname</td></tr>
+<tr><th>sizes </th>
+        <td class="description">Page sizes</td></tr>
+<tr><th>throughput </th>
+        <td class="description">Pages per minute</td></tr>
+<tr><th>ttrasterizer </th>
+        <td class="description">Truetype rasterizer</td></tr>
+<tr><th>variable_sizes </th>
+        <td class="description">1 = supports variable sizes, 0 = doesn't</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_group_s">ppd_group_s</a></h3>
         <p class="description">Groups</p>
 <p class="code">struct ppd_group_s {<br>
@@ -1936,20 +1794,20 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;struct <a href="#ppd_group_s">ppd_group_s</a> *subgroups;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>PPD_MAX_NAME] </dt>
-        <dd class="description">Human-readable group name</dd>
-<dt>name[PPD_MAX_NAME] <span class="info">&#160;CUPS 1.1.18/macOS 10.3&#160;</span></dt>
-        <dd class="description">Group name </dd>
-<dt>num_options </dt>
-        <dd class="description">Number of options</dd>
-<dt>num_subgroups </dt>
-        <dd class="description">Number of sub-groups</dd>
-<dt>options </dt>
-        <dd class="description">Options</dd>
-<dt>subgroups </dt>
-        <dd class="description">Sub-groups (max depth = 1)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>PPD_MAX_NAME] </th>
+        <td class="description">Human-readable group name</td></tr>
+<tr><th>name[PPD_MAX_NAME] <span class="info">&#160;CUPS 1.1.18/macOS 10.3&#160;</span></th>
+        <td class="description">Group name </td></tr>
+<tr><th>num_options </th>
+        <td class="description">Number of options</td></tr>
+<tr><th>num_subgroups </th>
+        <td class="description">Number of sub-groups</td></tr>
+<tr><th>options </th>
+        <td class="description">Options</td></tr>
+<tr><th>subgroups </th>
+        <td class="description">Sub-groups (max depth = 1)</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_option_s">ppd_option_s</a></h3>
         <p class="description">Options</p>
 <p class="code">struct ppd_option_s {<br>
@@ -1964,26 +1822,26 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;<a href="#ppd_ui_t">ppd_ui_t</a> ui;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>choices </dt>
-        <dd class="description">Option choices</dd>
-<dt>conflicted </dt>
-        <dd class="description">0 if no conflicts exist, 1 otherwise</dd>
-<dt>defchoice[PPD_MAX_NAME] </dt>
-        <dd class="description">Default option choice</dd>
-<dt>keyword[PPD_MAX_NAME] </dt>
-        <dd class="description">Option keyword name (&quot;PageSize&quot;, etc.)</dd>
-<dt>num_choices </dt>
-        <dd class="description">Number of option choices</dd>
-<dt>order </dt>
-        <dd class="description">Order number</dd>
-<dt>section </dt>
-        <dd class="description">Section for command</dd>
-<dt>text[PPD_MAX_TEXT] </dt>
-        <dd class="description">Human-readable text</dd>
-<dt>ui </dt>
-        <dd class="description">Type of UI option</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>choices </th>
+        <td class="description">Option choices</td></tr>
+<tr><th>conflicted </th>
+        <td class="description">0 if no conflicts exist, 1 otherwise</td></tr>
+<tr><th>defchoice[PPD_MAX_NAME] </th>
+        <td class="description">Default option choice</td></tr>
+<tr><th>keyword[PPD_MAX_NAME] </th>
+        <td class="description">Option keyword name (&quot;PageSize&quot;, etc.)</td></tr>
+<tr><th>num_choices </th>
+        <td class="description">Number of option choices</td></tr>
+<tr><th>order </th>
+        <td class="description">Order number</td></tr>
+<tr><th>section </th>
+        <td class="description">Section for command</td></tr>
+<tr><th>text[PPD_MAX_TEXT] </th>
+        <td class="description">Human-readable text</td></tr>
+<tr><th>ui </th>
+        <td class="description">Type of UI option</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_profile_s">ppd_profile_s</a></h3>
         <p class="description">sRGB Color Profiles</p>
 <p class="code">struct ppd_profile_s {<br>
@@ -1994,18 +1852,18 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char resolution[PPD_MAX_NAME];<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>density </dt>
-        <dd class="description">Ink density to use</dd>
-<dt>gamma </dt>
-        <dd class="description">Gamma correction to use</dd>
-<dt>matrix[3][3] </dt>
-        <dd class="description">Transform matrix</dd>
-<dt>media_type[PPD_MAX_NAME] </dt>
-        <dd class="description">Media type or &quot;-&quot;</dd>
-<dt>resolution[PPD_MAX_NAME] </dt>
-        <dd class="description">Resolution or &quot;-&quot;</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>density </th>
+        <td class="description">Ink density to use</td></tr>
+<tr><th>gamma </th>
+        <td class="description">Gamma correction to use</td></tr>
+<tr><th>matrix[3][3] </th>
+        <td class="description">Transform matrix</td></tr>
+<tr><th>media_type[PPD_MAX_NAME] </th>
+        <td class="description">Media type or &quot;-&quot;</td></tr>
+<tr><th>resolution[PPD_MAX_NAME] </th>
+        <td class="description">Resolution or &quot;-&quot;</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="ppd_size_s">ppd_size_s</a></h3>
         <p class="description">Page Sizes</p>
 <p class="code">struct ppd_size_s {<br>
@@ -2019,24 +1877,24 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;float width;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>bottom </dt>
-        <dd class="description">Bottom printable margin in points</dd>
-<dt>left </dt>
-        <dd class="description">Left printable margin in points</dd>
-<dt>length </dt>
-        <dd class="description">Length of media in points</dd>
-<dt>marked </dt>
-        <dd class="description">Page size selected?</dd>
-<dt>name[PPD_MAX_NAME] </dt>
-        <dd class="description">Media size option</dd>
-<dt>right </dt>
-        <dd class="description">Right printable margin in points</dd>
-<dt>top </dt>
-        <dd class="description">Top printable margin in points</dd>
-<dt>width </dt>
-        <dd class="description">Width of media in points</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>bottom </th>
+        <td class="description">Bottom printable margin in points</td></tr>
+<tr><th>left </th>
+        <td class="description">Left printable margin in points</td></tr>
+<tr><th>length </th>
+        <td class="description">Length of media in points</td></tr>
+<tr><th>marked </th>
+        <td class="description">Page size selected?</td></tr>
+<tr><th>name[PPD_MAX_NAME] </th>
+        <td class="description">Media size option</td></tr>
+<tr><th>right </th>
+        <td class="description">Right printable margin in points</td></tr>
+<tr><th>top </th>
+        <td class="description">Top printable margin in points</td></tr>
+<tr><th>width </th>
+        <td class="description">Width of media in points</td></tr>
+</tbody></table>
       <h2 class="title"><a id="UNIONS">Unions</a></h2>
 <h3 class="union"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppd_cplimit_u">ppd_cplimit_u</a></h3>
         <p class="description">Custom Parameter Limit </p>
@@ -2051,24 +1909,24 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;int custom_string;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>custom_curve </dt>
-        <dd class="description">Gamma value</dd>
-<dt>custom_int </dt>
-        <dd class="description">Integer value</dd>
-<dt>custom_invcurve </dt>
-        <dd class="description">Gamma value</dd>
-<dt>custom_passcode </dt>
-        <dd class="description">Passcode length</dd>
-<dt>custom_password </dt>
-        <dd class="description">Password length</dd>
-<dt>custom_points </dt>
-        <dd class="description">Measurement value</dd>
-<dt>custom_real </dt>
-        <dd class="description">Real value</dd>
-<dt>custom_string </dt>
-        <dd class="description">String length</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>custom_curve </th>
+        <td class="description">Gamma value</td></tr>
+<tr><th>custom_int </th>
+        <td class="description">Integer value</td></tr>
+<tr><th>custom_invcurve </th>
+        <td class="description">Gamma value</td></tr>
+<tr><th>custom_passcode </th>
+        <td class="description">Passcode length</td></tr>
+<tr><th>custom_password </th>
+        <td class="description">Password length</td></tr>
+<tr><th>custom_points </th>
+        <td class="description">Measurement value</td></tr>
+<tr><th>custom_real </th>
+        <td class="description">Real value</td></tr>
+<tr><th>custom_string </th>
+        <td class="description">String length</td></tr>
+</tbody></table>
 <h3 class="union"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="ppd_cpvalue_u">ppd_cpvalue_u</a></h3>
         <p class="description">Custom Parameter Value </p>
 <p class="code">union ppd_cpvalue_u {<br>
@@ -2082,132 +1940,91 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &#160;&#160;&#160;&#160;char *custom_string;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>custom_curve </dt>
-        <dd class="description">Gamma value</dd>
-<dt>custom_int </dt>
-        <dd class="description">Integer value</dd>
-<dt>custom_invcurve </dt>
-        <dd class="description">Gamma value</dd>
-<dt>custom_passcode </dt>
-        <dd class="description">Passcode value</dd>
-<dt>custom_password </dt>
-        <dd class="description">Password value</dd>
-<dt>custom_points </dt>
-        <dd class="description">Measurement value</dd>
-<dt>custom_real </dt>
-        <dd class="description">Real value</dd>
-<dt>custom_string </dt>
-        <dd class="description">String value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>custom_curve </th>
+        <td class="description">Gamma value</td></tr>
+<tr><th>custom_int </th>
+        <td class="description">Integer value</td></tr>
+<tr><th>custom_invcurve </th>
+        <td class="description">Gamma value</td></tr>
+<tr><th>custom_passcode </th>
+        <td class="description">Passcode value</td></tr>
+<tr><th>custom_password </th>
+        <td class="description">Password value</td></tr>
+<tr><th>custom_points </th>
+        <td class="description">Measurement value</td></tr>
+<tr><th>custom_real </th>
+        <td class="description">Real value</td></tr>
+<tr><th>custom_string </th>
+        <td class="description">String value</td></tr>
+</tbody></table>
       <h2 class="title"><a id="ENUMERATIONS">Constants</a></h2>
       <h3 class="enumeration"><a id="ppd_conform_e"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span>ppd_conform_e</a></h3>
         <p class="description">Conformance Levels </p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>PPD_CONFORM_RELAXED </dt>
-        <dd class="description">Relax whitespace and control char</dd>
-        <dt>PPD_CONFORM_STRICT </dt>
-        <dd class="description">Require strict conformance</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>PPD_CONFORM_RELAXED </th>        <td class="description">Relax whitespace and control char</td></tr>
+        <tr><th>PPD_CONFORM_STRICT </th>        <td class="description">Require strict conformance</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ppd_cs_e">ppd_cs_e</a></h3>
         <p class="description">Colorspaces</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>PPD_CS_CMY </dt>
-        <dd class="description">CMY colorspace</dd>
-        <dt>PPD_CS_CMYK </dt>
-        <dd class="description">CMYK colorspace</dd>
-        <dt>PPD_CS_GRAY </dt>
-        <dd class="description">Grayscale colorspace</dd>
-        <dt>PPD_CS_N </dt>
-        <dd class="description">DeviceN colorspace</dd>
-        <dt>PPD_CS_RGB </dt>
-        <dd class="description">RGB colorspace</dd>
-        <dt>PPD_CS_RGBK </dt>
-        <dd class="description">RGBK (K = gray) colorspace</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>PPD_CS_CMY </th>        <td class="description">CMY colorspace</td></tr>
+        <tr><th>PPD_CS_CMYK </th>        <td class="description">CMYK colorspace</td></tr>
+        <tr><th>PPD_CS_GRAY </th>        <td class="description">Grayscale colorspace</td></tr>
+        <tr><th>PPD_CS_N </th>        <td class="description">DeviceN colorspace</td></tr>
+        <tr><th>PPD_CS_RGB </th>        <td class="description">RGB colorspace</td></tr>
+        <tr><th>PPD_CS_RGBK </th>        <td class="description">RGBK (K = gray) colorspace</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ppd_section_e">ppd_section_e</a></h3>
         <p class="description">Order dependency sections</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>PPD_ORDER_ANY </dt>
-        <dd class="description">Option code can be anywhere in the file</dd>
-        <dt>PPD_ORDER_DOCUMENT </dt>
-        <dd class="description">... must be in the DocumentSetup section</dd>
-        <dt>PPD_ORDER_EXIT </dt>
-        <dd class="description">... must be sent prior to the document</dd>
-        <dt>PPD_ORDER_JCL </dt>
-        <dd class="description">... must be sent as a JCL command</dd>
-        <dt>PPD_ORDER_PAGE </dt>
-        <dd class="description">... must be in the PageSetup section</dd>
-        <dt>PPD_ORDER_PROLOG </dt>
-        <dd class="description">... must be in the Prolog section</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>PPD_ORDER_ANY </th>        <td class="description">Option code can be anywhere in the file</td></tr>
+        <tr><th>PPD_ORDER_DOCUMENT </th>        <td class="description">... must be in the DocumentSetup section</td></tr>
+        <tr><th>PPD_ORDER_EXIT </th>        <td class="description">... must be sent prior to the document</td></tr>
+        <tr><th>PPD_ORDER_JCL </th>        <td class="description">... must be sent as a JCL command</td></tr>
+        <tr><th>PPD_ORDER_PAGE </th>        <td class="description">... must be in the PageSetup section</td></tr>
+        <tr><th>PPD_ORDER_PROLOG </th>        <td class="description">... must be in the Prolog section</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ppd_status_e"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span>ppd_status_e</a></h3>
         <p class="description">Status Codes </p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>PPD_ALLOC_ERROR </dt>
-        <dd class="description">Memory allocation error</dd>
-        <dt>PPD_BAD_CUSTOM_PARAM </dt>
-        <dd class="description">Bad custom parameter</dd>
-        <dt>PPD_BAD_OPEN_GROUP </dt>
-        <dd class="description">Bad OpenGroup</dd>
-        <dt>PPD_BAD_OPEN_UI </dt>
-        <dd class="description">Bad OpenUI/JCLOpenUI</dd>
-        <dt>PPD_BAD_ORDER_DEPENDENCY </dt>
-        <dd class="description">Bad OrderDependency</dd>
-        <dt>PPD_BAD_UI_CONSTRAINTS </dt>
-        <dd class="description">Bad UIConstraints</dd>
-        <dt>PPD_BAD_VALUE </dt>
-        <dd class="description">Bad value string</dd>
-        <dt>PPD_FILE_OPEN_ERROR </dt>
-        <dd class="description">Unable to open PPD file</dd>
-        <dt>PPD_ILLEGAL_CHARACTER </dt>
-        <dd class="description">Illegal control character</dd>
-        <dt>PPD_ILLEGAL_MAIN_KEYWORD </dt>
-        <dd class="description">Illegal main keyword string</dd>
-        <dt>PPD_ILLEGAL_OPTION_KEYWORD </dt>
-        <dd class="description">Illegal option keyword string</dd>
-        <dt>PPD_ILLEGAL_TRANSLATION </dt>
-        <dd class="description">Illegal translation string</dd>
-        <dt>PPD_ILLEGAL_WHITESPACE </dt>
-        <dd class="description">Illegal whitespace character</dd>
-        <dt>PPD_INTERNAL_ERROR </dt>
-        <dd class="description">Internal error</dd>
-        <dt>PPD_LINE_TOO_LONG </dt>
-        <dd class="description">Line longer than 255 chars</dd>
-        <dt>PPD_MISSING_ASTERISK </dt>
-        <dd class="description">Missing asterisk in column 0</dd>
-        <dt>PPD_MISSING_CLOSE_GROUP </dt>
-        <dd class="description">Missing CloseGroup</dd>
-        <dt>PPD_MISSING_OPTION_KEYWORD </dt>
-        <dd class="description">Missing option keyword</dd>
-        <dt>PPD_MISSING_PPDADOBE4 </dt>
-        <dd class="description">Missing PPD-Adobe-4.x header</dd>
-        <dt>PPD_MISSING_VALUE </dt>
-        <dd class="description">Missing value string</dd>
-        <dt>PPD_NESTED_OPEN_GROUP </dt>
-        <dd class="description">OpenGroup without a CloseGroup first</dd>
-        <dt>PPD_NESTED_OPEN_UI </dt>
-        <dd class="description">OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first</dd>
-        <dt>PPD_NULL_FILE </dt>
-        <dd class="description">NULL PPD file pointer</dd>
-        <dt>PPD_OK </dt>
-        <dd class="description">OK</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>PPD_ALLOC_ERROR </th>        <td class="description">Memory allocation error</td></tr>
+        <tr><th>PPD_BAD_CUSTOM_PARAM </th>        <td class="description">Bad custom parameter</td></tr>
+        <tr><th>PPD_BAD_OPEN_GROUP </th>        <td class="description">Bad OpenGroup</td></tr>
+        <tr><th>PPD_BAD_OPEN_UI </th>        <td class="description">Bad OpenUI/JCLOpenUI</td></tr>
+        <tr><th>PPD_BAD_ORDER_DEPENDENCY </th>        <td class="description">Bad OrderDependency</td></tr>
+        <tr><th>PPD_BAD_UI_CONSTRAINTS </th>        <td class="description">Bad UIConstraints</td></tr>
+        <tr><th>PPD_BAD_VALUE </th>        <td class="description">Bad value string</td></tr>
+        <tr><th>PPD_FILE_OPEN_ERROR </th>        <td class="description">Unable to open PPD file</td></tr>
+        <tr><th>PPD_ILLEGAL_CHARACTER </th>        <td class="description">Illegal control character</td></tr>
+        <tr><th>PPD_ILLEGAL_MAIN_KEYWORD </th>        <td class="description">Illegal main keyword string</td></tr>
+        <tr><th>PPD_ILLEGAL_OPTION_KEYWORD </th>        <td class="description">Illegal option keyword string</td></tr>
+        <tr><th>PPD_ILLEGAL_TRANSLATION </th>        <td class="description">Illegal translation string</td></tr>
+        <tr><th>PPD_ILLEGAL_WHITESPACE </th>        <td class="description">Illegal whitespace character</td></tr>
+        <tr><th>PPD_INTERNAL_ERROR </th>        <td class="description">Internal error</td></tr>
+        <tr><th>PPD_LINE_TOO_LONG </th>        <td class="description">Line longer than 255 chars</td></tr>
+        <tr><th>PPD_MISSING_ASTERISK </th>        <td class="description">Missing asterisk in column 0</td></tr>
+        <tr><th>PPD_MISSING_CLOSE_GROUP </th>        <td class="description">Missing CloseGroup</td></tr>
+        <tr><th>PPD_MISSING_OPTION_KEYWORD </th>        <td class="description">Missing option keyword</td></tr>
+        <tr><th>PPD_MISSING_PPDADOBE4 </th>        <td class="description">Missing PPD-Adobe-4.x header</td></tr>
+        <tr><th>PPD_MISSING_VALUE </th>        <td class="description">Missing value string</td></tr>
+        <tr><th>PPD_NESTED_OPEN_GROUP </th>        <td class="description">OpenGroup without a CloseGroup first</td></tr>
+        <tr><th>PPD_NESTED_OPEN_UI </th>        <td class="description">OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first</td></tr>
+        <tr><th>PPD_NULL_FILE </th>        <td class="description">NULL PPD file pointer</td></tr>
+        <tr><th>PPD_OK </th>        <td class="description">OK</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ppd_ui_e">ppd_ui_e</a></h3>
         <p class="description">UI Types</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>PPD_UI_BOOLEAN </dt>
-        <dd class="description">True or False option</dd>
-        <dt>PPD_UI_PICKMANY </dt>
-        <dd class="description">Pick zero or more from a list</dd>
-        <dt>PPD_UI_PICKONE </dt>
-        <dd class="description">Pick one from a list</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>PPD_UI_BOOLEAN </th>        <td class="description">True or False option</td></tr>
+        <tr><th>PPD_UI_PICKMANY </th>        <td class="description">Pick zero or more from a list</td></tr>
+        <tr><th>PPD_UI_PICKONE </th>        <td class="description">Pick one from a list</td></tr>
+</tbody></table>
     </div>
   </body>
 </html>
index f3d7253f0791e0f86184f23c95374e4d89be9bef..39b91dab36a96d0e9f765d1cad4096865a915067 100644 (file)
@@ -605,49 +605,38 @@ the memory used to read the raster file:</p>
 </ul>
       <h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
 <h3 class="function"><a id="cupsRasterClose">cupsRasterClose</a></h3>
-        <p class="description"></p>
+        <p class="description">Close a raster stream.</p>
 <p class="code">
-void cupsRasterClose (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r<br>
-);</p>
+void cupsRasterClose(<a href="#cups_raster_t">cups_raster_t</a> *r);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Stream to close</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Close a raster stream.</p>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Stream to close</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">The file descriptor associated with the raster stream must be closed
 separately as needed.</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.2/macOS 10.12&#160;</span><a id="cupsRasterInitPWGHeader">cupsRasterInitPWGHeader</a></h3>
         <p class="description">Initialize a page header for PWG Raster output.</p>
 <p class="code">
-int cupsRasterInitPWGHeader (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
-&#160;&#160;&#160;&#160;pwg_media_t *media,<br>
-&#160;&#160;&#160;&#160;const char *type,<br>
-&#160;&#160;&#160;&#160;int xdpi,<br>
-&#160;&#160;&#160;&#160;int ydpi,<br>
-&#160;&#160;&#160;&#160;const char *sides,<br>
-&#160;&#160;&#160;&#160;const char *sheet_back<br>
-);</p>
+int cupsRasterInitPWGHeader(<a href="#cups_page_header2_t">cups_page_header2_t</a> *h, pwg_media_t *media, const char *type, int xdpi, int ydpi, const char *sides, const char *sheet_back);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>h</dt>
-        <dd class="description">Page header</dd>
-<dt>media</dt>
-        <dd class="description">PWG media information</dd>
-<dt>type</dt>
-        <dd class="description">PWG raster type string</dd>
-<dt>xdpi</dt>
-        <dd class="description">Cross-feed direction (horizontal) resolution</dd>
-<dt>ydpi</dt>
-        <dd class="description">Feed direction (vertical) resolution</dd>
-<dt>sides</dt>
-        <dd class="description">IPP &quot;sides&quot; option value</dd>
-<dt>sheet_back</dt>
-        <dd class="description">Transform for back side or <code>NULL</code> for none</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>h</th>
+        <td class="description">Page header</td></tr>
+<tr><th>media</th>
+        <td class="description">PWG media information</td></tr>
+<tr><th>type</th>
+        <td class="description">PWG raster type string</td></tr>
+<tr><th>xdpi</th>
+        <td class="description">Cross-feed direction (horizontal) resolution</td></tr>
+<tr><th>ydpi</th>
+        <td class="description">Feed direction (vertical) resolution</td></tr>
+<tr><th>sides</th>
+        <td class="description">IPP &quot;sides&quot; option value</td></tr>
+<tr><th>sheet_back</th>
+        <td class="description">Transform for back side or <code>NULL</code> for none</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -666,26 +655,20 @@ to apply for the back side of a page.  Pass <code>NULL</code> for the front side
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
         <p class="description">Interpret PPD commands to create a page header.</p>
 <p class="code">
-int cupsRasterInterpretPPD (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
-&#160;&#160;&#160;&#160;ppd_file_t *ppd,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;cups_option_t *options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func<br>
-);</p>
+int cupsRasterInterpretPPD(<a href="#cups_page_header2_t">cups_page_header2_t</a> *h, ppd_file_t *ppd, int num_options, cups_option_t *options, <a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>h</dt>
-        <dd class="description">Page header to create</dd>
-<dt>ppd</dt>
-        <dd class="description">PPD file</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-<dt>func</dt>
-        <dd class="description">Optional page header callback (<code>NULL</code> for none)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>h</th>
+        <td class="description">Page header to create</td></tr>
+<tr><th>ppd</th>
+        <td class="description">PPD file</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+<tr><th>func</th>
+        <td class="description">Optional page header callback (<code>NULL</code> for none)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -717,20 +700,17 @@ are supported.
 <h3 class="function"><a id="cupsRasterOpen">cupsRasterOpen</a></h3>
         <p class="description">Open a raster stream using a file descriptor.</p>
 <p class="code">
-<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
-);</p>
+<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen(int fd, <a href="#cups_mode_t">cups_mode_t</a> mode);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fd</dt>
-        <dd class="description">File descriptor</dd>
-<dt>mode</dt>
-        <dd class="description">Mode - <code>CUPS_RASTER_READ</code>,
+<table class="list"><tbody>
+<tr><th>fd</th>
+        <td class="description">File descriptor</td></tr>
+<tr><th>mode</th>
+        <td class="description">Mode - <code>CUPS_RASTER_READ</code>,
 <code>CUPS_RASTER_WRITE</code>,
 <code>CUPS_RASTER_WRITE_COMPRESSED</code>,
-or <code>CUPS_RASTER_WRITE_PWG</code></dd>
-</dl>
+or <code>CUPS_RASTER_WRITE_PWG</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New stream</p>
 <h4 class="discussion">Discussion</h4>
@@ -746,23 +726,19 @@ be used - compressed and PWG output is generally 25-50% smaller but adds a
 <h3 class="function"><a id="cupsRasterOpenIO">cupsRasterOpenIO</a></h3>
         <p class="description">Open a raster stream using a callback function.</p>
 <p class="code">
-<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb,<br>
-&#160;&#160;&#160;&#160;void *ctx,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
-);</p>
+<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO(<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb, void *ctx, <a href="#cups_mode_t">cups_mode_t</a> mode);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>iocb</dt>
-        <dd class="description">Read/write callback</dd>
-<dt>ctx</dt>
-        <dd class="description">Context pointer for callback</dd>
-<dt>mode</dt>
-        <dd class="description">Mode - <code>CUPS_RASTER_READ</code>,
+<table class="list"><tbody>
+<tr><th>iocb</th>
+        <td class="description">Read/write callback</td></tr>
+<tr><th>ctx</th>
+        <td class="description">Context pointer for callback</td></tr>
+<tr><th>mode</th>
+        <td class="description">Mode - <code>CUPS_RASTER_READ</code>,
 <code>CUPS_RASTER_WRITE</code>,
 <code>CUPS_RASTER_WRITE_COMPRESSED</code>,
-or <code>CUPS_RASTER_WRITE_PWG</code></dd>
-</dl>
+or <code>CUPS_RASTER_WRITE_PWG</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New stream</p>
 <h4 class="discussion">Discussion</h4>
@@ -777,17 +753,14 @@ be used - compressed and PWG output is generally 25-50% smaller but adds a
         <p class="description">Read a raster page header and store it in a
 version 1 page header structure.</p>
 <p class="code">
-unsigned cupsRasterReadHeader (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
-);</p>
+unsigned cupsRasterReadHeader(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header_t">cups_page_header_t</a> *h);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>h</dt>
-        <dd class="description">Pointer to header data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>h</th>
+        <td class="description">Pointer to header data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure/end-of-file</p>
 <h4 class="discussion">Discussion</h4>
@@ -802,36 +775,29 @@ page headers and copying only the version 1 data into the provided buffer.
         <p class="description">Read a raster page header and store it in a
 version 2 page header structure.</p>
 <p class="code">
-unsigned cupsRasterReadHeader2 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
-);</p>
+unsigned cupsRasterReadHeader2(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header2_t">cups_page_header2_t</a> *h);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>h</dt>
-        <dd class="description">Pointer to header data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>h</th>
+        <td class="description">Pointer to header data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure/end-of-file</p>
 <h3 class="function"><a id="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
         <p class="description">Read raster pixels.</p>
 <p class="code">
-unsigned cupsRasterReadPixels (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;unsigned char *p,<br>
-&#160;&#160;&#160;&#160;unsigned len<br>
-);</p>
+unsigned cupsRasterReadPixels(<a href="#cups_raster_t">cups_raster_t</a> *r, unsigned char *p, unsigned len);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>p</dt>
-        <dd class="description">Pointer to pixel buffer</dd>
-<dt>len</dt>
-        <dd class="description">Number of bytes to read</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>p</th>
+        <td class="description">Pointer to pixel buffer</td></tr>
+<tr><th>len</th>
+        <td class="description">Number of bytes to read</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes read</p>
 <h4 class="discussion">Discussion</h4>
@@ -842,17 +808,14 @@ the line buffer and as the number of bytes to read.</p>
         <p class="description">Write a raster page header from a version 1 page
 header structure.</p>
 <p class="code">
-unsigned cupsRasterWriteHeader (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
-);</p>
+unsigned cupsRasterWriteHeader(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header_t">cups_page_header_t</a> *h);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>h</dt>
-        <dd class="description">Raster page header</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>h</th>
+        <td class="description">Raster page header</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -863,17 +826,14 @@ unsigned cupsRasterWriteHeader (<br>
         <p class="description">Write a raster page header from a version 2
 page header structure.</p>
 <p class="code">
-unsigned cupsRasterWriteHeader2 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
-);</p>
+unsigned cupsRasterWriteHeader2(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header2_t">cups_page_header2_t</a> *h);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>h</dt>
-        <dd class="description">Raster page header</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>h</th>
+        <td class="description">Raster page header</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -883,20 +843,16 @@ unsigned cupsRasterWriteHeader2 (<br>
 <h3 class="function"><a id="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
         <p class="description">Write raster pixels.</p>
 <p class="code">
-unsigned cupsRasterWritePixels (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-&#160;&#160;&#160;&#160;unsigned char *p,<br>
-&#160;&#160;&#160;&#160;unsigned len<br>
-);</p>
+unsigned cupsRasterWritePixels(<a href="#cups_raster_t">cups_raster_t</a> *r, unsigned char *p, unsigned len);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>r</dt>
-        <dd class="description">Raster stream</dd>
-<dt>p</dt>
-        <dd class="description">Bytes to write</dd>
-<dt>len</dt>
-        <dd class="description">Number of bytes to write</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>r</th>
+        <td class="description">Raster stream</td></tr>
+<tr><th>p</th>
+        <td class="description">Bytes to write</td></tr>
+<tr><th>len</th>
+        <td class="description">Number of bytes to write</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes written</p>
 <h4 class="discussion">Discussion</h4>
@@ -1029,109 +985,109 @@ typedef struct _cups_raster_s cups_raster_t;
 &#160;&#160;&#160;&#160;unsigned cupsWidth;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>AdvanceDistance </dt>
-        <dd class="description">AdvanceDistance value in points</dd>
-<dt>AdvanceMedia </dt>
-        <dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
-<dt>Collate </dt>
-        <dd class="description">Collated copies value</dd>
-<dt>CutMedia </dt>
-        <dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
-<dt>Duplex </dt>
-        <dd class="description">Duplexed (double-sided) value</dd>
-<dt>HWResolution[2] </dt>
-        <dd class="description">Resolution in dots-per-inch</dd>
-<dt>ImagingBoundingBox[4] </dt>
-        <dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
-<dt>InsertSheet </dt>
-        <dd class="description">InsertSheet value</dd>
-<dt>Jog </dt>
-        <dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
-<dt>LeadingEdge </dt>
-        <dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
-<dt>ManualFeed </dt>
-        <dd class="description">ManualFeed value</dd>
-<dt>Margins[2] </dt>
-        <dd class="description">Lower-lefthand margins in points</dd>
-<dt>MediaClass[64] </dt>
-        <dd class="description">MediaClass string</dd>
-<dt>MediaColor[64] </dt>
-        <dd class="description">MediaColor string</dd>
-<dt>MediaPosition </dt>
-        <dd class="description">MediaPosition value</dd>
-<dt>MediaType[64] </dt>
-        <dd class="description">MediaType string</dd>
-<dt>MediaWeight </dt>
-        <dd class="description">MediaWeight value in grams/m^2</dd>
-<dt>MirrorPrint </dt>
-        <dd class="description">MirrorPrint value</dd>
-<dt>NegativePrint </dt>
-        <dd class="description">NegativePrint value</dd>
-<dt>NumCopies </dt>
-        <dd class="description">Number of copies to produce</dd>
-<dt>Orientation </dt>
-        <dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
-<dt>OutputFaceUp </dt>
-        <dd class="description">OutputFaceUp value</dd>
-<dt>OutputType[64] </dt>
-        <dd class="description">OutputType string</dd>
-<dt>PageSize[2] </dt>
-        <dd class="description">Width and length of page in points</dd>
-<dt>Separations </dt>
-        <dd class="description">Separations value</dd>
-<dt>TraySwitch </dt>
-        <dd class="description">TraySwitch value</dd>
-<dt>Tumble </dt>
-        <dd class="description">Tumble value</dd>
-<dt>cupsBitsPerColor </dt>
-        <dd class="description">Number of bits for each color</dd>
-<dt>cupsBitsPerPixel </dt>
-        <dd class="description">Number of bits for each pixel</dd>
-<dt>cupsBorderlessScalingFactor <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Scaling that was applied to page data </dd>
-<dt>cupsBytesPerLine </dt>
-        <dd class="description">Number of bytes per line</dd>
-<dt>cupsColorOrder </dt>
-        <dd class="description">Order of colors</dd>
-<dt>cupsColorSpace </dt>
-        <dd class="description">True colorspace</dd>
-<dt>cupsCompression </dt>
-        <dd class="description">Device compression to use</dd>
-<dt>cupsHeight </dt>
-        <dd class="description">Height of page image in pixels</dd>
-<dt>cupsImagingBBox[4] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Floating point ImagingBoundingBox
+<table class="list"><tbody>
+<tr><th>AdvanceDistance </th>
+        <td class="description">AdvanceDistance value in points</td></tr>
+<tr><th>AdvanceMedia </th>
+        <td class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</td></tr>
+<tr><th>Collate </th>
+        <td class="description">Collated copies value</td></tr>
+<tr><th>CutMedia </th>
+        <td class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</td></tr>
+<tr><th>Duplex </th>
+        <td class="description">Duplexed (double-sided) value</td></tr>
+<tr><th>HWResolution[2] </th>
+        <td class="description">Resolution in dots-per-inch</td></tr>
+<tr><th>ImagingBoundingBox[4] </th>
+        <td class="description">Pixel region that is painted (points, left, bottom, right, top)</td></tr>
+<tr><th>InsertSheet </th>
+        <td class="description">InsertSheet value</td></tr>
+<tr><th>Jog </th>
+        <td class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</td></tr>
+<tr><th>LeadingEdge </th>
+        <td class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</td></tr>
+<tr><th>ManualFeed </th>
+        <td class="description">ManualFeed value</td></tr>
+<tr><th>Margins[2] </th>
+        <td class="description">Lower-lefthand margins in points</td></tr>
+<tr><th>MediaClass[64] </th>
+        <td class="description">MediaClass string</td></tr>
+<tr><th>MediaColor[64] </th>
+        <td class="description">MediaColor string</td></tr>
+<tr><th>MediaPosition </th>
+        <td class="description">MediaPosition value</td></tr>
+<tr><th>MediaType[64] </th>
+        <td class="description">MediaType string</td></tr>
+<tr><th>MediaWeight </th>
+        <td class="description">MediaWeight value in grams/m^2</td></tr>
+<tr><th>MirrorPrint </th>
+        <td class="description">MirrorPrint value</td></tr>
+<tr><th>NegativePrint </th>
+        <td class="description">NegativePrint value</td></tr>
+<tr><th>NumCopies </th>
+        <td class="description">Number of copies to produce</td></tr>
+<tr><th>Orientation </th>
+        <td class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</td></tr>
+<tr><th>OutputFaceUp </th>
+        <td class="description">OutputFaceUp value</td></tr>
+<tr><th>OutputType[64] </th>
+        <td class="description">OutputType string</td></tr>
+<tr><th>PageSize[2] </th>
+        <td class="description">Width and length of page in points</td></tr>
+<tr><th>Separations </th>
+        <td class="description">Separations value</td></tr>
+<tr><th>TraySwitch </th>
+        <td class="description">TraySwitch value</td></tr>
+<tr><th>Tumble </th>
+        <td class="description">Tumble value</td></tr>
+<tr><th>cupsBitsPerColor </th>
+        <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>
+        <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>
+<tr><th>cupsColorOrder </th>
+        <td class="description">Order of colors</td></tr>
+<tr><th>cupsColorSpace </th>
+        <td class="description">True colorspace</td></tr>
+<tr><th>cupsCompression </th>
+        <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>
+        <td class="description">Floating point ImagingBoundingBox
 (scaling factor not applied, left,
-bottom, right, top) </dd>
-<dt>cupsInteger[16] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">User-defined integer values </dd>
-<dt>cupsMarkerType[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Ink/toner type </dd>
-<dt>cupsMediaType </dt>
-        <dd class="description">Media type code</dd>
-<dt>cupsNumColors <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Number of color compoents </dd>
-<dt>cupsPageSizeName[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">PageSize name </dd>
-<dt>cupsPageSize[2] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Floating point PageSize (scaling *
-factor not applied) </dd>
-<dt>cupsReal[16] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">User-defined floating-point values </dd>
-<dt>cupsRenderingIntent[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Color rendering intent </dd>
-<dt>cupsRowCount </dt>
-        <dd class="description">Rows per band</dd>
-<dt>cupsRowFeed </dt>
-        <dd class="description">Feed between bands</dd>
-<dt>cupsRowStep </dt>
-        <dd class="description">Spacing between lines</dd>
-<dt>cupsString[16][64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">User-defined string values </dd>
-<dt>cupsWidth </dt>
-        <dd class="description">Width of page image in pixels</dd>
-</dl>
+bottom, right, top) </td></tr>
+<tr><th>cupsInteger[16] <span class="info">&#160;CUPS 1.2/macOS 10.5&#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>
+        <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>
+        <td class="description">Number of color compoents </td></tr>
+<tr><th>cupsPageSizeName[64] <span class="info">&#160;CUPS 1.2/macOS 10.5&#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>
+        <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>
+        <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>
+        <td class="description">Color rendering intent </td></tr>
+<tr><th>cupsRowCount </th>
+        <td class="description">Rows per band</td></tr>
+<tr><th>cupsRowFeed </th>
+        <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>
+        <td class="description">User-defined string values </td></tr>
+<tr><th>cupsWidth </th>
+        <td class="description">Width of page image in pixels</td></tr>
+</tbody></table>
 <h3 class="struct"><span class="info">&#160;DEPRECATED&#160;</span><a id="cups_page_header_s">cups_page_header_s</a></h3>
         <p class="description">Version 1 page header </p>
 <p class="code">struct cups_page_header_s {<br>
@@ -1176,296 +1132,214 @@ factor not applied) </dd>
 &#160;&#160;&#160;&#160;unsigned cupsWidth;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>AdvanceDistance </dt>
-        <dd class="description">AdvanceDistance value in points</dd>
-<dt>AdvanceMedia </dt>
-        <dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
-<dt>Collate </dt>
-        <dd class="description">Collated copies value</dd>
-<dt>CutMedia </dt>
-        <dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
-<dt>Duplex </dt>
-        <dd class="description">Duplexed (double-sided) value</dd>
-<dt>HWResolution[2] </dt>
-        <dd class="description">Resolution in dots-per-inch</dd>
-<dt>ImagingBoundingBox[4] </dt>
-        <dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
-<dt>InsertSheet </dt>
-        <dd class="description">InsertSheet value</dd>
-<dt>Jog </dt>
-        <dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
-<dt>LeadingEdge </dt>
-        <dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
-<dt>ManualFeed </dt>
-        <dd class="description">ManualFeed value</dd>
-<dt>Margins[2] </dt>
-        <dd class="description">Lower-lefthand margins in points</dd>
-<dt>MediaClass[64] </dt>
-        <dd class="description">MediaClass string</dd>
-<dt>MediaColor[64] </dt>
-        <dd class="description">MediaColor string</dd>
-<dt>MediaPosition </dt>
-        <dd class="description">MediaPosition value</dd>
-<dt>MediaType[64] </dt>
-        <dd class="description">MediaType string</dd>
-<dt>MediaWeight </dt>
-        <dd class="description">MediaWeight value in grams/m^2</dd>
-<dt>MirrorPrint </dt>
-        <dd class="description">MirrorPrint value</dd>
-<dt>NegativePrint </dt>
-        <dd class="description">NegativePrint value</dd>
-<dt>NumCopies </dt>
-        <dd class="description">Number of copies to produce</dd>
-<dt>Orientation </dt>
-        <dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
-<dt>OutputFaceUp </dt>
-        <dd class="description">OutputFaceUp value</dd>
-<dt>OutputType[64] </dt>
-        <dd class="description">OutputType string</dd>
-<dt>PageSize[2] </dt>
-        <dd class="description">Width and length of page in points</dd>
-<dt>Separations </dt>
-        <dd class="description">Separations value</dd>
-<dt>TraySwitch </dt>
-        <dd class="description">TraySwitch value</dd>
-<dt>Tumble </dt>
-        <dd class="description">Tumble value</dd>
-<dt>cupsBitsPerColor </dt>
-        <dd class="description">Number of bits for each color</dd>
-<dt>cupsBitsPerPixel </dt>
-        <dd class="description">Number of bits for each pixel</dd>
-<dt>cupsBytesPerLine </dt>
-        <dd class="description">Number of bytes per line</dd>
-<dt>cupsColorOrder </dt>
-        <dd class="description">Order of colors</dd>
-<dt>cupsColorSpace </dt>
-        <dd class="description">True colorspace</dd>
-<dt>cupsCompression </dt>
-        <dd class="description">Device compression to use</dd>
-<dt>cupsHeight </dt>
-        <dd class="description">Height of page image in pixels</dd>
-<dt>cupsMediaType </dt>
-        <dd class="description">Media type code</dd>
-<dt>cupsRowCount </dt>
-        <dd class="description">Rows per band</dd>
-<dt>cupsRowFeed </dt>
-        <dd class="description">Feed between bands</dd>
-<dt>cupsRowStep </dt>
-        <dd class="description">Spacing between lines</dd>
-<dt>cupsWidth </dt>
-        <dd class="description">Width of page image in pixels</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>AdvanceDistance </th>
+        <td class="description">AdvanceDistance value in points</td></tr>
+<tr><th>AdvanceMedia </th>
+        <td class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</td></tr>
+<tr><th>Collate </th>
+        <td class="description">Collated copies value</td></tr>
+<tr><th>CutMedia </th>
+        <td class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</td></tr>
+<tr><th>Duplex </th>
+        <td class="description">Duplexed (double-sided) value</td></tr>
+<tr><th>HWResolution[2] </th>
+        <td class="description">Resolution in dots-per-inch</td></tr>
+<tr><th>ImagingBoundingBox[4] </th>
+        <td class="description">Pixel region that is painted (points, left, bottom, right, top)</td></tr>
+<tr><th>InsertSheet </th>
+        <td class="description">InsertSheet value</td></tr>
+<tr><th>Jog </th>
+        <td class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</td></tr>
+<tr><th>LeadingEdge </th>
+        <td class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</td></tr>
+<tr><th>ManualFeed </th>
+        <td class="description">ManualFeed value</td></tr>
+<tr><th>Margins[2] </th>
+        <td class="description">Lower-lefthand margins in points</td></tr>
+<tr><th>MediaClass[64] </th>
+        <td class="description">MediaClass string</td></tr>
+<tr><th>MediaColor[64] </th>
+        <td class="description">MediaColor string</td></tr>
+<tr><th>MediaPosition </th>
+        <td class="description">MediaPosition value</td></tr>
+<tr><th>MediaType[64] </th>
+        <td class="description">MediaType string</td></tr>
+<tr><th>MediaWeight </th>
+        <td class="description">MediaWeight value in grams/m^2</td></tr>
+<tr><th>MirrorPrint </th>
+        <td class="description">MirrorPrint value</td></tr>
+<tr><th>NegativePrint </th>
+        <td class="description">NegativePrint value</td></tr>
+<tr><th>NumCopies </th>
+        <td class="description">Number of copies to produce</td></tr>
+<tr><th>Orientation </th>
+        <td class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</td></tr>
+<tr><th>OutputFaceUp </th>
+        <td class="description">OutputFaceUp value</td></tr>
+<tr><th>OutputType[64] </th>
+        <td class="description">OutputType string</td></tr>
+<tr><th>PageSize[2] </th>
+        <td class="description">Width and length of page in points</td></tr>
+<tr><th>Separations </th>
+        <td class="description">Separations value</td></tr>
+<tr><th>TraySwitch </th>
+        <td class="description">TraySwitch value</td></tr>
+<tr><th>Tumble </th>
+        <td class="description">Tumble value</td></tr>
+<tr><th>cupsBitsPerColor </th>
+        <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>cupsBytesPerLine </th>
+        <td class="description">Number of bytes per line</td></tr>
+<tr><th>cupsColorOrder </th>
+        <td class="description">Order of colors</td></tr>
+<tr><th>cupsColorSpace </th>
+        <td class="description">True colorspace</td></tr>
+<tr><th>cupsCompression </th>
+        <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>cupsMediaType </th>
+        <td class="description">Media type code</td></tr>
+<tr><th>cupsRowCount </th>
+        <td class="description">Rows per band</td></tr>
+<tr><th>cupsRowFeed </th>
+        <td class="description">Feed between bands</td></tr>
+<tr><th>cupsRowStep </th>
+        <td class="description">Spacing between lines</td></tr>
+<tr><th>cupsWidth </th>
+        <td class="description">Width of page image in pixels</td></tr>
+</tbody></table>
       <h2 class="title"><a id="ENUMERATIONS">Constants</a></h2>
       <h3 class="enumeration"><a id="cups_adv_e">cups_adv_e</a></h3>
         <p class="description">AdvanceMedia attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_ADVANCE_FILE </dt>
-        <dd class="description">Advance the roll after this file</dd>
-        <dt>CUPS_ADVANCE_JOB </dt>
-        <dd class="description">Advance the roll after this job</dd>
-        <dt>CUPS_ADVANCE_NONE </dt>
-        <dd class="description">Never advance the roll</dd>
-        <dt>CUPS_ADVANCE_PAGE </dt>
-        <dd class="description">Advance the roll after this page</dd>
-        <dt>CUPS_ADVANCE_SET </dt>
-        <dd class="description">Advance the roll after this set</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_ADVANCE_FILE </th>        <td class="description">Advance the roll after this file</td></tr>
+        <tr><th>CUPS_ADVANCE_JOB </th>        <td class="description">Advance the roll after this job</td></tr>
+        <tr><th>CUPS_ADVANCE_NONE </th>        <td class="description">Never advance the roll</td></tr>
+        <tr><th>CUPS_ADVANCE_PAGE </th>        <td class="description">Advance the roll after this page</td></tr>
+        <tr><th>CUPS_ADVANCE_SET </th>        <td class="description">Advance the roll after this set</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_bool_e">cups_bool_e</a></h3>
         <p class="description">Boolean type</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_FALSE </dt>
-        <dd class="description">Logical false</dd>
-        <dt>CUPS_TRUE </dt>
-        <dd class="description">Logical true</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_FALSE </th>        <td class="description">Logical false</td></tr>
+        <tr><th>CUPS_TRUE </th>        <td class="description">Logical true</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_cspace_e">cups_cspace_e</a></h3>
         <p class="description">cupsColorSpace attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_CSPACE_ADOBERGB <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">Red, green, blue (Adobe RGB) </dd>
-        <dt>CUPS_CSPACE_CIELab <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">CIE Lab </dd>
-        <dt>CUPS_CSPACE_CIEXYZ <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">CIE XYZ </dd>
-        <dt>CUPS_CSPACE_CMY </dt>
-        <dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
-        <dt>CUPS_CSPACE_CMYK </dt>
-        <dd class="description">Cyan, magenta, yellow, black (DeviceCMYK)</dd>
-        <dt>CUPS_CSPACE_DEVICE1 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 1 color </dd>
-        <dt>CUPS_CSPACE_DEVICE2 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 2 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE3 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 3 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE4 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 4 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE5 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 5 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE6 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 6 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE7 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 7 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE8 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 8 colors </dd>
-        <dt>CUPS_CSPACE_DEVICE9 <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 9 colors </dd>
-        <dt>CUPS_CSPACE_DEVICEA <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 10 colors </dd>
-        <dt>CUPS_CSPACE_DEVICEB <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 11 colors </dd>
-        <dt>CUPS_CSPACE_DEVICEC <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 12 colors </dd>
-        <dt>CUPS_CSPACE_DEVICED <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 13 colors </dd>
-        <dt>CUPS_CSPACE_DEVICEE <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 14 colors </dd>
-        <dt>CUPS_CSPACE_DEVICEF <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">DeviceN, 15 colors </dd>
-        <dt>CUPS_CSPACE_GMCK <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Gold, magenta, yellow, black </dd>
-        <dt>CUPS_CSPACE_GMCS <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Gold, magenta, yellow, silver </dd>
-        <dt>CUPS_CSPACE_GOLD <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Gold foil </dd>
-        <dt>CUPS_CSPACE_ICC1 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 1 color </dd>
-        <dt>CUPS_CSPACE_ICC2 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 2 colors </dd>
-        <dt>CUPS_CSPACE_ICC3 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 3 colors </dd>
-        <dt>CUPS_CSPACE_ICC4 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 4 colors </dd>
-        <dt>CUPS_CSPACE_ICC5 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 5 colors </dd>
-        <dt>CUPS_CSPACE_ICC6 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 6 colors </dd>
-        <dt>CUPS_CSPACE_ICC7 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 7 colors </dd>
-        <dt>CUPS_CSPACE_ICC8 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 8 colors </dd>
-        <dt>CUPS_CSPACE_ICC9 <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 9 colors </dd>
-        <dt>CUPS_CSPACE_ICCA <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 10 colors </dd>
-        <dt>CUPS_CSPACE_ICCB <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 11 colors </dd>
-        <dt>CUPS_CSPACE_ICCC <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 12 colors </dd>
-        <dt>CUPS_CSPACE_ICCD <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 13 colors </dd>
-        <dt>CUPS_CSPACE_ICCE <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 14 colors </dd>
-        <dt>CUPS_CSPACE_ICCF <span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span></dt>
-        <dd class="description">ICC-based, 15 colors </dd>
-        <dt>CUPS_CSPACE_K </dt>
-        <dd class="description">Black (DeviceK)</dd>
-        <dt>CUPS_CSPACE_KCMY <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Black, cyan, magenta, yellow </dd>
-        <dt>CUPS_CSPACE_KCMYcm <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Black, cyan, magenta, yellow, light-cyan, light-magenta </dd>
-        <dt>CUPS_CSPACE_RGB </dt>
-        <dd class="description">Red, green, blue (DeviceRGB, sRGB by default)</dd>
-        <dt>CUPS_CSPACE_RGBA </dt>
-        <dd class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</dd>
-        <dt>CUPS_CSPACE_RGBW <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </dd>
-        <dt>CUPS_CSPACE_SILVER <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Silver foil </dd>
-        <dt>CUPS_CSPACE_SRGB <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">Red, green, blue (sRGB) </dd>
-        <dt>CUPS_CSPACE_SW <span class="info">&#160;CUPS 1.4.5&#160;</span></dt>
-        <dd class="description">Luminance (gamma 2.2) </dd>
-        <dt>CUPS_CSPACE_W </dt>
-        <dd class="description">Luminance (DeviceGray, gamma 2.2 by default)</dd>
-        <dt>CUPS_CSPACE_WHITE <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">White ink (as black) </dd>
-        <dt>CUPS_CSPACE_YMC <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Yellow, magenta, cyan </dd>
-        <dt>CUPS_CSPACE_YMCK <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Yellow, magenta, cyan, black </dd>
-</dl>
+      <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_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>
+        <tr><th>CUPS_CSPACE_DEVICE2 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 2 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE3 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 3 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE4 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 4 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE5 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 5 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE6 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 6 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE7 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 7 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE8 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 8 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICE9 <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 9 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICEA <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 10 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICEB <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 11 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICEC <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 12 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICED <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 13 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICEE <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 14 colors </td></tr>
+        <tr><th>CUPS_CSPACE_DEVICEF <span class="info">&#160;CUPS 1.4.5&#160;</span></th>        <td class="description">DeviceN, 15 colors </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_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_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>
+        <tr><th>CUPS_CSPACE_W </th>        <td class="description">Luminance (DeviceGray, gamma 2.2 by default)</td></tr>
+        <tr><th>CUPS_CSPACE_WHITE <span class="info">&#160;DEPRECATED&#160;</span></th>        <td class="description">White ink (as black) </td></tr>
+        <tr><th>CUPS_CSPACE_YMC <span class="info">&#160;DEPRECATED&#160;</span></th>        <td class="description">Yellow, magenta, cyan </td></tr>
+        <tr><th>CUPS_CSPACE_YMCK <span class="info">&#160;DEPRECATED&#160;</span></th>        <td class="description">Yellow, magenta, cyan, black </td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_cut_e">cups_cut_e</a></h3>
         <p class="description">CutMedia attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_CUT_FILE </dt>
-        <dd class="description">Cut the roll after this file</dd>
-        <dt>CUPS_CUT_JOB </dt>
-        <dd class="description">Cut the roll after this job</dd>
-        <dt>CUPS_CUT_NONE </dt>
-        <dd class="description">Never cut the roll</dd>
-        <dt>CUPS_CUT_PAGE </dt>
-        <dd class="description">Cut the roll after this page</dd>
-        <dt>CUPS_CUT_SET </dt>
-        <dd class="description">Cut the roll after this set</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_CUT_FILE </th>        <td class="description">Cut the roll after this file</td></tr>
+        <tr><th>CUPS_CUT_JOB </th>        <td class="description">Cut the roll after this job</td></tr>
+        <tr><th>CUPS_CUT_NONE </th>        <td class="description">Never cut the roll</td></tr>
+        <tr><th>CUPS_CUT_PAGE </th>        <td class="description">Cut the roll after this page</td></tr>
+        <tr><th>CUPS_CUT_SET </th>        <td class="description">Cut the roll after this set</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_edge_e">cups_edge_e</a></h3>
         <p class="description">LeadingEdge attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_EDGE_BOTTOM </dt>
-        <dd class="description">Leading edge is the bottom of the page</dd>
-        <dt>CUPS_EDGE_LEFT </dt>
-        <dd class="description">Leading edge is the left of the page</dd>
-        <dt>CUPS_EDGE_RIGHT </dt>
-        <dd class="description">Leading edge is the right of the page</dd>
-        <dt>CUPS_EDGE_TOP </dt>
-        <dd class="description">Leading edge is the top of the page</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_EDGE_BOTTOM </th>        <td class="description">Leading edge is the bottom of the page</td></tr>
+        <tr><th>CUPS_EDGE_LEFT </th>        <td class="description">Leading edge is the left of the page</td></tr>
+        <tr><th>CUPS_EDGE_RIGHT </th>        <td class="description">Leading edge is the right of the page</td></tr>
+        <tr><th>CUPS_EDGE_TOP </th>        <td class="description">Leading edge is the top of the page</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_jog_e">cups_jog_e</a></h3>
         <p class="description">Jog attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_JOG_FILE </dt>
-        <dd class="description">Move pages after this file</dd>
-        <dt>CUPS_JOG_JOB </dt>
-        <dd class="description">Move pages after this job</dd>
-        <dt>CUPS_JOG_NONE </dt>
-        <dd class="description">Never move pages</dd>
-        <dt>CUPS_JOG_SET </dt>
-        <dd class="description">Move pages after this set</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_JOG_FILE </th>        <td class="description">Move pages after this file</td></tr>
+        <tr><th>CUPS_JOG_JOB </th>        <td class="description">Move pages after this job</td></tr>
+        <tr><th>CUPS_JOG_NONE </th>        <td class="description">Never move pages</td></tr>
+        <tr><th>CUPS_JOG_SET </th>        <td class="description">Move pages after this set</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_mode_e">cups_mode_e</a></h3>
         <p class="description">cupsRasterOpen modes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_RASTER_READ </dt>
-        <dd class="description">Open stream for reading</dd>
-        <dt>CUPS_RASTER_WRITE </dt>
-        <dd class="description">Open stream for writing</dd>
-        <dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span></dt>
-        <dd class="description">Open stream for compressed writing </dd>
-        <dt>CUPS_RASTER_WRITE_PWG <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">Open stream for compressed writing in PWG Raster mode </dd>
-</dl>
+      <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>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_order_e">cups_order_e</a></h3>
         <p class="description">cupsColorOrder attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_ORDER_BANDED </dt>
-        <dd class="description">CCC MMM YYY KKK ...</dd>
-        <dt>CUPS_ORDER_CHUNKED </dt>
-        <dd class="description">CMYK CMYK CMYK ...</dd>
-        <dt>CUPS_ORDER_PLANAR </dt>
-        <dd class="description">CCC ... MMM ... YYY ... KKK ...</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_ORDER_BANDED </th>        <td class="description">CCC MMM YYY KKK ...</td></tr>
+        <tr><th>CUPS_ORDER_CHUNKED </th>        <td class="description">CMYK CMYK CMYK ...</td></tr>
+        <tr><th>CUPS_ORDER_PLANAR </th>        <td class="description">CCC ... MMM ... YYY ... KKK ...</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="cups_orient_e">cups_orient_e</a></h3>
         <p class="description">Orientation attribute values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_ORIENT_0 </dt>
-        <dd class="description">Don't rotate the page</dd>
-        <dt>CUPS_ORIENT_180 </dt>
-        <dd class="description">Turn the page upside down</dd>
-        <dt>CUPS_ORIENT_270 </dt>
-        <dd class="description">Rotate the page clockwise</dd>
-        <dt>CUPS_ORIENT_90 </dt>
-        <dd class="description">Rotate the page counter-clockwise</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_ORIENT_0 </th>        <td class="description">Don't rotate the page</td></tr>
+        <tr><th>CUPS_ORIENT_180 </th>        <td class="description">Turn the page upside down</td></tr>
+        <tr><th>CUPS_ORIENT_270 </th>        <td class="description">Rotate the page clockwise</td></tr>
+        <tr><th>CUPS_ORIENT_90 </th>        <td class="description">Rotate the page counter-clockwise</td></tr>
+</tbody></table>
     </div>
   </body>
 </html>
index 51f7600fcf09ca0f1835d02f55eeb85d38a2dd48..ef8ac473ac3fedf30e54c2e37ea4f091f62d10e6 100644 (file)
Binary files a/doc/help/cupspm.epub and b/doc/help/cupspm.epub differ
index 17aeb9ad4e0a0f38b94fe3980b13e19b2065850f..7ece8f0cf075ec4783870cfe73a5ff5bab074119 100644 (file)
@@ -124,8 +124,10 @@ span.info {
   white-space: nowrap;
 }
 h3 span.info, h4 span.info {
+  border-top-left-radius: 10px;
+  border-top-right-radius: 10px;
   float: right;
-  font-size: 100%;
+  padding: 3px 6px;
 }
 ul.code, ul.contents, ul.subcontents {
   list-style-type: none;
@@ -141,15 +143,23 @@ ul.contents > li {
 ul.contents li ul.code, ul.contents li ul.subcontents {
   padding-left: 2em;
 }
-div.body dl {
-  margin-top: 0;
+table.list {
+  border-collapse: collapse;
+  width: 100%;
 }
-div.body dt {
-  font-style: italic;
-  margin-top: 0;
+table.list tr:nth-child(even) {
+  background: rgba(127,127,127,0.1);]n}
+table.list th {
+  border-right: 2px solid gray;
+  font-family: monospace;
+  padding: 5px 10px 5px 2px;
+  text-align: right;
+  vertical-align: top;
 }
-div.body dd {
-  margin-bottom: 0.5em;
+table.list td {
+  padding: 5px 2px 5px 10px;
+  text-align: left;
+  vertical-align: top;
 }
 h1.title {
 }
@@ -211,22 +221,16 @@ h3.title {
           <li><a href="#cupsGetDestMediaCount">cupsGetDestMediaCount</a></li>
           <li><a href="#cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></li>
           <li><a href="#cupsGetDestWithURI">cupsGetDestWithURI</a></li>
+          <li><a href="#cupsGetDests2">cupsGetDests2</a></li>
           <li><a href="#cupsGetIntegerOption">cupsGetIntegerOption</a></li>
           <li><a href="#cupsGetJobs2">cupsGetJobs2</a></li>
           <li><a href="#cupsGetNamedDest">cupsGetNamedDest</a></li>
           <li><a href="#cupsGetOption">cupsGetOption</a></li>
           <li><a href="#cupsGetPassword2">cupsGetPassword2</a></li>
-          <li><a href="#cupsLangDefault">cupsLangDefault</a></li>
-          <li><a href="#cupsLangEncoding">cupsLangEncoding</a></li>
-          <li><a href="#cupsLangFlush">cupsLangFlush</a></li>
-          <li><a href="#cupsLangFree">cupsLangFree</a></li>
-          <li><a href="#cupsLangGet">cupsLangGet</a></li>
           <li><a href="#cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></li>
           <li><a href="#cupsLocalizeDestOption">cupsLocalizeDestOption</a></li>
           <li><a href="#cupsLocalizeDestValue">cupsLocalizeDestValue</a></li>
           <li><a href="#cupsMakeServerCredentials">cupsMakeServerCredentials</a></li>
-          <li><a href="#cupsNotifySubject">cupsNotifySubject</a></li>
-          <li><a href="#cupsNotifyText">cupsNotifyText</a></li>
           <li><a href="#cupsParseOptions">cupsParseOptions</a></li>
           <li><a href="#cupsRemoveDest">cupsRemoveDest</a></li>
           <li><a href="#cupsRemoveOption">cupsRemoveOption</a></li>
@@ -234,10 +238,8 @@ h3.title {
           <li><a href="#cupsSetClientCertCB">cupsSetClientCertCB</a></li>
           <li><a href="#cupsSetCredentials">cupsSetCredentials</a></li>
           <li><a href="#cupsSetDefaultDest">cupsSetDefaultDest</a></li>
-          <li><a href="#cupsSetDests">cupsSetDests</a></li>
           <li><a href="#cupsSetDests2">cupsSetDests2</a></li>
           <li><a href="#cupsSetEncryption">cupsSetEncryption</a></li>
-          <li><a href="#cupsSetPasswordCB">cupsSetPasswordCB</a></li>
           <li><a href="#cupsSetPasswordCB2">cupsSetPasswordCB2</a></li>
           <li><a href="#cupsSetServer">cupsSetServer</a></li>
           <li><a href="#cupsSetServerCertCB">cupsSetServerCertCB</a></li>
@@ -300,7 +302,6 @@ h3.title {
           <li><a href="#httpGetExpect">httpGetExpect</a></li>
           <li><a href="#httpGetFd">httpGetFd</a></li>
           <li><a href="#httpGetField">httpGetField</a></li>
-          <li><a href="#httpGetHostByName">httpGetHostByName</a></li>
           <li><a href="#httpGetHostname">httpGetHostname</a></li>
           <li><a href="#httpGetKeepAlive">httpGetKeepAlive</a></li>
           <li><a href="#httpGetLength2">httpGetLength2</a></li>
@@ -326,8 +327,6 @@ h3.title {
           <li><a href="#httpReconnect2">httpReconnect2</a></li>
           <li><a href="#httpResolveHostname">httpResolveHostname</a></li>
           <li><a href="#httpSaveCredentials">httpSaveCredentials</a></li>
-          <li><a href="#httpSeparate">httpSeparate</a></li>
-          <li><a href="#httpSeparate2">httpSeparate2</a></li>
           <li><a href="#httpSeparateURI">httpSeparateURI</a></li>
           <li><a href="#httpSetAuthString">httpSetAuthString</a></li>
           <li><a href="#httpSetCookie">httpSetCookie</a></li>
@@ -341,7 +340,6 @@ h3.title {
           <li><a href="#httpShutdown">httpShutdown</a></li>
           <li><a href="#httpStateString">httpStateString</a></li>
           <li><a href="#httpStatus">httpStatus</a></li>
-          <li><a href="#httpTrace">httpTrace</a></li>
           <li><a href="#httpURIStatusString">httpURIStatusString</a></li>
           <li><a href="#httpUpdate">httpUpdate</a></li>
           <li><a href="#httpWait">httpWait</a></li>
@@ -445,7 +443,6 @@ h3.title {
           <li><a href="#cups_dest_t">cups_dest_t</a></li>
           <li><a href="#cups_dinfo_t">cups_dinfo_t</a></li>
           <li><a href="#cups_job_t">cups_job_t</a></li>
-          <li><a href="#cups_lang_t">cups_lang_t</a></li>
           <li><a href="#cups_option_t">cups_option_t</a></li>
           <li><a href="#cups_password_cb2_t">cups_password_cb2_t</a></li>
           <li><a href="#cups_ptype_t">cups_ptype_t</a></li>
@@ -471,12 +468,10 @@ h3.title {
           <li><a href="#ipp_res_t">ipp_res_t</a></li>
           <li><a href="#ipp_state_t">ipp_state_t</a></li>
           <li><a href="#ipp_t">ipp_t</a></li>
-          <li><a href="#ipp_uchar_t">ipp_uchar_t</a></li>
         </ul></li>
         <li><a href="#STRUCTURES">Structures</a><ul class="subcontents">
           <li><a href="#cups_dest_s">cups_dest_s</a></li>
           <li><a href="#cups_job_s">cups_job_s</a></li>
-          <li><a href="#cups_lang_s">cups_lang_s</a></li>
           <li><a href="#cups_option_s">cups_option_s</a></li>
           <li><a href="#cups_size_s">cups_size_s</a></li>
         </ul></li>
@@ -997,23 +992,18 @@ fclose(fp);
 <h3 class="function"><a id="cupsAddDest">cupsAddDest</a></h3>
         <p class="description">Add a destination to the list of destinations.</p>
 <p class="code">
-int cupsAddDest (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *instance,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>instance</dt>
-        <dd class="description">Instance name or <code>NULL</code> for none/primary</dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
+int cupsAddDest(const char *name, const char *instance, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+<tr><th>instance</th>
+        <td class="description">Instance name or <code>NULL</code> for none/primary</td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New number of destinations</p>
 <h4 class="discussion">Discussion</h4>
@@ -1027,26 +1017,21 @@ 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.2.4&#160;</span><a id="cupsAddIntegerOption">cupsAddIntegerOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 2.2.4/macOS 10.13&#160;</span><a id="cupsAddIntegerOption">cupsAddIntegerOption</a></h3>
         <p class="description">Add an integer option to an option array.</p>
 <p class="code">
-int cupsAddIntegerOption (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int value,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name of option</dd>
-<dt>value</dt>
-        <dd class="description">Value of option</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Pointer to options</dd>
-</dl>
+int cupsAddIntegerOption(const char *name, int value, int num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Name of option</td></tr>
+<tr><th>value</th>
+        <td class="description">Value of option</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Pointer to options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of options</p>
 <h4 class="discussion">Discussion</h4>
@@ -1057,51 +1042,43 @@ int cupsAddIntegerOption (<br>
 <h3 class="function"><a id="cupsAddOption">cupsAddOption</a></h3>
         <p class="description">Add an option to an option array.</p>
 <p class="code">
-int cupsAddOption (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *value,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name of option</dd>
-<dt>value</dt>
-        <dd class="description">Value of option</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Pointer to options</dd>
-</dl>
+int cupsAddOption(const char *name, const char *value, int num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Name of option</td></tr>
+<tr><th>value</th>
+        <td class="description">Value of option</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Pointer to options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of options</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">New option arrays can be initialized simply by passing 0 for the
 &quot;num_options&quot; parameter.</p>
-<h3 class="function"><a id="cupsCancelDestJob">cupsCancelDestJob</a></h3>
-        <p class="description">Include necessary headers...</p>
-<p class="code">
-ipp_status_t cupsCancelDestJob (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;int job_id<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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, int job_id);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>job_id</th>
+        <td class="description">Job ID</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Status of cancel operation</p>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">The &quot;job_id&quot; is the number returned by cupsCreateDestJob.<br>
 <br>
 Returns <code>IPP_STATUS_OK</code> on success and
-<code>IPP_STATUS_ERRPR_NOT_AUTHORIZED</code> or
+<code>IPP_STATUS_ERROR_NOT_AUTHORIZED</code> or
 <code>IPP_STATUS_ERROR_FORBIDDEN</code> on failure.
 
 </p>
@@ -1109,26 +1086,20 @@ Returns <code>IPP_STATUS_OK</code> on success and
         <p class="description">Check that the option and value are supported
 by the destination.</p>
 <p class="code">
-int cupsCheckDestSupported (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
+int cupsCheckDestSupported(<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, const char *option, const char *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if supported, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
@@ -1138,23 +1109,18 @@ int cupsCheckDestSupported (<br>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-&#160;&#160;&#160;&#160;int job_id<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>info</dt>
-        <dd class="description">Destination information</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID</dd>
-</dl>
+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, int job_id);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>info</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>job_id</th>
+        <td class="description">Job ID</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">IPP status code</p>
 <h4 class="discussion">Discussion</h4>
@@ -1164,64 +1130,52 @@ on success.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsConnectDest">cupsConnectDest</a></h3>
-        <p class="description">Connect to the server for a destination.</p>
-<p class="code">
-<a href="#http_t">http_t</a> *cupsConnectDest (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel,<br>
-&#160;&#160;&#160;&#160;char *resource,<br>
-&#160;&#160;&#160;&#160;size_t resourcesize,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>flags</dt>
-        <dd class="description">Connection flags</dd>
-<dt>msec</dt>
-        <dd class="description">Timeout in milliseconds</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-<dt>resource</dt>
-        <dd class="description">Resource buffer</dd>
-<dt>resourcesize</dt>
-        <dd class="description">Size of resource buffer</dd>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Connection to server or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Connect to the destination, returning a new http_t connection object and
-optionally the resource path to use for the destination.  These calls will
-block until a connection is made, the timeout expires, the integer pointed
-to by &quot;cancel&quot; is non-zero, or the callback function (or block) returns 0,
-The caller is responsible for calling httpClose() on the returned object.
+        <p class="description">Open a conection 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, unsigned flags, int msec, int *cancel, char *resource, size_t resourcesize, <a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb, void *user_data);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>flags</th>
+        <td class="description">Connection flags</td></tr>
+<tr><th>msec</th>
+        <td class="description">Timeout in milliseconds</td></tr>
+<tr><th>cancel</th>
+        <td class="description">Pointer to &quot;cancel&quot; variable</td></tr>
+<tr><th>resource</th>
+        <td class="description">Resource buffer</td></tr>
+<tr><th>resourcesize</th>
+        <td class="description">Size of resource buffer</td></tr>
+<tr><th>cb</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Connection to destination or <code>NULL</code></p>
+<h4 class="discussion">Discussion</h4>
+        <p class="discussion">Connect to the destination, returning a new <code>http_t</code> connection object
+and optionally the resource path to use for the destination.  These calls
+will block until a connection is made, the timeout expires, the integer
+pointed to by &quot;cancel&quot; is non-zero, or the callback function (or block)
+returns 0.  The caller is responsible for calling <a href="#httpClose"><code>httpClose</code></a> on the
+returned connection.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsCopyDest">cupsCopyDest</a></h3>
         <p class="description">Copy a destination.</p>
 <p class="code">
-int cupsCopyDest (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
-        <dd class="description">Destination to copy</dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destination array</dd>
-</dl>
+int cupsCopyDest(<a href="#cups_dest_t">cups_dest_t</a> *dest, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>dest</th>
+        <td class="description">Destination to copy</td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destination array</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New number of destinations</p>
 <h4 class="discussion">Discussion</h4>
@@ -1234,44 +1188,32 @@ for calling cupsFreeDests() on the returned object(s).
         <p class="description">Get conflicts and resolutions for a new
 option/value pair.</p>
 <p class="code">
-int cupsCopyDestConflicts (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options,<br>
-&#160;&#160;&#160;&#160;const char *new_option,<br>
-&#160;&#160;&#160;&#160;const char *new_value,<br>
-&#160;&#160;&#160;&#160;int *num_conflicts,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **conflicts,<br>
-&#160;&#160;&#160;&#160;int *num_resolved,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **resolved<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of current options</dd>
-<dt>options</dt>
-        <dd class="description">Current options</dd>
-<dt>new_option</dt>
-        <dd class="description">New option</dd>
-<dt>new_value</dt>
-        <dd class="description">New value</dd>
-<dt>num_conflicts</dt>
-        <dd class="description">Number of conflicting options</dd>
-<dt>conflicts</dt>
-        <dd class="description">Conflicting options</dd>
-<dt>num_resolved</dt>
-        <dd class="description">Number of options to resolve</dd>
-<dt>resolved</dt>
-        <dd class="description">Resolved options</dd>
-</dl>
+int cupsCopyDestConflicts(<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, int num_options, <a href="#cups_option_t">cups_option_t</a> *options, const char *new_option, const char *new_value, int *num_conflicts, <a href="#cups_option_t">cups_option_t</a> **conflicts, int *num_resolved, <a href="#cups_option_t">cups_option_t</a> **resolved);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of current options</td></tr>
+<tr><th>options</th>
+        <td class="description">Current options</td></tr>
+<tr><th>new_option</th>
+        <td class="description">New option</td></tr>
+<tr><th>new_value</th>
+        <td class="description">New value</td></tr>
+<tr><th>num_conflicts</th>
+        <td class="description">Number of conflicting options</td></tr>
+<tr><th>conflicts</th>
+        <td class="description">Conflicting options</td></tr>
+<tr><th>num_resolved</th>
+        <td class="description">Number of options to resolve</td></tr>
+<tr><th>resolved</th>
+        <td class="description">Resolved options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if there is a conflict, 0 if none, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1295,17 +1237,14 @@ to 0 and <code>NULL</code>, respectively, then the conflict cannot be resolved.
         <p class="description">Get the supported values/capabilities for the
 destination.</p>
 <p class="code">
-<a href="#cups_dinfo_t">cups_dinfo_t</a> *cupsCopyDestInfo (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest<br>
-);</p>
+<a href="#cups_dinfo_t">cups_dinfo_t</a> *cupsCopyDestInfo(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> *dest);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Destination information</p>
 <h4 class="discussion">Discussion</h4>
@@ -1316,32 +1255,24 @@ value. <code>NULL</code> is returned on error.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-&#160;&#160;&#160;&#160;int *job_id,<br>
-&#160;&#160;&#160;&#160;const char *title,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>info</dt>
-        <dd class="description">Destination information</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID or 0 on error</dd>
-<dt>title</dt>
-        <dd class="description">Job name</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of job options</dd>
-<dt>options</dt>
-        <dd class="description">Job options</dd>
-</dl>
+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, int *job_id, const char *title, int num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>info</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>job_id</th>
+        <td class="description">Job ID or 0 on error</td></tr>
+<tr><th>title</th>
+        <td class="description">Job name</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of job options</td></tr>
+<tr><th>options</th>
+        <td class="description">Job options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">IPP status code</p>
 <h4 class="discussion">Discussion</h4>
@@ -1352,20 +1283,16 @@ in the variable pointed to by &quot;job_id&quot;.
 <h3 class="function"><span class="info">&#160;CUPS 1.1.20/macOS 10.4&#160;</span><a id="cupsDoAuthentication">cupsDoAuthentication</a></h3>
         <p class="description">Authenticate a request.</p>
 <p class="code">
-int cupsDoAuthentication (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *method,<br>
-&#160;&#160;&#160;&#160;const char *resource<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>method</dt>
-        <dd class="description">Request method (&quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;)</dd>
-<dt>resource</dt>
-        <dd class="description">Resource path</dd>
-</dl>
+int cupsDoAuthentication(<a href="#http_t">http_t</a> *http, const char *method, const char *resource);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>method</th>
+        <td class="description">Request method (&quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;)</td></tr>
+<tr><th>resource</th>
+        <td class="description">Resource path</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -1374,60 +1301,47 @@ status, prior to resubmitting your request.
 
 </p>
 <h3 class="function"><a id="cupsEncodeOptions">cupsEncodeOptions</a></h3>
-        <p class="description"></p>
-<p class="code">
-void cupsEncodeOptions (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">Request to add to</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
         <p class="description">Encode printer options into IPP attributes.</p>
+<p class="code">
+void cupsEncodeOptions(<a href="#ipp_t">ipp_t</a> *ipp, int num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">Request to add to</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">This function adds operation, job, and then subscription attributes,
-in that order. Use the cupsEncodeOptions2() function to add attributes
-for a single group.
-
-</p>
-<h3 class="function"><a id="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
-        <p class="description">Add the options in the proper groups &amp; order...</p>
-<p class="code">
-void cupsEncodeOptions2 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group_tag<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">Request to add to</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-<dt>group_tag</dt>
-        <dd class="description">Group to encode</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+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>
         <p class="description">Encode printer options into IPP attributes for a group.</p>
+<p class="code">
+void cupsEncodeOptions2(<a href="#ipp_t">ipp_t</a> *ipp, int num_options, <a href="#cups_option_t">cups_option_t</a> *options, ipp_tag_t group_tag);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">Request to add to</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+<tr><th>group_tag</th>
+        <td class="description">Group to encode</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">This function only adds attributes for a single group. Call this
-function multiple times for each group, or use cupsEncodeOptions()
+function multiple times for each group, or use <a href="#cupsEncodeOptions"><code>cupsEncodeOptions</code></a>
 to add the standard groups.
 
 </p>
 <h3 class="function"><a id="cupsEncryption">cupsEncryption</a></h3>
         <p class="description">Get the current encryption settings.</p>
 <p class="code">
-<a href="#http_encryption_t">http_encryption_t</a> cupsEncryption (void);</p>
+<a href="#http_encryption_t">http_encryption_t</a> cupsEncryption(void);</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Encryption settings</p>
 <h4 class="discussion">Discussion</h4>
@@ -1443,32 +1357,24 @@ setting to be used.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsEnumDests">cupsEnumDests</a></h3>
         <p class="description">Enumerate available destinations with a callback function.</p>
 <p class="code">
-int cupsEnumDests (<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ptype_t">cups_ptype_t</a> type,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_ptype_t">cups_ptype_t</a> mask,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>flags</dt>
-        <dd class="description">Enumeration flags</dd>
-<dt>msec</dt>
-        <dd class="description">Timeout in milliseconds, -1 for indefinite</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-<dt>type</dt>
-        <dd class="description">Printer type bits</dd>
-<dt>mask</dt>
-        <dd class="description">Mask for printer type bits</dd>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data</dd>
-</dl>
+int cupsEnumDests(unsigned flags, int msec, int *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, void *user_data);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>flags</th>
+        <td class="description">Enumeration flags</td></tr>
+<tr><th>msec</th>
+        <td class="description">Timeout in milliseconds, -1 for indefinite</td></tr>
+<tr><th>cancel</th>
+        <td class="description">Pointer to &quot;cancel&quot; variable</td></tr>
+<tr><th>type</th>
+        <td class="description">Printer type bits</td></tr>
+<tr><th>mask</th>
+        <td class="description">Mask for printer type bits</td></tr>
+<tr><th>cb</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1492,23 +1398,18 @@ destinations - it is up to the caller to suppress any duplicate destinations.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsFindDestDefault">cupsFindDestDefault</a></h3>
         <p class="description">Find the default value(s) for the given option.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *cupsFindDestDefault (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option/attribute name</dd>
-</dl>
+<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, const char *option);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option/attribute name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Default attribute or <code>NULL</code> for none</p>
 <h4 class="discussion">Discussion</h4>
@@ -1522,23 +1423,18 @@ functions to inspect the default value(s) as needed.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option/attribute name</dd>
-</dl>
+<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, const char *option);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option/attribute name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Default attribute or <code>NULL</code> for none</p>
 <h4 class="discussion">Discussion</h4>
@@ -1552,23 +1448,18 @@ functions to inspect the default value(s) as needed.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option/attribute name</dd>
-</dl>
+<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, const char *option);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option/attribute name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Default attribute or <code>NULL</code> for none</p>
 <h4 class="discussion">Discussion</h4>
@@ -1582,140 +1473,105 @@ functions to inspect the default value(s) as needed.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsFinishDestDocument">cupsFinishDestDocument</a></h3>
         <p class="description">Finish the current document.</p>
 <p class="code">
-ipp_status_t cupsFinishDestDocument (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>info</dt>
-        <dd class="description">Destination information</dd>
-</dl>
+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>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>info</th>
+        <td class="description">Destination information</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of document submission</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">Returns <code>IPP_STATUS_OK</code> or <code>IPP_STATUS_OK_SUBST</code> on success.
 
 </p>
-<h3 class="function"><a id="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
-        <p class="description">Find and return the attribute...</p>
-<p class="code">
-void cupsFreeDestInfo (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
         <p class="description">Free destination information obtained using
 <a href="#cupsCopyDestInfo"><code>cupsCopyDestInfo</code></a>.</p>
-<h3 class="function"><a id="cupsFreeDests">cupsFreeDests</a></h3>
-        <p class="description">Block</p>
 <p class="code">
-void cupsFreeDests (<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dests<br>
-);</p>
+void cupsFreeDestInfo(<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<table class="list"><tbody>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+</tbody></table>
+<h3 class="function"><a id="cupsFreeDests">cupsFreeDests</a></h3>
         <p class="description">Free the memory used by the list of destinations.</p>
-<h3 class="function"><a id="cupsFreeJobs">cupsFreeJobs</a></h3>
-        <p class="description">Printer resource</p>
 <p class="code">
-void cupsFreeJobs (<br>
-&#160;&#160;&#160;&#160;int num_jobs,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_job_t">cups_job_t</a> *jobs<br>
-);</p>
+void cupsFreeDests(int num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>num_jobs</dt>
-        <dd class="description">Number of jobs</dd>
-<dt>jobs</dt>
-        <dd class="description">Jobs</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<table class="list"><tbody>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
+<h3 class="function"><a id="cupsFreeJobs">cupsFreeJobs</a></h3>
         <p class="description">Free memory used by job data.</p>
-<h3 class="function"><a id="cupsFreeOptions">cupsFreeOptions</a></h3>
-        <p class="description">Match found; free the old value...</p>
 <p class="code">
-void cupsFreeOptions (<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
+void cupsFreeJobs(int num_jobs, <a href="#cups_job_t">cups_job_t</a> *jobs);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Pointer to options</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<table class="list"><tbody>
+<tr><th>num_jobs</th>
+        <td class="description">Number of jobs</td></tr>
+<tr><th>jobs</th>
+        <td class="description">Jobs</td></tr>
+</tbody></table>
+<h3 class="function"><a id="cupsFreeOptions">cupsFreeOptions</a></h3>
         <p class="description">Free all memory used by options.</p>
+<p class="code">
+void cupsFreeOptions(int num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Pointer to options</td></tr>
+</tbody></table>
 <h3 class="function"><a id="cupsGetDest">cupsGetDest</a></h3>
         <p class="description">Get the named destination from the list.</p>
 <p class="code">
-<a href="#cups_dest_t">cups_dest_t</a> *cupsGetDest (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *instance,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name or <code>NULL</code> for the default destination</dd>
-<dt>instance</dt>
-        <dd class="description">Instance name or <code>NULL</code></dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
+<a href="#cups_dest_t">cups_dest_t</a> *cupsGetDest(const char *name, const char *instance, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Destination name or <code>NULL</code> for the default destination</td></tr>
+<tr><th>instance</th>
+        <td class="description">Instance name or <code>NULL</code></td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Destination pointer or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">Use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> or <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> functions to get a
+        <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>
         <p class="description">Get a media name, dimension, and margins for a
 specific size.</p>
 <p class="code">
-int cupsGetDestMediaByIndex (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;int n,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_size_t">cups_size_t</a> *size<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>n</dt>
-        <dd class="description">Media size number (0-based)</dd>
-<dt>flags</dt>
-        <dd class="description">Media flags</dd>
-<dt>size</dt>
-        <dd class="description">Media size information</dd>
-</dl>
+int cupsGetDestMediaByIndex(<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, int n, unsigned flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>n</th>
+        <td class="description">Media size number (0-based)</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media flags</td></tr>
+<tr><th>size</th>
+        <td class="description">Media size information</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1727,29 +1583,22 @@ borderless size supported by the printer.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsGetDestMediaByName">cupsGetDestMediaByName</a></h3>
         <p class="description">Get media names, dimensions, and margins.</p>
 <p class="code">
-int cupsGetDestMediaByName (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *media,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_size_t">cups_size_t</a> *size<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>media</dt>
-        <dd class="description">Media name</dd>
-<dt>flags</dt>
-        <dd class="description">Media matching flags</dd>
-<dt>size</dt>
-        <dd class="description">Media size information</dd>
-</dl>
+int 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, const char *media, unsigned flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>media</th>
+        <td class="description">Media name</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media matching flags</td></tr>
+<tr><th>size</th>
+        <td class="description">Media size information</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on match, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1771,34 +1620,26 @@ Returns 1 when there is a match and 0 if there is not a match.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsGetDestMediaBySize">cupsGetDestMediaBySize</a></h3>
         <p class="description">Get media names, dimensions, and margins.</p>
 <p class="code">
-int cupsGetDestMediaBySize (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;int width,<br>
-&#160;&#160;&#160;&#160;int length,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_size_t">cups_size_t</a> *size<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>width</dt>
-        <dd class="description">Media width in hundredths of
-of millimeters</dd>
-<dt>length</dt>
-        <dd class="description">Media length in hundredths of
-of millimeters</dd>
-<dt>flags</dt>
-        <dd class="description">Media matching flags</dd>
-<dt>size</dt>
-        <dd class="description">Media size information</dd>
-</dl>
+int 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, int width, int length, unsigned flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>width</th>
+        <td class="description">Media width in hundredths of
+of millimeters</td></tr>
+<tr><th>length</th>
+        <td class="description">Media length in hundredths of
+of millimeters</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media matching flags</td></tr>
+<tr><th>size</th>
+        <td class="description">Media size information</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on match, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1821,23 +1662,18 @@ Returns 1 when there is a match and 0 if there is not a match.
         <p class="description">Get the number of sizes supported by a
 destination.</p>
 <p class="code">
-int cupsGetDestMediaCount (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;unsigned flags<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>flags</dt>
-        <dd class="description">Media flags</dd>
-</dl>
+int cupsGetDestMediaCount(<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, unsigned flags);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media flags</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of sizes</p>
 <h4 class="discussion">Discussion</h4>
@@ -1849,26 +1685,20 @@ the number of borderless sizes.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
         <p class="description">Get the default size for a destination.</p>
 <p class="code">
-int cupsGetDestMediaDefault (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_size_t">cups_size_t</a> *size<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>flags</dt>
-        <dd class="description">Media flags</dd>
-<dt>size</dt>
-        <dd class="description">Media size information</dd>
-</dl>
+int 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, unsigned flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media flags</td></tr>
+<tr><th>size</th>
+        <td class="description">Media size information</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -1880,17 +1710,14 @@ borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#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 (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+<a href="#cups_dest_t">cups_dest_t</a> *cupsGetDestWithURI(const char *name, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Desired printer name or <code>NULL</code></dd>
-<dt>uri</dt>
-        <dd class="description">URI for the printer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Desired printer name or <code>NULL</code></td></tr>
+<tr><th>uri</th>
+        <td class="description">URI for the printer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Destination or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
@@ -1900,23 +1727,51 @@ 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;2.2.4&#160;</span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetDests2">cupsGetDests2</a></h3>
+        <p class="description">Get the list of destinations from the specified server.</p>
+<p class="code">
+int cupsGetDests2(<a href="#http_t">http_t</a> *http, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Number of destinations</p>
+<h4 class="discussion">Discussion</h4>
+        <p class="discussion">Starting with CUPS 1.2, the returned list of destinations include the
+&quot;printer-info&quot;, &quot;printer-is-accepting-jobs&quot;, &quot;printer-is-shared&quot;,
+&quot;printer-make-and-model&quot;, &quot;printer-state&quot;, &quot;printer-state-change-time&quot;,
+&quot;printer-state-reasons&quot;, &quot;printer-type&quot;, and &quot;printer-uri-supported&quot;
+attributes as options.<br>
+<br>
+CUPS 1.4 adds the &quot;marker-change-time&quot;, &quot;marker-colors&quot;,
+&quot;marker-high-levels&quot;, &quot;marker-levels&quot;, &quot;marker-low-levels&quot;, &quot;marker-message&quot;,
+&quot;marker-names&quot;, &quot;marker-types&quot;, and &quot;printer-commands&quot; attributes as options.<br>
+<br>
+CUPS 2.2 adds accessible IPP printers to the list of destinations that can
+be used.  The &quot;printer-uri-supported&quot; option will be present for those IPP
+printers that have been recently used.<br>
+<br>
+Use the <a href="#cupsFreeDests"><code>cupsFreeDests</code></a> function to free the destination list and
+the <a href="#cupsGetDest"><code>cupsGetDest</code></a> function to find a particular destination.
+
+</p>
+<h3 class="function"><span class="info">&#160;CUPS 2.2.4/macOS 10.13&#160;</span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
         <p class="description">Get an integer option value.</p>
 <p class="code">
-int cupsGetIntegerOption (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name of option</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
+int cupsGetIntegerOption(const char *name, int num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Name of option</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Option value or <code>INT_MIN</code></p>
 <h4 class="discussion">Discussion</h4>
@@ -1927,26 +1782,20 @@ exceeds the range of values for the &quot;int&quot; type.
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="cupsGetJobs2">cupsGetJobs2</a></h3>
         <p class="description">Get the jobs from the specified server.</p>
 <p class="code">
-int cupsGetJobs2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_job_t">cups_job_t</a> **jobs,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int myjobs,<br>
-&#160;&#160;&#160;&#160;int whichjobs<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>jobs</dt>
-        <dd class="description">Job data</dd>
-<dt>name</dt>
-        <dd class="description"><code>NULL</code> = all destinations, otherwise show jobs for named destination</dd>
-<dt>myjobs</dt>
-        <dd class="description">0 = all users, 1 = mine</dd>
-<dt>whichjobs</dt>
-        <dd class="description"><code>CUPS_WHICHJOBS_ALL</code>, <code>CUPS_WHICHJOBS_ACTIVE</code>, or <code>CUPS_WHICHJOBS_COMPLETED</code></dd>
-</dl>
+int cupsGetJobs2(<a href="#http_t">http_t</a> *http, <a href="#cups_job_t">cups_job_t</a> **jobs, const char *name, int myjobs, int whichjobs);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>jobs</th>
+        <td class="description">Job data</td></tr>
+<tr><th>name</th>
+        <td class="description"><code>NULL</code> = all destinations, otherwise show jobs for named destination</td></tr>
+<tr><th>myjobs</th>
+        <td class="description">0 = all users, 1 = mine</td></tr>
+<tr><th>whichjobs</th>
+        <td class="description"><code>CUPS_WHICHJOBS_ALL</code>, <code>CUPS_WHICHJOBS_ACTIVE</code>, or <code>CUPS_WHICHJOBS_COMPLETED</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of jobs</p>
 <h4 class="discussion">Discussion</h4>
@@ -1959,28 +1808,24 @@ jobs that are stopped, canceled, aborted, or completed.
 <h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *instance<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>name</dt>
-        <dd class="description">Destination name or <code>NULL</code> for the default destination</dd>
-<dt>instance</dt>
-        <dd class="description">Instance name or <code>NULL</code></dd>
-</dl>
+<a href="#cups_dest_t">cups_dest_t</a> *cupsGetNamedDest(<a href="#http_t">http_t</a> *http, const char *name, const char *instance);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>name</th>
+        <td class="description">Destination name or <code>NULL</code> for the default destination</td></tr>
+<tr><th>instance</th>
+        <td class="description">Instance name or <code>NULL</code></td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Destination or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">This function is optimized for retrieving a single destination and should
-be used instead of <a href="#cupsGetDests"><code>cupsGetDests</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a> when you either
-know the name of the destination or want to print to the default destination.
-If <code>NULL</code> is returned, the destination does not exist or there is no
-default destination.<br>
+be used instead of <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a> when you
+either know the name of the destination or want to print to the default
+destination.  If <code>NULL</code> is returned, the destination does not exist or
+there is no default destination.<br>
 <br>
 If &quot;http&quot; is <code>CUPS_HTTP_DEFAULT</code>, the connection to the default print
 server will be used.<br>
@@ -1995,43 +1840,34 @@ The returned destination must be freed using <a href="#cupsFreeDests"><code>cups
 <h3 class="function"><a id="cupsGetOption">cupsGetOption</a></h3>
         <p class="description">Get an option value.</p>
 <p class="code">
-const char *cupsGetOption (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name of option</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
+const char *cupsGetOption(const char *name, int num_options, <a href="#cups_option_t">cups_option_t</a> *options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Name of option</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+</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>
-        <p class="description">Get a password from the user using the advanced
+        <p class="description">Get a password from the user using the current
 password callback.</p>
 <p class="code">
-const char *cupsGetPassword2 (<br>
-&#160;&#160;&#160;&#160;const char *prompt,<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *method,<br>
-&#160;&#160;&#160;&#160;const char *resource<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>prompt</dt>
-        <dd class="description">Prompt string</dd>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>method</dt>
-        <dd class="description">Request method (&quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;)</dd>
-<dt>resource</dt>
-        <dd class="description">Resource path</dd>
-</dl>
+const char *cupsGetPassword2(const char *prompt, <a href="#http_t">http_t</a> *http, const char *method, const char *resource);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>prompt</th>
+        <td class="description">Prompt string</td></tr>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>method</th>
+        <td class="description">Request method (&quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;)</td></tr>
+<tr><th>resource</th>
+        <td class="description">Resource path</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Password</p>
 <h4 class="discussion">Discussion</h4>
@@ -2040,87 +1876,28 @@ user does not provide a password.<br>
 <br>
 Note: The current password callback function is tracked separately for each
 thread in a program. Multi-threaded programs that override the setting via
-the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
-do so in each thread for the same function to be used.
+the <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> function need to do so in each thread for the
+same function to be used.
 
 </p>
-<h3 class="function"><a id="cupsLangDefault">cupsLangDefault</a></h3>
-        <p class="description">Return the default language.</p>
-<p class="code">
-<a href="#cups_lang_t">cups_lang_t</a> *cupsLangDefault (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Language data</p>
-<h3 class="function"><a id="cupsLangEncoding">cupsLangEncoding</a></h3>
-        <p class="description">Return the character encoding (us-ascii, etc.)
-for the given language.</p>
-<p class="code">
-const char *cupsLangEncoding (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_lang_t">cups_lang_t</a> *lang<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>lang</dt>
-        <dd class="description">Language data</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Character encoding</p>
-<h3 class="function"><a id="cupsLangFlush">cupsLangFlush</a></h3>
-        <p class="description">Language data</p>
-<p class="code">
-void cupsLangFlush (void);</p>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Flush all language data out of the cache.</p>
-<h3 class="function"><a id="cupsLangFree">cupsLangFree</a></h3>
-        <p class="description">Then free the language structure itself...</p>
-<p class="code">
-void cupsLangFree (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_lang_t">cups_lang_t</a> *lang<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>lang</dt>
-        <dd class="description">Language to free</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Free language data.</p>
-        <p class="discussion">This does not actually free anything; use <a href="#cupsLangFlush"><code>cupsLangFlush</code></a> for that.</p>
-<h3 class="function"><a id="cupsLangGet">cupsLangGet</a></h3>
-        <p class="description">Get a language.</p>
-<p class="code">
-<a href="#cups_lang_t">cups_lang_t</a> *cupsLangGet (<br>
-&#160;&#160;&#160;&#160;const char *language<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>language</dt>
-        <dd class="description">Language or locale</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Language data</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></h3>
         <p class="description">Get the localized string for a destination media
 size.</p>
 <p class="code">
-const char *cupsLocalizeDestMedia (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;unsigned flags,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_size_t">cups_size_t</a> *size<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>flags</dt>
-        <dd class="description">Media flags</dd>
-<dt>size</dt>
-        <dd class="description">Media size</dd>
-</dl>
+const char *cupsLocalizeDestMedia(<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, unsigned flags, <a href="#cups_size_t">cups_size_t</a> *size);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>flags</th>
+        <td class="description">Media flags</td></tr>
+<tr><th>size</th>
+        <td class="description">Media size</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized string</p>
 <h4 class="discussion">Discussion</h4>
@@ -2132,23 +1909,18 @@ invalid if the destination information is deleted.
         <p class="description">Get the localized string for a destination
 option.</p>
 <p class="code">
-const char *cupsLocalizeDestOption (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option to localize</dd>
-</dl>
+const char *cupsLocalizeDestOption(<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, const char *option);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option to localize</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized string</p>
 <h4 class="discussion">Discussion</h4>
@@ -2160,26 +1932,20 @@ invalid if the destination information is deleted.
         <p class="description">Get the localized string for a destination
 option+value pair.</p>
 <p class="code">
-const char *cupsLocalizeDestValue (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-&#160;&#160;&#160;&#160;const char *option,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>dinfo</dt>
-        <dd class="description">Destination information</dd>
-<dt>option</dt>
-        <dd class="description">Option to localize</dd>
-<dt>value</dt>
-        <dd class="description">Value to localize</dd>
-</dl>
+const char *cupsLocalizeDestValue(<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, const char *option, const char *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>dinfo</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>option</th>
+        <td class="description">Option to localize</td></tr>
+<tr><th>value</th>
+        <td class="description">Value to localize</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized string</p>
 <h4 class="discussion">Discussion</h4>
@@ -2190,85 +1956,35 @@ invalid if the destination information is deleted.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="cupsMakeServerCredentials">cupsMakeServerCredentials</a></h3>
         <p class="description">Make a self-signed certificate and private key pair.</p>
 <p class="code">
-int cupsMakeServerCredentials (<br>
-&#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;const char *common_name,<br>
-&#160;&#160;&#160;&#160;int num_alt_names,<br>
-&#160;&#160;&#160;&#160;const char **alt_names,<br>
-&#160;&#160;&#160;&#160;time_t expiration_date<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>path</dt>
-        <dd class="description">Keychain path or <code>NULL</code> for default</dd>
-<dt>common_name</dt>
-        <dd class="description">Common name</dd>
-<dt>num_alt_names</dt>
-        <dd class="description">Number of subject alternate names</dd>
-<dt>alt_names</dt>
-        <dd class="description">Subject Alternate Names</dd>
-<dt>expiration_date</dt>
-        <dd class="description">Expiration date</dd>
-</dl>
+int cupsMakeServerCredentials(const char *path, const char *common_name, int num_alt_names, const char **alt_names, time_t expiration_date);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+        <td class="description">Keychain path or <code>NULL</code> for default</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Common name</td></tr>
+<tr><th>num_alt_names</th>
+        <td class="description">Number of subject alternate names</td></tr>
+<tr><th>alt_names</th>
+        <td class="description">Subject Alternate Names</td></tr>
+<tr><th>expiration_date</th>
+        <td class="description">Expiration date</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsNotifySubject">cupsNotifySubject</a></h3>
-        <p class="description">Return the subject for the given notification message.</p>
-<p class="code">
-char *cupsNotifySubject (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_lang_t">cups_lang_t</a> *lang,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *event<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>lang</dt>
-        <dd class="description">Language data</dd>
-<dt>event</dt>
-        <dd class="description">Event data</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Subject string or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <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>
-        <p class="description">Return the text for the given notification message.</p>
-<p class="code">
-char *cupsNotifyText (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_lang_t">cups_lang_t</a> *lang,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *event<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>lang</dt>
-        <dd class="description">Language data</dd>
-<dt>event</dt>
-        <dd class="description">Event data</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Message text or <code>NULL</code></p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">The returned string must be freed by the caller using <code>free</code>.
-
-</p>
 <h3 class="function"><a id="cupsParseOptions">cupsParseOptions</a></h3>
         <p class="description">Parse options from a command-line argument.</p>
 <p class="code">
-int cupsParseOptions (<br>
-&#160;&#160;&#160;&#160;const char *arg,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>arg</dt>
-        <dd class="description">Argument to parse</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options found</dd>
-</dl>
+int cupsParseOptions(const char *arg, int num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>arg</th>
+        <td class="description">Argument to parse</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options found</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of options found</p>
 <h4 class="discussion">Discussion</h4>
@@ -2280,23 +1996,18 @@ collection attributes.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsRemoveDest">cupsRemoveDest</a></h3>
         <p class="description">Remove a destination from the destination list.</p>
 <p class="code">
-int cupsRemoveDest (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *instance,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>instance</dt>
-        <dd class="description">Instance name or <code>NULL</code></dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
+int cupsRemoveDest(const char *name, const char *instance, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> **dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+<tr><th>instance</th>
+        <td class="description">Instance name or <code>NULL</code></td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New number of destinations</p>
 <h4 class="discussion">Discussion</h4>
@@ -2309,26 +2020,22 @@ options for the user.
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="cupsRemoveOption">cupsRemoveOption</a></h3>
         <p class="description">Remove an option from an option array.</p>
 <p class="code">
-int cupsRemoveOption (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> **options<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Option name</dd>
-<dt>num_options</dt>
-        <dd class="description">Current number of options</dd>
-<dt>options</dt>
-        <dd class="description">Options</dd>
-</dl>
+int cupsRemoveOption(const char *name, int num_options, <a href="#cups_option_t">cups_option_t</a> **options);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Option name</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Current number of options</td></tr>
+<tr><th>options</th>
+        <td class="description">Options</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New number of options</p>
 <h3 class="function"><a id="cupsServer">cupsServer</a></h3>
         <p class="description">Return the hostname/address of the current server.</p>
 <p class="code">
-const char *cupsServer (void);</p>
+const char *cupsServer(void);</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Server name</p>
 <h4 class="discussion">Discussion</h4>
@@ -2344,22 +2051,18 @@ Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server via the
 <a href="#cupsSetServer"><code>cupsSetServer</code></a> function need to do so in each thread for the same
 server to be used.</p>
-<h3 class="function"><a id="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
-        <p class="description">Pointer to library globals</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+        <p class="description">Set the client certificate callback.</p>
 <p class="code">
-void cupsSetClientCertCB (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_client_cert_cb_t">cups_client_cert_cb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
+void cupsSetClientCertCB(<a href="#cups_client_cert_cb_t">cups_client_cert_cb_t</a> cb, void *user_data);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the client certificate callback.</p>
+<table class="list"><tbody>
+<tr><th>cb</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Pass <code>NULL</code> to restore the default callback.<br>
 <br>
 Note: The current certificate callback is tracked separately for each thread
@@ -2371,14 +2074,12 @@ so in each thread for the same callback to be used.
         <p class="description">Set the default credentials to be used for SSL/TLS
 connections.</p>
 <p class="code">
-int cupsSetCredentials (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
-);</p>
+int cupsSetCredentials(cups_array_t *credentials);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Array of credentials</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Array of credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
 <h4 class="discussion">Discussion</h4>
@@ -2387,65 +2088,34 @@ program. Multi-threaded programs that override the setting need to do so in
 each thread for the same setting to be used.
 
 </p>
-<h3 class="function"><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
-        <p class="description">Remove the destination from the array...</p>
-<p class="code">
-void cupsSetDefaultDest (<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *instance,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Destination name</dd>
-<dt>instance</dt>
-        <dd class="description">Instance name or <code>NULL</code></dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
         <p class="description">Set the default destination.</p>
-        <p class="discussion"></p>
-<h3 class="function"><a id="cupsSetDests">cupsSetDests</a></h3>
-        <p class="description">Loop through the array and set the &quot;is_default&quot; flag for the matching
-destination...</p>
-<p class="code">
-void cupsSetDests (<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Save the list of destinations for the default server.</p>
-        <p class="discussion">This function saves the destinations to /etc/cups/lpoptions when run
-as root and ~/.cups/lpoptions when run as a normal user.</p>
+<p class="code">
+void cupsSetDefaultDest(const char *name, const char *instance, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Destination name</td></tr>
+<tr><th>instance</th>
+        <td class="description">Instance name or <code>NULL</code></td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<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>
         <p class="description">Save the list of destinations for the specified server.</p>
 <p class="code">
-int cupsSetDests2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;int num_dests,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dests<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_dests</dt>
-        <dd class="description">Number of destinations</dd>
-<dt>dests</dt>
-        <dd class="description">Destinations</dd>
-</dl>
+int cupsSetDests2(<a href="#http_t">http_t</a> *http, int num_dests, <a href="#cups_dest_t">cups_dest_t</a> *dests);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_dests</th>
+        <td class="description">Number of destinations</td></tr>
+<tr><th>dests</th>
+        <td class="description">Destinations</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -2454,18 +2124,15 @@ as root and ~/.cups/lpoptions when run as a normal user.
 
 </p>
 <h3 class="function"><a id="cupsSetEncryption">cupsSetEncryption</a></h3>
-        <p class="description">Pointer to library globals</p>
+        <p class="description">Set the encryption preference.</p>
 <p class="code">
-void cupsSetEncryption (<br>
-&#160;&#160;&#160;&#160;<a href="#http_encryption_t">http_encryption_t</a> e<br>
-);</p>
+void cupsSetEncryption(<a href="#http_encryption_t">http_encryption_t</a> e);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>e</dt>
-        <dd class="description">New encryption preference</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the encryption preference.</p>
+<table class="list"><tbody>
+<tr><th>e</th>
+        <td class="description">New encryption preference</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">The default encryption setting comes from the CUPS_ENCRYPTION
 environment variable, then the ~/.cups/client.conf file, and finally the
 /etc/cups/client.conf file. If not set, the default is
@@ -2474,45 +2141,18 @@ environment variable, then the ~/.cups/client.conf file, and finally the
 Note: The current encryption setting is tracked separately for each thread
 in a program. Multi-threaded programs that override the setting need to do
 so in each thread for the same setting to be used.</p>
-<h3 class="function"><a id="cupsSetPasswordCB">cupsSetPasswordCB</a></h3>
-        <p class="description">Pointer to library globals</p>
-<p class="code">
-void cupsSetPasswordCB (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_password_cb_t">cups_password_cb_t</a> cb<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the password callback for CUPS.</p>
-        <p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
-reads the password from the console. Programs should call either this
-function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
-by a program per thread.<br>
-<br>
-Note: The current password callback is tracked separately for each thread
-in a program. Multi-threaded programs that override the callback need to do
-so in each thread for the same callback to be used.
-
-</p>
-<h3 class="function"><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
-        <p class="description">Pointer to library globals</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
+        <p class="description">Set the advanced password callback for CUPS.</p>
 <p class="code">
-void cupsSetPasswordCB2 (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_password_cb2_t">cups_password_cb2_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
+void cupsSetPasswordCB2(<a href="#cups_password_cb2_t">cups_password_cb2_t</a> cb, void *user_data);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the advanced password callback for CUPS.</p>
+<table class="list"><tbody>
+<tr><th>cb</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
 reads the password from the console. Programs should call either this
 function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
@@ -2524,18 +2164,15 @@ so in each thread for the same callback to be used.
 
 </p>
 <h3 class="function"><a id="cupsSetServer">cupsSetServer</a></h3>
-        <p class="description">Pointer to library globals</p>
+        <p class="description">Set the default server name and port.</p>
 <p class="code">
-void cupsSetServer (<br>
-&#160;&#160;&#160;&#160;const char *server<br>
-);</p>
+void cupsSetServer(const char *server);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>server</dt>
-        <dd class="description">Server name</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the default server name and port.</p>
+<table class="list"><tbody>
+<tr><th>server</th>
+        <td class="description">Server name</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">The &quot;server&quot; string can be a fully-qualified hostname, a numeric
 IPv4 or IPv6 address, or a domain socket pathname. Hostnames and numeric IP
 addresses can be optionally followed by a colon and port number to override
@@ -2545,22 +2182,18 @@ default server name and port.<br>
 Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server need to do so in each
 thread for the same server to be used.</p>
-<h3 class="function"><a id="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
-        <p class="description">Pointer to library globals</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+        <p class="description">Set the server certificate callback.</p>
 <p class="code">
-void cupsSetServerCertCB (<br>
-&#160;&#160;&#160;&#160;<a href="#cups_server_cert_cb_t">cups_server_cert_cb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
+void cupsSetServerCertCB(<a href="#cups_server_cert_cb_t">cups_server_cert_cb_t</a> cb, void *user_data);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>cb</dt>
-        <dd class="description">Callback function</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the server certificate callback.</p>
+<table class="list"><tbody>
+<tr><th>cb</th>
+        <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Pass <code>NULL</code> to restore the default callback.<br>
 <br>
 Note: The current credentials callback is tracked separately for each thread
@@ -2571,20 +2204,16 @@ so in each thread for the same callback to be used.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="cupsSetServerCredentials">cupsSetServerCredentials</a></h3>
         <p class="description">Set the default server credentials.</p>
 <p class="code">
-int cupsSetServerCredentials (<br>
-&#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;const char *common_name,<br>
-&#160;&#160;&#160;&#160;int auto_create<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>path</dt>
-        <dd class="description">Keychain path or <code>NULL</code> for default</dd>
-<dt>common_name</dt>
-        <dd class="description">Default common name for server</dd>
-<dt>auto_create</dt>
-        <dd class="description">1 = automatically create self-signed certificates</dd>
-</dl>
+int cupsSetServerCredentials(const char *path, const char *common_name, int auto_create);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+        <td class="description">Keychain path or <code>NULL</code> for default</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Default common name for server</td></tr>
+<tr><th>auto_create</th>
+        <td class="description">1 = automatically create self-signed certificates</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -2593,36 +2222,30 @@ This function is threadsafe.
 
 </p>
 <h3 class="function"><a id="cupsSetUser">cupsSetUser</a></h3>
-        <p class="description">Pointer to library globals</p>
+        <p class="description">Set the default user name.</p>
 <p class="code">
-void cupsSetUser (<br>
-&#160;&#160;&#160;&#160;const char *user<br>
-);</p>
+void cupsSetUser(const char *user);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>user</dt>
-        <dd class="description">User name</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the default user name.</p>
+<table class="list"><tbody>
+<tr><th>user</th>
+        <td class="description">User name</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Pass <code>NULL</code> to restore the default user name.<br>
 <br>
 Note: The current user name is tracked separately for each thread in a
 program. Multi-threaded programs that override the user name need to do so
 in each thread for the same user name to be used.</p>
-<h3 class="function"><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
-        <p class="description">Pointer to library globals</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
+        <p class="description">Set the default HTTP User-Agent string.</p>
 <p class="code">
-void cupsSetUserAgent (<br>
-&#160;&#160;&#160;&#160;const char *user_agent<br>
-);</p>
+void cupsSetUserAgent(const char *user_agent);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>user_agent</dt>
-        <dd class="description">User-Agent string or <code>NULL</code></dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the default HTTP User-Agent string.</p>
+<table class="list"><tbody>
+<tr><th>user_agent</th>
+        <td class="description">User-Agent string or <code>NULL</code></td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Setting the string to NULL forces the default value containing the CUPS
 version, IPP version, and operating system version and architecture.
 
@@ -2630,38 +2253,28 @@ version, IPP version, and operating system version and architecture.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cupsStartDestDocument">cupsStartDestDocument</a></h3>
         <p class="description">Start a new document.</p>
 <p class="code">
-http_status_t cupsStartDestDocument (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-&#160;&#160;&#160;&#160;int job_id,<br>
-&#160;&#160;&#160;&#160;const char *docname,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;int num_options,<br>
-&#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options,<br>
-&#160;&#160;&#160;&#160;int last_document<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to destination</dd>
-<dt>dest</dt>
-        <dd class="description">Destination</dd>
-<dt>info</dt>
-        <dd class="description">Destination information</dd>
-<dt>job_id</dt>
-        <dd class="description">Job ID</dd>
-<dt>docname</dt>
-        <dd class="description">Document name</dd>
-<dt>format</dt>
-        <dd class="description">Document format</dd>
-<dt>num_options</dt>
-        <dd class="description">Number of document options</dd>
-<dt>options</dt>
-        <dd class="description">Document options</dd>
-<dt>last_document</dt>
-        <dd class="description">1 if this is the last document</dd>
-</dl>
+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, int job_id, const char *docname, const char *format, int num_options, <a href="#cups_option_t">cups_option_t</a> *options, int last_document);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to destination</td></tr>
+<tr><th>dest</th>
+        <td class="description">Destination</td></tr>
+<tr><th>info</th>
+        <td class="description">Destination information</td></tr>
+<tr><th>job_id</th>
+        <td class="description">Job ID</td></tr>
+<tr><th>docname</th>
+        <td class="description">Document name</td></tr>
+<tr><th>format</th>
+        <td class="description">Document format</td></tr>
+<tr><th>num_options</th>
+        <td class="description">Number of document options</td></tr>
+<tr><th>options</th>
+        <td class="description">Document options</td></tr>
+<tr><th>last_document</th>
+        <td class="description">1 if this is the last document</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of document creation</p>
 <h4 class="discussion">Discussion</h4>
@@ -2676,7 +2289,7 @@ if this is the last document to be submitted in the job.  Returns
 <h3 class="function"><a id="cupsUser">cupsUser</a></h3>
         <p class="description">Return the current user's name.</p>
 <p class="code">
-const char *cupsUser (void);</p>
+const char *cupsUser(void);</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">User name</p>
 <h4 class="discussion">Discussion</h4>
@@ -2687,44 +2300,37 @@ name to be used.</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="cupsUserAgent">cupsUserAgent</a></h3>
         <p class="description">Return the default HTTP User-Agent string.</p>
 <p class="code">
-const char *cupsUserAgent (void);</p>
+const char *cupsUserAgent(void);</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">User-Agent string</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAcceptConnection">httpAcceptConnection</a></h3>
         <p class="description">Accept a new HTTP client connection from the
 specified listening socket.</p>
 <p class="code">
-<a href="#http_t">http_t</a> *httpAcceptConnection (<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;int blocking<br>
-);</p>
+<a href="#http_t">http_t</a> *httpAcceptConnection(int fd, int blocking);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fd</dt>
-        <dd class="description">Listen socket file descriptor</dd>
-<dt>blocking</dt>
-        <dd class="description">1 if the connection should be
-blocking, 0 otherwise</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>fd</th>
+        <td class="description">Listen socket file descriptor</td></tr>
+<tr><th>blocking</th>
+        <td class="description">1 if the connection should be
+blocking, 0 otherwise</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">HTTP connection or <code>NULL</code></p>
 <h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpAddCredential">httpAddCredential</a></h3>
         <p class="description">Allocates and adds a single credential to an array.</p>
 <p class="code">
-int httpAddCredential (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
-&#160;&#160;&#160;&#160;const void *data,<br>
-&#160;&#160;&#160;&#160;size_t datalen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Credentials array</dd>
-<dt>data</dt>
-        <dd class="description">PEM-encoded X.509 data</dd>
-<dt>datalen</dt>
-        <dd class="description">Length of data</dd>
-</dl>
+int httpAddCredential(cups_array_t *credentials, const void *data, size_t datalen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Credentials array</td></tr>
+<tr><th>data</th>
+        <td class="description">PEM-encoded X.509 data</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Length of data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -2734,264 +2340,212 @@ int httpAddCredential (<br>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrAny">httpAddrAny</a></h3>
         <p class="description">Check for the &quot;any&quot; address.</p>
 <p class="code">
-int httpAddrAny (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr<br>
-);</p>
+int httpAddrAny(const <a href="#http_addr_t">http_addr_t</a> *addr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address to check</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address to check</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if &quot;any&quot;, 0 otherwise</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpAddrClose">httpAddrClose</a></h3>
         <p class="description">Close a socket created by <a href="#httpAddrConnect"><code>httpAddrConnect</code></a> or
 <a href="#httpAddrListen"><code>httpAddrListen</code></a>.</p>
 <p class="code">
-int httpAddrClose (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addr_t">http_addr_t</a> *addr,<br>
-&#160;&#160;&#160;&#160;int fd<br>
-);</p>
+int httpAddrClose(<a href="#http_addr_t">http_addr_t</a> *addr, int fd);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Listen address or <code>NULL</code></dd>
-<dt>fd</dt>
-        <dd class="description">Socket file descriptor</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Listen address or <code>NULL</code></td></tr>
+<tr><th>fd</th>
+        <td class="description">Socket file descriptor</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on failure</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">Pass <code>NULL</code> for sockets created with <a href="#httpAddrConnect"><code>httpAddrConnect</code></a> and the
-listen address for sockets created with <a href="#httpAddrListen"><code>httpAddrListen</code></a>. This will
-ensure that domain sockets are removed when closed.
+        <p class="discussion">Pass <code>NULL</code> for sockets created with <a href="#httpAddrConnect2"><code>httpAddrConnect2</code></a> and the
+listen address for sockets created with <a href="#httpAddrListen"><code>httpAddrListen</code></a>.  This function
+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>
         <p class="description">Connect to any of the addresses in the list with a
 timeout and optional cancel.</p>
 <p class="code">
-<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrConnect2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist,<br>
-&#160;&#160;&#160;&#160;int *sock,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addrlist</dt>
-        <dd class="description">List of potential addresses</dd>
-<dt>sock</dt>
-        <dd class="description">Socket</dd>
-<dt>msec</dt>
-        <dd class="description">Timeout in milliseconds</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-</dl>
+<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrConnect2(<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist, int *sock, int msec, int *cancel);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>addrlist</th>
+        <td class="description">List of potential addresses</td></tr>
+<tr><th>sock</th>
+        <td class="description">Socket</td></tr>
+<tr><th>msec</th>
+        <td class="description">Timeout in milliseconds</td></tr>
+<tr><th>cancel</th>
+        <td class="description">Pointer to &quot;cancel&quot; variable</td></tr>
+</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>
         <p class="description">Copy an address list.</p>
 <p class="code">
-<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrCopyList (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *src<br>
-);</p>
+<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrCopyList(<a href="#http_addrlist_t">http_addrlist_t</a> *src);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>src</dt>
-        <dd class="description">Source address list</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>src</th>
+        <td class="description">Source address list</td></tr>
+</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="httpAddrEqual">httpAddrEqual</a></h3>
         <p class="description">Compare two addresses.</p>
 <p class="code">
-int httpAddrEqual (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr1,<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr2<br>
-);</p>
+int httpAddrEqual(const <a href="#http_addr_t">http_addr_t</a> *addr1, const <a href="#http_addr_t">http_addr_t</a> *addr2);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr1</dt>
-        <dd class="description">First address</dd>
-<dt>addr2</dt>
-        <dd class="description">Second address</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr1</th>
+        <td class="description">First address</td></tr>
+<tr><th>addr2</th>
+        <td class="description">Second address</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if equal, 0 if not</p>
 <h3 class="function"><a id="httpAddrFamily">httpAddrFamily</a></h3>
         <p class="description">Get the address family of an address.</p>
 <p class="code">
-int httpAddrFamily (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addr_t">http_addr_t</a> *addr<br>
-);</p>
+int httpAddrFamily(<a href="#http_addr_t">http_addr_t</a> *addr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Address family</p>
-<h3 class="function"><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
-        <p class="description">Current list entry</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
+        <p class="description">Free an address list.</p>
 <p class="code">
-void httpAddrFreeList (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist<br>
-);</p>
+void httpAddrFreeList(<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addrlist</dt>
-        <dd class="description">Address list to free</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Free an address list.</p>
-        <p class="discussion"></p>
+<table class="list"><tbody>
+<tr><th>addrlist</th>
+        <td class="description">Address list to free</td></tr>
+</tbody></table>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrGetList">httpAddrGetList</a></h3>
         <p class="description">Get a list of addresses for a hostname.</p>
 <p class="code">
-<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrGetList (<br>
-&#160;&#160;&#160;&#160;const char *hostname,<br>
-&#160;&#160;&#160;&#160;int family,<br>
-&#160;&#160;&#160;&#160;const char *service<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>hostname</dt>
-        <dd class="description">Hostname, IP address, or NULL for passive listen address</dd>
-<dt>family</dt>
-        <dd class="description">Address family or AF_UNSPEC</dd>
-<dt>service</dt>
-        <dd class="description">Service name or port number</dd>
-</dl>
+<a href="#http_addrlist_t">http_addrlist_t</a> *httpAddrGetList(const char *hostname, int family, const char *service);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>hostname</th>
+        <td class="description">Hostname, IP address, or NULL for passive listen address</td></tr>
+<tr><th>family</th>
+        <td class="description">Address family or AF_UNSPEC</td></tr>
+<tr><th>service</th>
+        <td class="description">Service name or port number</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">List of addresses or NULL</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrLength">httpAddrLength</a></h3>
         <p class="description">Return the length of the address in bytes.</p>
 <p class="code">
-int httpAddrLength (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr<br>
-);</p>
+int httpAddrLength(const <a href="#http_addr_t">http_addr_t</a> *addr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Length in bytes</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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">
-int httpAddrListen (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addr_t">http_addr_t</a> *addr,<br>
-&#160;&#160;&#160;&#160;int port<br>
-);</p>
+int httpAddrListen(<a href="#http_addr_t">http_addr_t</a> *addr, int port);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address to bind to</dd>
-<dt>port</dt>
-        <dd class="description">Port number to bind to</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address to bind to</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number to bind to</td></tr>
+</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="httpAddrLocalhost">httpAddrLocalhost</a></h3>
         <p class="description">Check for the local loopback address.</p>
 <p class="code">
-int httpAddrLocalhost (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr<br>
-);</p>
+int httpAddrLocalhost(const <a href="#http_addr_t">http_addr_t</a> *addr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address to check</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address to check</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if local host, 0 otherwise</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrLookup">httpAddrLookup</a></h3>
         <p class="description">Lookup the hostname associated with the address.</p>
 <p class="code">
-char *httpAddrLookup (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-&#160;&#160;&#160;&#160;char *name,<br>
-&#160;&#160;&#160;&#160;int namelen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address to lookup</dd>
-<dt>name</dt>
-        <dd class="description">Host name buffer</dd>
-<dt>namelen</dt>
-        <dd class="description">Size of name buffer</dd>
-</dl>
+char *httpAddrLookup(const <a href="#http_addr_t">http_addr_t</a> *addr, char *name, int namelen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address to lookup</td></tr>
+<tr><th>name</th>
+        <td class="description">Host name buffer</td></tr>
+<tr><th>namelen</th>
+        <td class="description">Size of name buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Host name</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpAddrPort">httpAddrPort</a></h3>
         <p class="description">Get the port number associated with an address.</p>
 <p class="code">
-int httpAddrPort (<br>
-&#160;&#160;&#160;&#160;<a href="#http_addr_t">http_addr_t</a> *addr<br>
-);</p>
+int httpAddrPort(<a href="#http_addr_t">http_addr_t</a> *addr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Port number</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAddrString">httpAddrString</a></h3>
         <p class="description">Convert an address to a numeric string.</p>
 <p class="code">
-char *httpAddrString (<br>
-&#160;&#160;&#160;&#160;const <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-&#160;&#160;&#160;&#160;char *s,<br>
-&#160;&#160;&#160;&#160;int slen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>addr</dt>
-        <dd class="description">Address to convert</dd>
-<dt>s</dt>
-        <dd class="description">String buffer</dd>
-<dt>slen</dt>
-        <dd class="description">Length of string</dd>
-</dl>
+char *httpAddrString(const <a href="#http_addr_t">http_addr_t</a> *addr, char *s, int slen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>addr</th>
+        <td class="description">Address to convert</td></tr>
+<tr><th>s</th>
+        <td class="description">String buffer</td></tr>
+<tr><th>slen</th>
+        <td class="description">Length of string</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Numeric address string</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpAssembleURI">httpAssembleURI</a></h3>
         <p class="description">Assemble a uniform resource identifier from its
 components.</p>
 <p class="code">
-<a href="#http_uri_status_t">http_uri_status_t</a> httpAssembleURI (<br>
-&#160;&#160;&#160;&#160;<a href="#http_uri_coding_t">http_uri_coding_t</a> encoding,<br>
-&#160;&#160;&#160;&#160;char *uri,<br>
-&#160;&#160;&#160;&#160;int urilen,<br>
-&#160;&#160;&#160;&#160;const char *scheme,<br>
-&#160;&#160;&#160;&#160;const char *username,<br>
-&#160;&#160;&#160;&#160;const char *host,<br>
-&#160;&#160;&#160;&#160;int port,<br>
-&#160;&#160;&#160;&#160;const char *resource<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>encoding</dt>
-        <dd class="description">Encoding flags</dd>
-<dt>uri</dt>
-        <dd class="description">URI buffer</dd>
-<dt>urilen</dt>
-        <dd class="description">Size of URI buffer</dd>
-<dt>scheme</dt>
-        <dd class="description">Scheme name</dd>
-<dt>username</dt>
-        <dd class="description">Username</dd>
-<dt>host</dt>
-        <dd class="description">Hostname or address</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-<dt>resource</dt>
-        <dd class="description">Resource</dd>
-</dl>
+<a href="#http_uri_status_t">http_uri_status_t</a> httpAssembleURI(<a href="#http_uri_coding_t">http_uri_coding_t</a> encoding, char *uri, int urilen, const char *scheme, const char *username, const char *host, int port, const char *resource);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>encoding</th>
+        <td class="description">Encoding flags</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI buffer</td></tr>
+<tr><th>urilen</th>
+        <td class="description">Size of URI buffer</td></tr>
+<tr><th>scheme</th>
+        <td class="description">Scheme name</td></tr>
+<tr><th>username</th>
+        <td class="description">Username</td></tr>
+<tr><th>host</th>
+        <td class="description">Hostname or address</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number</td></tr>
+<tr><th>resource</th>
+        <td class="description">Resource</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">URI status</p>
 <h4 class="discussion">Discussion</h4>
@@ -3005,38 +2559,28 @@ URI string.
         <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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_uri_coding_t">http_uri_coding_t</a> encoding,<br>
-&#160;&#160;&#160;&#160;char *uri,<br>
-&#160;&#160;&#160;&#160;int urilen,<br>
-&#160;&#160;&#160;&#160;const char *scheme,<br>
-&#160;&#160;&#160;&#160;const char *username,<br>
-&#160;&#160;&#160;&#160;const char *host,<br>
-&#160;&#160;&#160;&#160;int port,<br>
-&#160;&#160;&#160;&#160;const char *resourcef,<br>
-&#160;&#160;&#160;&#160;...<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>encoding</dt>
-        <dd class="description">Encoding flags</dd>
-<dt>uri</dt>
-        <dd class="description">URI buffer</dd>
-<dt>urilen</dt>
-        <dd class="description">Size of URI buffer</dd>
-<dt>scheme</dt>
-        <dd class="description">Scheme name</dd>
-<dt>username</dt>
-        <dd class="description">Username</dd>
-<dt>host</dt>
-        <dd class="description">Hostname or address</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-<dt>resourcef</dt>
-        <dd class="description">Printf-style resource</dd>
-<dt>...</dt>
-        <dd class="description">Additional arguments as needed</dd>
-</dl>
+<a href="#http_uri_status_t">http_uri_status_t</a> httpAssembleURIf(<a href="#http_uri_coding_t">http_uri_coding_t</a> encoding, char *uri, int urilen, const char *scheme, const char *username, const char *host, int port, const char *resourcef, ...);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>encoding</th>
+        <td class="description">Encoding flags</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI buffer</td></tr>
+<tr><th>urilen</th>
+        <td class="description">Size of URI buffer</td></tr>
+<tr><th>scheme</th>
+        <td class="description">Scheme name</td></tr>
+<tr><th>username</th>
+        <td class="description">Username</td></tr>
+<tr><th>host</th>
+        <td class="description">Hostname or address</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number</td></tr>
+<tr><th>resourcef</th>
+        <td class="description">Printf-style resource</td></tr>
+<tr><th>...</th>
+        <td class="description">Additional arguments as needed</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">URI status</p>
 <h4 class="discussion">Discussion</h4>
@@ -3050,29 +2594,22 @@ you need to create a URI string.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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">
-char *httpAssembleUUID (<br>
-&#160;&#160;&#160;&#160;const char *server,<br>
-&#160;&#160;&#160;&#160;int port,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int number,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>server</dt>
-        <dd class="description">Server name</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-<dt>name</dt>
-        <dd class="description">Object name or NULL</dd>
-<dt>number</dt>
-        <dd class="description">Object number or 0</dd>
-<dt>buffer</dt>
-        <dd class="description">String buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
+char *httpAssembleUUID(const char *server, int port, const char *name, int number, char *buffer, size_t bufsize);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>server</th>
+        <td class="description">Server name</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number</td></tr>
+<tr><th>name</th>
+        <td class="description">Object name or NULL</td></tr>
+<tr><th>number</th>
+        <td class="description">Object number or 0</td></tr>
+<tr><th>buffer</th>
+        <td class="description">String buffer</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">UUID string</p>
 <h4 class="discussion">Discussion</h4>
@@ -3084,439 +2621,360 @@ The buffer needs to be at least 46 bytes in size.
 
 </p>
 <h3 class="function"><a id="httpBlocking">httpBlocking</a></h3>
-        <p class="description">Credential data</p>
+        <p class="description">Set blocking/non-blocking behavior on a connection.</p>
 <p class="code">
-void httpBlocking (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;int b<br>
-);</p>
+void httpBlocking(<a href="#http_t">http_t</a> *http, int b);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>b</dt>
-        <dd class="description">1 = blocking, 0 = non-blocking</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set blocking/non-blocking behavior on a connection.</p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>b</th>
+        <td class="description">1 = blocking, 0 = non-blocking</td></tr>
+</tbody></table>
 <h3 class="function"><a id="httpCheck">httpCheck</a></h3>
         <p class="description">Check to see if there is a pending response from the server.</p>
 <p class="code">
-int httpCheck (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpCheck(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 = no data, 1 = data available</p>
-<h3 class="function"><a id="httpClearCookie">httpClearCookie</a></h3>
-        <p class="description">HTTP connection</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpClearCookie">httpClearCookie</a></h3>
+        <p class="description">Clear the cookie value(s).</p>
 <p class="code">
-void httpClearCookie (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+void httpClearCookie(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Clear the cookie value(s).</p>
-        <p class="discussion"></p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h3 class="function"><a id="httpClearFields">httpClearFields</a></h3>
-        <p class="description">HTTP connection</p>
+        <p class="description">Clear HTTP request fields.</p>
 <p class="code">
-void httpClearFields (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+void httpClearFields(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Clear HTTP request fields.</p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h3 class="function"><a id="httpClose">httpClose</a></h3>
-        <p class="description">HTTP connection</p>
+        <p class="description">Close an HTTP connection.</p>
 <p class="code">
-void httpClose (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+void httpClose(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Close an HTTP connection.</p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpCompareCredentials">httpCompareCredentials</a></h3>
         <p class="description">Compare two sets of X.509 credentials.</p>
 <p class="code">
-int httpCompareCredentials (<br>
-&#160;&#160;&#160;&#160;cups_array_t *cred1,<br>
-&#160;&#160;&#160;&#160;cups_array_t *cred2<br>
-);</p>
+int httpCompareCredentials(cups_array_t *cred1, cups_array_t *cred2);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>cred1</dt>
-        <dd class="description">First set of X.509 credentials</dd>
-<dt>cred2</dt>
-        <dd class="description">Second set of X.509 credentials</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>cred1</th>
+        <td class="description">First set of X.509 credentials</td></tr>
+<tr><th>cred2</th>
+        <td class="description">Second set of X.509 credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if they match, 0 if they do not</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpConnect2">httpConnect2</a></h3>
         <p class="description">Connect to a HTTP server.</p>
 <p class="code">
-<a href="#http_t">http_t</a> *httpConnect2 (<br>
-&#160;&#160;&#160;&#160;const char *host,<br>
-&#160;&#160;&#160;&#160;int port,<br>
-&#160;&#160;&#160;&#160;<a href="#http_addrlist_t">http_addrlist_t</a> *addrlist,<br>
-&#160;&#160;&#160;&#160;int family,<br>
-&#160;&#160;&#160;&#160;<a href="#http_encryption_t">http_encryption_t</a> encryption,<br>
-&#160;&#160;&#160;&#160;int blocking,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>host</dt>
-        <dd class="description">Host to connect to</dd>
-<dt>port</dt>
-        <dd class="description">Port number</dd>
-<dt>addrlist</dt>
-        <dd class="description">List of addresses or NULL to lookup</dd>
-<dt>family</dt>
-        <dd class="description">Address family to use or <code>AF_UNSPEC</code> for any</dd>
-<dt>encryption</dt>
-        <dd class="description">Type of encryption to use</dd>
-<dt>blocking</dt>
-        <dd class="description">1 for blocking connection, 0 for non-blocking</dd>
-<dt>msec</dt>
-        <dd class="description">Connection timeout in milliseconds, 0 means don't connect</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-</dl>
+<a href="#http_t">http_t</a> *httpConnect2(const char *host, int port, <a href="#http_addrlist_t">http_addrlist_t</a> *addrlist, int family, <a href="#http_encryption_t">http_encryption_t</a> encryption, int blocking, int msec, int *cancel);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>host</th>
+        <td class="description">Host to connect to</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number</td></tr>
+<tr><th>addrlist</th>
+        <td class="description">List of addresses or <code>NULL</code> to lookup</td></tr>
+<tr><th>family</th>
+        <td class="description">Address family to use or <code>AF_UNSPEC</code> for any</td></tr>
+<tr><th>encryption</th>
+        <td class="description">Type of encryption to use</td></tr>
+<tr><th>blocking</th>
+        <td class="description">1 for blocking connection, 0 for non-blocking</td></tr>
+<tr><th>msec</th>
+        <td class="description">Connection timeout in milliseconds, 0 means don't connect</td></tr>
+<tr><th>cancel</th>
+        <td class="description">Pointer to &quot;cancel&quot; variable</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New HTTP connection</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpCopyCredentials">httpCopyCredentials</a></h3>
         <p class="description">Copy the credentials associated with the peer in
 an encrypted connection.</p>
 <p class="code">
-int httpCopyCredentials (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;cups_array_t **credentials<br>
-);</p>
+int httpCopyCredentials(<a href="#http_t">http_t</a> *http, cups_array_t **credentials);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection to server</dd>
-<dt>credentials</dt>
-        <dd class="description">Array of credentials</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection to server</td></tr>
+<tr><th>credentials</th>
+        <td class="description">Array of credentials</td></tr>
+</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 2.0/macOS 10.10&#160;</span><a id="httpCredentialsAreValidForName">httpCredentialsAreValidForName</a></h3>
         <p class="description">Return whether the credentials are valid for the given name.</p>
 <p class="code">
-int httpCredentialsAreValidForName (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
-&#160;&#160;&#160;&#160;const char *common_name<br>
-);</p>
+int httpCredentialsAreValidForName(cups_array_t *credentials, const char *common_name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-<dt>common_name</dt>
-        <dd class="description">Name to check</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Name to check</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if valid, 0 otherwise</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="httpCredentialsGetExpiration">httpCredentialsGetExpiration</a></h3>
         <p class="description">Return the expiration date of the credentials.</p>
 <p class="code">
-time_t httpCredentialsGetExpiration (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
-);</p>
+time_t httpCredentialsGetExpiration(cups_array_t *credentials);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Expiration date of credentials</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="httpCredentialsGetTrust">httpCredentialsGetTrust</a></h3>
         <p class="description">Return the trust of credentials.</p>
 <p class="code">
-<a href="#http_trust_t">http_trust_t</a> httpCredentialsGetTrust (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
-&#160;&#160;&#160;&#160;const char *common_name<br>
-);</p>
+<a href="#http_trust_t">http_trust_t</a> httpCredentialsGetTrust(cups_array_t *credentials, const char *common_name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-<dt>common_name</dt>
-        <dd class="description">Common name for trust lookup</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Common name for trust lookup</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Level of trust</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/macOS 10.10&#160;</span><a id="httpCredentialsString">httpCredentialsString</a></h3>
         <p class="description">Return a string representing the credentials.</p>
 <p class="code">
-size_t httpCredentialsString (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer or <code>NULL</code></dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
+size_t httpCredentialsString(cups_array_t *credentials, char *buffer, size_t bufsize);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Buffer or <code>NULL</code></td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Total size of credentials string</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.1.21/macOS 10.4&#160;</span><a id="httpDecode64_2">httpDecode64_2</a></h3>
         <p class="description">Base64-decode a string.</p>
 <p class="code">
-char *httpDecode64_2 (<br>
-&#160;&#160;&#160;&#160;char *out,<br>
-&#160;&#160;&#160;&#160;int *outlen,<br>
-&#160;&#160;&#160;&#160;const char *in<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>out</dt>
-        <dd class="description">String to write to</dd>
-<dt>outlen</dt>
-        <dd class="description">Size of output string</dd>
-<dt>in</dt>
-        <dd class="description">String to read from</dd>
-</dl>
+char *httpDecode64_2(char *out, int *outlen, const char *in);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>out</th>
+        <td class="description">String to write to</td></tr>
+<tr><th>outlen</th>
+        <td class="description">Size of output string</td></tr>
+<tr><th>in</th>
+        <td class="description">String to read from</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Decoded string</p>
+<h4 class="discussion">Discussion</h4>
+        <p class="discussion">The caller must initialize &quot;outlen&quot; to the maximum size of the decoded
+string before calling <code>httpDecode64_2</code>.  On return &quot;outlen&quot; contains the
+decoded length of the string.
+
+</p>
 <h3 class="function"><a id="httpDelete">httpDelete</a></h3>
         <p class="description">Send a DELETE request to the server.</p>
 <p class="code">
-int httpDelete (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpDelete(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI to delete</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI to delete</td></tr>
+</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.1.21/macOS 10.4&#160;</span><a id="httpEncode64_2">httpEncode64_2</a></h3>
         <p class="description">Base64-encode a string.</p>
 <p class="code">
-char *httpEncode64_2 (<br>
-&#160;&#160;&#160;&#160;char *out,<br>
-&#160;&#160;&#160;&#160;int outlen,<br>
-&#160;&#160;&#160;&#160;const char *in,<br>
-&#160;&#160;&#160;&#160;int inlen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>out</dt>
-        <dd class="description">String to write to</dd>
-<dt>outlen</dt>
-        <dd class="description">Size of output string</dd>
-<dt>in</dt>
-        <dd class="description">String to read from</dd>
-<dt>inlen</dt>
-        <dd class="description">Size of input string</dd>
-</dl>
+char *httpEncode64_2(char *out, int outlen, const char *in, int inlen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>out</th>
+        <td class="description">String to write to</td></tr>
+<tr><th>outlen</th>
+        <td class="description">Maximum size of output string</td></tr>
+<tr><th>in</th>
+        <td class="description">String to read from</td></tr>
+<tr><th>inlen</th>
+        <td class="description">Size of input string</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Encoded string</p>
 <h3 class="function"><a id="httpEncryption">httpEncryption</a></h3>
         <p class="description">Set the required encryption on the link.</p>
 <p class="code">
-int httpEncryption (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_encryption_t">http_encryption_t</a> e<br>
-);</p>
+int httpEncryption(<a href="#http_t">http_t</a> *http, <a href="#http_encryption_t">http_encryption_t</a> e);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>e</dt>
-        <dd class="description">New encryption preference</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>e</th>
+        <td class="description">New encryption preference</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">-1 on error, 0 on success</p>
 <h3 class="function"><a id="httpError">httpError</a></h3>
         <p class="description">Get the last error on a connection.</p>
 <p class="code">
-int httpError (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpError(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Error code (errno) value</p>
 <h3 class="function"><a id="httpFieldValue">httpFieldValue</a></h3>
         <p class="description">Return the HTTP field enumeration value for a field
 name.</p>
 <p class="code">
-<a href="#http_field_t">http_field_t</a> httpFieldValue (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+<a href="#http_field_t">http_field_t</a> httpFieldValue(const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">String name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">String name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Field index</p>
 <h3 class="function"><a id="httpFlush">httpFlush</a></h3>
-        <p class="description">Looping var</p>
+        <p class="description">Flush data read from a HTTP connection.</p>
 <p class="code">
-void httpFlush (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+void httpFlush(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Flush data from a HTTP connection.</p>
+<table class="list"><tbody>
+<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>
-        <p class="description">Flush data in write buffer.</p>
+        <p class="description">Flush data written to a HTTP connection.</p>
 <p class="code">
-int httpFlushWrite (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpFlushWrite(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Bytes written or -1 on error</p>
 <h3 class="function"><a id="httpFreeCredentials">httpFreeCredentials</a></h3>
-        <p class="description">Bytes written</p>
+        <p class="description">Free an array of credentials.</p>
 <p class="code">
-void httpFreeCredentials (<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
-);</p>
+void httpFreeCredentials(cups_array_t *credentials);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>credentials</dt>
-        <dd class="description">Array of credentials</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Free an array of credentials.</p>
+<table class="list"><tbody>
+<tr><th>credentials</th>
+        <td class="description">Array of credentials</td></tr>
+</tbody></table>
 <h3 class="function"><a id="httpGet">httpGet</a></h3>
         <p class="description">Send a GET request to the server.</p>
 <p class="code">
-int httpGet (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpGet(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI to get</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI to get</td></tr>
+</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 2.0/OS 10.10&#160;</span><a id="httpGetActivity">httpGetActivity</a></h3>
         <p class="description">Get the most recent activity for a connection.</p>
 <p class="code">
-time_t httpGetActivity (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+time_t httpGetActivity(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Time of last read or write</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The return value is the UNIX time of the last read or write.
+        <p class="discussion">The return value is the time in seconds of the last read or write.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpGetAddress">httpGetAddress</a></h3>
         <p class="description">Get the address of the connected peer of a connection.</p>
 <p class="code">
-<a href="#http_addr_t">http_addr_t</a> *httpGetAddress (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+<a href="#http_addr_t">http_addr_t</a> *httpGetAddress(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Connected address or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">Returns <code>NULL</code> if the socket is currently unconnected.
+        <p class="discussion">For connections created with <a href="#httpConnect2"><code>httpConnect2</code></a>, the address is for the
+server.  For connections created with <a href="#httpAccept"><code>httpAccept</code></a>, the address is for
+the client.<br>
+<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>
         <p class="description">Get the current authorization string.</p>
 <p class="code">
-char *httpGetAuthString (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+char *httpGetAuthString(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Authorization string</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The authorization string is set by cupsDoAuthentication() and
-httpSetAuthString().  Use httpGetAuthString() to retrieve the
-string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
-value.
+        <p class="discussion">The authorization string is set by <a href="#cupsDoAuthentication"><code>cupsDoAuthentication</code></a> and
+<a href="#httpSetAuthString"><code>httpSetAuthString</code></a>.  Use <a href="#httpGetAuthString"><code>httpGetAuthString</code></a> to retrieve the
+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>
         <p class="description">Get the blocking/non-block state of a connection.</p>
 <p class="code">
-int httpGetBlocking (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpGetBlocking(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</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>
         <p class="description">Get a common content encoding, if any, between
 the client and server.</p>
 <p class="code">
-const char *httpGetContentEncoding (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+const char *httpGetContentEncoding(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Content-Coding value or
 <code>NULL</code> for the identity
@@ -3531,59 +2989,49 @@ or in the response (for servers) in order to compress the content stream.
 <h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpGetCookie">httpGetCookie</a></h3>
         <p class="description">Get any cookie data from the response.</p>
 <p class="code">
-const char *httpGetCookie (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+const char *httpGetCookie(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">Cookie data or NULL</p>
+        <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>
         <p class="description">Get a formatted date/time string from a time value.</p>
 <p class="code">
-const char *httpGetDateString2 (<br>
-&#160;&#160;&#160;&#160;time_t t,<br>
-&#160;&#160;&#160;&#160;char *s,<br>
-&#160;&#160;&#160;&#160;int slen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>t</dt>
-        <dd class="description">UNIX time</dd>
-<dt>s</dt>
-        <dd class="description">String buffer</dd>
-<dt>slen</dt>
-        <dd class="description">Size of string buffer</dd>
-</dl>
+const char *httpGetDateString2(time_t t, char *s, int slen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>t</th>
+        <td class="description">Time in seconds</td></tr>
+<tr><th>s</th>
+        <td class="description">String buffer</td></tr>
+<tr><th>slen</th>
+        <td class="description">Size of string buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Date/time string</p>
 <h3 class="function"><a id="httpGetDateTime">httpGetDateTime</a></h3>
         <p class="description">Get a time value from a formatted date/time string.</p>
 <p class="code">
-time_t httpGetDateTime (<br>
-&#160;&#160;&#160;&#160;const char *s<br>
-);</p>
+time_t httpGetDateTime(const char *s);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>s</dt>
-        <dd class="description">Date/time string</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>s</th>
+        <td class="description">Date/time string</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">UNIX time</p>
+        <p class="description">Time in seconds</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+<a href="#http_encryption_t">http_encryption_t</a> httpGetEncryption(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Current encryption mode</p>
 <h4 class="discussion">Discussion</h4>
@@ -3595,14 +3043,12 @@ been established.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+http_status_t httpGetExpect(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Expect: status, if any</p>
 <h4 class="discussion">Discussion</h4>
@@ -3613,63 +3059,40 @@ returns the expected HTTP status code, typically <code>HTTP_STATUS_CONTINUE</cod
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetFd">httpGetFd</a></h3>
         <p class="description">Get the file descriptor associated with a connection.</p>
 <p class="code">
-int httpGetFd (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpGetFd(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">File descriptor or -1 if none</p>
 <h3 class="function"><a id="httpGetField">httpGetField</a></h3>
         <p class="description">Get a field value from a request/response.</p>
 <p class="code">
-const char *httpGetField (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_field_t">http_field_t</a> field<br>
-);</p>
+const char *httpGetField(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>field</dt>
-        <dd class="description">Field to get</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>field</th>
+        <td class="description">Field to get</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Field value</p>
-<h3 class="function"><span class="info">&#160;DEPRECATED&#160;</span><a id="httpGetHostByName">httpGetHostByName</a></h3>
-        <p class="description">Lookup a hostname or IPv4 address, and return
-address records for the specified name.</p>
-<p class="code">
-struct hostent *httpGetHostByName (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Hostname or IP address</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Host entry</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpGetHostname">httpGetHostname</a></h3>
         <p class="description">Get the FQDN for the connection or local system.</p>
 <p class="code">
-const char *httpGetHostname (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *s,<br>
-&#160;&#160;&#160;&#160;int slen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection or NULL</dd>
-<dt>s</dt>
-        <dd class="description">String buffer for name</dd>
-<dt>slen</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
+const char *httpGetHostname(<a href="#http_t">http_t</a> *http, char *s, int slen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection or NULL</td></tr>
+<tr><th>s</th>
+        <td class="description">String buffer for name</td></tr>
+<tr><th>slen</th>
+        <td class="description">Size of buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">FQDN for connection or system</p>
 <h4 class="discussion">Discussion</h4>
@@ -3683,28 +3106,24 @@ and gethostbyname() to get the local hostname with domain.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpGetKeepAlive">httpGetKeepAlive</a></h3>
         <p class="description">Get the current Keep-Alive state of the connection.</p>
 <p class="code">
-<a href="#http_keepalive_t">http_keepalive_t</a> httpGetKeepAlive (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+<a href="#http_keepalive_t">http_keepalive_t</a> httpGetKeepAlive(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</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>
         <p class="description">Get the amount of data remaining from the
 content-length or transfer-encoding fields.</p>
 <p class="code">
-off_t httpGetLength2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+off_t httpGetLength2(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Content length</p>
 <h4 class="discussion">Discussion</h4>
@@ -3715,41 +3134,35 @@ content larger than 2^31 - 1.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpGetPending">httpGetPending</a></h3>
         <p class="description">Get the number of bytes that are buffered for writing.</p>
 <p class="code">
-size_t httpGetPending (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+size_t httpGetPending(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes buffered</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpGetReady">httpGetReady</a></h3>
         <p class="description">Get the number of bytes that can be read without blocking.</p>
 <p class="code">
-size_t httpGetReady (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+size_t httpGetReady(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes available</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpGetRemaining">httpGetRemaining</a></h3>
         <p class="description">Get the number of remaining bytes in the message
 body or current chunk.</p>
 <p class="code">
-size_t httpGetRemaining (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+size_t httpGetRemaining(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Remaining bytes</p>
 <h4 class="discussion">Discussion</h4>
@@ -3760,120 +3173,97 @@ message body is chunked or fixed-length.
 <h3 class="function"><a id="httpGetState">httpGetState</a></h3>
         <p class="description">Get the current state of the HTTP request.</p>
 <p class="code">
-<a href="#http_state_t">http_state_t</a> httpGetState (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+<a href="#http_state_t">http_state_t</a> httpGetState(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</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>
         <p class="description">Get the status of the last HTTP request.</p>
 <p class="code">
-http_status_t httpGetStatus (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+http_status_t httpGetStatus(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</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>
         <p class="description">Get a sub-field value.</p>
 <p class="code">
-char *httpGetSubField2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_field_t">http_field_t</a> field,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;char *value,<br>
-&#160;&#160;&#160;&#160;int valuelen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>field</dt>
-        <dd class="description">Field index</dd>
-<dt>name</dt>
-        <dd class="description">Name of sub-field</dd>
-<dt>value</dt>
-        <dd class="description">Value string</dd>
-<dt>valuelen</dt>
-        <dd class="description">Size of value buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Value or NULL</p>
+char *httpGetSubField2(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field, const char *name, char *value, int valuelen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>field</th>
+        <td class="description">Field index</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of sub-field</td></tr>
+<tr><th>value</th>
+        <td class="description">Value string</td></tr>
+<tr><th>valuelen</th>
+        <td class="description">Size of value buffer</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Value or <code>NULL</code></p>
 <h3 class="function"><a id="httpGetVersion">httpGetVersion</a></h3>
         <p class="description">Get the HTTP version at the other end.</p>
 <p class="code">
-<a href="#http_version_t">http_version_t</a> httpGetVersion (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+<a href="#http_version_t">http_version_t</a> httpGetVersion(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Version number</p>
 <h3 class="function"><a id="httpGets">httpGets</a></h3>
         <p class="description">Get a line of text from a HTTP connection.</p>
 <p class="code">
-char *httpGets (<br>
-&#160;&#160;&#160;&#160;char *line,<br>
-&#160;&#160;&#160;&#160;int length,<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>line</dt>
-        <dd class="description">Line to read into</dd>
-<dt>length</dt>
-        <dd class="description">Max length of buffer</dd>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Line or NULL</p>
+char *httpGets(char *line, int length, <a href="#http_t">http_t</a> *http);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>line</th>
+        <td class="description">Line to read into</td></tr>
+<tr><th>length</th>
+        <td class="description">Max length of buffer</td></tr>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
+<h4 class="returnvalue">Return Value</h4>
+        <p class="description">Line or <code>NULL</code></p>
 <h3 class="function"><a id="httpHead">httpHead</a></h3>
         <p class="description">Send a HEAD request to the server.</p>
 <p class="code">
-int httpHead (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpHead(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI for head</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI for head</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
 <h3 class="function"><a id="httpInitialize">httpInitialize</a></h3>
-        <p class="description">URI for head</p>
-<p class="code">
-void httpInitialize (void);</p>
-<h4 class="returnvalue">Return Value</h4>
         <p class="description">Initialize the HTTP interface library and set the
 default HTTP proxy (if any).</p>
+<p class="code">
+void httpInitialize(void);</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpIsChunked">httpIsChunked</a></h3>
         <p class="description">Report whether a message body is chunked.</p>
 <p class="code">
-int httpIsChunked (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpIsChunked(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if chunked, 0 if not</p>
 <h4 class="discussion">Discussion</h4>
@@ -3884,14 +3274,12 @@ variable-length chunks.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpIsEncrypted">httpIsEncrypted</a></h3>
         <p class="description">Report whether a connection is encrypted.</p>
 <p class="code">
-int httpIsEncrypted (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+int httpIsEncrypted(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if encrypted, 0 if not</p>
 <h4 class="discussion">Discussion</h4>
@@ -3901,61 +3289,50 @@ int httpIsEncrypted (<br>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpLoadCredentials">httpLoadCredentials</a></h3>
         <p class="description">Load X.509 credentials from a keychain file.</p>
 <p class="code">
-int httpLoadCredentials (<br>
-&#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;cups_array_t **credentials,<br>
-&#160;&#160;&#160;&#160;const char *common_name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>path</dt>
-        <dd class="description">Keychain path or <code>NULL</code> for default</dd>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-<dt>common_name</dt>
-        <dd class="description">Common name for credentials</dd>
-</dl>
+int httpLoadCredentials(const char *path, cups_array_t **credentials, const char *common_name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+        <td class="description">Keychain path or <code>NULL</code> for default</td></tr>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Common name for credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h3 class="function"><a id="httpOptions">httpOptions</a></h3>
         <p class="description">Send an OPTIONS request to the server.</p>
 <p class="code">
-int httpOptions (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpOptions(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI for options</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI for options</td></tr>
+</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.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer for data</dd>
-<dt>length</dt>
-        <dd class="description">Maximum number of bytes</dd>
-</dl>
+ssize_t httpPeek(<a href="#http_t">http_t</a> *http, char *buffer, size_t length);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Buffer for data</td></tr>
+<tr><th>length</th>
+        <td class="description">Maximum number of bytes</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes copied</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">This function copies available data from the given HTTP connection, reading
 a buffer as needed.  The data is still available for reading using
-<a href="#httpRead"><code>httpRead</code></a> or <a href="#httpRead2"><code>httpRead2</code></a>.<br>
+<a href="#httpRead2"><code>httpRead2</code></a>.<br>
 <br>
 For non-blocking connections the usual timeouts apply.
 
@@ -3963,593 +3340,387 @@ For non-blocking connections the usual timeouts apply.
 <h3 class="function"><a id="httpPost">httpPost</a></h3>
         <p class="description">Send a POST request to the server.</p>
 <p class="code">
-int httpPost (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpPost(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI for post</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI for post</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
 <h3 class="function"><a id="httpPut">httpPut</a></h3>
         <p class="description">Send a PUT request to the server.</p>
 <p class="code">
-int httpPut (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
+int httpPut(<a href="#http_t">http_t</a> *http, const char *uri);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI to put</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI to put</td></tr>
+</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.2/macOS 10.5&#160;</span><a id="httpRead2">httpRead2</a></h3>
         <p class="description">Read data from a HTTP connection.</p>
 <p class="code">
-ssize_t httpRead2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer for data</dd>
-<dt>length</dt>
-        <dd class="description">Maximum number of bytes</dd>
-</dl>
+ssize_t httpRead2(<a href="#http_t">http_t</a> *http, char *buffer, size_t length);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Buffer for data</td></tr>
+<tr><th>length</th>
+        <td class="description">Maximum number of bytes</td></tr>
+</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>
         <p class="description">Read a HTTP request from a connection.</p>
 <p class="code">
-<a href="#http_state_t">http_state_t</a> httpReadRequest (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *uri,<br>
-&#160;&#160;&#160;&#160;size_t urilen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI buffer</dd>
-<dt>urilen</dt>
-        <dd class="description">Size of URI buffer</dd>
-</dl>
+<a href="#http_state_t">http_state_t</a> httpReadRequest(<a href="#http_t">http_t</a> *http, char *uri, size_t urilen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>uri</th>
+        <td class="description">URI buffer</td></tr>
+<tr><th>urilen</th>
+        <td class="description">Size of URI buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New state of connection</p>
 <h3 class="function"><a id="httpReconnect2">httpReconnect2</a></h3>
         <p class="description">Reconnect to a HTTP server with timeout and optional
 cancel.</p>
 <p class="code">
-int httpReconnect2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;int msec,<br>
-&#160;&#160;&#160;&#160;int *cancel<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>msec</dt>
-        <dd class="description">Timeout in milliseconds</dd>
-<dt>cancel</dt>
-        <dd class="description">Pointer to &quot;cancel&quot; variable</dd>
-</dl>
+int httpReconnect2(<a href="#http_t">http_t</a> *http, int msec, int *cancel);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>msec</th>
+        <td class="description">Timeout in milliseconds</td></tr>
+<tr><th>cancel</th>
+        <td class="description">Pointer to &quot;cancel&quot; variable</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, non-zero on failure</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpResolveHostname">httpResolveHostname</a></h3>
         <p class="description">Resolve the hostname of the HTTP connection
 address.</p>
 <p class="code">
-const char *httpResolveHostname (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Hostname buffer</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of buffer</dd>
-</dl>
+const char *httpResolveHostname(<a href="#http_t">http_t</a> *http, char *buffer, size_t bufsize);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Hostname buffer</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Resolved hostname or <code>NULL</code></p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpSaveCredentials">httpSaveCredentials</a></h3>
         <p class="description">Save X.509 credentials to a keychain file.</p>
 <p class="code">
-int httpSaveCredentials (<br>
-&#160;&#160;&#160;&#160;const char *path,<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials,<br>
-&#160;&#160;&#160;&#160;const char *common_name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>path</dt>
-        <dd class="description">Keychain path or <code>NULL</code> for default</dd>
-<dt>credentials</dt>
-        <dd class="description">Credentials</dd>
-<dt>common_name</dt>
-        <dd class="description">Common name for credentials</dd>
-</dl>
+int httpSaveCredentials(const char *path, cups_array_t *credentials, const char *common_name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>path</th>
+        <td class="description">Keychain path or <code>NULL</code> for default</td></tr>
+<tr><th>credentials</th>
+        <td class="description">Credentials</td></tr>
+<tr><th>common_name</th>
+        <td class="description">Common name for credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">-1 on error, 0 on success</p>
-<h3 class="function"><a id="httpSeparate">httpSeparate</a></h3>
-        <p class="description">+ 400 year days</p>
-<p class="code">
-void httpSeparate (<br>
-&#160;&#160;&#160;&#160;const char *uri,<br>
-&#160;&#160;&#160;&#160;char *scheme,<br>
-&#160;&#160;&#160;&#160;char *username,<br>
-&#160;&#160;&#160;&#160;char *host,<br>
-&#160;&#160;&#160;&#160;int *port,<br>
-&#160;&#160;&#160;&#160;char *resource<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>uri</dt>
-        <dd class="description">Universal Resource Identifier</dd>
-<dt>scheme</dt>
-        <dd class="description">Scheme [32] (http, https, etc.)</dd>
-<dt>username</dt>
-        <dd class="description">Username [1024]</dd>
-<dt>host</dt>
-        <dd class="description">Hostname [1024]</dd>
-<dt>port</dt>
-        <dd class="description">Port number to use</dd>
-<dt>resource</dt>
-        <dd class="description">Resource/filename [1024]</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Separate a Universal Resource Identifier into its
-components.</p>
-        <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
-
- </p>
-<h3 class="function"><a id="httpSeparate2">httpSeparate2</a></h3>
-        <p class="description">Resource/filename [1024]</p>
-<p class="code">
-void httpSeparate2 (<br>
-&#160;&#160;&#160;&#160;const char *uri,<br>
-&#160;&#160;&#160;&#160;char *scheme,<br>
-&#160;&#160;&#160;&#160;int schemelen,<br>
-&#160;&#160;&#160;&#160;char *username,<br>
-&#160;&#160;&#160;&#160;int usernamelen,<br>
-&#160;&#160;&#160;&#160;char *host,<br>
-&#160;&#160;&#160;&#160;int hostlen,<br>
-&#160;&#160;&#160;&#160;int *port,<br>
-&#160;&#160;&#160;&#160;char *resource,<br>
-&#160;&#160;&#160;&#160;int resourcelen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>uri</dt>
-        <dd class="description">Universal Resource Identifier</dd>
-<dt>scheme</dt>
-        <dd class="description">Scheme (http, https, etc.)</dd>
-<dt>schemelen</dt>
-        <dd class="description">Size of scheme buffer</dd>
-<dt>username</dt>
-        <dd class="description">Username</dd>
-<dt>usernamelen</dt>
-        <dd class="description">Size of username buffer</dd>
-<dt>host</dt>
-        <dd class="description">Hostname</dd>
-<dt>hostlen</dt>
-        <dd class="description">Size of hostname buffer</dd>
-<dt>port</dt>
-        <dd class="description">Port number to use</dd>
-<dt>resource</dt>
-        <dd class="description">Resource/filename</dd>
-<dt>resourcelen</dt>
-        <dd class="description">Size of resource buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Separate a Universal Resource Identifier into its
-components.</p>
-        <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
-
-
- </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSeparateURI">httpSeparateURI</a></h3>
         <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
 <p class="code">
-<a href="#http_uri_status_t">http_uri_status_t</a> httpSeparateURI (<br>
-&#160;&#160;&#160;&#160;<a href="#http_uri_coding_t">http_uri_coding_t</a> decoding,<br>
-&#160;&#160;&#160;&#160;const char *uri,<br>
-&#160;&#160;&#160;&#160;char *scheme,<br>
-&#160;&#160;&#160;&#160;int schemelen,<br>
-&#160;&#160;&#160;&#160;char *username,<br>
-&#160;&#160;&#160;&#160;int usernamelen,<br>
-&#160;&#160;&#160;&#160;char *host,<br>
-&#160;&#160;&#160;&#160;int hostlen,<br>
-&#160;&#160;&#160;&#160;int *port,<br>
-&#160;&#160;&#160;&#160;char *resource,<br>
-&#160;&#160;&#160;&#160;int resourcelen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>decoding</dt>
-        <dd class="description">Decoding flags</dd>
-<dt>uri</dt>
-        <dd class="description">Universal Resource Identifier</dd>
-<dt>scheme</dt>
-        <dd class="description">Scheme (http, https, etc.)</dd>
-<dt>schemelen</dt>
-        <dd class="description">Size of scheme buffer</dd>
-<dt>username</dt>
-        <dd class="description">Username</dd>
-<dt>usernamelen</dt>
-        <dd class="description">Size of username buffer</dd>
-<dt>host</dt>
-        <dd class="description">Hostname</dd>
-<dt>hostlen</dt>
-        <dd class="description">Size of hostname buffer</dd>
-<dt>port</dt>
-        <dd class="description">Port number to use</dd>
-<dt>resource</dt>
-        <dd class="description">Resource/filename</dd>
-<dt>resourcelen</dt>
-        <dd class="description">Size of resource buffer</dd>
-</dl>
+<a href="#http_uri_status_t">http_uri_status_t</a> httpSeparateURI(<a href="#http_uri_coding_t">http_uri_coding_t</a> decoding, const char *uri, char *scheme, int schemelen, char *username, int usernamelen, char *host, int hostlen, int *port, char *resource, int resourcelen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>decoding</th>
+        <td class="description">Decoding flags</td></tr>
+<tr><th>uri</th>
+        <td class="description">Universal Resource Identifier</td></tr>
+<tr><th>scheme</th>
+        <td class="description">Scheme (http, https, etc.)</td></tr>
+<tr><th>schemelen</th>
+        <td class="description">Size of scheme buffer</td></tr>
+<tr><th>username</th>
+        <td class="description">Username</td></tr>
+<tr><th>usernamelen</th>
+        <td class="description">Size of username buffer</td></tr>
+<tr><th>host</th>
+        <td class="description">Hostname</td></tr>
+<tr><th>hostlen</th>
+        <td class="description">Size of hostname buffer</td></tr>
+<tr><th>port</th>
+        <td class="description">Port number to use</td></tr>
+<tr><th>resource</th>
+        <td class="description">Resource/filename</td></tr>
+<tr><th>resourcelen</th>
+        <td class="description">Size of resource buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Result of separation</p>
-<h3 class="function"><a id="httpSetAuthString">httpSetAuthString</a></h3>
-        <p class="description">Always do encryption via SSL.</p>
-<p class="code">
-void httpSetAuthString (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *scheme,<br>
-&#160;&#160;&#160;&#160;const char *data<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>scheme</dt>
-        <dd class="description">Auth scheme (NULL to clear it)</dd>
-<dt>data</dt>
-        <dd class="description">Auth data (NULL for none)</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<h3 class="function"><span class="info">&#160;CUPS 1.3/macOS 10.5&#160;</span><a id="httpSetAuthString">httpSetAuthString</a></h3>
         <p class="description">Set the current authorization string.</p>
+<p class="code">
+void httpSetAuthString(<a href="#http_t">http_t</a> *http, const char *scheme, const char *data);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>scheme</th>
+        <td class="description">Auth scheme (NULL to clear it)</td></tr>
+<tr><th>data</th>
+        <td class="description">Auth data (NULL for none)</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">This function just stores a copy of the current authorization string in
-the HTTP connection object.  You must still call httpSetField() to set
-HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
-httpHead(), httpOptions(), httpPost, or httpPut().
+the HTTP connection object.  You must still call <a href="#httpSetField"><code>httpSetField</code></a> to set
+<code>HTTP_FIELD_AUTHORIZATION</code> prior to issuing a HTTP request using
+<a href="#httpGet"><code>httpGet</code></a>, <a href="#httpHead"><code>httpHead</code></a>, <a href="#httpOptions"><code>httpOptions</code></a>, <a href="#httpPost"><code>httpPost</code></a>, or
+<a href="#httpPut"><code>httpPut</code></a>.
 
 </p>
-<h3 class="function"><a id="httpSetCookie">httpSetCookie</a></h3>
-        <p class="description">Array of credentials</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#160;</span><a id="httpSetCookie">httpSetCookie</a></h3>
+        <p class="description">Set the cookie value(s).</p>
 <p class="code">
-void httpSetCookie (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *cookie<br>
-);</p>
+void httpSetCookie(<a href="#http_t">http_t</a> *http, const char *cookie);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">Connection</dd>
-<dt>cookie</dt>
-        <dd class="description">Cookie string</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the cookie value(s).</p>
-        <p class="discussion"></p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">Connection</td></tr>
+<tr><th>cookie</th>
+        <td class="description">Cookie string</td></tr>
+</tbody></table>
 <h3 class="function"><span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span><a id="httpSetCredentials">httpSetCredentials</a></h3>
         <p class="description">Set the credentials associated with an encrypted
 connection.</p>
 <p class="code">
-int httpSetCredentials (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;cups_array_t *credentials<br>
-);</p>
+int httpSetCredentials(<a href="#http_t">http_t</a> *http, cups_array_t *credentials);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>credentials</dt>
-        <dd class="description">Array of credentials</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>credentials</th>
+        <td class="description">Array of credentials</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
-        <p class="description">Cookie string</p>
-<p class="code">
-void httpSetDefaultField (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_field_t">http_field_t</a> field,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>field</dt>
-        <dd class="description">Field index</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpSetDefaultField">httpSetDefaultField</a></h3>
         <p class="description">Set the default value of an HTTP header.</p>
+<p class="code">
+void httpSetDefaultField(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field, const char *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>field</th>
+        <td class="description">Field index</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Currently only <code>HTTP_FIELD_ACCEPT_ENCODING</code>, <code>HTTP_FIELD_SERVER</code>,
 and <code>HTTP_FIELD_USER_AGENT</code> can be set.
 
 </p>
-<h3 class="function"><a id="httpSetExpect">httpSetExpect</a></h3>
-        <p class="description">Value</p>
+<h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span><a id="httpSetExpect">httpSetExpect</a></h3>
+        <p class="description">Set the Expect: header in a request.</p>
 <p class="code">
-void httpSetExpect (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;http_status_t expect<br>
-);</p>
+void httpSetExpect(<a href="#http_t">http_t</a> *http, http_status_t expect);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>expect</dt>
-        <dd class="description">HTTP status to expect
-(<code>HTTP_STATUS_CONTINUE</code>)</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the Expect: header in a request.</p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>expect</th>
+        <td class="description">HTTP status to expect
+(<code>HTTP_STATUS_CONTINUE</code>)</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">Currently only <code>HTTP_STATUS_CONTINUE</code> is supported for the &quot;expect&quot;
 argument.
 
 </p>
 <h3 class="function"><a id="httpSetField">httpSetField</a></h3>
-        <p class="description">HTTP status to expect
-(<code>HTTP_STATUS_CONTINUE</code>)</p>
-<p class="code">
-void httpSetField (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_field_t">http_field_t</a> field,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>field</dt>
-        <dd class="description">Field index</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
         <p class="description">Set the value of an HTTP header.</p>
-<h3 class="function"><a id="httpSetKeepAlive">httpSetKeepAlive</a></h3>
-        <p class="description">Check for a trailing dot on the hostname...</p>
 <p class="code">
-void httpSetKeepAlive (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#http_keepalive_t">http_keepalive_t</a> keep_alive<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>keep_alive</dt>
-        <dd class="description">New Keep-Alive value</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+void httpSetField(<a href="#http_t">http_t</a> *http, <a href="#http_field_t">http_field_t</a> field, const char *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>field</th>
+        <td class="description">Field index</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
+<h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpSetKeepAlive">httpSetKeepAlive</a></h3>
         <p class="description">Set the current Keep-Alive state of a connection.</p>
-        <p class="discussion"></p>
-<h3 class="function"><a id="httpSetLength">httpSetLength</a></h3>
-        <p class="description">New Keep-Alive value</p>
-<p class="code">
-void httpSetLength (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;size_t length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>length</dt>
-        <dd class="description">Length (0 for chunked)</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<p class="code">
+void httpSetKeepAlive(<a href="#http_t">http_t</a> *http, <a href="#http_keepalive_t">http_keepalive_t</a> keep_alive);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<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>
         <p class="description">Set the content-length and content-encoding.</p>
-        <p class="discussion"></p>
-<h3 class="function"><a id="httpSetTimeout">httpSetTimeout</a></h3>
-        <p class="description">Length (0 for chunked)</p>
-<p class="code">
-void httpSetTimeout (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;double timeout,<br>
-&#160;&#160;&#160;&#160;<a href="#http_timeout_cb_t">http_timeout_cb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *user_data<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>timeout</dt>
-        <dd class="description">Number of seconds for timeout,
-must be greater than 0</dd>
-<dt>cb</dt>
-        <dd class="description">Callback function or NULL</dd>
-<dt>user_data</dt>
-        <dd class="description">User data pointer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<p class="code">
+void httpSetLength(<a href="#http_t">http_t</a> *http, size_t length);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<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>
         <p class="description">Set read/write timeouts and an optional callback.</p>
+<p class="code">
+void httpSetTimeout(<a href="#http_t">http_t</a> *http, double timeout, <a href="#http_timeout_cb_t">http_timeout_cb_t</a> cb, void *user_data);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>timeout</th>
+        <td class="description">Number of seconds for timeout,
+must be greater than 0</td></tr>
+<tr><th>cb</th>
+        <td class="description">Callback function or <code>NULL</code></td></tr>
+<tr><th>user_data</th>
+        <td class="description">User data pointer</td></tr>
+</tbody></table>
+<h4 class="discussion">Discussion</h4>
         <p class="discussion">The optional timeout callback receives both the HTTP connection and a user
 data pointer and must return 1 to continue or 0 to error (time) out.
 
 </p>
-<h3 class="function"><a id="httpShutdown">httpShutdown</a></h3>
-        <p class="description">User data pointer</p>
+<h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpShutdown">httpShutdown</a></h3>
+        <p class="description">Shutdown one side of an HTTP connection.</p>
 <p class="code">
-void httpShutdown (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+void httpShutdown(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Shutdown one side of an HTTP connection.</p>
-        <p class="discussion"></p>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</tbody></table>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpStateString">httpStateString</a></h3>
         <p class="description">Return the string describing a HTTP state value.</p>
 <p class="code">
-const char *httpStateString (<br>
-&#160;&#160;&#160;&#160;<a href="#http_state_t">http_state_t</a> state<br>
-);</p>
+const char *httpStateString(<a href="#http_state_t">http_state_t</a> state);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>state</dt>
-        <dd class="description">HTTP state value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>state</th>
+        <td class="description">HTTP state value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">State string</p>
 <h3 class="function"><a id="httpStatus">httpStatus</a></h3>
         <p class="description">Return a short string describing a HTTP status code.</p>
 <p class="code">
-const char *httpStatus (<br>
-&#160;&#160;&#160;&#160;http_status_t status<br>
-);</p>
+const char *httpStatus(http_status_t status);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>status</dt>
-        <dd class="description">HTTP status code</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>status</th>
+        <td class="description">HTTP status code</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized status string</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The returned string is localized to the current POSIX locale and is based
-on the status strings defined in RFC 2616.</p>
-<h3 class="function"><a id="httpTrace">httpTrace</a></h3>
-        <p class="description">Send an TRACE request to the server.</p>
-<p class="code">
-int httpTrace (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *uri<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>uri</dt>
-        <dd class="description">URI for trace</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Status of call (0 = success)</p>
+on the status strings defined in RFC 7231.</p>
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="httpURIStatusString">httpURIStatusString</a></h3>
         <p class="description">Return a string describing a URI status code.</p>
 <p class="code">
-const char *httpURIStatusString (<br>
-&#160;&#160;&#160;&#160;<a href="#http_uri_status_t">http_uri_status_t</a> status<br>
-);</p>
+const char *httpURIStatusString(<a href="#http_uri_status_t">http_uri_status_t</a> status);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>status</dt>
-        <dd class="description">URI status code</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>status</th>
+        <td class="description">URI status code</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Localized status string</p>
 <h3 class="function"><a id="httpUpdate">httpUpdate</a></h3>
         <p class="description">Update the current HTTP state for incoming data.</p>
 <p class="code">
-http_status_t httpUpdate (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http<br>
-);</p>
+http_status_t httpUpdate(<a href="#http_t">http_t</a> *http);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+</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>
         <p class="description">Wait for data available on a connection.</p>
 <p class="code">
-int httpWait (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;int msec<br>
-);</p>
+int httpWait(<a href="#http_t">http_t</a> *http, int msec);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>msec</dt>
-        <dd class="description">Milliseconds to wait</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>msec</th>
+        <td class="description">Milliseconds to wait</td></tr>
+</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>
         <p class="description">Write data to a HTTP connection.</p>
 <p class="code">
-ssize_t httpWrite2 (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;const char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t length<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>buffer</dt>
-        <dd class="description">Buffer for data</dd>
-<dt>length</dt>
-        <dd class="description">Number of bytes to write</dd>
-</dl>
+ssize_t httpWrite2(<a href="#http_t">http_t</a> *http, const char *buffer, size_t length);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>buffer</th>
+        <td class="description">Buffer for data</td></tr>
+<tr><th>length</th>
+        <td class="description">Number of bytes to write</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes written</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="httpWriteResponse">httpWriteResponse</a></h3>
         <p class="description">Write a HTTP response to a client connection.</p>
 <p class="code">
-int httpWriteResponse (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;http_status_t status<br>
-);</p>
+int httpWriteResponse(<a href="#http_t">http_t</a> *http, http_status_t status);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>status</dt>
-        <dd class="description">Status code</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>status</th>
+        <td class="description">Status code</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">0 on success, -1 on error</p>
 <h3 class="function"><a id="ippAddBoolean">ippAddBoolean</a></h3>
         <p class="description">Add a boolean attribute to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBoolean (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;char value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>value</dt>
-        <dd class="description">Value of attribute</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBoolean(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, char value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">Value of attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4564,26 +3735,20 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><a id="ippAddBooleans">ippAddBooleans</a></h3>
         <p class="description">Add an array of boolean values.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBooleans (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;const char *values<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>values</dt>
-        <dd class="description">Values</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBooleans(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, int num_values, const char *values);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>values</th>
+        <td class="description">Values</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4598,23 +3763,18 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollection(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, <a href="#ipp_t">ipp_t</a> *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4631,26 +3791,20 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><span class="info">&#160;CUPS 1.1.19/macOS 10.3&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;const <a href="#ipp_t">ipp_t</a> **values<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>values</dt>
-        <dd class="description">Values</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollections(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, int num_values, const <a href="#ipp_t">ipp_t</a> **values);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>values</th>
+        <td class="description">Values</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4665,25 +3819,20 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 
 </p>
 <h3 class="function"><a id="ippAddDate">ippAddDate</a></h3>
-        <p class="description">Add a date attribute to an IPP message.</p>
-<p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddDate (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const <a href="#ipp_uchar_t">ipp_uchar_t</a> *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
+        <p class="description">Add a dateTime attribute to an IPP message.</p>
+<p class="code">
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddDate(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, const <a href="#ipp_uchar_t">ipp_uchar_t</a> *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4698,26 +3847,20 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><a id="ippAddInteger">ippAddInteger</a></h3>
         <p class="description">Add a integer attribute to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddInteger (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>value</dt>
-        <dd class="description">Value of attribute</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddInteger(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, int value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">Value of attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4735,29 +3878,22 @@ Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
 <h3 class="function"><a id="ippAddIntegers">ippAddIntegers</a></h3>
         <p class="description">Add an array of integer values.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddIntegers (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;const int *values<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>values</dt>
-        <dd class="description">Values</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddIntegers(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, int num_values, const int *values);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>values</th>
+        <td class="description">Values</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4775,26 +3911,20 @@ Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
 <h3 class="function"><span class="info">&#160;CUPS 1.2/macOS 10.5&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const void *data,<br>
-&#160;&#160;&#160;&#160;int datalen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>data</dt>
-        <dd class="description">octetString data</dd>
-<dt>datalen</dt>
-        <dd class="description">Length of data in bytes</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddOctetString(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, const void *data, int datalen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>data</th>
+        <td class="description">octetString data</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Length of data in bytes</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4811,23 +3941,18 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-</dl>
+<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, const char *name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4850,26 +3975,20 @@ admin-define (<code>IPP_TAG_ADMINDEFINE</code>).
 <h3 class="function"><a id="ippAddRange">ippAddRange</a></h3>
         <p class="description">Add a range of values to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRange (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int lower,<br>
-&#160;&#160;&#160;&#160;int upper<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>lower</dt>
-        <dd class="description">Lower value</dd>
-<dt>upper</dt>
-        <dd class="description">Upper value</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRange(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, int lower, int upper);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>lower</th>
+        <td class="description">Lower value</td></tr>
+<tr><th>upper</th>
+        <td class="description">Upper value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4886,29 +4005,22 @@ The <code>lower</code> parameter must be less than or equal to the <code>upper</
 <h3 class="function"><a id="ippAddRanges">ippAddRanges</a></h3>
         <p class="description">Add ranges of values to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRanges (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;const int *lower,<br>
-&#160;&#160;&#160;&#160;const int *upper<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>lower</dt>
-        <dd class="description">Lower values</dd>
-<dt>upper</dt>
-        <dd class="description">Upper values</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRanges(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, int num_values, const int *lower, const int *upper);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>lower</th>
+        <td class="description">Lower values</td></tr>
+<tr><th>upper</th>
+        <td class="description">Upper values</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4923,29 +4035,22 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><a id="ippAddResolution">ippAddResolution</a></h3>
         <p class="description">Add a resolution value to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolution (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_res_t">ipp_res_t</a> units,<br>
-&#160;&#160;&#160;&#160;int xres,<br>
-&#160;&#160;&#160;&#160;int yres<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>units</dt>
-        <dd class="description">Units for resolution</dd>
-<dt>xres</dt>
-        <dd class="description">X resolution</dd>
-<dt>yres</dt>
-        <dd class="description">Y resolution</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolution(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, <a href="#ipp_res_t">ipp_res_t</a> units, int xres, int yres);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>units</th>
+        <td class="description">Units for resolution</td></tr>
+<tr><th>xres</th>
+        <td class="description">X resolution</td></tr>
+<tr><th>yres</th>
+        <td class="description">Y resolution</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -4960,32 +4065,24 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><a id="ippAddResolutions">ippAddResolutions</a></h3>
         <p class="description">Add resolution values to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolutions (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_res_t">ipp_res_t</a> units,<br>
-&#160;&#160;&#160;&#160;const int *xres,<br>
-&#160;&#160;&#160;&#160;const int *yres<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>units</dt>
-        <dd class="description">Units for resolution</dd>
-<dt>xres</dt>
-        <dd class="description">X resolutions</dd>
-<dt>yres</dt>
-        <dd class="description">Y resolutions</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolutions(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, const char *name, int num_values, <a href="#ipp_res_t">ipp_res_t</a> units, const int *xres, const int *yres);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>units</th>
+        <td class="description">Units for resolution</td></tr>
+<tr><th>xres</th>
+        <td class="description">X resolutions</td></tr>
+<tr><th>yres</th>
+        <td class="description">Y resolutions</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5000,14 +4097,12 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><a id="ippAddSeparator">ippAddSeparator</a></h3>
         <p class="description">Add a group separator to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddSeparator (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddSeparator(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5016,29 +4111,22 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 <h3 class="function"><a id="ippAddString">ippAddString</a></h3>
         <p class="description">Add a language-encoded string to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *language,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>language</dt>
-        <dd class="description">Language code</dd>
-<dt>value</dt>
-        <dd class="description">Value</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddString(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, const char *language, const char *value);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>language</th>
+        <td class="description">Language code</td></tr>
+<tr><th>value</th>
+        <td class="description">Value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5063,32 +4151,24 @@ textWithLanguage string values and must be <code>NULL</code> for all other strin
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *language,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;...<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>language</dt>
-        <dd class="description">Language code (<code>NULL</code> for default)</dd>
-<dt>format</dt>
-        <dd class="description">Printf-style format string</dd>
-<dt>...</dt>
-        <dd class="description">Additional arguments as needed</dd>
-</dl>
+<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, const char *name, const char *language, const char *format, ...);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>language</th>
+        <td class="description">Language code (<code>NULL</code> for default)</td></tr>
+<tr><th>format</th>
+        <td class="description">Printf-style format string</td></tr>
+<tr><th>...</th>
+        <td class="description">Additional arguments as needed</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5122,32 +4202,24 @@ the corresponding value type.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;const char *language,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;va_list ap<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>language</dt>
-        <dd class="description">Language code (<code>NULL</code> for default)</dd>
-<dt>format</dt>
-        <dd class="description">Printf-style format string</dd>
-<dt>ap</dt>
-        <dd class="description">Additional arguments</dd>
-</dl>
+<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, const char *name, const char *language, const char *format, va_list ap);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>language</th>
+        <td class="description">Language code (<code>NULL</code> for default)</td></tr>
+<tr><th>format</th>
+        <td class="description">Printf-style format string</td></tr>
+<tr><th>ap</th>
+        <td class="description">Additional arguments</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5181,32 +4253,24 @@ maximum length of the corresponding value type.
 <h3 class="function"><a id="ippAddStrings">ippAddStrings</a></h3>
         <p class="description">Add language-encoded strings to an IPP message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStrings (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;int num_values,<br>
-&#160;&#160;&#160;&#160;const char *language,<br>
-&#160;&#160;&#160;&#160;const char *const *values<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>group</dt>
-        <dd class="description">IPP group</dd>
-<dt>value_tag</dt>
-        <dd class="description">Type of attribute</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>num_values</dt>
-        <dd class="description">Number of values</dd>
-<dt>language</dt>
-        <dd class="description">Language code (<code>NULL</code> for default)</dd>
-<dt>values</dt>
-        <dd class="description">Values</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStrings(<a href="#ipp_t">ipp_t</a> *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, int num_values, const char *language, const char *const *values);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>group</th>
+        <td class="description">IPP group</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Type of attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>num_values</th>
+        <td class="description">Number of values</td></tr>
+<tr><th>language</th>
+        <td class="description">Language code (<code>NULL</code> for default)</td></tr>
+<tr><th>values</th>
+        <td class="description">Values</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5231,20 +4295,16 @@ textWithLanguage string values and must be <code>NULL</code> for all other strin
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;char *buffer,<br>
-&#160;&#160;&#160;&#160;size_t bufsize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-<dt>buffer</dt>
-        <dd class="description">String buffer or NULL</dd>
-<dt>bufsize</dt>
-        <dd class="description">Size of string buffer</dd>
-</dl>
+size_t ippAttributeString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, char *buffer, size_t bufsize);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+<tr><th>buffer</th>
+        <td class="description">String buffer or NULL</td></tr>
+<tr><th>bufsize</th>
+        <td class="description">Size of string buffer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Number of bytes less nul</p>
 <h4 class="discussion">Discussion</h4>
@@ -5257,17 +4317,14 @@ just like (v)snprintf.
         <p class="description">Determine whether an attribute contains the
 specified value or is within the list of ranges.</p>
 <p class="code">
-int ippContainsInteger (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int value<br>
-);</p>
+int ippContainsInteger(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int value);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-<dt>value</dt>
-        <dd class="description">Integer/enum value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">Integer/enum value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on a match, 0 on no match</p>
 <h4 class="discussion">Discussion</h4>
@@ -5280,41 +4337,34 @@ the attribute.
         <p class="description">Determine whether an attribute contains the
 specified string value.</p>
 <p class="code">
-int ippContainsString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;const char *value<br>
-);</p>
+int ippContainsString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, const char *value);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-<dt>value</dt>
-        <dd class="description">String value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+<tr><th>value</th>
+        <td class="description">String value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on a match, 0 on no match</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">Returns non-zero when the attribute contains a matching charset, keyword,
-language, mimeMediaType, name, text, URI, or URI scheme value.
+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>
         <p class="description">Copy an attribute.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippCopyAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *dst,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *srcattr,<br>
-&#160;&#160;&#160;&#160;int quickcopy<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dst</dt>
-        <dd class="description">Destination IPP message</dd>
-<dt>srcattr</dt>
-        <dd class="description">Attribute to copy</dd>
-<dt>quickcopy</dt>
-        <dd class="description">1 for a referenced copy, 0 for normal</dd>
-</dl>
+<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, int quickcopy);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>dst</th>
+        <td class="description">Destination IPP message</td></tr>
+<tr><th>srcattr</th>
+        <td class="description">Attribute to copy</td></tr>
+<tr><th>quickcopy</th>
+        <td class="description">1 for a referenced copy, 0 for normal</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">New attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5327,26 +4377,20 @@ not be freed for the life of the destination.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippCopyAttributes">ippCopyAttributes</a></h3>
         <p class="description">Copy attributes from one IPP message to another.</p>
 <p class="code">
-int ippCopyAttributes (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *dst,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *src,<br>
-&#160;&#160;&#160;&#160;int quickcopy,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_copycb_t">ipp_copycb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;void *context<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dst</dt>
-        <dd class="description">Destination IPP message</dd>
-<dt>src</dt>
-        <dd class="description">Source IPP message</dd>
-<dt>quickcopy</dt>
-        <dd class="description">1 for a referenced copy, 0 for normal</dd>
-<dt>cb</dt>
-        <dd class="description">Copy callback or <code>NULL</code> for none</dd>
-<dt>context</dt>
-        <dd class="description">Context pointer</dd>
-</dl>
+int ippCopyAttributes(<a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_t">ipp_t</a> *src, int quickcopy, <a href="#ipp_copycb_t">ipp_copycb_t</a> cb, void *context);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>dst</th>
+        <td class="description">Destination IPP message</td></tr>
+<tr><th>src</th>
+        <td class="description">Source IPP message</td></tr>
+<tr><th>quickcopy</th>
+        <td class="description">1 for a referenced copy, 0 for normal</td></tr>
+<tr><th>cb</th>
+        <td class="description">Copy callback or <code>NULL</code> for none</td></tr>
+<tr><th>context</th>
+        <td class="description">Context pointer</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on error</p>
 <h4 class="discussion">Discussion</h4>
@@ -5365,14 +4409,12 @@ itself.
         <p class="description">Create a CUPS array of attribute names from the
 given requested-attributes attribute.</p>
 <p class="code">
-cups_array_t *ippCreateRequestedArray (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *request<br>
-);</p>
+cups_array_t *ippCreateRequestedArray(<a href="#ipp_t">ipp_t</a> *request);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>request</dt>
-        <dd class="description">IPP request</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>request</th>
+        <td class="description">IPP request</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">CUPS array or <code>NULL</code> if all</p>
 <h4 class="discussion">Discussion</h4>
@@ -5391,82 +4433,52 @@ using the <code>cupsArrayDelete</code> function.
 
 </p>
 <h3 class="function"><a id="ippDateToTime">ippDateToTime</a></h3>
-        <p class="description">Convert from RFC 1903 Date/Time format to UNIX time
-in seconds.</p>
+        <p class="description">Convert from RFC 2579 Date/Time format to time in
+seconds.</p>
 <p class="code">
-time_t ippDateToTime (<br>
-&#160;&#160;&#160;&#160;const <a href="#ipp_uchar_t">ipp_uchar_t</a> *date<br>
-);</p>
+time_t ippDateToTime(const <a href="#ipp_uchar_t">ipp_uchar_t</a> *date);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>date</dt>
-        <dd class="description">RFC 1903 date info</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>date</th>
+        <td class="description">RFC 2579 date info</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">UNIX time value</p>
 <h3 class="function"><a id="ippDelete">ippDelete</a></h3>
-        <p class="description">RFC-1903 date/time format is:</p>
+        <p class="description">Delete an IPP message.</p>
 <p class="code">
-void ippDelete (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+void ippDelete(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Delete an IPP message.</p>
-<h4 class="discussion">Discussion</h4>
-        <p class="discussion">Byte(s)  Description
--------  -----------
-0-1      Year (0 to 65535)
-2        Month (1 to 12)
-3        Day (1 to 31)
-4        Hours (0 to 23)
-5        Minutes (0 to 59)
-6        Seconds (0 to 60, 60 = &quot;leap second&quot;)
-7        Deciseconds (0 to 9)
-8        +/- UTC
-9        UTC hours (0 to 11)
-10       UTC minutes (0 to 59)</p>
-<h3 class="function"><a id="ippDeleteAttribute">ippDeleteAttribute</a></h3>
-        <p class="description">Next attribute</p>
-<p class="code">
-void ippDeleteAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">Attribute to delete</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
+<table class="list"><tbody>
+<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>
         <p class="description">Delete a single attribute in an IPP message.</p>
-        <p class="discussion"></p>
+<p class="code">
+void ippDeleteAttribute(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<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>
         <p class="description">Delete values in an attribute.</p>
 <p class="code">
-int ippDeleteValues (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int count<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-<dt>element</dt>
-        <dd class="description">Index of first value to delete (0-based)</dd>
-<dt>count</dt>
-        <dd class="description">Number of values to delete</dd>
-</dl>
+int ippDeleteValues(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, int count);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Index of first value to delete (0-based)</td></tr>
+<tr><th>count</th>
+        <td class="description">Number of values to delete</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -5481,78 +4493,64 @@ Deleting all values in an attribute deletes the attribute.
 <h3 class="function"><a id="ippEnumString">ippEnumString</a></h3>
         <p class="description">Return a string corresponding to the enum value.</p>
 <p class="code">
-const char *ippEnumString (<br>
-&#160;&#160;&#160;&#160;const char *attrname,<br>
-&#160;&#160;&#160;&#160;int enumvalue<br>
-);</p>
+const char *ippEnumString(const char *attrname, int enumvalue);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attrname</dt>
-        <dd class="description">Attribute name</dd>
-<dt>enumvalue</dt>
-        <dd class="description">Enum value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attrname</th>
+        <td class="description">Attribute name</td></tr>
+<tr><th>enumvalue</th>
+        <td class="description">Enum value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Enum string</p>
 <h3 class="function"><a id="ippEnumValue">ippEnumValue</a></h3>
         <p class="description">Return the value associated with a given enum string.</p>
 <p class="code">
-int ippEnumValue (<br>
-&#160;&#160;&#160;&#160;const char *attrname,<br>
-&#160;&#160;&#160;&#160;const char *enumstring<br>
-);</p>
+int ippEnumValue(const char *attrname, const char *enumstring);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attrname</dt>
-        <dd class="description">Attribute name</dd>
-<dt>enumstring</dt>
-        <dd class="description">Enum string</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attrname</th>
+        <td class="description">Attribute name</td></tr>
+<tr><th>enumstring</th>
+        <td class="description">Enum string</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Enum value or -1 if unknown</p>
 <h3 class="function"><a id="ippErrorString">ippErrorString</a></h3>
         <p class="description">Return a name for the given status code.</p>
 <p class="code">
-const char *ippErrorString (<br>
-&#160;&#160;&#160;&#160;ipp_status_t error<br>
-);</p>
+const char *ippErrorString(ipp_status_t error);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>error</dt>
-        <dd class="description">Error status</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>error</th>
+        <td class="description">Error status</td></tr>
+</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>
         <p class="description">Return a status code for the given name.</p>
 <p class="code">
-ipp_status_t ippErrorValue (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+ipp_status_t ippErrorValue(const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">IPP status code</p>
 <h3 class="function"><a id="ippFindAttribute">ippFindAttribute</a></h3>
         <p class="description">Find a named attribute in a request.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t type<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>type</dt>
-        <dd class="description">Type of attribute</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindAttribute(<a href="#ipp_t">ipp_t</a> *ipp, const char *name, ipp_tag_t type);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>type</th>
+        <td class="description">Type of attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Matching attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5562,20 +4560,16 @@ of attribute and member names separated by slashes, for example
 <h3 class="function"><a id="ippFindNextAttribute">ippFindNextAttribute</a></h3>
         <p class="description">Find the next named attribute in a request.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindNextAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;const char *name,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t type<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>name</dt>
-        <dd class="description">Name of attribute</dd>
-<dt>type</dt>
-        <dd class="description">Type of attribute</dd>
-</dl>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindNextAttribute(<a href="#ipp_t">ipp_t</a> *ipp, const char *name, ipp_tag_t type);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>name</th>
+        <td class="description">Name of attribute</td></tr>
+<tr><th>type</th>
+        <td class="description">Type of attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Matching attribute</p>
 <h4 class="discussion">Discussion</h4>
@@ -5585,500 +4579,421 @@ of attribute and member names separated by slashes, for example
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippFirstAttribute">ippFirstAttribute</a></h3>
         <p class="description">Return the first attribute in the message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFirstAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFirstAttribute(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</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="ippGetBoolean">ippGetBoolean</a></h3>
         <p class="description">Get a boolean value for an attribute.</p>
 <p class="code">
-int ippGetBoolean (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element<br>
-);</p>
+int ippGetBoolean(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Boolean value or 0 on error</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get a collection value for an attribute.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippGetCollection (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element<br>
-);</p>
+<a href="#ipp_t">ipp_t</a> *ippGetCollection(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Collection value or <code>NULL</code> on error</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get the number of values in an attribute.</p>
 <p class="code">
-int ippGetCount (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
+int ippGetCount(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+</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>
-        <p class="description">Get a date value for an attribute.</p>
+        <p class="description">Get a dateTime value for an attribute.</p>
 <p class="code">
-const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element<br>
-);</p>
+const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">Date value or <code>NULL</code></p>
+        <p class="description">dateTime value or <code>NULL</code></p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<code>ippGetCount(attr)</code> - 1.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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 (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
+ipp_tag_t ippGetGroupTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+</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>
         <p class="description">Get the integer/enum value for an attribute.</p>
 <p class="code">
-int ippGetInteger (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element<br>
-);</p>
+int ippGetInteger(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Value or 0 on error</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<code>ippGetCount(attr)</code> - 1.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetName">ippGetName</a></h3>
         <p class="description">Get the attribute name.</p>
 <p class="code">
-const char *ippGetName (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
+const char *ippGetName(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Attribute name or <code>NULL</code> for separators</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippGetOctetString">ippGetOctetString</a></h3>
         <p class="description">Get an octetString value from an IPP attribute.</p>
 <p class="code">
-void *ippGetOctetString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int *datalen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>datalen</dt>
-        <dd class="description">Length of octetString data</dd>
-</dl>
+void *ippGetOctetString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element, int *datalen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Length of octetString data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Pointer to octetString data</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get the operation ID in an IPP message.</p>
 <p class="code">
-ipp_op_t ippGetOperation (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+ipp_op_t ippGetOperation(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP request message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP request message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Operation ID or 0 on error</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippGetRange">ippGetRange</a></h3>
         <p class="description">Get a rangeOfInteger value from an attribute.</p>
 <p class="code">
-int ippGetRange (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int *uppervalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>uppervalue</dt>
-        <dd class="description">Upper value of range</dd>
-</dl>
+int ippGetRange(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element, int *uppervalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>uppervalue</th>
+        <td class="description">Upper value of range</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Lower value of range or 0</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get the request ID from an IPP message.</p>
 <p class="code">
-int ippGetRequestId (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+int ippGetRequestId(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</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>
         <p class="description">Get a resolution value for an attribute.</p>
 <p class="code">
-int ippGetResolution (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int *yres,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_res_t">ipp_res_t</a> *units<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>yres</dt>
-        <dd class="description">Vertical/feed resolution</dd>
-<dt>units</dt>
-        <dd class="description">Units for resolution</dd>
-</dl>
+int ippGetResolution(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element, int *yres, <a href="#ipp_res_t">ipp_res_t</a> *units);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>yres</th>
+        <td class="description">Vertical/feed resolution</td></tr>
+<tr><th>units</th>
+        <td class="description">Units for resolution</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Horizontal/cross feed resolution or 0</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get the IPP message state.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippGetState (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_state_t">ipp_state_t</a> ippGetState(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</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>
         <p class="description">Get the status code from an IPP response or event message.</p>
 <p class="code">
-ipp_status_t ippGetStatusCode (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+ipp_status_t ippGetStatusCode(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP response or event message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP response or event message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Status code in IPP message</p>
 <h3 class="function"><a id="ippGetString">ippGetString</a></h3>
-        <p class="description">Return the value...</p>
-<p class="code">
-const char *ippGetString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const char **language<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>language</dt>
-        <dd class="description">Language code (<code>NULL</code> for don't care)</dd>
-</dl>
+        <p class="description"></p>
+<p class="code">
+const char *ippGetString(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr, int element, const char **language);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>language</th>
+        <td class="description">Language code (<code>NULL</code> for don't care)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Get the string and optionally the language code for an attribute.</p>
         <p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+<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>
         <p class="description">Get the value tag for an attribute.</p>
 <p class="code">
-ipp_tag_t ippGetValueTag (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
+ipp_tag_t ippGetValueTag(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+</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>
         <p class="description">Get the major and minor version number from an IPP message.</p>
 <p class="code">
-int ippGetVersion (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;int *minor<br>
-);</p>
+int ippGetVersion(<a href="#ipp_t">ipp_t</a> *ipp, int *minor);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>minor</dt>
-        <dd class="description">Minor version number or <code>NULL</code></dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>minor</th>
+        <td class="description">Minor version number or <code>NULL</code> for don't care</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Major version number or 0 on error</p>
 <h3 class="function"><a id="ippLength">ippLength</a></h3>
         <p class="description">Compute the length of an IPP message.</p>
 <p class="code">
-size_t ippLength (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+size_t ippLength(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Size of IPP message</p>
 <h3 class="function"><a id="ippNew">ippNew</a></h3>
         <p class="description">Allocate a new IPP message.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippNew (void);</p>
+<a href="#ipp_t">ipp_t</a> *ippNew(void);</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>
         <p class="description">Allocate a new IPP request message.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippNewRequest (<br>
-&#160;&#160;&#160;&#160;ipp_op_t op<br>
-);</p>
+<a href="#ipp_t">ipp_t</a> *ippNewRequest(ipp_op_t op);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>op</dt>
-        <dd class="description">Operation code</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>op</th>
+        <td class="description">Operation code</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">IPP request message</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The new request message is initialized with the attributes-charset and
-attributes-natural-language attributes added. The
-attributes-natural-language value is derived from the current locale.
+        <p class="discussion">The new request message is initialized with the &quot;attributes-charset&quot; and
+&quot;attributes-natural-language&quot; attributes added. The
+&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>
         <p class="description">Allocate a new IPP response message.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippNewResponse (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *request<br>
-);</p>
+<a href="#ipp_t">ipp_t</a> *ippNewResponse(<a href="#ipp_t">ipp_t</a> *request);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>request</dt>
-        <dd class="description">IPP request message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>request</th>
+        <td class="description">IPP request message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">IPP response message</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The new response message is initialized with the same version-number,
-request-id, attributes-charset, and attributes-natural-language as the
-provided request message.  If the attributes-charset or
-attributes-natural-language attributes are missing from the request,
-&quot;utf-8&quot; and a value derived from the current locale are substituted,
+        <p class="discussion">The new response message is initialized with the same &quot;version-number&quot;,
+&quot;request-id&quot;, &quot;attributes-charset&quot;, and &quot;attributes-natural-language&quot; as the
+provided request message.  If the &quot;attributes-charset&quot; or
+&quot;attributes-natural-language&quot; attributes are missing from the request,
+'utf-8' and a value derived from the current locale are substituted,
 respectively.
 
 </p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippNextAttribute">ippNextAttribute</a></h3>
         <p class="description">Return the next attribute in the message.</p>
 <p class="code">
-<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippNextAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippNextAttribute(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</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.2/macOS 10.5&#160;</span><a id="ippOpString">ippOpString</a></h3>
         <p class="description">Return a name for the given operation id.</p>
 <p class="code">
-const char *ippOpString (<br>
-&#160;&#160;&#160;&#160;ipp_op_t op<br>
-);</p>
+const char *ippOpString(ipp_op_t op);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>op</dt>
-        <dd class="description">Operation ID</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>op</th>
+        <td class="description">Operation ID</td></tr>
+</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>
         <p class="description">Return an operation id for the given name.</p>
 <p class="code">
-ipp_op_t ippOpValue (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+ipp_op_t ippOpValue(const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Textual name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Textual name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Operation ID</p>
 <h3 class="function"><a id="ippPort">ippPort</a></h3>
         <p class="description">Return the default IPP port number.</p>
 <p class="code">
-int ippPort (void);</p>
+int ippPort(void);</p>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Port number</p>
 <h3 class="function"><a id="ippRead">ippRead</a></h3>
         <p class="description">Read data for an IPP message from a HTTP connection.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippRead (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_state_t">ipp_state_t</a> ippRead(<a href="#http_t">http_t</a> *http, <a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</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>
         <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 (<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_state_t">ipp_state_t</a> ippReadFile(int fd, <a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fd</dt>
-        <dd class="description">HTTP data</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>fd</th>
+        <td class="description">HTTP data</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</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>
         <p class="description">Read data for an IPP message.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippReadIO (<br>
-&#160;&#160;&#160;&#160;void *src,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;int blocking,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *parent,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>src</dt>
-        <dd class="description">Data source</dd>
-<dt>cb</dt>
-        <dd class="description">Read callback function</dd>
-<dt>blocking</dt>
-        <dd class="description">Use blocking IO?</dd>
-<dt>parent</dt>
-        <dd class="description">Parent request, if any</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<a href="#ipp_state_t">ipp_state_t</a> ippReadIO(void *src, <a href="#ipp_iocb_t">ipp_iocb_t</a> cb, int blocking, <a href="#ipp_t">ipp_t</a> *parent, <a href="#ipp_t">ipp_t</a> *ipp);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>src</th>
+        <td class="description">Data source</td></tr>
+<tr><th>cb</th>
+        <td class="description">Read callback function</td></tr>
+<tr><th>blocking</th>
+        <td class="description">Use blocking IO?</td></tr>
+<tr><th>parent</th>
+        <td class="description">Parent request, if any</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Current state</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetBoolean">ippSetBoolean</a></h3>
         <p class="description">Set a boolean value in an attribute.</p>
 <p class="code">
-int ippSetBoolean (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int boolvalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>boolvalue</dt>
-        <dd class="description">Boolean value</dd>
-</dl>
+int ippSetBoolean(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, int boolvalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>boolvalue</th>
+        <td class="description">Boolean value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6088,29 +5003,24 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set a collection value in an attribute.</p>
 <p class="code">
-int ippSetCollection (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *colvalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>colvalue</dt>
-        <dd class="description">Collection value</dd>
-</dl>
+int ippSetCollection(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, <a href="#ipp_t">ipp_t</a> *colvalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>colvalue</th>
+        <td class="description">Collection value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6120,29 +5030,24 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
-        <p class="description">Set a date value in an attribute.</p>
-<p class="code">
-int ippSetDate (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const <a href="#ipp_uchar_t">ipp_uchar_t</a> *datevalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>datevalue</dt>
-        <dd class="description">Date value</dd>
-</dl>
+        <p class="description">Set a dateTime value in an attribute.</p>
+<p class="code">
+int ippSetDate(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, const <a href="#ipp_uchar_t">ipp_uchar_t</a> *datevalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>datevalue</th>
+        <td class="description">dateTime value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6152,26 +5057,22 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set the group tag of an attribute.</p>
 <p class="code">
-int ippSetGroupTag (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t group_tag<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-<dt>group_tag</dt>
-        <dd class="description">Group tag</dd>
-</dl>
+int 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>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+<tr><th>group_tag</th>
+        <td class="description">Group tag</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6190,23 +5091,18 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetInteger">ippSetInteger</a></h3>
         <p class="description">Set an integer or enum value in an attribute.</p>
 <p class="code">
-int ippSetInteger (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int intvalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>intvalue</dt>
-        <dd class="description">Integer/enum value</dd>
-</dl>
+int ippSetInteger(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, int intvalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>intvalue</th>
+        <td class="description">Integer/enum value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6216,26 +5112,22 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set the name of an attribute.</p>
 <p class="code">
-int ippSetName (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>name</dt>
-        <dd class="description">Attribute name</dd>
-</dl>
+int ippSetName(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, const char *name);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>name</th>
+        <td class="description">Attribute name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6248,26 +5140,20 @@ The <code>attr</code> parameter may be modified as a result of setting the value
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippSetOctetString">ippSetOctetString</a></h3>
         <p class="description">Set an octetString value in an IPP attribute.</p>
 <p class="code">
-int ippSetOctetString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const void *data,<br>
-&#160;&#160;&#160;&#160;int datalen<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>data</dt>
-        <dd class="description">Pointer to octetString data</dd>
-<dt>datalen</dt>
-        <dd class="description">Length of octetString data</dd>
-</dl>
+int ippSetOctetString(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, const void *data, int datalen);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>data</th>
+        <td class="description">Pointer to octetString data</td></tr>
+<tr><th>datalen</th>
+        <td class="description">Length of octetString data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6277,23 +5163,20 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set the operation ID in an IPP request message.</p>
 <p class="code">
-int ippSetOperation (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_op_t op<br>
-);</p>
+int ippSetOperation(<a href="#ipp_t">ipp_t</a> *ipp, ipp_op_t op);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP request message</dd>
-<dt>op</dt>
-        <dd class="description">Operation ID</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP request message</td></tr>
+<tr><th>op</th>
+        <td class="description">Operation ID</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6302,41 +5185,31 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 
 </p>
 <h3 class="function"><a id="ippSetPort">ippSetPort</a></h3>
-        <p class="description">Pointer to library globals</p>
+        <p class="description">Set the default port number.</p>
 <p class="code">
-void ippSetPort (<br>
-&#160;&#160;&#160;&#160;int p<br>
-);</p>
+void ippSetPort(int p);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>p</dt>
-        <dd class="description">Port number to use</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-        <p class="description">Set the default port number.</p>
+<table class="list"><tbody>
+<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>
         <p class="description">Set a rangeOfInteger value in an attribute.</p>
 <p class="code">
-int ippSetRange (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;int lowervalue,<br>
-&#160;&#160;&#160;&#160;int uppervalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>lowervalue</dt>
-        <dd class="description">Lower bound for range</dd>
-<dt>uppervalue</dt>
-        <dd class="description">Upper bound for range</dd>
-</dl>
+int ippSetRange(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, int lowervalue, int uppervalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>lowervalue</th>
+        <td class="description">Lower bound for range</td></tr>
+<tr><th>uppervalue</th>
+        <td class="description">Upper bound for range</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6346,23 +5219,20 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set the request ID in an IPP message.</p>
 <p class="code">
-int ippSetRequestId (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;int request_id<br>
-);</p>
+int ippSetRequestId(<a href="#ipp_t">ipp_t</a> *ipp, int request_id);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>request_id</dt>
-        <dd class="description">Request ID</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>request_id</th>
+        <td class="description">Request ID</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6375,29 +5245,22 @@ The <code>request_id</code> parameter must be greater than 0.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetResolution">ippSetResolution</a></h3>
         <p class="description">Set a resolution value in an attribute.</p>
 <p class="code">
-int ippSetResolution (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_res_t">ipp_res_t</a> unitsvalue,<br>
-&#160;&#160;&#160;&#160;int xresvalue,<br>
-&#160;&#160;&#160;&#160;int yresvalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>unitsvalue</dt>
-        <dd class="description">Resolution units</dd>
-<dt>xresvalue</dt>
-        <dd class="description">Horizontal/cross feed resolution</dd>
-<dt>yresvalue</dt>
-        <dd class="description">Vertical/feed resolution</dd>
-</dl>
+int ippSetResolution(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, <a href="#ipp_res_t">ipp_res_t</a> unitsvalue, int xresvalue, int yresvalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>unitsvalue</th>
+        <td class="description">Resolution units</td></tr>
+<tr><th>xresvalue</th>
+        <td class="description">Horizontal/cross feed resolution</td></tr>
+<tr><th>yresvalue</th>
+        <td class="description">Vertical/feed resolution</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6407,39 +5270,33 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set the current state of the IPP message.</p>
 <p class="code">
-int ippSetState (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_state_t">ipp_state_t</a> state<br>
-);</p>
+int ippSetState(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_state_t">ipp_state_t</a> state);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>state</dt>
-        <dd class="description">IPP state value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>state</th>
+        <td class="description">IPP state value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#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">
-int ippSetStatusCode (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;ipp_status_t status<br>
-);</p>
+int ippSetStatusCode(<a href="#ipp_t">ipp_t</a> *ipp, ipp_status_t status);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP response or event message</dd>
-<dt>status</dt>
-        <dd class="description">Status code</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP response or event message</td></tr>
+<tr><th>status</th>
+        <td class="description">Status code</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6450,23 +5307,18 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetString">ippSetString</a></h3>
         <p class="description">Set a string value in an attribute.</p>
 <p class="code">
-int ippSetString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const char *strvalue<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>strvalue</dt>
-        <dd class="description">String value</dd>
-</dl>
+int ippSetString(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, const char *strvalue);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>strvalue</th>
+        <td class="description">String value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6476,32 +5328,26 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+<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>
         <p class="description">Set a formatted string value of an attribute.</p>
 <p class="code">
-int ippSetStringf (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;...<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>format</dt>
-        <dd class="description">Printf-style format string</dd>
-<dt>...</dt>
-        <dd class="description">Additional arguments as needed</dd>
-</dl>
+int ippSetStringf(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, const char *format, ...);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>format</th>
+        <td class="description">Printf-style format string</td></tr>
+<tr><th>...</th>
+        <td class="description">Additional arguments as needed</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6511,7 +5357,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.<br>
+<code>ippGetCount(attr)</code>.<br>
 <br>
 The <code>format</code> parameter uses formatting characters compatible with the
 printf family of standard functions.  Additional arguments follow it as
@@ -6522,26 +5368,20 @@ the corresponding value type.
 <h3 class="function"><span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span><a id="ippSetStringfv">ippSetStringfv</a></h3>
         <p class="description">Set a formatted string value of an attribute.</p>
 <p class="code">
-int ippSetStringfv (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;int element,<br>
-&#160;&#160;&#160;&#160;const char *format,<br>
-&#160;&#160;&#160;&#160;va_list ap<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>element</dt>
-        <dd class="description">Value number (0-based)</dd>
-<dt>format</dt>
-        <dd class="description">Printf-style format string</dd>
-<dt>ap</dt>
-        <dd class="description">Pointer to additional arguments</dd>
-</dl>
+int ippSetStringfv(<a href="#ipp_t">ipp_t</a> *ipp, <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr, int element, const char *format, va_list ap);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>element</th>
+        <td class="description">Value number (0-based)</td></tr>
+<tr><th>format</th>
+        <td class="description">Printf-style format string</td></tr>
+<tr><th>ap</th>
+        <td class="description">Pointer to additional arguments</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6551,7 +5391,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
 The <code>attr</code> parameter may be modified as a result of setting the value.<br>
 <br>
 The <code>element</code> parameter specifies which value to set from 0 to
-<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.<br>
+<code>ippGetCount(attr)</code>.<br>
 <br>
 The <code>format</code> parameter uses formatting characters compatible with the
 printf family of standard functions.  Additional arguments follow it as
@@ -6562,20 +5402,16 @@ the corresponding value type.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetValueTag">ippSetValueTag</a></h3>
         <p class="description">Set the value tag of an attribute.</p>
 <p class="code">
-int ippSetValueTag (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-&#160;&#160;&#160;&#160;ipp_tag_t value_tag<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>attr</dt>
-        <dd class="description">IPP attribute</dd>
-<dt>value_tag</dt>
-        <dd class="description">Value tag</dd>
-</dl>
+int 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>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>attr</th>
+        <td class="description">IPP attribute</td></tr>
+<tr><th>value_tag</th>
+        <td class="description">Value tag</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6600,20 +5436,16 @@ code for the current locale.
 <h3 class="function"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="ippSetVersion">ippSetVersion</a></h3>
         <p class="description">Set the version number in an IPP message.</p>
 <p class="code">
-int ippSetVersion (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&#160;&#160;&#160;&#160;int major,<br>
-&#160;&#160;&#160;&#160;int minor<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-<dt>major</dt>
-        <dd class="description">Major version number (major.minor)</dd>
-<dt>minor</dt>
-        <dd class="description">Minor version number (major.minor)</dd>
-</dl>
+int ippSetVersion(<a href="#ipp_t">ipp_t</a> *ipp, int major, int minor);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+<tr><th>major</th>
+        <td class="description">Major version number (major.minor)</td></tr>
+<tr><th>minor</th>
+        <td class="description">Minor version number (major.minor)</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 on success, 0 on failure</p>
 <h4 class="discussion">Discussion</h4>
@@ -6626,156 +5458,132 @@ The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
 <h3 class="function"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span><a id="ippStateString">ippStateString</a></h3>
         <p class="description">Return the name corresponding to a state value.</p>
 <p class="code">
-const char *ippStateString (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_state_t">ipp_state_t</a> state<br>
-);</p>
+const char *ippStateString(<a href="#ipp_state_t">ipp_state_t</a> state);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>state</dt>
-        <dd class="description">State value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>state</th>
+        <td class="description">State value</td></tr>
+</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>
         <p class="description">Return the tag name corresponding to a tag value.</p>
 <p class="code">
-const char *ippTagString (<br>
-&#160;&#160;&#160;&#160;ipp_tag_t tag<br>
-);</p>
+const char *ippTagString(ipp_tag_t tag);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>tag</dt>
-        <dd class="description">Tag value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>tag</th>
+        <td class="description">Tag value</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Tag name</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The returned names are defined in RFC 2911 and 3382.
+        <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>
         <p class="description">Return the tag value corresponding to a tag name.</p>
 <p class="code">
-ipp_tag_t ippTagValue (<br>
-&#160;&#160;&#160;&#160;const char *name<br>
-);</p>
+ipp_tag_t ippTagValue(const char *name);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-        <dd class="description">Tag name</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name</th>
+        <td class="description">Tag name</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Tag value</p>
 <h4 class="discussion">Discussion</h4>
-        <p class="discussion">The tag names are defined in RFC 2911 and 3382.
+        <p class="discussion">The tag names are defined in RFC 8011 and the IANA IPP Registry.
 
 </p>
 <h3 class="function"><a id="ippTimeToDate">ippTimeToDate</a></h3>
-        <p class="description">Convert from UNIX time to RFC 1903 format.</p>
+        <p class="description">Convert from time in seconds to RFC 2579 format.</p>
 <p class="code">
-const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
-&#160;&#160;&#160;&#160;time_t t<br>
-);</p>
+const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate(time_t t);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>t</dt>
-        <dd class="description">UNIX time value</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>t</th>
+        <td class="description">Time in seconds</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
-        <p class="description">RFC-1903 date/time data</p>
+        <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>
         <p class="description">Validate the contents of an attribute.</p>
 <p class="code">
-int ippValidateAttribute (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
-);</p>
+int ippValidateAttribute(<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>attr</dt>
-        <dd class="description">Attribute</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>attr</th>
+        <td class="description">Attribute</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if valid, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">This function validates the contents of an attribute based on the name and
 value tag.  1 is returned if the attribute is valid, 0 otherwise.  On
-failure, cupsLastErrorString() is set to a human-readable message.
+failure, <a href="#cupsLastErrorString"><code>cupsLastErrorString</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>
         <p class="description">Validate all attributes in an IPP message.</p>
 <p class="code">
-int ippValidateAttributes (<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+int ippValidateAttributes(<a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>ipp</dt>
-        <dd class="description">IPP message</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>ipp</th>
+        <td class="description">IPP message</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">1 if valid, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
         <p class="discussion">This function validates the contents of the IPP message, including each
-attribute.  Like <a href="#ippValidateAttribute"><code>ippValidateAttribute</code></a>, cupsLastErrorString() is set
-to a human-readable message on failure.
+attribute.  Like <a href="#ippValidateAttribute"><code>ippValidateAttribute</code></a>, <a href="#cupsLastErrorString"><code>cupsLastErrorString</code></a> is
+set to a human-readable message on failure.
 
 </p>
 <h3 class="function"><a id="ippWrite">ippWrite</a></h3>
         <p class="description">Write data for an IPP message to a HTTP connection.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippWrite (<br>
-&#160;&#160;&#160;&#160;<a href="#http_t">http_t</a> *http,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_state_t">ipp_state_t</a> ippWrite(<a href="#http_t">http_t</a> *http, <a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
-        <dd class="description">HTTP connection</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+        <td class="description">HTTP connection</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</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>
         <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 (<br>
-&#160;&#160;&#160;&#160;int fd,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
+<a href="#ipp_state_t">ipp_state_t</a> ippWriteFile(int fd, <a href="#ipp_t">ipp_t</a> *ipp);</p>
 <h4 class="parameters">Parameters</h4>
-<dl>
-<dt>fd</dt>
-        <dd class="description">HTTP data</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>fd</th>
+        <td class="description">HTTP data</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</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>
         <p class="description">Write data for an IPP message.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippWriteIO (<br>
-&#160;&#160;&#160;&#160;void *dst,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
-&#160;&#160;&#160;&#160;int blocking,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *parent,<br>
-&#160;&#160;&#160;&#160;<a href="#ipp_t">ipp_t</a> *ipp<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dst</dt>
-        <dd class="description">Destination</dd>
-<dt>cb</dt>
-        <dd class="description">Write callback function</dd>
-<dt>blocking</dt>
-        <dd class="description">Use blocking IO?</dd>
-<dt>parent</dt>
-        <dd class="description">Parent IPP message</dd>
-<dt>ipp</dt>
-        <dd class="description">IPP data</dd>
-</dl>
+<a href="#ipp_state_t">ipp_state_t</a> ippWriteIO(void *dst, <a href="#ipp_iocb_t">ipp_iocb_t</a> cb, int blocking, <a href="#ipp_t">ipp_t</a> *parent, <a href="#ipp_t">ipp_t</a> *ipp);</p>
+<h4 class="parameters">Parameters</h4>
+<table class="list"><tbody>
+<tr><th>dst</th>
+        <td class="description">Destination</td></tr>
+<tr><th>cb</th>
+        <td class="description">Write callback function</td></tr>
+<tr><th>blocking</th>
+        <td class="description">Use blocking IO?</td></tr>
+<tr><th>parent</th>
+        <td class="description">Parent IPP message</td></tr>
+<tr><th>ipp</th>
+        <td class="description">IPP data</td></tr>
+</tbody></table>
 <h4 class="returnvalue">Return Value</h4>
         <p class="description">Current state</p>
       <h2 class="title"><a id="TYPES">Data Types</a></h2>
@@ -6806,11 +5614,6 @@ typedef struct _cups_dinfo_s cups_dinfo_t;
         <p class="description">Job</p>
       <p class="code">
 typedef struct <a href="#cups_job_s">cups_job_s</a> cups_job_t;
-</p>
-      <h3 class="typedef"><a id="cups_lang_t">cups_lang_t</a></h3>
-        <p class="description">Language Cache Structure</p>
-      <p class="code">
-typedef struct <a href="#cups_lang_s">cups_lang_s</a> cups_lang_t;
 </p>
       <h3 class="typedef"><a id="cups_option_t">cups_option_t</a></h3>
         <p class="description">Printer Options</p>
@@ -6903,17 +5706,15 @@ 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_copycb_t">ipp_copycb_t</a></h3>
-        <p class="description">The following structures are PRIVATE starting with CUPS 1.6/macOS 10.8.
-Please use the new accessor functions available in CUPS 1.6 and later, as
-these definitions will be moved to a private header file in a future release.</p>
+      <h3 class="typedef"><a id="ipp_copycb_t"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span>ipp_copycb_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_copycb_t;
 </p>
       <h3 class="typedef"><a id="ipp_iocb_t"><span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span>ipp_iocb_t</a></h3>
-        <p class="description">IPP IO Callback Function </p>
+        <p class="description">ippReadIO/ippWriteIO callback function </p>
       <p class="code">
-typedef ssize_t(*)(void *context, <a href="#ipp_uchar_t">ipp_uchar_t</a> *buffer, size_t bytes) ipp_iocb_t;
+typedef ssize_t(*)(void *context, ipp_uchar_t *buffer, size_t bytes) ipp_iocb_t;
 </p>
       <h3 class="typedef"><a id="ipp_orient_t">ipp_orient_t</a></h3>
         <p class="description">Orientation values</p>
@@ -6921,12 +5722,12 @@ typedef ssize_t(*)(void *context, <a href="#ipp_uchar_t">ipp_uchar_t</a> *buffer
 typedef enum <a href="#ipp_orient_e">ipp_orient_e</a> ipp_orient_t;
 </p>
       <h3 class="typedef"><a id="ipp_pstate_t">ipp_pstate_t</a></h3>
-        <p class="description">Printer states</p>
+        <p class="description">Printer state values</p>
       <p class="code">
 typedef enum <a href="#ipp_pstate_e">ipp_pstate_e</a> ipp_pstate_t;
 </p>
       <h3 class="typedef"><a id="ipp_quality_t">ipp_quality_t</a></h3>
-        <p class="description">Qualities</p>
+        <p class="description">Print quality values</p>
       <p class="code">
 typedef enum <a href="#ipp_quality_e">ipp_quality_e</a> ipp_quality_t;
 </p>
@@ -6936,7 +5737,7 @@ typedef enum <a href="#ipp_quality_e">ipp_quality_e</a> ipp_quality_t;
 typedef enum <a href="#ipp_res_e">ipp_res_e</a> ipp_res_t;
 </p>
       <h3 class="typedef"><a id="ipp_state_t">ipp_state_t</a></h3>
-        <p class="description">IPP states</p>
+        <p class="description">ipp_t state values</p>
       <p class="code">
 typedef enum <a href="#ipp_state_e">ipp_state_e</a> ipp_state_t;
 </p>
@@ -6944,11 +5745,6 @@ typedef enum <a href="#ipp_state_e">ipp_state_e</a> ipp_state_t;
         <p class="description">IPP request/response data</p>
       <p class="code">
 typedef struct _ipp_s ipp_t;
-</p>
-      <h3 class="typedef"><a id="ipp_uchar_t">ipp_uchar_t</a></h3>
-        <p class="description">Unsigned 8-bit integer/character</p>
-      <p class="code">
-typedef unsigned char ipp_uchar_t;
 </p>
       <h2 class="title"><a id="STRUCTURES">Structures</a></h2>
 <h3 class="struct"><a id="cups_dest_s">cups_dest_s</a></h3>
@@ -6960,16 +5756,16 @@ typedef unsigned char ipp_uchar_t;
 &#160;&#160;&#160;&#160;<a href="#cups_option_t">cups_option_t</a> *options;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>instance </dt>
-        <dd class="description">Local instance name or NULL</dd>
-<dt>is_default </dt>
-        <dd class="description">Is this printer the default?</dd>
-<dt>num_options </dt>
-        <dd class="description">Number of options</dd>
-<dt>options </dt>
-        <dd class="description">Options</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>instance </th>
+        <td class="description">Local instance name or NULL</td></tr>
+<tr><th>is_default </th>
+        <td class="description">Is this printer the default?</td></tr>
+<tr><th>num_options </th>
+        <td class="description">Number of options</td></tr>
+<tr><th>options </th>
+        <td class="description">Options</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="cups_job_s">cups_job_s</a></h3>
         <p class="description">Job</p>
 <p class="code">struct cups_job_s {<br>
@@ -6986,49 +5782,30 @@ typedef unsigned char ipp_uchar_t;
 &#160;&#160;&#160;&#160;char *user;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>completed_time </dt>
-        <dd class="description">Time the job was completed</dd>
-<dt>creation_time </dt>
-        <dd class="description">Time the job was created</dd>
-<dt>dest </dt>
-        <dd class="description">Printer or class name</dd>
-<dt>format </dt>
-        <dd class="description">Document format</dd>
-<dt>id </dt>
-        <dd class="description">The job ID</dd>
-<dt>priority </dt>
-        <dd class="description">Priority (1-100)</dd>
-<dt>processing_time </dt>
-        <dd class="description">Time the job was processed</dd>
-<dt>size </dt>
-        <dd class="description">Size in kilobytes</dd>
-<dt>state </dt>
-        <dd class="description">Job state</dd>
-<dt>title </dt>
-        <dd class="description">Title/job name</dd>
-<dt>user </dt>
-        <dd class="description">User that submitted the job</dd>
-</dl>
-<h3 class="struct"><a id="cups_lang_s">cups_lang_s</a></h3>
-        <p class="description">Language Cache Structure</p>
-<p class="code">struct cups_lang_s {<br>
-&#160;&#160;&#160;&#160;<a href="#cups_encoding_t">cups_encoding_t</a> encoding;<br>
-&#160;&#160;&#160;&#160;char language[16];<br>
-&#160;&#160;&#160;&#160;struct <a href="#cups_lang_s">cups_lang_s</a> *next;<br>
-&#160;&#160;&#160;&#160;int used;<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>encoding </dt>
-        <dd class="description">Text encoding</dd>
-<dt>language[16] </dt>
-        <dd class="description">Language/locale name</dd>
-<dt>next </dt>
-        <dd class="description">Next language in cache</dd>
-<dt>used </dt>
-        <dd class="description">Number of times this entry has been used.</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>completed_time </th>
+        <td class="description">Time the job was completed</td></tr>
+<tr><th>creation_time </th>
+        <td class="description">Time the job was created</td></tr>
+<tr><th>dest </th>
+        <td class="description">Printer or class name</td></tr>
+<tr><th>format </th>
+        <td class="description">Document format</td></tr>
+<tr><th>id </th>
+        <td class="description">The job ID</td></tr>
+<tr><th>priority </th>
+        <td class="description">Priority (1-100)</td></tr>
+<tr><th>processing_time </th>
+        <td class="description">Time the job was processed</td></tr>
+<tr><th>size </th>
+        <td class="description">Size in kilobytes</td></tr>
+<tr><th>state </th>
+        <td class="description">Job state</td></tr>
+<tr><th>title </th>
+        <td class="description">Title/job name</td></tr>
+<tr><th>user </th>
+        <td class="description">User that submitted the job</td></tr>
+</tbody></table>
 <h3 class="struct"><a id="cups_option_s">cups_option_s</a></h3>
         <p class="description">Printer Options</p>
 <p class="code">struct cups_option_s {<br>
@@ -7036,12 +5813,12 @@ typedef unsigned char ipp_uchar_t;
 &#160;&#160;&#160;&#160;char *value;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>name </dt>
-        <dd class="description">Name of option</dd>
-<dt>value </dt>
-        <dd class="description">Value of option</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>name </th>
+        <td class="description">Name of option</td></tr>
+<tr><th>value </th>
+        <td class="description">Value of option</td></tr>
+</tbody></table>
 <h3 class="struct"><span class="info">&#160;CUPS 1.6/macOS 10.8&#160;</span><a id="cups_size_s">cups_size_s</a></h3>
         <p class="description">Media Size </p>
 <p class="code">struct cups_size_s {<br>
@@ -7049,899 +5826,509 @@ typedef unsigned char ipp_uchar_t;
 &#160;&#160;&#160;&#160;int width, length, bottom, left, right, top;<br>
 };</p>
 <h4 class="members">Members</h4>
-<dl>
-<dt>media[128] </dt>
-        <dd class="description">Media name to use</dd>
-<dt>top </dt>
-        <dd class="description">Top margin in hundredths of
-millimeters</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>media[128] </th>
+        <td class="description">Media name to use</td></tr>
+<tr><th>top </th>
+        <td class="description">Top margin in hundredths of
+millimeters</td></tr>
+</tbody></table>
       <h2 class="title"><a id="ENUMERATIONS">Constants</a></h2>
       <h3 class="enumeration"><a id="cups_ptype_e">cups_ptype_e</a></h3>
         <p class="description">Printer type/capability bit
 constants</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Printer requires authentication
-</dd>
-        <dt>CUPS_PRINTER_BIND </dt>
-        <dd class="description">Can bind output</dd>
-        <dt>CUPS_PRINTER_BW </dt>
-        <dd class="description">Can do B&amp;W printing</dd>
-        <dt>CUPS_PRINTER_CLASS </dt>
-        <dd class="description">Printer class</dd>
-        <dt>CUPS_PRINTER_COLLATE </dt>
-        <dd class="description">Can quickly collate copies</dd>
-        <dt>CUPS_PRINTER_COLOR </dt>
-        <dd class="description">Can do color printing</dd>
-        <dt>CUPS_PRINTER_COMMANDS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Printer supports maintenance commands
-</dd>
-        <dt>CUPS_PRINTER_COPIES </dt>
-        <dd class="description">Can do copies in hardware</dd>
-        <dt>CUPS_PRINTER_COVER </dt>
-        <dd class="description">Can cover output</dd>
-        <dt>CUPS_PRINTER_DEFAULT </dt>
-        <dd class="description">Default printer on network</dd>
-        <dt>CUPS_PRINTER_DISCOVERED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Printer was discovered </dd>
-        <dt>CUPS_PRINTER_DUPLEX </dt>
-        <dd class="description">Can do two-sided printing</dd>
-        <dt>CUPS_PRINTER_FAX </dt>
-        <dd class="description">Fax queue</dd>
-        <dt>CUPS_PRINTER_LARGE </dt>
-        <dd class="description">Can print on D/E/A1/A0-size media</dd>
-        <dt>CUPS_PRINTER_LOCAL </dt>
-        <dd class="description">Local printer or class</dd>
-        <dt>CUPS_PRINTER_MEDIUM </dt>
-        <dd class="description">Can print on Tabloid/B/C/A3/A2-size media</dd>
-        <dt>CUPS_PRINTER_NOT_SHARED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Printer is not shared
-</dd>
-        <dt>CUPS_PRINTER_PUNCH </dt>
-        <dd class="description">Can punch output</dd>
-        <dt>CUPS_PRINTER_REJECTING </dt>
-        <dd class="description">Printer is rejecting jobs</dd>
-        <dt>CUPS_PRINTER_REMOTE </dt>
-        <dd class="description">Remote printer or class</dd>
-        <dt>CUPS_PRINTER_SMALL </dt>
-        <dd class="description">Can print on Letter/Legal/A4-size media</dd>
-        <dt>CUPS_PRINTER_SORT </dt>
-        <dd class="description">Can sort output</dd>
-        <dt>CUPS_PRINTER_STAPLE </dt>
-        <dd class="description">Can staple output</dd>
-        <dt>CUPS_PRINTER_VARIABLE </dt>
-        <dd class="description">Can print on rolls and custom-size media</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>CUPS_PRINTER_AUTHENTICATED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>        <td class="description">Printer requires authentication
+</td></tr>
+        <tr><th>CUPS_PRINTER_BIND </th>        <td class="description">Can bind output</td></tr>
+        <tr><th>CUPS_PRINTER_BW </th>        <td class="description">Can do B&amp;W printing</td></tr>
+        <tr><th>CUPS_PRINTER_CLASS </th>        <td class="description">Printer class</td></tr>
+        <tr><th>CUPS_PRINTER_COLLATE </th>        <td class="description">Can quickly collate copies</td></tr>
+        <tr><th>CUPS_PRINTER_COLOR </th>        <td class="description">Can do color printing</td></tr>
+        <tr><th>CUPS_PRINTER_COMMANDS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>        <td class="description">Printer supports maintenance commands
+</td></tr>
+        <tr><th>CUPS_PRINTER_COPIES </th>        <td class="description">Can do copies in hardware</td></tr>
+        <tr><th>CUPS_PRINTER_COVER </th>        <td class="description">Can cover output</td></tr>
+        <tr><th>CUPS_PRINTER_DEFAULT </th>        <td class="description">Default printer on network</td></tr>
+        <tr><th>CUPS_PRINTER_DISCOVERED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>        <td class="description">Printer was discovered </td></tr>
+        <tr><th>CUPS_PRINTER_DUPLEX </th>        <td class="description">Can do two-sided printing</td></tr>
+        <tr><th>CUPS_PRINTER_FAX </th>        <td class="description">Fax queue</td></tr>
+        <tr><th>CUPS_PRINTER_LARGE </th>        <td class="description">Can print on D/E/A1/A0-size media</td></tr>
+        <tr><th>CUPS_PRINTER_LOCAL </th>        <td class="description">Local printer or class</td></tr>
+        <tr><th>CUPS_PRINTER_MEDIUM </th>        <td class="description">Can print on Tabloid/B/C/A3/A2-size media</td></tr>
+        <tr><th>CUPS_PRINTER_NOT_SHARED <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></th>        <td class="description">Printer is not shared
+</td></tr>
+        <tr><th>CUPS_PRINTER_PUNCH </th>        <td class="description">Can punch output</td></tr>
+        <tr><th>CUPS_PRINTER_REJECTING </th>        <td class="description">Printer is rejecting jobs</td></tr>
+        <tr><th>CUPS_PRINTER_REMOTE </th>        <td class="description">Remote printer or class</td></tr>
+        <tr><th>CUPS_PRINTER_SMALL </th>        <td class="description">Can print on Letter/Legal/A4-size media</td></tr>
+        <tr><th>CUPS_PRINTER_SORT </th>        <td class="description">Can sort output</td></tr>
+        <tr><th>CUPS_PRINTER_STAPLE </th>        <td class="description">Can staple output</td></tr>
+        <tr><th>CUPS_PRINTER_VARIABLE </th>        <td class="description">Can print on rolls and custom-size media</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_encoding_e">http_encoding_e</a></h3>
         <p class="description">HTTP transfer encoding values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_ENCODING_CHUNKED </dt>
-        <dd class="description">Data is chunked</dd>
-        <dt>HTTP_ENCODING_FIELDS </dt>
-        <dd class="description">Sending HTTP fields</dd>
-        <dt>HTTP_ENCODING_LENGTH </dt>
-        <dd class="description">Data is sent with Content-Length</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_ENCODING_CHUNKED </th>        <td class="description">Data is chunked</td></tr>
+        <tr><th>HTTP_ENCODING_FIELDS </th>        <td class="description">Sending HTTP fields</td></tr>
+        <tr><th>HTTP_ENCODING_LENGTH </th>        <td class="description">Data is sent with Content-Length</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_encryption_e">http_encryption_e</a></h3>
         <p class="description">HTTP encryption values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_ENCRYPTION_ALWAYS </dt>
-        <dd class="description">Always encrypt (SSL)</dd>
-        <dt>HTTP_ENCRYPTION_IF_REQUESTED </dt>
-        <dd class="description">Encrypt if requested (TLS upgrade)</dd>
-        <dt>HTTP_ENCRYPTION_NEVER </dt>
-        <dd class="description">Never encrypt</dd>
-        <dt>HTTP_ENCRYPTION_REQUIRED </dt>
-        <dd class="description">Encryption is required (TLS upgrade)</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_ENCRYPTION_ALWAYS </th>        <td class="description">Always encrypt (SSL)</td></tr>
+        <tr><th>HTTP_ENCRYPTION_IF_REQUESTED </th>        <td class="description">Encrypt if requested (TLS upgrade)</td></tr>
+        <tr><th>HTTP_ENCRYPTION_NEVER </th>        <td class="description">Never encrypt</td></tr>
+        <tr><th>HTTP_ENCRYPTION_REQUIRED </th>        <td class="description">Encryption is required (TLS upgrade)</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_field_e">http_field_e</a></h3>
         <p class="description">HTTP field names</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_FIELD_ACCEPT_ENCODING <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">Accepting-Encoding field </dd>
-        <dt>HTTP_FIELD_ACCEPT_LANGUAGE </dt>
-        <dd class="description">Accept-Language field</dd>
-        <dt>HTTP_FIELD_ACCEPT_RANGES </dt>
-        <dd class="description">Accept-Ranges field</dd>
-        <dt>HTTP_FIELD_ALLOW <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">Allow field </dd>
-        <dt>HTTP_FIELD_AUTHORIZATION </dt>
-        <dd class="description">Authorization field</dd>
-        <dt>HTTP_FIELD_CONNECTION </dt>
-        <dd class="description">Connection field</dd>
-        <dt>HTTP_FIELD_CONTENT_ENCODING </dt>
-        <dd class="description">Content-Encoding field</dd>
-        <dt>HTTP_FIELD_CONTENT_LANGUAGE </dt>
-        <dd class="description">Content-Language field</dd>
-        <dt>HTTP_FIELD_CONTENT_LENGTH </dt>
-        <dd class="description">Content-Length field</dd>
-        <dt>HTTP_FIELD_CONTENT_LOCATION </dt>
-        <dd class="description">Content-Location field</dd>
-        <dt>HTTP_FIELD_CONTENT_MD5 </dt>
-        <dd class="description">Content-MD5 field</dd>
-        <dt>HTTP_FIELD_CONTENT_RANGE </dt>
-        <dd class="description">Content-Range field</dd>
-        <dt>HTTP_FIELD_CONTENT_TYPE </dt>
-        <dd class="description">Content-Type field</dd>
-        <dt>HTTP_FIELD_CONTENT_VERSION </dt>
-        <dd class="description">Content-Version field</dd>
-        <dt>HTTP_FIELD_DATE </dt>
-        <dd class="description">Date field</dd>
-        <dt>HTTP_FIELD_HOST </dt>
-        <dd class="description">Host field</dd>
-        <dt>HTTP_FIELD_IF_MODIFIED_SINCE </dt>
-        <dd class="description">If-Modified-Since field</dd>
-        <dt>HTTP_FIELD_IF_UNMODIFIED_SINCE </dt>
-        <dd class="description">If-Unmodified-Since field</dd>
-        <dt>HTTP_FIELD_KEEP_ALIVE </dt>
-        <dd class="description">Keep-Alive field</dd>
-        <dt>HTTP_FIELD_LAST_MODIFIED </dt>
-        <dd class="description">Last-Modified field</dd>
-        <dt>HTTP_FIELD_LINK </dt>
-        <dd class="description">Link field</dd>
-        <dt>HTTP_FIELD_LOCATION </dt>
-        <dd class="description">Location field</dd>
-        <dt>HTTP_FIELD_MAX </dt>
-        <dd class="description">Maximum field index</dd>
-        <dt>HTTP_FIELD_RANGE </dt>
-        <dd class="description">Range field</dd>
-        <dt>HTTP_FIELD_REFERER </dt>
-        <dd class="description">Referer field</dd>
-        <dt>HTTP_FIELD_RETRY_AFTER </dt>
-        <dd class="description">Retry-After field</dd>
-        <dt>HTTP_FIELD_SERVER <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">Server field </dd>
-        <dt>HTTP_FIELD_TRANSFER_ENCODING </dt>
-        <dd class="description">Transfer-Encoding field</dd>
-        <dt>HTTP_FIELD_UNKNOWN </dt>
-        <dd class="description">Unknown field</dd>
-        <dt>HTTP_FIELD_UPGRADE </dt>
-        <dd class="description">Upgrade field</dd>
-        <dt>HTTP_FIELD_USER_AGENT </dt>
-        <dd class="description">User-Agent field</dd>
-        <dt>HTTP_FIELD_WWW_AUTHENTICATE </dt>
-        <dd class="description">WWW-Authenticate field</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_FIELD_ACCEPT_ENCODING <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">Accepting-Encoding field </td></tr>
+        <tr><th>HTTP_FIELD_ACCEPT_LANGUAGE </th>        <td class="description">Accept-Language field</td></tr>
+        <tr><th>HTTP_FIELD_ACCEPT_RANGES </th>        <td class="description">Accept-Ranges field</td></tr>
+        <tr><th>HTTP_FIELD_ALLOW <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">Allow field </td></tr>
+        <tr><th>HTTP_FIELD_AUTHORIZATION </th>        <td class="description">Authorization field</td></tr>
+        <tr><th>HTTP_FIELD_CONNECTION </th>        <td class="description">Connection field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_ENCODING </th>        <td class="description">Content-Encoding field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_LANGUAGE </th>        <td class="description">Content-Language field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_LENGTH </th>        <td class="description">Content-Length field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_LOCATION </th>        <td class="description">Content-Location field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_MD5 </th>        <td class="description">Content-MD5 field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_RANGE </th>        <td class="description">Content-Range field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_TYPE </th>        <td class="description">Content-Type field</td></tr>
+        <tr><th>HTTP_FIELD_CONTENT_VERSION </th>        <td class="description">Content-Version field</td></tr>
+        <tr><th>HTTP_FIELD_DATE </th>        <td class="description">Date field</td></tr>
+        <tr><th>HTTP_FIELD_HOST </th>        <td class="description">Host field</td></tr>
+        <tr><th>HTTP_FIELD_IF_MODIFIED_SINCE </th>        <td class="description">If-Modified-Since field</td></tr>
+        <tr><th>HTTP_FIELD_IF_UNMODIFIED_SINCE </th>        <td class="description">If-Unmodified-Since field</td></tr>
+        <tr><th>HTTP_FIELD_KEEP_ALIVE </th>        <td class="description">Keep-Alive field</td></tr>
+        <tr><th>HTTP_FIELD_LAST_MODIFIED </th>        <td class="description">Last-Modified field</td></tr>
+        <tr><th>HTTP_FIELD_LINK </th>        <td class="description">Link field</td></tr>
+        <tr><th>HTTP_FIELD_LOCATION </th>        <td class="description">Location field</td></tr>
+        <tr><th>HTTP_FIELD_MAX </th>        <td class="description">Maximum field index</td></tr>
+        <tr><th>HTTP_FIELD_RANGE </th>        <td class="description">Range field</td></tr>
+        <tr><th>HTTP_FIELD_REFERER </th>        <td class="description">Referer field</td></tr>
+        <tr><th>HTTP_FIELD_RETRY_AFTER </th>        <td class="description">Retry-After field</td></tr>
+        <tr><th>HTTP_FIELD_SERVER <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">Server field </td></tr>
+        <tr><th>HTTP_FIELD_TRANSFER_ENCODING </th>        <td class="description">Transfer-Encoding field</td></tr>
+        <tr><th>HTTP_FIELD_UNKNOWN </th>        <td class="description">Unknown field</td></tr>
+        <tr><th>HTTP_FIELD_UPGRADE </th>        <td class="description">Upgrade field</td></tr>
+        <tr><th>HTTP_FIELD_USER_AGENT </th>        <td class="description">User-Agent field</td></tr>
+        <tr><th>HTTP_FIELD_WWW_AUTHENTICATE </th>        <td class="description">WWW-Authenticate field</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_keepalive_e">http_keepalive_e</a></h3>
         <p class="description">HTTP keep-alive values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_KEEPALIVE_OFF </dt>
-        <dd class="description">No keep alive support</dd>
-        <dt>HTTP_KEEPALIVE_ON </dt>
-        <dd class="description">Use keep alive</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_KEEPALIVE_OFF </th>        <td class="description">No keep alive support</td></tr>
+        <tr><th>HTTP_KEEPALIVE_ON </th>        <td class="description">Use keep alive</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_state_e">http_state_e</a></h3>
         <p class="description">HTTP state values; states
 are server-oriented...</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_STATE_CONNECT </dt>
-        <dd class="description">CONNECT command, waiting for blank line</dd>
-        <dt>HTTP_STATE_DELETE </dt>
-        <dd class="description">DELETE command, waiting for blank line</dd>
-        <dt>HTTP_STATE_ERROR </dt>
-        <dd class="description">Error on socket</dd>
-        <dt>HTTP_STATE_GET </dt>
-        <dd class="description">GET command, waiting for blank line</dd>
-        <dt>HTTP_STATE_GET_SEND </dt>
-        <dd class="description">GET command, sending data</dd>
-        <dt>HTTP_STATE_HEAD </dt>
-        <dd class="description">HEAD command, waiting for blank line</dd>
-        <dt>HTTP_STATE_OPTIONS </dt>
-        <dd class="description">OPTIONS command, waiting for blank line</dd>
-        <dt>HTTP_STATE_POST </dt>
-        <dd class="description">POST command, waiting for blank line</dd>
-        <dt>HTTP_STATE_POST_RECV </dt>
-        <dd class="description">POST command, receiving data</dd>
-        <dt>HTTP_STATE_POST_SEND </dt>
-        <dd class="description">POST command, sending data</dd>
-        <dt>HTTP_STATE_PUT </dt>
-        <dd class="description">PUT command, waiting for blank line</dd>
-        <dt>HTTP_STATE_PUT_RECV </dt>
-        <dd class="description">PUT command, receiving data</dd>
-        <dt>HTTP_STATE_STATUS </dt>
-        <dd class="description">Command complete, sending status</dd>
-        <dt>HTTP_STATE_TRACE </dt>
-        <dd class="description">TRACE command, waiting for blank line</dd>
-        <dt>HTTP_STATE_UNKNOWN_METHOD <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">Unknown request method, waiting for blank line </dd>
-        <dt>HTTP_STATE_UNKNOWN_VERSION <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">Unknown request method, waiting for blank line </dd>
-        <dt>HTTP_STATE_WAITING </dt>
-        <dd class="description">Waiting for command</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_STATE_CONNECT </th>        <td class="description">CONNECT command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_DELETE </th>        <td class="description">DELETE command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_ERROR </th>        <td class="description">Error on socket</td></tr>
+        <tr><th>HTTP_STATE_GET </th>        <td class="description">GET command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_GET_SEND </th>        <td class="description">GET command, sending data</td></tr>
+        <tr><th>HTTP_STATE_HEAD </th>        <td class="description">HEAD command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_OPTIONS </th>        <td class="description">OPTIONS command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_POST </th>        <td class="description">POST command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_POST_RECV </th>        <td class="description">POST command, receiving data</td></tr>
+        <tr><th>HTTP_STATE_POST_SEND </th>        <td class="description">POST command, sending data</td></tr>
+        <tr><th>HTTP_STATE_PUT </th>        <td class="description">PUT command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_PUT_RECV </th>        <td class="description">PUT command, receiving data</td></tr>
+        <tr><th>HTTP_STATE_STATUS </th>        <td class="description">Command complete, sending status</td></tr>
+        <tr><th>HTTP_STATE_TRACE </th>        <td class="description">TRACE command, waiting for blank line</td></tr>
+        <tr><th>HTTP_STATE_UNKNOWN_METHOD <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">Unknown request method, waiting for blank line </td></tr>
+        <tr><th>HTTP_STATE_UNKNOWN_VERSION <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">Unknown request method, waiting for blank line </td></tr>
+        <tr><th>HTTP_STATE_WAITING </th>        <td class="description">Waiting for command</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_status_e">http_status_e</a></h3>
         <p class="description">HTTP status codes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_STATUS_ACCEPTED </dt>
-        <dd class="description">DELETE command was successful</dd>
-        <dt>HTTP_STATUS_BAD_GATEWAY </dt>
-        <dd class="description">Bad gateway</dd>
-        <dt>HTTP_STATUS_BAD_REQUEST </dt>
-        <dd class="description">Bad request</dd>
-        <dt>HTTP_STATUS_CONFLICT </dt>
-        <dd class="description">Request is self-conflicting</dd>
-        <dt>HTTP_STATUS_CONTINUE </dt>
-        <dd class="description">Everything OK, keep going...</dd>
-        <dt>HTTP_STATUS_CREATED </dt>
-        <dd class="description">PUT command was successful</dd>
-        <dt>HTTP_STATUS_CUPS_AUTHORIZATION_CANCELED <span class="info">&#160;CUPS 1.4&#160;</span></dt>
-        <dd class="description">User canceled authorization </dd>
-        <dt>HTTP_STATUS_CUPS_PKI_ERROR <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">Error negotiating a secure connection </dd>
-        <dt>HTTP_STATUS_ERROR </dt>
-        <dd class="description">An error response from httpXxxx()</dd>
-        <dt>HTTP_STATUS_EXPECTATION_FAILED </dt>
-        <dd class="description">The expectation given in an Expect header field was not met</dd>
-        <dt>HTTP_STATUS_FORBIDDEN </dt>
-        <dd class="description">Forbidden to access this URI</dd>
-        <dt>HTTP_STATUS_GATEWAY_TIMEOUT </dt>
-        <dd class="description">Gateway connection timed out</dd>
-        <dt>HTTP_STATUS_GONE </dt>
-        <dd class="description">Server has gone away</dd>
-        <dt>HTTP_STATUS_LENGTH_REQUIRED </dt>
-        <dd class="description">A content length or encoding is required</dd>
-        <dt>HTTP_STATUS_METHOD_NOT_ALLOWED </dt>
-        <dd class="description">Method is not allowed</dd>
-        <dt>HTTP_STATUS_MOVED_PERMANENTLY </dt>
-        <dd class="description">Document has moved permanently</dd>
-        <dt>HTTP_STATUS_MOVED_TEMPORARILY </dt>
-        <dd class="description">Document has moved temporarily</dd>
-        <dt>HTTP_STATUS_MULTIPLE_CHOICES </dt>
-        <dd class="description">Multiple files match request</dd>
-        <dt>HTTP_STATUS_NONE <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></dt>
-        <dd class="description">No Expect value </dd>
-        <dt>HTTP_STATUS_NOT_ACCEPTABLE </dt>
-        <dd class="description">Not Acceptable</dd>
-        <dt>HTTP_STATUS_NOT_AUTHORITATIVE </dt>
-        <dd class="description">Information isn't authoritative</dd>
-        <dt>HTTP_STATUS_NOT_FOUND </dt>
-        <dd class="description">URI was not found</dd>
-        <dt>HTTP_STATUS_NOT_IMPLEMENTED </dt>
-        <dd class="description">Feature not implemented</dd>
-        <dt>HTTP_STATUS_NOT_MODIFIED </dt>
-        <dd class="description">File not modified</dd>
-        <dt>HTTP_STATUS_NOT_SUPPORTED </dt>
-        <dd class="description">HTTP version not supported</dd>
-        <dt>HTTP_STATUS_NO_CONTENT </dt>
-        <dd class="description">Successful command, no new data</dd>
-        <dt>HTTP_STATUS_OK </dt>
-        <dd class="description">OPTIONS/GET/HEAD/POST/TRACE command was successful</dd>
-        <dt>HTTP_STATUS_PARTIAL_CONTENT </dt>
-        <dd class="description">Only a partial file was received/sent</dd>
-        <dt>HTTP_STATUS_PAYMENT_REQUIRED </dt>
-        <dd class="description">Payment required</dd>
-        <dt>HTTP_STATUS_PRECONDITION </dt>
-        <dd class="description">Precondition failed</dd>
-        <dt>HTTP_STATUS_PROXY_AUTHENTICATION </dt>
-        <dd class="description">Proxy Authentication is Required</dd>
-        <dt>HTTP_STATUS_REQUESTED_RANGE </dt>
-        <dd class="description">The requested range is not satisfiable</dd>
-        <dt>HTTP_STATUS_REQUEST_TIMEOUT </dt>
-        <dd class="description">Request timed out</dd>
-        <dt>HTTP_STATUS_REQUEST_TOO_LARGE </dt>
-        <dd class="description">Request entity too large</dd>
-        <dt>HTTP_STATUS_RESET_CONTENT </dt>
-        <dd class="description">Content was reset/recreated</dd>
-        <dt>HTTP_STATUS_SEE_OTHER </dt>
-        <dd class="description">See this other link...</dd>
-        <dt>HTTP_STATUS_SERVER_ERROR </dt>
-        <dd class="description">Internal server error</dd>
-        <dt>HTTP_STATUS_SERVICE_UNAVAILABLE </dt>
-        <dd class="description">Service is unavailable</dd>
-        <dt>HTTP_STATUS_SWITCHING_PROTOCOLS </dt>
-        <dd class="description">HTTP upgrade to TLS/SSL</dd>
-        <dt>HTTP_STATUS_UNAUTHORIZED </dt>
-        <dd class="description">Unauthorized to access host</dd>
-        <dt>HTTP_STATUS_UNSUPPORTED_MEDIATYPE </dt>
-        <dd class="description">The requested media type is unsupported</dd>
-        <dt>HTTP_STATUS_UPGRADE_REQUIRED </dt>
-        <dd class="description">Upgrade to SSL/TLS required</dd>
-        <dt>HTTP_STATUS_URI_TOO_LONG </dt>
-        <dd class="description">URI too long</dd>
-        <dt>HTTP_STATUS_USE_PROXY </dt>
-        <dd class="description">Must use a proxy to access this URI</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_STATUS_ACCEPTED </th>        <td class="description">DELETE command was successful</td></tr>
+        <tr><th>HTTP_STATUS_BAD_GATEWAY </th>        <td class="description">Bad gateway</td></tr>
+        <tr><th>HTTP_STATUS_BAD_REQUEST </th>        <td class="description">Bad request</td></tr>
+        <tr><th>HTTP_STATUS_CONFLICT </th>        <td class="description">Request is self-conflicting</td></tr>
+        <tr><th>HTTP_STATUS_CONTINUE </th>        <td class="description">Everything OK, keep going...</td></tr>
+        <tr><th>HTTP_STATUS_CREATED </th>        <td class="description">PUT command was successful</td></tr>
+        <tr><th>HTTP_STATUS_CUPS_AUTHORIZATION_CANCELED <span class="info">&#160;CUPS 1.4&#160;</span></th>        <td class="description">User canceled authorization </td></tr>
+        <tr><th>HTTP_STATUS_CUPS_PKI_ERROR <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></th>        <td class="description">Error negotiating a secure connection </td></tr>
+        <tr><th>HTTP_STATUS_ERROR </th>        <td class="description">An error response from httpXxxx()</td></tr>
+        <tr><th>HTTP_STATUS_EXPECTATION_FAILED </th>        <td class="description">The expectation given in an Expect header field was not met</td></tr>
+        <tr><th>HTTP_STATUS_FORBIDDEN </th>        <td class="description">Forbidden to access this URI</td></tr>
+        <tr><th>HTTP_STATUS_GATEWAY_TIMEOUT </th>        <td class="description">Gateway connection timed out</td></tr>
+        <tr><th>HTTP_STATUS_GONE </th>        <td class="description">Server has gone away</td></tr>
+        <tr><th>HTTP_STATUS_LENGTH_REQUIRED </th>        <td class="description">A content length or encoding is required</td></tr>
+        <tr><th>HTTP_STATUS_METHOD_NOT_ALLOWED </th>        <td class="description">Method is not allowed</td></tr>
+        <tr><th>HTTP_STATUS_MOVED_PERMANENTLY </th>        <td class="description">Document has moved permanently</td></tr>
+        <tr><th>HTTP_STATUS_MOVED_TEMPORARILY </th>        <td class="description">Document has moved temporarily</td></tr>
+        <tr><th>HTTP_STATUS_MULTIPLE_CHOICES </th>        <td class="description">Multiple files match request</td></tr>
+        <tr><th>HTTP_STATUS_NONE <span class="info">&#160;CUPS 1.7/macOS 10.9&#160;</span></th>        <td class="description">No Expect value </td></tr>
+        <tr><th>HTTP_STATUS_NOT_ACCEPTABLE </th>        <td class="description">Not Acceptable</td></tr>
+        <tr><th>HTTP_STATUS_NOT_AUTHORITATIVE </th>        <td class="description">Information isn't authoritative</td></tr>
+        <tr><th>HTTP_STATUS_NOT_FOUND </th>        <td class="description">URI was not found</td></tr>
+        <tr><th>HTTP_STATUS_NOT_IMPLEMENTED </th>        <td class="description">Feature not implemented</td></tr>
+        <tr><th>HTTP_STATUS_NOT_MODIFIED </th>        <td class="description">File not modified</td></tr>
+        <tr><th>HTTP_STATUS_NOT_SUPPORTED </th>        <td class="description">HTTP version not supported</td></tr>
+        <tr><th>HTTP_STATUS_NO_CONTENT </th>        <td class="description">Successful command, no new data</td></tr>
+        <tr><th>HTTP_STATUS_OK </th>        <td class="description">OPTIONS/GET/HEAD/POST/TRACE command was successful</td></tr>
+        <tr><th>HTTP_STATUS_PARTIAL_CONTENT </th>        <td class="description">Only a partial file was received/sent</td></tr>
+        <tr><th>HTTP_STATUS_PAYMENT_REQUIRED </th>        <td class="description">Payment required</td></tr>
+        <tr><th>HTTP_STATUS_PRECONDITION </th>        <td class="description">Precondition failed</td></tr>
+        <tr><th>HTTP_STATUS_PROXY_AUTHENTICATION </th>        <td class="description">Proxy Authentication is Required</td></tr>
+        <tr><th>HTTP_STATUS_REQUESTED_RANGE </th>        <td class="description">The requested range is not satisfiable</td></tr>
+        <tr><th>HTTP_STATUS_REQUEST_TIMEOUT </th>        <td class="description">Request timed out</td></tr>
+        <tr><th>HTTP_STATUS_REQUEST_TOO_LARGE </th>        <td class="description">Request entity too large</td></tr>
+        <tr><th>HTTP_STATUS_RESET_CONTENT </th>        <td class="description">Content was reset/recreated</td></tr>
+        <tr><th>HTTP_STATUS_SEE_OTHER </th>        <td class="description">See this other link...</td></tr>
+        <tr><th>HTTP_STATUS_SERVER_ERROR </th>        <td class="description">Internal server error</td></tr>
+        <tr><th>HTTP_STATUS_SERVICE_UNAVAILABLE </th>        <td class="description">Service is unavailable</td></tr>
+        <tr><th>HTTP_STATUS_SWITCHING_PROTOCOLS </th>        <td class="description">HTTP upgrade to TLS/SSL</td></tr>
+        <tr><th>HTTP_STATUS_UNAUTHORIZED </th>        <td class="description">Unauthorized to access host</td></tr>
+        <tr><th>HTTP_STATUS_UNSUPPORTED_MEDIATYPE </th>        <td class="description">The requested media type is unsupported</td></tr>
+        <tr><th>HTTP_STATUS_UPGRADE_REQUIRED </th>        <td class="description">Upgrade to SSL/TLS required</td></tr>
+        <tr><th>HTTP_STATUS_URI_TOO_LONG </th>        <td class="description">URI too long</td></tr>
+        <tr><th>HTTP_STATUS_USE_PROXY </th>        <td class="description">Must use a proxy to access this URI</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_trust_e"><span class="info">&#160;CUPS 2.0/OS 10.10&#160;</span>http_trust_e</a></h3>
         <p class="description">Level of trust for credentials </p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_TRUST_CHANGED </dt>
-        <dd class="description">Credentials have changed</dd>
-        <dt>HTTP_TRUST_EXPIRED </dt>
-        <dd class="description">Credentials are expired</dd>
-        <dt>HTTP_TRUST_INVALID </dt>
-        <dd class="description">Credentials are invalid</dd>
-        <dt>HTTP_TRUST_OK </dt>
-        <dd class="description">Credentials are OK/trusted</dd>
-        <dt>HTTP_TRUST_RENEWED </dt>
-        <dd class="description">Credentials have been renewed</dd>
-        <dt>HTTP_TRUST_UNKNOWN </dt>
-        <dd class="description">Credentials are unknown/new</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_TRUST_CHANGED </th>        <td class="description">Credentials have changed</td></tr>
+        <tr><th>HTTP_TRUST_EXPIRED </th>        <td class="description">Credentials are expired</td></tr>
+        <tr><th>HTTP_TRUST_INVALID </th>        <td class="description">Credentials are invalid</td></tr>
+        <tr><th>HTTP_TRUST_OK </th>        <td class="description">Credentials are OK/trusted</td></tr>
+        <tr><th>HTTP_TRUST_RENEWED </th>        <td class="description">Credentials have been renewed</td></tr>
+        <tr><th>HTTP_TRUST_UNKNOWN </th>        <td class="description">Credentials are unknown/new</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_uri_coding_e">http_uri_coding_e</a></h3>
         <p class="description">URI en/decode flags</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_URI_CODING_ALL </dt>
-        <dd class="description">En/decode everything</dd>
-        <dt>HTTP_URI_CODING_HOSTNAME </dt>
-        <dd class="description">En/decode the hostname portion</dd>
-        <dt>HTTP_URI_CODING_MOST </dt>
-        <dd class="description">En/decode all but the query</dd>
-        <dt>HTTP_URI_CODING_NONE </dt>
-        <dd class="description">Don't en/decode anything</dd>
-        <dt>HTTP_URI_CODING_QUERY </dt>
-        <dd class="description">En/decode the query portion</dd>
-        <dt>HTTP_URI_CODING_RESOURCE </dt>
-        <dd class="description">En/decode the resource portion</dd>
-        <dt>HTTP_URI_CODING_RFC6874 </dt>
-        <dd class="description">Use RFC 6874 address format</dd>
-        <dt>HTTP_URI_CODING_USERNAME </dt>
-        <dd class="description">En/decode the username portion</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_URI_CODING_ALL </th>        <td class="description">En/decode everything</td></tr>
+        <tr><th>HTTP_URI_CODING_HOSTNAME </th>        <td class="description">En/decode the hostname portion</td></tr>
+        <tr><th>HTTP_URI_CODING_MOST </th>        <td class="description">En/decode all but the query</td></tr>
+        <tr><th>HTTP_URI_CODING_NONE </th>        <td class="description">Don't en/decode anything</td></tr>
+        <tr><th>HTTP_URI_CODING_QUERY </th>        <td class="description">En/decode the query portion</td></tr>
+        <tr><th>HTTP_URI_CODING_RESOURCE </th>        <td class="description">En/decode the resource portion</td></tr>
+        <tr><th>HTTP_URI_CODING_RFC6874 </th>        <td class="description">Use RFC 6874 address format</td></tr>
+        <tr><th>HTTP_URI_CODING_USERNAME </th>        <td class="description">En/decode the username portion</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="http_uri_status_e"><span class="info">&#160;CUPS 1.2&#160;</span>http_uri_status_e</a></h3>
         <p class="description">URI separation status </p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>HTTP_URI_STATUS_BAD_ARGUMENTS </dt>
-        <dd class="description">Bad arguments to function (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_HOSTNAME </dt>
-        <dd class="description">Bad hostname in URI (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_PORT </dt>
-        <dd class="description">Bad port number in URI (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_RESOURCE </dt>
-        <dd class="description">Bad resource in URI (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_SCHEME </dt>
-        <dd class="description">Bad scheme in URI (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_URI </dt>
-        <dd class="description">Bad/empty URI (error)</dd>
-        <dt>HTTP_URI_STATUS_BAD_USERNAME </dt>
-        <dd class="description">Bad username in URI (error)</dd>
-        <dt>HTTP_URI_STATUS_MISSING_RESOURCE </dt>
-        <dd class="description">Missing resource in URI (warning)</dd>
-        <dt>HTTP_URI_STATUS_MISSING_SCHEME </dt>
-        <dd class="description">Missing scheme in URI (warning)</dd>
-        <dt>HTTP_URI_STATUS_OK </dt>
-        <dd class="description">URI decoded OK</dd>
-        <dt>HTTP_URI_STATUS_OVERFLOW </dt>
-        <dd class="description">URI buffer for httpAssembleURI is too small</dd>
-        <dt>HTTP_URI_STATUS_UNKNOWN_SCHEME </dt>
-        <dd class="description">Unknown scheme in URI (warning)</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>HTTP_URI_STATUS_BAD_ARGUMENTS </th>        <td class="description">Bad arguments to function (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_HOSTNAME </th>        <td class="description">Bad hostname in URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_PORT </th>        <td class="description">Bad port number in URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_RESOURCE </th>        <td class="description">Bad resource in URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_SCHEME </th>        <td class="description">Bad scheme in URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_URI </th>        <td class="description">Bad/empty URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_BAD_USERNAME </th>        <td class="description">Bad username in URI (error)</td></tr>
+        <tr><th>HTTP_URI_STATUS_MISSING_RESOURCE </th>        <td class="description">Missing resource in URI (warning)</td></tr>
+        <tr><th>HTTP_URI_STATUS_MISSING_SCHEME </th>        <td class="description">Missing scheme in URI (warning)</td></tr>
+        <tr><th>HTTP_URI_STATUS_OK </th>        <td class="description">URI decoded OK</td></tr>
+        <tr><th>HTTP_URI_STATUS_OVERFLOW </th>        <td class="description">URI buffer for httpAssembleURI is too small</td></tr>
+        <tr><th>HTTP_URI_STATUS_UNKNOWN_SCHEME </th>        <td class="description">Unknown scheme in URI (warning)</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_finishings_e">ipp_finishings_e</a></h3>
         <p class="description">Finishings values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_FINISHINGS_BALE </dt>
-        <dd class="description">Bale (any type)</dd>
-        <dt>IPP_FINISHINGS_BIND </dt>
-        <dd class="description">Bind</dd>
-        <dt>IPP_FINISHINGS_BIND_BOTTOM </dt>
-        <dd class="description">Bind on bottom</dd>
-        <dt>IPP_FINISHINGS_BIND_LEFT </dt>
-        <dd class="description">Bind on left</dd>
-        <dt>IPP_FINISHINGS_BIND_RIGHT </dt>
-        <dd class="description">Bind on right</dd>
-        <dt>IPP_FINISHINGS_BIND_TOP </dt>
-        <dd class="description">Bind on top</dd>
-        <dt>IPP_FINISHINGS_BOOKLET_MAKER </dt>
-        <dd class="description">Fold to make booklet</dd>
-        <dt>IPP_FINISHINGS_COAT </dt>
-        <dd class="description">Apply protective liquid or powder coating</dd>
-        <dt>IPP_FINISHINGS_COVER </dt>
-        <dd class="description">Add cover</dd>
-        <dt>IPP_FINISHINGS_EDGE_STITCH </dt>
-        <dd class="description">Stitch along any side</dd>
-        <dt>IPP_FINISHINGS_EDGE_STITCH_BOTTOM </dt>
-        <dd class="description">Stitch along bottom edge</dd>
-        <dt>IPP_FINISHINGS_EDGE_STITCH_LEFT </dt>
-        <dd class="description">Stitch along left side</dd>
-        <dt>IPP_FINISHINGS_EDGE_STITCH_RIGHT </dt>
-        <dd class="description">Stitch along right side</dd>
-        <dt>IPP_FINISHINGS_EDGE_STITCH_TOP </dt>
-        <dd class="description">Stitch along top edge</dd>
-        <dt>IPP_FINISHINGS_FOLD </dt>
-        <dd class="description">Fold (any type)</dd>
-        <dt>IPP_FINISHINGS_FOLD_ACCORDIAN </dt>
-        <dd class="description">Accordian-fold the paper vertically into four sections</dd>
-        <dt>IPP_FINISHINGS_FOLD_DOUBLE_GATE </dt>
-        <dd class="description">Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically</dd>
-        <dt>IPP_FINISHINGS_FOLD_ENGINEERING_Z </dt>
-        <dd class="description">Fold the paper vertically into two small sections and one larger, forming an elongated Z</dd>
-        <dt>IPP_FINISHINGS_FOLD_GATE </dt>
-        <dd class="description">Fold the top and bottom quarters of the paper towards the midline</dd>
-        <dt>IPP_FINISHINGS_FOLD_HALF </dt>
-        <dd class="description">Fold the paper in half vertically</dd>
-        <dt>IPP_FINISHINGS_FOLD_HALF_Z </dt>
-        <dd class="description">Fold the paper in half horizontally, then Z-fold the paper vertically</dd>
-        <dt>IPP_FINISHINGS_FOLD_LEFT_GATE </dt>
-        <dd class="description">Fold the top quarter of the paper towards the midline</dd>
-        <dt>IPP_FINISHINGS_FOLD_LETTER </dt>
-        <dd class="description">Fold the paper into three sections vertically; sometimes also known as a C fold</dd>
-        <dt>IPP_FINISHINGS_FOLD_PARALLEL </dt>
-        <dd class="description">Fold the paper in half vertically two times, yielding four sections</dd>
-        <dt>IPP_FINISHINGS_FOLD_POSTER </dt>
-        <dd class="description">Fold the paper in half horizontally and vertically; sometimes also called a cross fold</dd>
-        <dt>IPP_FINISHINGS_FOLD_RIGHT_GATE </dt>
-        <dd class="description">Fold the bottom quarter of the paper towards the midline</dd>
-        <dt>IPP_FINISHINGS_FOLD_Z </dt>
-        <dd class="description">Fold the paper vertically into three sections, forming a Z</dd>
-        <dt>IPP_FINISHINGS_JOG_OFFSET </dt>
-        <dd class="description">Offset for binding (any type)</dd>
-        <dt>IPP_FINISHINGS_LAMINATE </dt>
-        <dd class="description">Apply protective (solid) material</dd>
-        <dt>IPP_FINISHINGS_NONE </dt>
-        <dd class="description">No finishing</dd>
-        <dt>IPP_FINISHINGS_PUNCH </dt>
-        <dd class="description">Punch (any location/count)</dd>
-        <dt>IPP_FINISHINGS_PUNCH_BOTTOM_LEFT </dt>
-        <dd class="description">Punch 1 hole bottom left</dd>
-        <dt>IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT </dt>
-        <dd class="description">Punch 1 hole bottom right</dd>
-        <dt>IPP_FINISHINGS_PUNCH_DUAL_BOTTOM </dt>
-        <dd class="description">Punch 2 holes bottom edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_DUAL_LEFT </dt>
-        <dd class="description">Punch 2 holes left side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_DUAL_RIGHT </dt>
-        <dd class="description">Punch 2 holes right side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_DUAL_TOP </dt>
-        <dd class="description">Punch 2 holes top edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_MULTIPLE_BOTTOM </dt>
-        <dd class="description">Pucnh multiple holes bottom edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_MULTIPLE_LEFT </dt>
-        <dd class="description">Pucnh multiple holes left side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_MULTIPLE_RIGHT </dt>
-        <dd class="description">Pucnh multiple holes right side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_MULTIPLE_TOP </dt>
-        <dd class="description">Pucnh multiple holes top edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_QUAD_BOTTOM </dt>
-        <dd class="description">Punch 4 holes bottom edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_QUAD_LEFT </dt>
-        <dd class="description">Punch 4 holes left side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_QUAD_RIGHT </dt>
-        <dd class="description">Punch 4 holes right side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_QUAD_TOP </dt>
-        <dd class="description">Punch 4 holes top edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TOP_LEFT </dt>
-        <dd class="description">Punch 1 hole top left</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TOP_RIGHT </dt>
-        <dd class="description">Punch 1 hole top right</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM </dt>
-        <dd class="description">Punch 3 holes bottom edge</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TRIPLE_LEFT </dt>
-        <dd class="description">Punch 3 holes left side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT </dt>
-        <dd class="description">Punch 3 holes right side</dd>
-        <dt>IPP_FINISHINGS_PUNCH_TRIPLE_TOP </dt>
-        <dd class="description">Punch 3 holes top edge</dd>
-        <dt>IPP_FINISHINGS_SADDLE_STITCH </dt>
-        <dd class="description">Staple interior</dd>
-        <dt>IPP_FINISHINGS_STAPLE </dt>
-        <dd class="description">Staple (any location/method)</dd>
-        <dt>IPP_FINISHINGS_STAPLE_BOTTOM_LEFT </dt>
-        <dd class="description">Staple bottom left corner</dd>
-        <dt>IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT </dt>
-        <dd class="description">Staple bottom right corner</dd>
-        <dt>IPP_FINISHINGS_STAPLE_DUAL_BOTTOM </dt>
-        <dd class="description">Two staples on bottom</dd>
-        <dt>IPP_FINISHINGS_STAPLE_DUAL_LEFT </dt>
-        <dd class="description">Two staples on left</dd>
-        <dt>IPP_FINISHINGS_STAPLE_DUAL_RIGHT </dt>
-        <dd class="description">Two staples on right</dd>
-        <dt>IPP_FINISHINGS_STAPLE_DUAL_TOP </dt>
-        <dd class="description">Two staples on top</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TOP_LEFT </dt>
-        <dd class="description">Staple top left corner</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TOP_RIGHT </dt>
-        <dd class="description">Staple top right corner</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM </dt>
-        <dd class="description">Three staples on bottom</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TRIPLE_LEFT </dt>
-        <dd class="description">Three staples on left</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT </dt>
-        <dd class="description">Three staples on right</dd>
-        <dt>IPP_FINISHINGS_STAPLE_TRIPLE_TOP </dt>
-        <dd class="description">Three staples on top</dd>
-        <dt>IPP_FINISHINGS_TRIM </dt>
-        <dd class="description">Trim (any type)</dd>
-        <dt>IPP_FINISHINGS_TRIM_AFTER_COPIES </dt>
-        <dd class="description">Trim output after each copy</dd>
-        <dt>IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS </dt>
-        <dd class="description">Trim output after each document</dd>
-        <dt>IPP_FINISHINGS_TRIM_AFTER_JOB </dt>
-        <dd class="description">Trim output after job</dd>
-        <dt>IPP_FINISHINGS_TRIM_AFTER_PAGES </dt>
-        <dd class="description">Trim output after each page</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_FINISHINGS_BALE </th>        <td class="description">Bale (any type)</td></tr>
+        <tr><th>IPP_FINISHINGS_BIND </th>        <td class="description">Bind</td></tr>
+        <tr><th>IPP_FINISHINGS_BIND_BOTTOM </th>        <td class="description">Bind on bottom</td></tr>
+        <tr><th>IPP_FINISHINGS_BIND_LEFT </th>        <td class="description">Bind on left</td></tr>
+        <tr><th>IPP_FINISHINGS_BIND_RIGHT </th>        <td class="description">Bind on right</td></tr>
+        <tr><th>IPP_FINISHINGS_BIND_TOP </th>        <td class="description">Bind on top</td></tr>
+        <tr><th>IPP_FINISHINGS_BOOKLET_MAKER </th>        <td class="description">Fold to make booklet</td></tr>
+        <tr><th>IPP_FINISHINGS_COAT </th>        <td class="description">Apply protective liquid or powder coating</td></tr>
+        <tr><th>IPP_FINISHINGS_COVER </th>        <td class="description">Add cover</td></tr>
+        <tr><th>IPP_FINISHINGS_EDGE_STITCH </th>        <td class="description">Stitch along any side</td></tr>
+        <tr><th>IPP_FINISHINGS_EDGE_STITCH_BOTTOM </th>        <td class="description">Stitch along bottom edge</td></tr>
+        <tr><th>IPP_FINISHINGS_EDGE_STITCH_LEFT </th>        <td class="description">Stitch along left side</td></tr>
+        <tr><th>IPP_FINISHINGS_EDGE_STITCH_RIGHT </th>        <td class="description">Stitch along right side</td></tr>
+        <tr><th>IPP_FINISHINGS_EDGE_STITCH_TOP </th>        <td class="description">Stitch along top edge</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD </th>        <td class="description">Fold (any type)</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_ACCORDIAN </th>        <td class="description">Accordian-fold the paper vertically into four sections</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_DOUBLE_GATE </th>        <td class="description">Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_ENGINEERING_Z </th>        <td class="description">Fold the paper vertically into two small sections and one larger, forming an elongated Z</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_GATE </th>        <td class="description">Fold the top and bottom quarters of the paper towards the midline</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_HALF </th>        <td class="description">Fold the paper in half vertically</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_HALF_Z </th>        <td class="description">Fold the paper in half horizontally, then Z-fold the paper vertically</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_LEFT_GATE </th>        <td class="description">Fold the top quarter of the paper towards the midline</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_LETTER </th>        <td class="description">Fold the paper into three sections vertically; sometimes also known as a C fold</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_PARALLEL </th>        <td class="description">Fold the paper in half vertically two times, yielding four sections</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_POSTER </th>        <td class="description">Fold the paper in half horizontally and vertically; sometimes also called a cross fold</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_RIGHT_GATE </th>        <td class="description">Fold the bottom quarter of the paper towards the midline</td></tr>
+        <tr><th>IPP_FINISHINGS_FOLD_Z </th>        <td class="description">Fold the paper vertically into three sections, forming a Z</td></tr>
+        <tr><th>IPP_FINISHINGS_JOG_OFFSET </th>        <td class="description">Offset for binding (any type)</td></tr>
+        <tr><th>IPP_FINISHINGS_LAMINATE </th>        <td class="description">Apply protective (solid) material</td></tr>
+        <tr><th>IPP_FINISHINGS_NONE </th>        <td class="description">No finishing</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH </th>        <td class="description">Punch (any location/count)</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_BOTTOM_LEFT </th>        <td class="description">Punch 1 hole bottom left</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT </th>        <td class="description">Punch 1 hole bottom right</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_DUAL_BOTTOM </th>        <td class="description">Punch 2 holes bottom edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_DUAL_LEFT </th>        <td class="description">Punch 2 holes left side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_DUAL_RIGHT </th>        <td class="description">Punch 2 holes right side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_DUAL_TOP </th>        <td class="description">Punch 2 holes top edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_MULTIPLE_BOTTOM </th>        <td class="description">Pucnh multiple holes bottom edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_MULTIPLE_LEFT </th>        <td class="description">Pucnh multiple holes left side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_MULTIPLE_RIGHT </th>        <td class="description">Pucnh multiple holes right side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_MULTIPLE_TOP </th>        <td class="description">Pucnh multiple holes top edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_QUAD_BOTTOM </th>        <td class="description">Punch 4 holes bottom edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_QUAD_LEFT </th>        <td class="description">Punch 4 holes left side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_QUAD_RIGHT </th>        <td class="description">Punch 4 holes right side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_QUAD_TOP </th>        <td class="description">Punch 4 holes top edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TOP_LEFT </th>        <td class="description">Punch 1 hole top left</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TOP_RIGHT </th>        <td class="description">Punch 1 hole top right</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM </th>        <td class="description">Punch 3 holes bottom edge</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TRIPLE_LEFT </th>        <td class="description">Punch 3 holes left side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT </th>        <td class="description">Punch 3 holes right side</td></tr>
+        <tr><th>IPP_FINISHINGS_PUNCH_TRIPLE_TOP </th>        <td class="description">Punch 3 holes top edge</td></tr>
+        <tr><th>IPP_FINISHINGS_SADDLE_STITCH </th>        <td class="description">Staple interior</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE </th>        <td class="description">Staple (any location/method)</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_BOTTOM_LEFT </th>        <td class="description">Staple bottom left corner</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT </th>        <td class="description">Staple bottom right corner</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_DUAL_BOTTOM </th>        <td class="description">Two staples on bottom</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_DUAL_LEFT </th>        <td class="description">Two staples on left</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_DUAL_RIGHT </th>        <td class="description">Two staples on right</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_DUAL_TOP </th>        <td class="description">Two staples on top</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TOP_LEFT </th>        <td class="description">Staple top left corner</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TOP_RIGHT </th>        <td class="description">Staple top right corner</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM </th>        <td class="description">Three staples on bottom</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TRIPLE_LEFT </th>        <td class="description">Three staples on left</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT </th>        <td class="description">Three staples on right</td></tr>
+        <tr><th>IPP_FINISHINGS_STAPLE_TRIPLE_TOP </th>        <td class="description">Three staples on top</td></tr>
+        <tr><th>IPP_FINISHINGS_TRIM </th>        <td class="description">Trim (any type)</td></tr>
+        <tr><th>IPP_FINISHINGS_TRIM_AFTER_COPIES </th>        <td class="description">Trim output after each copy</td></tr>
+        <tr><th>IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS </th>        <td class="description">Trim output after each document</td></tr>
+        <tr><th>IPP_FINISHINGS_TRIM_AFTER_JOB </th>        <td class="description">Trim output after job</td></tr>
+        <tr><th>IPP_FINISHINGS_TRIM_AFTER_PAGES </th>        <td class="description">Trim output after each page</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_jstate_e">ipp_jstate_e</a></h3>
         <p class="description">Job states</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_JSTATE_ABORTED </dt>
-        <dd class="description">Job has aborted due to error</dd>
-        <dt>IPP_JSTATE_CANCELED </dt>
-        <dd class="description">Job has been canceled</dd>
-        <dt>IPP_JSTATE_COMPLETED </dt>
-        <dd class="description">Job has completed successfully</dd>
-        <dt>IPP_JSTATE_HELD </dt>
-        <dd class="description">Job is held for printing</dd>
-        <dt>IPP_JSTATE_PENDING </dt>
-        <dd class="description">Job is waiting to be printed</dd>
-        <dt>IPP_JSTATE_PROCESSING </dt>
-        <dd class="description">Job is currently printing</dd>
-        <dt>IPP_JSTATE_STOPPED </dt>
-        <dd class="description">Job has been stopped</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_JSTATE_ABORTED </th>        <td class="description">Job has aborted due to error</td></tr>
+        <tr><th>IPP_JSTATE_CANCELED </th>        <td class="description">Job has been canceled</td></tr>
+        <tr><th>IPP_JSTATE_COMPLETED </th>        <td class="description">Job has completed successfully</td></tr>
+        <tr><th>IPP_JSTATE_HELD </th>        <td class="description">Job is held for printing</td></tr>
+        <tr><th>IPP_JSTATE_PENDING </th>        <td class="description">Job is waiting to be printed</td></tr>
+        <tr><th>IPP_JSTATE_PROCESSING </th>        <td class="description">Job is currently printing</td></tr>
+        <tr><th>IPP_JSTATE_STOPPED </th>        <td class="description">Job has been stopped</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_op_e">ipp_op_e</a></h3>
         <p class="description">IPP operations</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_OP_CANCEL_CURRENT_JOB </dt>
-        <dd class="description">Cancel-Current-Job: Cancel the current job</dd>
-        <dt>IPP_OP_CANCEL_JOB </dt>
-        <dd class="description">Cancel-Job: Cancel a job</dd>
-        <dt>IPP_OP_CANCEL_JOBS </dt>
-        <dd class="description">Cancel-Jobs: Cancel all jobs (administrative)</dd>
-        <dt>IPP_OP_CANCEL_MY_JOBS </dt>
-        <dd class="description">Cancel-My-Jobs: Cancel a user's jobs</dd>
-        <dt>IPP_OP_CANCEL_SUBSCRIPTION <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Cancel-Subscription: Cancel a subscription </dd>
-        <dt>IPP_OP_CLOSE_JOB </dt>
-        <dd class="description">Close-Job: Close a job and start printing</dd>
-        <dt>IPP_OP_CREATE_JOB </dt>
-        <dd class="description">Create-Job: Create an empty print job</dd>
-        <dt>IPP_OP_CREATE_JOB_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Create-Job-Subscriptions: Create one of more job subscriptions </dd>
-        <dt>IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Create-Printer-Subscriptions: Create one or more printer subscriptions </dd>
-        <dt>IPP_OP_CUPS_ADD_MODIFY_CLASS </dt>
-        <dd class="description">CUPS-Add-Modify-Class: Add or modify a class</dd>
-        <dt>IPP_OP_CUPS_ADD_MODIFY_PRINTER </dt>
-        <dd class="description">CUPS-Add-Modify-Printer: Add or modify a printer</dd>
-        <dt>IPP_OP_CUPS_AUTHENTICATE_JOB <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">CUPS-Authenticate-Job: Authenticate a job </dd>
-        <dt>IPP_OP_CUPS_CREATE_LOCAL_PRINTER <span class="info">&#160;CUPS 2.2&#160;</span></dt>
-        <dd class="description">CUPS-Create-Local-Printer: Create a local (temporary) printer </dd>
-        <dt>IPP_OP_CUPS_DELETE_CLASS </dt>
-        <dd class="description">CUPS-Delete-Class: Delete a class</dd>
-        <dt>IPP_OP_CUPS_DELETE_PRINTER </dt>
-        <dd class="description">CUPS-Delete-Printer: Delete a printer</dd>
-        <dt>IPP_OP_CUPS_GET_DEFAULT </dt>
-        <dd class="description">CUPS-Get-Default: Get the default printer</dd>
-        <dt>IPP_OP_CUPS_GET_DEVICES <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">CUPS-Get-Devices: Get a list of supported devices </dd>
-        <dt>IPP_OP_CUPS_GET_DOCUMENT <span class="info">&#160;CUPS 1.4/macOS 10.6&#160;</span></dt>
-        <dd class="description">CUPS-Get-Document: Get a document file </dd>
-        <dt>IPP_OP_CUPS_GET_PPD <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">CUPS-Get-PPD: Get a PPD file </dd>
-        <dt>IPP_OP_CUPS_GET_PPDS <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">CUPS-Get-PPDs: Get a list of supported drivers </dd>
-        <dt>IPP_OP_CUPS_GET_PRINTERS </dt>
-        <dd class="description">CUPS-Get-Printers: Get a list of printers and/or classes</dd>
-        <dt>IPP_OP_CUPS_INVALID </dt>
-        <dd class="description">Invalid operation name for <a href="#ippOpValue"><code>ippOpValue</code></a></dd>
-        <dt>IPP_OP_CUPS_MOVE_JOB </dt>
-        <dd class="description">CUPS-Move-Job: Move a job to a different printer</dd>
-        <dt>IPP_OP_CUPS_SET_DEFAULT </dt>
-        <dd class="description">CUPS-Set-Default: Set the default printer</dd>
-        <dt>IPP_OP_DISABLE_PRINTER </dt>
-        <dd class="description">Disable-Printer: Reject new jobs for a printer</dd>
-        <dt>IPP_OP_ENABLE_PRINTER </dt>
-        <dd class="description">Enable-Printer: Accept new jobs for a printer</dd>
-        <dt>IPP_OP_GET_JOBS </dt>
-        <dd class="description">Get-Jobs: Get a list of jobs</dd>
-        <dt>IPP_OP_GET_JOB_ATTRIBUTES </dt>
-        <dd class="description">Get-Job-Attribute: Get information about a job</dd>
-        <dt>IPP_OP_GET_NOTIFICATIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Get-Notifications: Get notification events </dd>
-        <dt>IPP_OP_GET_PRINTER_ATTRIBUTES </dt>
-        <dd class="description">Get-Printer-Attributes: Get information about a printer</dd>
-        <dt>IPP_OP_GET_PRINTER_SUPPORTED_VALUES </dt>
-        <dd class="description">Get-Printer-Supported-Values: Get supported values</dd>
-        <dt>IPP_OP_GET_SUBSCRIPTIONS <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Get-Subscriptions: Get list of subscriptions </dd>
-        <dt>IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Get-Subscription-Attributes: Get subscription information </dd>
-        <dt>IPP_OP_HOLD_JOB </dt>
-        <dd class="description">Hold-Job: Hold a job for printing</dd>
-        <dt>IPP_OP_HOLD_NEW_JOBS </dt>
-        <dd class="description">Hold-New-Jobs: Hold new jobs</dd>
-        <dt>IPP_OP_IDENTIFY_PRINTER </dt>
-        <dd class="description">Identify-Printer: Make the printer beep, flash, or display a message for identification</dd>
-        <dt>IPP_OP_PAUSE_PRINTER </dt>
-        <dd class="description">Pause-Printer: Stop a printer</dd>
-        <dt>IPP_OP_PAUSE_PRINTER_AFTER_CURRENT_JOB </dt>
-        <dd class="description">Pause-Printer-After-Current-Job: Stop printer after the current job</dd>
-        <dt>IPP_OP_PRINT_JOB </dt>
-        <dd class="description">Print-Job: Print a single file</dd>
-        <dt>IPP_OP_PROMOTE_JOB </dt>
-        <dd class="description">Promote-Job: Promote a job to print sooner</dd>
-        <dt>IPP_OP_RELEASE_HELD_NEW_JOBS </dt>
-        <dd class="description">Release-Held-New-Jobs: Release new jobs that were previously held</dd>
-        <dt>IPP_OP_RELEASE_JOB </dt>
-        <dd class="description">Release-Job: Release a job for printing</dd>
-        <dt>IPP_OP_RENEW_SUBSCRIPTION <span class="info">&#160;CUPS 1.2/macOS 10.5&#160;</span></dt>
-        <dd class="description">Renew-Subscription: Renew a printer subscription </dd>
-        <dt>IPP_OP_RESTART_JOB <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">Restart-Job: Reprint a job </dd>
-        <dt>IPP_OP_RESUME_JOB </dt>
-        <dd class="description">Resume-Job: Resume the current job</dd>
-        <dt>IPP_OP_RESUME_PRINTER </dt>
-        <dd class="description">Resume-Printer: Start a printer</dd>
-        <dt>IPP_OP_SCHEDULE_JOB_AFTER </dt>
-        <dd class="description">Schedule-Job-After: Schedule a job to print after another</dd>
-        <dt>IPP_OP_SEND_DOCUMENT </dt>
-        <dd class="description">Send-Document: Add a file to a job</dd>
-        <dt>IPP_OP_SET_JOB_ATTRIBUTES </dt>
-        <dd class="description">Set-Job-Attributes: Set job values</dd>
-        <dt>IPP_OP_SET_PRINTER_ATTRIBUTES </dt>
-        <dd class="description">Set-Printer-Attributes: Set printer values</dd>
-        <dt>IPP_OP_SUSPEND_CURRENT_JOB </dt>
-        <dd class="description">Suspend-Current-Job: Suspend the current job</dd>
-        <dt>IPP_OP_VALIDATE_JOB </dt>
-        <dd class="description">Validate-Job: Validate job values prior to submission</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_OP_CANCEL_CURRENT_JOB </th>        <td class="description">Cancel-Current-Job: Cancel the current job</td></tr>
+        <tr><th>IPP_OP_CANCEL_JOB </th>        <td class="description">Cancel-Job: Cancel a job</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_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_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_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_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_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_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>
+        <tr><th>IPP_OP_CUPS_INVALID </th>        <td class="description">Invalid operation name for <a href="#ippOpValue"><code>ippOpValue</code></a></td></tr>
+        <tr><th>IPP_OP_CUPS_MOVE_JOB </th>        <td class="description">CUPS-Move-Job: Move a job to a different printer</td></tr>
+        <tr><th>IPP_OP_CUPS_SET_DEFAULT </th>        <td class="description">CUPS-Set-Default: Set the default printer</td></tr>
+        <tr><th>IPP_OP_DISABLE_PRINTER </th>        <td class="description">Disable-Printer: Reject new jobs for a printer</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_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_HOLD_JOB </th>        <td class="description">Hold-Job: Hold a job for printing</td></tr>
+        <tr><th>IPP_OP_HOLD_NEW_JOBS </th>        <td class="description">Hold-New-Jobs: Hold new jobs</td></tr>
+        <tr><th>IPP_OP_IDENTIFY_PRINTER </th>        <td class="description">Identify-Printer: Make the printer beep, flash, or display a message for identification</td></tr>
+        <tr><th>IPP_OP_PAUSE_PRINTER </th>        <td class="description">Pause-Printer: Stop a printer</td></tr>
+        <tr><th>IPP_OP_PAUSE_PRINTER_AFTER_CURRENT_JOB </th>        <td class="description">Pause-Printer-After-Current-Job: Stop printer after the current job</td></tr>
+        <tr><th>IPP_OP_PRINT_JOB </th>        <td class="description">Print-Job: Print a single file</td></tr>
+        <tr><th>IPP_OP_PROMOTE_JOB </th>        <td class="description">Promote-Job: Promote a job to print sooner</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_RESTART_JOB <span class="info">&#160;DEPRECATED&#160;</span></th>        <td class="description">Restart-Job: Reprint a job </td></tr>
+        <tr><th>IPP_OP_RESUME_JOB </th>        <td class="description">Resume-Job: Resume the current job</td></tr>
+        <tr><th>IPP_OP_RESUME_PRINTER </th>        <td class="description">Resume-Printer: Start a printer</td></tr>
+        <tr><th>IPP_OP_SCHEDULE_JOB_AFTER </th>        <td class="description">Schedule-Job-After: Schedule a job to print after another</td></tr>
+        <tr><th>IPP_OP_SEND_DOCUMENT </th>        <td class="description">Send-Document: Add a file to a job</td></tr>
+        <tr><th>IPP_OP_SET_JOB_ATTRIBUTES </th>        <td class="description">Set-Job-Attributes: Set job values</td></tr>
+        <tr><th>IPP_OP_SET_PRINTER_ATTRIBUTES </th>        <td class="description">Set-Printer-Attributes: Set printer values</td></tr>
+        <tr><th>IPP_OP_SUSPEND_CURRENT_JOB </th>        <td class="description">Suspend-Current-Job: Suspend the current job</td></tr>
+        <tr><th>IPP_OP_VALIDATE_JOB </th>        <td class="description">Validate-Job: Validate job values prior to submission</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_orient_e">ipp_orient_e</a></h3>
         <p class="description">Orientation values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_ORIENT_LANDSCAPE </dt>
-        <dd class="description">90 degrees counter-clockwise</dd>
-        <dt>IPP_ORIENT_NONE </dt>
-        <dd class="description">No rotation</dd>
-        <dt>IPP_ORIENT_PORTRAIT </dt>
-        <dd class="description">No rotation</dd>
-        <dt>IPP_ORIENT_REVERSE_LANDSCAPE </dt>
-        <dd class="description">90 degrees clockwise</dd>
-        <dt>IPP_ORIENT_REVERSE_PORTRAIT </dt>
-        <dd class="description">180 degrees</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_ORIENT_LANDSCAPE </th>        <td class="description">90 degrees counter-clockwise</td></tr>
+        <tr><th>IPP_ORIENT_NONE </th>        <td class="description">No rotation</td></tr>
+        <tr><th>IPP_ORIENT_PORTRAIT </th>        <td class="description">No rotation</td></tr>
+        <tr><th>IPP_ORIENT_REVERSE_LANDSCAPE </th>        <td class="description">90 degrees clockwise</td></tr>
+        <tr><th>IPP_ORIENT_REVERSE_PORTRAIT </th>        <td class="description">180 degrees</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_pstate_e">ipp_pstate_e</a></h3>
-        <p class="description">Printer states</p>
+        <p class="description">Printer state values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_PSTATE_IDLE </dt>
-        <dd class="description">Printer is idle</dd>
-        <dt>IPP_PSTATE_PROCESSING </dt>
-        <dd class="description">Printer is working</dd>
-        <dt>IPP_PSTATE_STOPPED </dt>
-        <dd class="description">Printer is stopped</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_PSTATE_IDLE </th>        <td class="description">Printer is idle</td></tr>
+        <tr><th>IPP_PSTATE_PROCESSING </th>        <td class="description">Printer is working</td></tr>
+        <tr><th>IPP_PSTATE_STOPPED </th>        <td class="description">Printer is stopped</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_quality_e">ipp_quality_e</a></h3>
-        <p class="description">Qualities</p>
+        <p class="description">Print quality values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_QUALITY_DRAFT </dt>
-        <dd class="description">Draft quality</dd>
-        <dt>IPP_QUALITY_HIGH </dt>
-        <dd class="description">High quality</dd>
-        <dt>IPP_QUALITY_NORMAL </dt>
-        <dd class="description">Normal quality</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_QUALITY_DRAFT </th>        <td class="description">Draft quality</td></tr>
+        <tr><th>IPP_QUALITY_HIGH </th>        <td class="description">High quality</td></tr>
+        <tr><th>IPP_QUALITY_NORMAL </th>        <td class="description">Normal quality</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_res_e">ipp_res_e</a></h3>
         <p class="description">Resolution units</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_RES_PER_CM </dt>
-        <dd class="description">Pixels per centimeter</dd>
-        <dt>IPP_RES_PER_INCH </dt>
-        <dd class="description">Pixels per inch</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_RES_PER_CM </th>        <td class="description">Pixels per centimeter</td></tr>
+        <tr><th>IPP_RES_PER_INCH </th>        <td class="description">Pixels per inch</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_state_e">ipp_state_e</a></h3>
-        <p class="description">IPP states</p>
+        <p class="description">ipp_t state values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_STATE_ATTRIBUTE </dt>
-        <dd class="description">One or more attributes need to be sent/received</dd>
-        <dt>IPP_STATE_DATA </dt>
-        <dd class="description">IPP request data needs to be sent/received</dd>
-        <dt>IPP_STATE_ERROR </dt>
-        <dd class="description">An error occurred</dd>
-        <dt>IPP_STATE_HEADER </dt>
-        <dd class="description">The request header needs to be sent/received</dd>
-        <dt>IPP_STATE_IDLE </dt>
-        <dd class="description">Nothing is happening/request completed</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_STATE_ATTRIBUTE </th>        <td class="description">One or more attributes need to be sent/received</td></tr>
+        <tr><th>IPP_STATE_DATA </th>        <td class="description">IPP request data needs to be sent/received</td></tr>
+        <tr><th>IPP_STATE_ERROR </th>        <td class="description">An error occurred</td></tr>
+        <tr><th>IPP_STATE_HEADER </th>        <td class="description">The request header needs to be sent/received</td></tr>
+        <tr><th>IPP_STATE_IDLE </th>        <td class="description">Nothing is happening/request completed</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_status_e">ipp_status_e</a></h3>
-        <p class="description">IPP status codes</p>
+        <p class="description">IPP status code values</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_STATUS_CUPS_INVALID </dt>
-        <dd class="description">Invalid status name for <a href="#ippErrorValue"><code>ippErrorValue</code></a></dd>
-        <dt>IPP_STATUS_ERROR_ACCOUNT_AUTHORIZATION_FAILED </dt>
-        <dd class="description">client-error-account-authorization-failed</dd>
-        <dt>IPP_STATUS_ERROR_ACCOUNT_CLOSED </dt>
-        <dd class="description">client-error-account-closed</dd>
-        <dt>IPP_STATUS_ERROR_ACCOUNT_INFO_NEEDED </dt>
-        <dd class="description">client-error-account-info-needed</dd>
-        <dt>IPP_STATUS_ERROR_ACCOUNT_LIMIT_REACHED </dt>
-        <dd class="description">client-error-account-limit-reached</dd>
-        <dt>IPP_STATUS_ERROR_ATTRIBUTES_NOT_SETTABLE </dt>
-        <dd class="description">client-error-attributes-not-settable</dd>
-        <dt>IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES </dt>
-        <dd class="description">client-error-attributes-or-values-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_BAD_REQUEST </dt>
-        <dd class="description">client-error-bad-request</dd>
-        <dt>IPP_STATUS_ERROR_BUSY </dt>
-        <dd class="description">server-error-busy</dd>
-        <dt>IPP_STATUS_ERROR_CHARSET </dt>
-        <dd class="description">client-error-charset-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_COMPRESSION_ERROR </dt>
-        <dd class="description">client-error-compression-error</dd>
-        <dt>IPP_STATUS_ERROR_COMPRESSION_NOT_SUPPORTED </dt>
-        <dd class="description">client-error-compression-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_CONFLICTING </dt>
-        <dd class="description">client-error-conflicting-attributes</dd>
-        <dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">cups-error-account-authorization-failed </dd>
-        <dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED </dt>
-        <dd class="description">cups-error-account-closed @deprecate@</dd>
-        <dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">cups-error-account-info-needed </dd>
-        <dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info">&#160;DEPRECATED&#160;</span></dt>
-        <dd class="description">cups-error-account-limit-reached </dd>
-        <dt>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">cups-authentication-canceled - Authentication canceled by user </dd>
-        <dt>IPP_STATUS_ERROR_CUPS_PKI <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">cups-pki-error - Error negotiating a secure connection </dd>
-        <dt>IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED <span class="info">&#160;CUPS 1.5/macOS 10.7&#160;</span></dt>
-        <dd class="description">cups-upgrade-required - TLS upgrade required </dd>
-        <dt>IPP_STATUS_ERROR_DEVICE </dt>
-        <dd class="description">server-error-device-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_ACCESS </dt>
-        <dd class="description">client-error-document-access-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_FORMAT_ERROR </dt>
-        <dd class="description">client-error-document-format-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED </dt>
-        <dd class="description">client-error-document-format-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_PASSWORD </dt>
-        <dd class="description">client-error-document-password-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_PERMISSION </dt>
-        <dd class="description">client-error-document-permission-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_SECURITY </dt>
-        <dd class="description">client-error-document-security-error</dd>
-        <dt>IPP_STATUS_ERROR_DOCUMENT_UNPRINTABLE </dt>
-        <dd class="description">client-error-document-unprintable-error</dd>
-        <dt>IPP_STATUS_ERROR_FORBIDDEN </dt>
-        <dd class="description">client-error-forbidden</dd>
-        <dt>IPP_STATUS_ERROR_GONE </dt>
-        <dd class="description">client-error-gone</dd>
-        <dt>IPP_STATUS_ERROR_IGNORED_ALL_SUBSCRIPTIONS </dt>
-        <dd class="description">client-error-ignored-all-subscriptions</dd>
-        <dt>IPP_STATUS_ERROR_INTERNAL </dt>
-        <dd class="description">server-error-internal-error</dd>
-        <dt>IPP_STATUS_ERROR_JOB_CANCELED </dt>
-        <dd class="description">server-error-job-canceled</dd>
-        <dt>IPP_STATUS_ERROR_MULTIPLE_JOBS_NOT_SUPPORTED </dt>
-        <dd class="description">server-error-multiple-document-jobs-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_NOT_ACCEPTING_JOBS </dt>
-        <dd class="description">server-error-not-accepting-jobs</dd>
-        <dt>IPP_STATUS_ERROR_NOT_AUTHENTICATED </dt>
-        <dd class="description">client-error-not-authenticated</dd>
-        <dt>IPP_STATUS_ERROR_NOT_AUTHORIZED </dt>
-        <dd class="description">client-error-not-authorized</dd>
-        <dt>IPP_STATUS_ERROR_NOT_FETCHABLE </dt>
-        <dd class="description">client-error-not-fetchable</dd>
-        <dt>IPP_STATUS_ERROR_NOT_FOUND </dt>
-        <dd class="description">client-error-not-found</dd>
-        <dt>IPP_STATUS_ERROR_NOT_POSSIBLE </dt>
-        <dd class="description">client-error-not-possible</dd>
-        <dt>IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED </dt>
-        <dd class="description">server-error-operation-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_PRINTER_IS_DEACTIVATED </dt>
-        <dd class="description">server-error-printer-is-deactivated</dd>
-        <dt>IPP_STATUS_ERROR_REQUEST_ENTITY </dt>
-        <dd class="description">client-error-request-entity-too-large</dd>
-        <dt>IPP_STATUS_ERROR_REQUEST_VALUE </dt>
-        <dd class="description">client-error-request-value-too-long</dd>
-        <dt>IPP_STATUS_ERROR_SERVICE_UNAVAILABLE </dt>
-        <dd class="description">server-error-service-unavailable</dd>
-        <dt>IPP_STATUS_ERROR_TEMPORARY </dt>
-        <dd class="description">server-error-temporary-error</dd>
-        <dt>IPP_STATUS_ERROR_TIMEOUT </dt>
-        <dd class="description">client-error-timeout</dd>
-        <dt>IPP_STATUS_ERROR_TOO_MANY_DOCUMENTS </dt>
-        <dd class="description">server-error-too-many-documents</dd>
-        <dt>IPP_STATUS_ERROR_TOO_MANY_JOBS </dt>
-        <dd class="description">server-error-too-many-jobs</dd>
-        <dt>IPP_STATUS_ERROR_TOO_MANY_SUBSCRIPTIONS </dt>
-        <dd class="description">client-error-too-many-subscriptions</dd>
-        <dt>IPP_STATUS_ERROR_URI_SCHEME </dt>
-        <dd class="description">client-error-uri-scheme-not-supported</dd>
-        <dt>IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED </dt>
-        <dd class="description">server-error-version-not-supported</dd>
-        <dt>IPP_STATUS_OK </dt>
-        <dd class="description">successful-ok</dd>
-        <dt>IPP_STATUS_OK_CONFLICTING </dt>
-        <dd class="description">successful-ok-conflicting-attributes</dd>
-        <dt>IPP_STATUS_OK_EVENTS_COMPLETE </dt>
-        <dd class="description">successful-ok-events-complete</dd>
-        <dt>IPP_STATUS_OK_IGNORED_OR_SUBSTITUTED </dt>
-        <dd class="description">successful-ok-ignored-or-substituted-attributes</dd>
-        <dt>IPP_STATUS_OK_IGNORED_SUBSCRIPTIONS </dt>
-        <dd class="description">successful-ok-ignored-subscriptions</dd>
-        <dt>IPP_STATUS_OK_TOO_MANY_EVENTS </dt>
-        <dd class="description">successful-ok-too-many-events</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_STATUS_CUPS_INVALID </th>        <td class="description">Invalid status name for <a href="#ippErrorValue"><code>ippErrorValue</code></a></td></tr>
+        <tr><th>IPP_STATUS_ERROR_ACCOUNT_AUTHORIZATION_FAILED </th>        <td class="description">client-error-account-authorization-failed</td></tr>
+        <tr><th>IPP_STATUS_ERROR_ACCOUNT_CLOSED </th>        <td class="description">client-error-account-closed</td></tr>
+        <tr><th>IPP_STATUS_ERROR_ACCOUNT_INFO_NEEDED </th>        <td class="description">client-error-account-info-needed</td></tr>
+        <tr><th>IPP_STATUS_ERROR_ACCOUNT_LIMIT_REACHED </th>        <td class="description">client-error-account-limit-reached</td></tr>
+        <tr><th>IPP_STATUS_ERROR_ATTRIBUTES_NOT_SETTABLE </th>        <td class="description">client-error-attributes-not-settable</td></tr>
+        <tr><th>IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES </th>        <td class="description">client-error-attributes-or-values-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_BAD_REQUEST </th>        <td class="description">client-error-bad-request</td></tr>
+        <tr><th>IPP_STATUS_ERROR_BUSY </th>        <td class="description">server-error-busy</td></tr>
+        <tr><th>IPP_STATUS_ERROR_CHARSET </th>        <td class="description">client-error-charset-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_COMPRESSION_ERROR </th>        <td class="description">client-error-compression-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_COMPRESSION_NOT_SUPPORTED </th>        <td class="description">client-error-compression-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_CONFLICTING </th>        <td class="description">client-error-conflicting-attributes</td></tr>
+        <tr><th>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info">&#160;DEPRECATED&#160;</span></th>        <td class="description">cups-error-account-authorization-failed </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_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_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>
+        <tr><th>IPP_STATUS_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED </th>        <td class="description">client-error-document-format-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_DOCUMENT_PASSWORD </th>        <td class="description">client-error-document-password-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_DOCUMENT_PERMISSION </th>        <td class="description">client-error-document-permission-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_DOCUMENT_SECURITY </th>        <td class="description">client-error-document-security-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_DOCUMENT_UNPRINTABLE </th>        <td class="description">client-error-document-unprintable-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_FORBIDDEN </th>        <td class="description">client-error-forbidden</td></tr>
+        <tr><th>IPP_STATUS_ERROR_GONE </th>        <td class="description">client-error-gone</td></tr>
+        <tr><th>IPP_STATUS_ERROR_IGNORED_ALL_SUBSCRIPTIONS </th>        <td class="description">client-error-ignored-all-subscriptions</td></tr>
+        <tr><th>IPP_STATUS_ERROR_INTERNAL </th>        <td class="description">server-error-internal-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_JOB_CANCELED </th>        <td class="description">server-error-job-canceled</td></tr>
+        <tr><th>IPP_STATUS_ERROR_MULTIPLE_JOBS_NOT_SUPPORTED </th>        <td class="description">server-error-multiple-document-jobs-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_ACCEPTING_JOBS </th>        <td class="description">server-error-not-accepting-jobs</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_AUTHENTICATED </th>        <td class="description">client-error-not-authenticated</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_AUTHORIZED </th>        <td class="description">client-error-not-authorized</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_FETCHABLE </th>        <td class="description">client-error-not-fetchable</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_FOUND </th>        <td class="description">client-error-not-found</td></tr>
+        <tr><th>IPP_STATUS_ERROR_NOT_POSSIBLE </th>        <td class="description">client-error-not-possible</td></tr>
+        <tr><th>IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED </th>        <td class="description">server-error-operation-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_PRINTER_IS_DEACTIVATED </th>        <td class="description">server-error-printer-is-deactivated</td></tr>
+        <tr><th>IPP_STATUS_ERROR_REQUEST_ENTITY </th>        <td class="description">client-error-request-entity-too-large</td></tr>
+        <tr><th>IPP_STATUS_ERROR_REQUEST_VALUE </th>        <td class="description">client-error-request-value-too-long</td></tr>
+        <tr><th>IPP_STATUS_ERROR_SERVICE_UNAVAILABLE </th>        <td class="description">server-error-service-unavailable</td></tr>
+        <tr><th>IPP_STATUS_ERROR_TEMPORARY </th>        <td class="description">server-error-temporary-error</td></tr>
+        <tr><th>IPP_STATUS_ERROR_TIMEOUT </th>        <td class="description">client-error-timeout</td></tr>
+        <tr><th>IPP_STATUS_ERROR_TOO_MANY_DOCUMENTS </th>        <td class="description">server-error-too-many-documents</td></tr>
+        <tr><th>IPP_STATUS_ERROR_TOO_MANY_JOBS </th>        <td class="description">server-error-too-many-jobs</td></tr>
+        <tr><th>IPP_STATUS_ERROR_TOO_MANY_SUBSCRIPTIONS </th>        <td class="description">client-error-too-many-subscriptions</td></tr>
+        <tr><th>IPP_STATUS_ERROR_URI_SCHEME </th>        <td class="description">client-error-uri-scheme-not-supported</td></tr>
+        <tr><th>IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED </th>        <td class="description">server-error-version-not-supported</td></tr>
+        <tr><th>IPP_STATUS_OK </th>        <td class="description">successful-ok</td></tr>
+        <tr><th>IPP_STATUS_OK_CONFLICTING </th>        <td class="description">successful-ok-conflicting-attributes</td></tr>
+        <tr><th>IPP_STATUS_OK_EVENTS_COMPLETE </th>        <td class="description">successful-ok-events-complete</td></tr>
+        <tr><th>IPP_STATUS_OK_IGNORED_OR_SUBSTITUTED </th>        <td class="description">successful-ok-ignored-or-substituted-attributes</td></tr>
+        <tr><th>IPP_STATUS_OK_IGNORED_SUBSCRIPTIONS </th>        <td class="description">successful-ok-ignored-subscriptions</td></tr>
+        <tr><th>IPP_STATUS_OK_TOO_MANY_EVENTS </th>        <td class="description">successful-ok-too-many-events</td></tr>
+</tbody></table>
       <h3 class="enumeration"><a id="ipp_tag_e">ipp_tag_e</a></h3>
-        <p class="description">Format tags for attributes</p>
+        <p class="description">Value and group tag values for attributes</p>
       <h4 class="constants">Constants</h4>
-      <dl>
-        <dt>IPP_TAG_ADMINDEFINE </dt>
-        <dd class="description">Admin-defined value</dd>
-        <dt>IPP_TAG_BOOLEAN </dt>
-        <dd class="description">Boolean value</dd>
-        <dt>IPP_TAG_CHARSET </dt>
-        <dd class="description">Character set value</dd>
-        <dt>IPP_TAG_CUPS_INVALID </dt>
-        <dd class="description">Invalid tag name for <a href="#ippTagValue"><code>ippTagValue</code></a></dd>
-        <dt>IPP_TAG_DATE </dt>
-        <dd class="description">Date/time value</dd>
-        <dt>IPP_TAG_DEFAULT </dt>
-        <dd class="description">Default value</dd>
-        <dt>IPP_TAG_DELETEATTR </dt>
-        <dd class="description">Delete-attribute value</dd>
-        <dt>IPP_TAG_END </dt>
-        <dd class="description">End-of-attributes</dd>
-        <dt>IPP_TAG_ENUM </dt>
-        <dd class="description">Enumeration value</dd>
-        <dt>IPP_TAG_EVENT_NOTIFICATION </dt>
-        <dd class="description">Event group</dd>
-        <dt>IPP_TAG_INTEGER </dt>
-        <dd class="description">Integer value</dd>
-        <dt>IPP_TAG_JOB </dt>
-        <dd class="description">Job group</dd>
-        <dt>IPP_TAG_KEYWORD </dt>
-        <dd class="description">Keyword value</dd>
-        <dt>IPP_TAG_LANGUAGE </dt>
-        <dd class="description">Language value</dd>
-        <dt>IPP_TAG_MIMETYPE </dt>
-        <dd class="description">MIME media type value</dd>
-        <dt>IPP_TAG_NAME </dt>
-        <dd class="description">Name value</dd>
-        <dt>IPP_TAG_NAMELANG </dt>
-        <dd class="description">Name-with-language value</dd>
-        <dt>IPP_TAG_NOTSETTABLE </dt>
-        <dd class="description">Not-settable value</dd>
-        <dt>IPP_TAG_NOVALUE </dt>
-        <dd class="description">No-value value</dd>
-        <dt>IPP_TAG_OPERATION </dt>
-        <dd class="description">Operation group</dd>
-        <dt>IPP_TAG_PRINTER </dt>
-        <dd class="description">Printer group</dd>
-        <dt>IPP_TAG_RANGE </dt>
-        <dd class="description">Range value</dd>
-        <dt>IPP_TAG_RESOLUTION </dt>
-        <dd class="description">Resolution value</dd>
-        <dt>IPP_TAG_STRING </dt>
-        <dd class="description">Octet string value</dd>
-        <dt>IPP_TAG_SUBSCRIPTION </dt>
-        <dd class="description">Subscription group</dd>
-        <dt>IPP_TAG_TEXT </dt>
-        <dd class="description">Text value</dd>
-        <dt>IPP_TAG_TEXTLANG </dt>
-        <dd class="description">Text-with-language value</dd>
-        <dt>IPP_TAG_UNKNOWN </dt>
-        <dd class="description">Unknown value</dd>
-        <dt>IPP_TAG_UNSUPPORTED_GROUP </dt>
-        <dd class="description">Unsupported attributes group</dd>
-        <dt>IPP_TAG_UNSUPPORTED_VALUE </dt>
-        <dd class="description">Unsupported value</dd>
-        <dt>IPP_TAG_URI </dt>
-        <dd class="description">URI value</dd>
-        <dt>IPP_TAG_URISCHEME </dt>
-        <dd class="description">URI scheme value</dd>
-        <dt>IPP_TAG_ZERO </dt>
-        <dd class="description">Zero tag - used for separators</dd>
-</dl>
+      <table class="list"><tbody>
+        <tr><th>IPP_TAG_ADMINDEFINE </th>        <td class="description">Admin-defined value</td></tr>
+        <tr><th>IPP_TAG_BOOLEAN </th>        <td class="description">Boolean value</td></tr>
+        <tr><th>IPP_TAG_CHARSET </th>        <td class="description">Character set value</td></tr>
+        <tr><th>IPP_TAG_CUPS_INVALID </th>        <td class="description">Invalid tag name for <a href="#ippTagValue"><code>ippTagValue</code></a></td></tr>
+        <tr><th>IPP_TAG_DATE </th>        <td class="description">Date/time value</td></tr>
+        <tr><th>IPP_TAG_DEFAULT </th>        <td class="description">Default value</td></tr>
+        <tr><th>IPP_TAG_DELETEATTR </th>        <td class="description">Delete-attribute value</td></tr>
+        <tr><th>IPP_TAG_END </th>        <td class="description">End-of-attributes</td></tr>
+        <tr><th>IPP_TAG_ENUM </th>        <td class="description">Enumeration value</td></tr>
+        <tr><th>IPP_TAG_EVENT_NOTIFICATION </th>        <td class="description">Event group</td></tr>
+        <tr><th>IPP_TAG_INTEGER </th>        <td class="description">Integer value</td></tr>
+        <tr><th>IPP_TAG_JOB </th>        <td class="description">Job group</td></tr>
+        <tr><th>IPP_TAG_KEYWORD </th>        <td class="description">Keyword value</td></tr>
+        <tr><th>IPP_TAG_LANGUAGE </th>        <td class="description">Language value</td></tr>
+        <tr><th>IPP_TAG_MIMETYPE </th>        <td class="description">MIME media type value</td></tr>
+        <tr><th>IPP_TAG_NAME </th>        <td class="description">Name value</td></tr>
+        <tr><th>IPP_TAG_NAMELANG </th>        <td class="description">Name-with-language value</td></tr>
+        <tr><th>IPP_TAG_NOTSETTABLE </th>        <td class="description">Not-settable value</td></tr>
+        <tr><th>IPP_TAG_NOVALUE </th>        <td class="description">No-value value</td></tr>
+        <tr><th>IPP_TAG_OPERATION </th>        <td class="description">Operation group</td></tr>
+        <tr><th>IPP_TAG_PRINTER </th>        <td class="description">Printer group</td></tr>
+        <tr><th>IPP_TAG_RANGE </th>        <td class="description">Range value</td></tr>
+        <tr><th>IPP_TAG_RESOLUTION </th>        <td class="description">Resolution value</td></tr>
+        <tr><th>IPP_TAG_STRING </th>        <td class="description">Octet string value</td></tr>
+        <tr><th>IPP_TAG_SUBSCRIPTION </th>        <td class="description">Subscription group</td></tr>
+        <tr><th>IPP_TAG_TEXT </th>        <td class="description">Text value</td></tr>
+        <tr><th>IPP_TAG_TEXTLANG </th>        <td class="description">Text-with-language value</td></tr>
+        <tr><th>IPP_TAG_UNKNOWN </th>        <td class="description">Unknown value</td></tr>
+        <tr><th>IPP_TAG_UNSUPPORTED_GROUP </th>        <td class="description">Unsupported attributes group</td></tr>
+        <tr><th>IPP_TAG_UNSUPPORTED_VALUE </th>        <td class="description">Unsupported value</td></tr>
+        <tr><th>IPP_TAG_URI </th>        <td class="description">URI value</td></tr>
+        <tr><th>IPP_TAG_URISCHEME </th>        <td class="description">URI scheme value</td></tr>
+        <tr><th>IPP_TAG_ZERO </th>        <td class="description">Zero tag - used for separators</td></tr>
+</tbody></table>
     </div>
   </body>
 </html>
index c1034f3d3ffd2c60202be16c86aab5852832ff05..ef95bfee49a1b40843c86b3542b49a2a217fb091 100644 (file)
@@ -210,10 +210,9 @@ Get a list of completed jobs for "myprinter":
 </pre>
 <h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
 <a href="man-ipptoolfile.html?TOPIC=Man+Pages"><b>ipptoolfile</b>(5),</a>
-CUPS Online Help (<a href="http://localhost:631/help)">http://localhost:631/help)</a>,
 IANA IPP Registry (<a href="http://www.iana.org/assignments/ipp\-registrations)">http://www.iana.org/assignments/ipp\-registrations)</a>,
 PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp">http://www.pwg.org/ipp</a>)
-RFC 2911 (<a href="http://tools.ietf.org/html/rfc2911)">http://tools.ietf.org/html/rfc2911)</a>,
+RFC 8011 (<a href="http://tools.ietf.org/html/rfc8011)">http://tools.ietf.org/html/rfc8011)</a>,
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
 Copyright &copy; 2007-2017 by Apple Inc.
 
index 2ddd22ea6ab01541b6450fe2f4cec63046284029..2921bea2d384f247cc96e1fb8004ba11bf1f2a52 100644 (file)
@@ -12,22 +12,42 @@ ipptoolfile - ipptool file format
 <h2 class="title"><a name="DESCRIPTION">Description</a></h2>
 The
 <a href="man-ipptool.html?TOPIC=Man+Pages"><b>ipptool</b>(1)</a>
-program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example:
+program accepts free-form plain text files that describe one or more IPP requests.
+Comments start with the "#" character and continue to the end of the line.
+Each request is enclosed by curly braces, for example:
 <pre class="man">
 
     # This is a comment
     {
       # The name of the test
-      NAME "Print PostScript File"
+      NAME "Print PDF File"
 
       # The request to send
       OPERATION Print-Job
+
       GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
       ATTR uri printer-uri $uri
       ATTR name requesting-user-name $user
-      FILE testfile.ps
+      ATTR mimeMediaType document-format application/pdf
+
+      GROUP job-attributes-tag
+      ATTR collection media-col {
+        # US Letter plain paper from the "main" tray
+        MEMBER collection media-size {
+          MEMBER integer x-dimension 21590
+          MEMBER integer y-dimension 27940
+        }
+        MEMBER integer media-top-margin 423
+        MEMBER integer media-bottom-margin 423
+        MEMBER integer media-left-margin 423
+        MEMBER integer media-right-margin 423
+        MEMBER keyword media-source "main"
+        MEMBER keyword media-type "stationery"
+      }
+
+      FILE testfile.pdf
 
       # The response to expect
       STATUS successful-ok
@@ -36,10 +56,11 @@ program accepts free-form plain text files that describe one or more IPP request
     }
     {
       # The name of the test
-      NAME "Get Attributes of PostScript Job"
+      NAME "Wait for Job to Complete"
 
       # The request to send
       OPERATION Get-Job-Attributes
+
       GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
@@ -51,8 +72,12 @@ program accepts free-form plain text files that describe one or more IPP request
       STATUS successful-ok
       EXPECT job-id OF-TYPE integer WITH-VALUE $job-id
       EXPECT job-uri OF-TYPE uri
-      EXPECT job-state OF-TYPE enum WITH-VALUE 3,4,5,6,7,8,9
+      EXPECT job-state OF-TYPE enum WITH-VALUE >5 REPEAT-NO-MATCH
       EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
+
+      # Show the job state until completed...
+      DISPLAY job-state
+      DISPLAY job-state-reasons
     }
 </pre>
 <h3><a name="TOP_LEVEL_DIRECTIVES">Top-level Directives</a></h3>
@@ -115,15 +140,20 @@ command-line. Support for content length requests is required for conformance wi
 The following directives are understood within a <i>test</i>:
 <dl class="man">
 <dt><b>ATTR </b><i>tag attribute-name value(s)</i>
-<dd style="margin-left: 5.0em">Adds an attribute to the test request. Values are separated by the comma (",") character - escape commas using the "" character. Common attributes and values are listed in the IANA IPP registry - see references below.
+<dd style="margin-left: 5.0em">Adds an attribute to the test request.
+Values are separated by the comma (",") character - escape commas using the "" character.
+Common attributes and values are listed in the IANA IPP registry - see references below.
 <dt><b>ATTR collection </b><i>attribute-name </i><b>{ MEMBER </b><i>tag member-name value(s) ... </i><b>}</b> [ <i>... </i><b>,{ </b><i>... </i><b>} </b>]
-<dd style="margin-left: 5.0em">Adds a collection attribute to the test request. Member attributes follow the same syntax as regular attributes and can themselves be nested collections. Multiple collection values can be supplied as needed, separated by commas.
+<dd style="margin-left: 5.0em">Adds a collection attribute to the test request.
+Member attributes follow the same syntax as regular attributes and can themselves be nested collections.
+Multiple collection values can be supplied as needed, separated by commas.
 <dt><b>COMPRESSION deflate</b>
 <dd style="margin-left: 5.0em"><dt><b>COMPRESSION gzip</b>
 <dd style="margin-left: 5.0em"><dt><b>COMPRESSION none</b>
 <dd style="margin-left: 5.0em">Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request.
-<dt><b>DELAY </b><i>seconds</i>
-<dd style="margin-left: 5.0em">Specifies a delay before this test will be run.
+<dt><b>DELAY </b><i>seconds</i>[<i>,repeat-seconds</i>]
+<dd style="margin-left: 5.0em">Specifies a delay in seconds before this test will be run.
+If two values are specified, the second value is used as the delay between repeated tests.
 <dt><b>DISPLAY </b><i>attribute-name</i>
 <dd style="margin-left: 5.0em">Specifies that value of the named attribute should be output as part of the
 test report.
@@ -496,10 +526,9 @@ if any.
 </dl>
 <h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
 <a href="man-ipptool.html?TOPIC=Man+Pages"><b>ipptool</b>(1),</a>
-CUPS Online Help (<a href="http://localhost:631/help)">http://localhost:631/help)</a>,
 IANA IPP Registry (<a href="http://www.iana.org/assignments/ipp-registrations)">http://www.iana.org/assignments/ipp-registrations)</a>,
 PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp)">http://www.pwg.org/ipp)</a>,
-RFC 2911 (<a href="http://tools.ietf.org/html/rfc3911">http://tools.ietf.org/html/rfc3911</a>)
+RFC 8011 (<a href="http://tools.ietf.org/html/rfc8011">http://tools.ietf.org/html/rfc8011</a>)
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
 Copyright &copy; 2007-2017 by Apple Inc.
 
index 391ce44e89f4f1d59bae0ac54744ffb443604edc..106b9f59881f1005dfbe485264a78f9d6eb0d323 100644 (file)
@@ -36,6 +36,8 @@ lpstat - print cups status information
 ] ] [
 <b>-d</b>
 ] [
+<b>-e</b>
+] [
 <b>-o</b>
 [
 <i>destination(s)</i>
@@ -85,6 +87,8 @@ If no printers are specified then all printers are listed.
 If no classes are specified then all classes are listed.
 <dt><b>-d</b>
 <dd style="margin-left: 5.0em">Shows the current default destination.
+<dt><b>-e</b>
+<dd style="margin-left: 5.0em">Shows all available destinations on the local network.
 <dt><b>-h </b><i>server</i>[<b>:</b><i>port</i>]
 <dd style="margin-left: 5.0em">Specifies an alternate server.
 <dt><b>-l</b>
@@ -113,7 +117,7 @@ If no printers are specified then all printers are listed.
 <h2 class="title"><a name="CONFORMING_TO">Conforming To</a></h2>
 Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", and "#".
 Also, printer and class names are <i>not</i> case-sensitive.
-<p>The <i>-h</i>, <i>-E</i>, <i>-U</i>, and <i>-W</i> options are unique to CUPS.
+<p>The <i>-h</i>, <i>-e</i>, <i>-E</i>, <i>-U</i>, and <i>-W</i> options are unique to CUPS.
 <p>The Solaris <i>-f</i>, <i>-P</i>, and <i>-S</i> options are silently ignored.
 <h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
 <a href="man-cancel.html?TOPIC=Man+Pages"><b>cancel</b>(1),</a>
index f72bd4ee96d73bc1f4cabc1d7fe9846caccbed31..3d447f49acb0e8d187f162c89e790eb0a1f00245 100644 (file)
@@ -28,7 +28,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -37,12 +37,12 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: systemv/lpstat.c:1861 systemv/lpstat.c:1980
+#: systemv/lpstat.c:1885 systemv/lpstat.c:2004
 msgid "\t\t(all)"
 msgstr ""
 
-#: systemv/lpstat.c:1864 systemv/lpstat.c:1867 systemv/lpstat.c:1983
-#: systemv/lpstat.c:1986
+#: systemv/lpstat.c:1888 systemv/lpstat.c:1891 systemv/lpstat.c:2007
+#: systemv/lpstat.c:2010
 msgid "\t\t(none)"
 msgstr ""
 
@@ -51,99 +51,99 @@ msgstr ""
 msgid "\t%d entries"
 msgstr ""
 
-#: systemv/lpstat.c:781 systemv/lpstat.c:797
+#: systemv/lpstat.c:805 systemv/lpstat.c:821
 #, c-format
 msgid "\t%s"
 msgstr ""
 
-#: systemv/lpstat.c:1842 systemv/lpstat.c:1961
+#: systemv/lpstat.c:1866 systemv/lpstat.c:1985
 msgid "\tAfter fault: continue"
 msgstr ""
 
-#: systemv/lpstat.c:1469 systemv/lpstat.c:1815 systemv/lpstat.c:1935
+#: systemv/lpstat.c:1493 systemv/lpstat.c:1839 systemv/lpstat.c:1959
 #, c-format
 msgid "\tAlerts: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1865 systemv/lpstat.c:1984
+#: systemv/lpstat.c:1889 systemv/lpstat.c:2008
 msgid "\tBanner required"
 msgstr ""
 
-#: systemv/lpstat.c:1866 systemv/lpstat.c:1985
+#: systemv/lpstat.c:1890 systemv/lpstat.c:2009
 msgid "\tCharset sets:"
 msgstr ""
 
-#: systemv/lpstat.c:1834 systemv/lpstat.c:1953
+#: systemv/lpstat.c:1858 systemv/lpstat.c:1977
 msgid "\tConnection: direct"
 msgstr ""
 
-#: systemv/lpstat.c:1825 systemv/lpstat.c:1945
+#: systemv/lpstat.c:1849 systemv/lpstat.c:1969
 msgid "\tConnection: remote"
 msgstr ""
 
-#: systemv/lpstat.c:1791 systemv/lpstat.c:1911
+#: systemv/lpstat.c:1815 systemv/lpstat.c:1935
 msgid "\tContent types: any"
 msgstr ""
 
-#: systemv/lpstat.c:1869 systemv/lpstat.c:1988
+#: systemv/lpstat.c:1893 systemv/lpstat.c:2012
 msgid "\tDefault page size:"
 msgstr ""
 
-#: systemv/lpstat.c:1868 systemv/lpstat.c:1987
+#: systemv/lpstat.c:1892 systemv/lpstat.c:2011
 msgid "\tDefault pitch:"
 msgstr ""
 
-#: systemv/lpstat.c:1870 systemv/lpstat.c:1989
+#: systemv/lpstat.c:1894 systemv/lpstat.c:2013
 msgid "\tDefault port settings:"
 msgstr ""
 
-#: systemv/lpstat.c:1797 systemv/lpstat.c:1917
+#: systemv/lpstat.c:1821 systemv/lpstat.c:1941
 #, c-format
 msgid "\tDescription: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1790 systemv/lpstat.c:1910
+#: systemv/lpstat.c:1814 systemv/lpstat.c:1934
 msgid "\tForm mounted:"
 msgstr ""
 
-#: systemv/lpstat.c:1863 systemv/lpstat.c:1982
+#: systemv/lpstat.c:1887 systemv/lpstat.c:2006
 msgid "\tForms allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1829 systemv/lpstat.c:1949
+#: systemv/lpstat.c:1853 systemv/lpstat.c:1973
 #, c-format
 msgid "\tInterface: %s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1838 systemv/lpstat.c:1957
+#: systemv/lpstat.c:1862 systemv/lpstat.c:1981
 #, c-format
 msgid "\tInterface: %s/ppd/%s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1820 systemv/lpstat.c:1940
+#: systemv/lpstat.c:1844 systemv/lpstat.c:1964
 #, c-format
 msgid "\tLocation: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1841 systemv/lpstat.c:1960
+#: systemv/lpstat.c:1865 systemv/lpstat.c:1984
 msgid "\tOn fault: no alert"
 msgstr ""
 
-#: systemv/lpstat.c:1792 systemv/lpstat.c:1912
+#: systemv/lpstat.c:1816 systemv/lpstat.c:1936
 msgid "\tPrinter types: unknown"
 msgstr ""
 
-#: systemv/lpstat.c:1452
+#: systemv/lpstat.c:1476
 #, c-format
 msgid "\tStatus: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1846 systemv/lpstat.c:1860 systemv/lpstat.c:1965
-#: systemv/lpstat.c:1979
+#: systemv/lpstat.c:1870 systemv/lpstat.c:1884 systemv/lpstat.c:1989
+#: systemv/lpstat.c:2003
 msgid "\tUsers allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1853 systemv/lpstat.c:1972
+#: systemv/lpstat.c:1877 systemv/lpstat.c:1996
 msgid "\tUsers denied:"
 msgstr ""
 
@@ -168,7 +168,7 @@ msgstr ""
 msgid "\tprinting is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1472
+#: systemv/lpstat.c:1496
 #, c-format
 msgid "\tqueued for %s"
 msgstr ""
@@ -181,7 +181,7 @@ msgstr ""
 msgid "\tqueuing is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1783 systemv/lpstat.c:1903
+#: systemv/lpstat.c:1807 systemv/lpstat.c:1927
 msgid "\treason unknown"
 msgstr ""
 
@@ -1018,7 +1018,7 @@ msgstr ""
 msgid "  --false                 Always false."
 msgstr ""
 
-#: test/ipptool.c:4931
+#: test/ipptool.c:5061
 msgid "  --help                  Show help."
 msgstr ""
 
@@ -1078,7 +1078,7 @@ msgstr ""
 msgid "  --remote                True if service is remote."
 msgstr ""
 
-#: test/ipptool.c:4932
+#: test/ipptool.c:5062
 msgid ""
 "  --stop-after-include-error\n"
 "                          Stop tests after a failed INCLUDE."
@@ -1104,19 +1104,19 @@ msgstr ""
 msgid "  --version               Show program version."
 msgstr ""
 
-#: test/ipptool.c:4934
+#: test/ipptool.c:5064
 msgid "  --version               Show version."
 msgstr ""
 
-#: test/ippfind.c:2752 test/ipptool.c:4935
+#: test/ippfind.c:2752 test/ipptool.c:5065
 msgid "  -4                      Connect using IPv4."
 msgstr ""
 
-#: test/ippfind.c:2753 test/ipptool.c:4936
+#: test/ippfind.c:2753 test/ipptool.c:5066
 msgid "  -6                      Connect using IPv6."
 msgstr ""
 
-#: test/ipptool.c:4937
+#: test/ipptool.c:5067
 msgid "  -C                      Send requests using chunking (default)."
 msgstr ""
 
@@ -1132,11 +1132,11 @@ msgstr ""
 msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-#: test/ipptool.c:4939
-msgid "  -E                      Test with HTTP Upgrade to TLS."
+#: test/ipptool.c:5069
+msgid "  -E                      Test with encryption using HTTP Upgrade to TLS."
 msgstr ""
 
-#: scheduler/main.c:2051
+#: scheduler/main.c:2084
 msgid "  -F                      Run in the foreground but detach from console."
 msgstr ""
 
@@ -1144,7 +1144,7 @@ msgstr ""
 msgid "  -H samba-server         Use the named SAMBA server."
 msgstr ""
 
-#: test/ipptool.c:4941
+#: test/ipptool.c:5070
 msgid "  -I                      Ignore errors."
 msgstr ""
 
@@ -1156,11 +1156,11 @@ msgstr ""
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
 
-#: test/ipptool.c:4942
+#: test/ipptool.c:5071
 msgid "  -L                      Send requests using content-length."
 msgstr ""
 
-#: test/ipptool.c:4944
+#: test/ipptool.c:5072
 msgid "  -P filename.plist       Produce XML plist to a file and test report to standard output."
 msgstr ""
 
@@ -1176,15 +1176,15 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr ""
 
-#: test/ipptool.c:4945
-msgid "  -S                      Test with SSL encryption."
+#: test/ipptool.c:5073
+msgid "  -S                      Test with encryption using HTTPS."
 msgstr ""
 
 #: test/ippfind.c:2754
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr ""
 
-#: test/ipptool.c:4947
+#: test/ipptool.c:5074
 msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
 
@@ -1192,7 +1192,7 @@ msgstr ""
 msgid "  -U username             Specify username."
 msgstr ""
 
-#: test/ippfind.c:2756 test/ipptool.c:4949
+#: test/ippfind.c:2756 test/ipptool.c:5075
 msgid "  -V version              Set default IPP version."
 msgstr ""
 
@@ -1200,7 +1200,7 @@ msgstr ""
 msgid "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
 msgstr ""
 
-#: test/ipptool.c:4951
+#: test/ipptool.c:5076
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
@@ -1208,7 +1208,7 @@ msgstr ""
 msgid "  -a                      Export all printers."
 msgstr ""
 
-#: test/ipptool.c:4953
+#: test/ipptool.c:5077
 msgid "  -c                      Produce CSV output."
 msgstr ""
 
@@ -1220,11 +1220,11 @@ msgstr ""
 msgid "  -c cups-files.conf      Set cups-files.conf file to use."
 msgstr ""
 
-#: scheduler/main.c:2049
+#: scheduler/main.c:2082
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
-#: test/ipptool.c:4954
+#: test/ipptool.c:5078
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 
@@ -1244,15 +1244,15 @@ msgstr ""
 msgid "  -e                      Use every filter from the PPD file."
 msgstr ""
 
-#: scheduler/main.c:2050
+#: scheduler/main.c:2083
 msgid "  -f                      Run in the foreground."
 msgstr ""
 
-#: test/ipptool.c:4956
+#: test/ipptool.c:5079
 msgid "  -f filename             Set default request filename."
 msgstr ""
 
-#: scheduler/main.c:2052
+#: scheduler/main.c:2085
 msgid "  -h                      Show this usage message."
 msgstr ""
 
@@ -1268,7 +1268,7 @@ msgstr ""
 msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
 msgstr ""
 
-#: test/ipptool.c:4958
+#: test/ipptool.c:5080
 msgid "  -i seconds              Repeat the last file with the given time interval."
 msgstr ""
 
@@ -1280,11 +1280,11 @@ msgstr ""
 msgid "  -l                      List attributes."
 msgstr ""
 
-#: test/ipptool.c:4960
+#: test/ipptool.c:5081
 msgid "  -l                      Produce plain text output."
 msgstr ""
 
-#: scheduler/main.c:2054
+#: scheduler/main.c:2087
 msgid "  -l                      Run cupsd on demand."
 msgstr ""
 
@@ -1304,7 +1304,7 @@ msgstr ""
 msgid "  -n copies               Set number of copies."
 msgstr ""
 
-#: test/ipptool.c:4961
+#: test/ipptool.c:5082
 msgid "  -n count                Repeat the last file the given number of times."
 msgstr ""
 
@@ -1336,7 +1336,7 @@ msgstr ""
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 
-#: systemv/cupstestppd.c:3868 test/ipptool.c:4963
+#: systemv/cupstestppd.c:3868 test/ipptool.c:5083
 msgid "  -q                      Run silently."
 msgstr ""
 
@@ -1352,11 +1352,11 @@ msgstr ""
 msgid "  -s                      Print service name if true."
 msgstr ""
 
-#: scheduler/main.c:2056
+#: scheduler/main.c:2089
 msgid "  -s cups-files.conf      Set cups-files.conf file to use."
 msgstr ""
 
-#: test/ipptool.c:4964
+#: test/ipptool.c:5084
 msgid "  -t                      Produce a test report."
 msgstr ""
 
@@ -1364,7 +1364,7 @@ msgstr ""
 msgid "  -t                      Test PPDs instead of generating them."
 msgstr ""
 
-#: scheduler/main.c:2057
+#: scheduler/main.c:2090
 msgid "  -t                      Test the configuration file."
 msgstr ""
 
@@ -1384,7 +1384,7 @@ msgstr ""
 msgid "  -u regex                Match URI to regular expression."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:283 systemv/cupstestppd.c:3870 test/ipptool.c:4965
+#: systemv/cupsaddsmb.c:283 systemv/cupstestppd.c:3870 test/ipptool.c:5085
 #: ppdc/ppdc.cxx:445 ppdc/ppdpo.cxx:252
 msgid "  -v                      Be verbose."
 msgstr ""
@@ -1553,172 +1553,172 @@ msgstr ""
 
 #: cups/ipp.c:5202
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #: cups/ipp.c:5213
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #: cups/ipp.c:4833
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #: cups/ipp.c:4825
 #, c-format
-msgid "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #: cups/ipp.c:4851
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
 msgstr ""
 
 #: cups/ipp.c:5265
 #, c-format
-msgid "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+msgid "\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #: cups/ipp.c:5274
 #, c-format
-msgid "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+msgid "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #: cups/ipp.c:4951
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4959
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4943
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4903
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4935
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4911
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4919
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4895
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4927
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #: cups/ipp.c:4865
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
 
 #: cups/ipp.c:5180
 #, c-format
-msgid "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #: cups/ipp.c:5171
 #, c-format
-msgid "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #: cups/ipp.c:5374
 #, c-format
-msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section 4.1.9)."
+msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section 5.1.10)."
 msgstr ""
 
 #: cups/ipp.c:5384
 #, c-format
-msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section 4.1.9)."
+msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section 5.1.10)."
 msgstr ""
 
 #: cups/ipp.c:5142
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #: cups/ipp.c:5151
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #: cups/ipp.c:5320
 #, c-format
-msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section 4.1.8)."
+msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section 5.1.9)."
 msgstr ""
 
 #: cups/ipp.c:5330
 #, c-format
-msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section 4.1.8)."
+msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section 5.1.9)."
 msgstr ""
 
 #: cups/ipp.c:4879
 #, c-format
-msgid "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+msgid "\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
 
 #: cups/ipp.c:5022
 #, c-format
-msgid "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 section 4.1.13)."
+msgid "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 section 5.1.14)."
 msgstr ""
 
 #: cups/ipp.c:5003
 #, c-format
-msgid "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section 4.1.15)."
+msgid "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #: cups/ipp.c:4972
 #, c-format
-msgid "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 2911 section 4.1.15)."
+msgid "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #: cups/ipp.c:4987
 #, c-format
-msgid "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC 2911 section 4.1.15)."
+msgid "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #: cups/ipp.c:5084
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #: cups/ipp.c:5093
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #: cups/ipp.c:5236
 #, c-format
-msgid "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+msgid "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #: cups/ipp.c:5245
 #, c-format
-msgid "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+msgid "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #: berkeley/lpq.c:542
@@ -1761,12 +1761,12 @@ msgstr ""
 msgid "%s (Borderless, %s, %s)"
 msgstr ""
 
-#: systemv/lpstat.c:775
+#: systemv/lpstat.c:799
 #, c-format
 msgid "%s accepting requests since %s"
 msgstr ""
 
-#: scheduler/ipp.c:10294
+#: scheduler/ipp.c:10297
 #, c-format
 msgid "%s cannot be changed."
 msgstr ""
@@ -1797,7 +1797,7 @@ msgstr ""
 msgid "%s job-id user title copies options [file]"
 msgstr ""
 
-#: systemv/lpstat.c:779
+#: systemv/lpstat.c:803
 #, c-format
 msgid "%s not accepting requests since %s -"
 msgstr ""
@@ -1807,12 +1807,12 @@ msgstr ""
 msgid "%s not supported."
 msgstr ""
 
-#: systemv/lpstat.c:790
+#: systemv/lpstat.c:814
 #, c-format
 msgid "%s/%s accepting requests since %s"
 msgstr ""
 
-#: systemv/lpstat.c:795
+#: systemv/lpstat.c:819
 #, c-format
 msgid "%s/%s not accepting requests since %s -"
 msgstr ""
@@ -1841,7 +1841,7 @@ msgstr ""
 msgid "%s: Bad printer URI \"%s\"."
 msgstr ""
 
-#: test/ippfind.c:775 test/ipptool.c:369
+#: test/ippfind.c:775 test/ipptool.c:370
 #, c-format
 msgid "%s: Bad version %s for \"-V\"."
 msgstr ""
@@ -1858,11 +1858,11 @@ msgstr ""
 
 #: berkeley/lpq.c:139 berkeley/lpq.c:212 berkeley/lpr.c:229 berkeley/lpr.c:340
 #: systemv/lp.c:161 systemv/lp.c:581 systemv/lp.c:701 systemv/lp.c:750
-#: systemv/lpstat.c:190 systemv/lpstat.c:235 systemv/lpstat.c:333
-#: systemv/lpstat.c:360 systemv/lpstat.c:382 systemv/lpstat.c:442
-#: systemv/lpstat.c:508 systemv/lpstat.c:569 systemv/lpstat.c:694
-#: systemv/lpstat.c:878 systemv/lpstat.c:1139 systemv/lpstat.c:1337
-#: systemv/lpstat.c:1577
+#: systemv/lpstat.c:190 systemv/lpstat.c:235 systemv/lpstat.c:357
+#: systemv/lpstat.c:384 systemv/lpstat.c:406 systemv/lpstat.c:466
+#: systemv/lpstat.c:532 systemv/lpstat.c:593 systemv/lpstat.c:718
+#: systemv/lpstat.c:902 systemv/lpstat.c:1163 systemv/lpstat.c:1361
+#: systemv/lpstat.c:1601
 #, c-format
 msgid "%s: Error - add '/version=1.1' to server name."
 msgstr ""
@@ -1933,7 +1933,7 @@ msgid "%s: Error - expected hostname after \"-H\" option."
 msgstr ""
 
 #: berkeley/lpq.c:173 berkeley/lprm.c:124 systemv/cancel.c:124
-#: systemv/cupsaccept.c:127 systemv/lp.c:198 systemv/lpstat.c:269
+#: systemv/cupsaccept.c:127 systemv/lp.c:198 systemv/lpstat.c:293
 #, c-format
 msgid "%s: Error - expected hostname after \"-h\" option."
 msgstr ""
@@ -2036,7 +2036,7 @@ msgid "%s: Error - unknown destination \"%s/%s\"."
 msgstr ""
 
 #: berkeley/lpr.c:284 berkeley/lprm.c:139 systemv/cancel.c:162
-#: systemv/cupsaccept.c:155 systemv/lp.c:508 systemv/lpstat.c:452
+#: systemv/cupsaccept.c:155 systemv/lp.c:508 systemv/lpstat.c:476
 #, c-format
 msgid "%s: Error - unknown option \"%c\"."
 msgstr ""
@@ -2051,7 +2051,7 @@ msgstr ""
 msgid "%s: Expected job ID after \"-i\" option."
 msgstr ""
 
-#: systemv/lpstat.c:512 systemv/lpstat.c:552
+#: systemv/lpstat.c:536 systemv/lpstat.c:576
 #, c-format
 msgid "%s: Invalid destination name in list \"%s\"."
 msgstr ""
@@ -2061,17 +2061,17 @@ msgstr ""
 msgid "%s: Invalid filter string \"%s\"."
 msgstr ""
 
-#: test/ipptool.c:300
+#: test/ipptool.c:301
 #, c-format
 msgid "%s: Missing filename for \"-P\"."
 msgstr ""
 
-#: test/ippfind.c:747 test/ipptool.c:337
+#: test/ippfind.c:747 test/ipptool.c:338
 #, c-format
 msgid "%s: Missing timeout for \"-T\"."
 msgstr ""
 
-#: test/ippfind.c:760 test/ipptool.c:351
+#: test/ippfind.c:760 test/ipptool.c:352
 #, c-format
 msgid "%s: Missing version for \"-V\"."
 msgstr ""
@@ -2094,7 +2094,7 @@ msgstr ""
 #: berkeley/lpq.c:87 berkeley/lpr.c:69 berkeley/lprm.c:65 systemv/cancel.c:79
 #: systemv/cupsaccept.c:89 systemv/cupsaddsmb.c:78 systemv/lp.c:99
 #: systemv/lpadmin.c:232 systemv/lpinfo.c:192 systemv/lpmove.c:70
-#: systemv/lpstat.c:91 test/ipptool.c:282 test/ipptool.c:326
+#: systemv/lpstat.c:91 test/ipptool.c:283 test/ipptool.c:327
 #, c-format
 msgid "%s: Sorry, no encryption support."
 msgstr ""
@@ -2125,7 +2125,7 @@ msgstr ""
 msgid "%s: Unable to determine MIME type of \"%s\"."
 msgstr ""
 
-#: test/ipptool.c:309
+#: test/ipptool.c:310
 #, c-format
 msgid "%s: Unable to open \"%s\": %s"
 msgstr ""
@@ -2155,7 +2155,7 @@ msgstr ""
 msgid "%s: Unknown argument \"%s\"."
 msgstr ""
 
-#: berkeley/lpq.c:143 systemv/lpstat.c:573
+#: berkeley/lpq.c:143 systemv/lpstat.c:597
 #, c-format
 msgid "%s: Unknown destination \"%s\"."
 msgstr ""
@@ -3208,7 +3208,7 @@ msgstr ""
 msgid "Accept Jobs"
 msgstr ""
 
-#: cups/http-support.c:1351
+#: cups/http-support.c:1355
 msgid "Accepted"
 msgstr ""
 
@@ -3357,12 +3357,12 @@ msgstr ""
 msgid "Back Print Film"
 msgstr ""
 
-#: scheduler/ipp.c:11241
+#: scheduler/ipp.c:11244
 #, c-format
 msgid "Bad 'document-format' value \"%s\"."
 msgstr ""
 
-#: cups/dest.c:1846
+#: cups/dest.c:2021
 msgid "Bad NULL dests pointer"
 msgstr ""
 
@@ -3395,7 +3395,7 @@ msgstr ""
 msgid "Bad PPD file."
 msgstr ""
 
-#: cups/http-support.c:1366
+#: cups/http-support.c:1370
 msgid "Bad Request"
 msgstr ""
 
@@ -3407,7 +3407,7 @@ msgstr ""
 msgid "Bad UIConstraints"
 msgstr ""
 
-#: cups/hash.c:51 cups/http-support.c:1460
+#: cups/hash.c:51 cups/http-support.c:1464
 msgid "Bad arguments to function"
 msgstr ""
 
@@ -3420,7 +3420,7 @@ msgstr ""
 msgid "Bad custom parameter"
 msgstr ""
 
-#: cups/http-support.c:1600 scheduler/ipp.c:2378
+#: cups/http-support.c:1604 scheduler/ipp.c:2378
 #, c-format
 msgid "Bad device-uri \"%s\"."
 msgstr ""
@@ -3430,12 +3430,12 @@ msgstr ""
 msgid "Bad device-uri scheme \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:8449 scheduler/ipp.c:8467 scheduler/ipp.c:9695
+#: scheduler/ipp.c:8452 scheduler/ipp.c:8470 scheduler/ipp.c:9698
 #, c-format
 msgid "Bad document-format \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:9713
+#: scheduler/ipp.c:9716
 #, c-format
 msgid "Bad document-format-default \"%s\"."
 msgstr ""
@@ -3444,7 +3444,7 @@ msgstr ""
 msgid "Bad filename buffer"
 msgstr ""
 
-#: cups/http-support.c:1469
+#: cups/http-support.c:1473
 msgid "Bad hostname/address in URI"
 msgstr ""
 
@@ -3457,7 +3457,7 @@ msgstr ""
 msgid "Bad job-name value: Wrong type or count."
 msgstr ""
 
-#: scheduler/ipp.c:10309
+#: scheduler/ipp.c:10312
 msgid "Bad job-priority value."
 msgstr ""
 
@@ -3470,24 +3470,24 @@ msgstr ""
 msgid "Bad job-sheets value type."
 msgstr ""
 
-#: scheduler/ipp.c:10339
+#: scheduler/ipp.c:10342
 msgid "Bad job-state value."
 msgstr ""
 
-#: scheduler/ipp.c:3008 scheduler/ipp.c:3470 scheduler/ipp.c:6234
-#: scheduler/ipp.c:6381 scheduler/ipp.c:7878 scheduler/ipp.c:8147
-#: scheduler/ipp.c:9013 scheduler/ipp.c:9237 scheduler/ipp.c:9589
-#: scheduler/ipp.c:10202
+#: scheduler/ipp.c:3008 scheduler/ipp.c:3470 scheduler/ipp.c:6237
+#: scheduler/ipp.c:6384 scheduler/ipp.c:7881 scheduler/ipp.c:8150
+#: scheduler/ipp.c:9016 scheduler/ipp.c:9240 scheduler/ipp.c:9592
+#: scheduler/ipp.c:10205
 #, c-format
 msgid "Bad job-uri \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2064 scheduler/ipp.c:5773
+#: scheduler/ipp.c:2064 scheduler/ipp.c:5776
 #, c-format
 msgid "Bad notify-pull-method \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2028 scheduler/ipp.c:5737
+#: scheduler/ipp.c:2028 scheduler/ipp.c:5740
 #, c-format
 msgid "Bad notify-recipient-uri \"%s\"."
 msgstr ""
@@ -3507,7 +3507,7 @@ msgstr ""
 msgid "Bad page-ranges values %d-%d."
 msgstr ""
 
-#: cups/http-support.c:1466
+#: cups/http-support.c:1470
 msgid "Bad port number in URI"
 msgstr ""
 
@@ -3521,7 +3521,7 @@ msgstr ""
 msgid "Bad printer-state value %d."
 msgstr ""
 
-#: cups/dest.c:649 cups/dest.c:1406 cups/dest.c:1453
+#: cups/dest.c:671 cups/dest.c:1552 cups/dest.c:1603
 msgid "Bad printer-uri."
 msgstr ""
 
@@ -3535,11 +3535,11 @@ msgstr ""
 msgid "Bad request version number %d.%d."
 msgstr ""
 
-#: cups/http-support.c:1463
+#: cups/http-support.c:1467
 msgid "Bad resource in URI"
 msgstr ""
 
-#: cups/http-support.c:1475
+#: cups/http-support.c:1479
 msgid "Bad scheme in URI"
 msgstr ""
 
@@ -3547,7 +3547,7 @@ msgstr ""
 msgid "Bad subscription ID"
 msgstr ""
 
-#: cups/http-support.c:1472
+#: cups/http-support.c:1476
 msgid "Bad username in URI"
 msgstr ""
 
@@ -3555,7 +3555,7 @@ msgstr ""
 msgid "Bad value string"
 msgstr ""
 
-#: cups/http-support.c:1478
+#: cups/http-support.c:1482
 msgid "Bad/empty URI"
 msgstr ""
 
@@ -3677,7 +3677,7 @@ msgstr ""
 msgid "Change Settings"
 msgstr ""
 
-#: scheduler/ipp.c:2076 scheduler/ipp.c:5785
+#: scheduler/ipp.c:2076 scheduler/ipp.c:5788
 #, c-format
 msgid "Character set \"%s\" not supported."
 msgstr ""
@@ -3738,7 +3738,7 @@ msgstr ""
 msgid "Connecting to printer."
 msgstr ""
 
-#: cups/http-support.c:1339
+#: cups/http-support.c:1343
 msgid "Continue"
 msgstr ""
 
@@ -3774,7 +3774,7 @@ msgstr ""
 msgid "Cover"
 msgstr ""
 
-#: cups/http-support.c:1348
+#: cups/http-support.c:1352
 msgid "Created"
 msgstr ""
 
@@ -3895,7 +3895,7 @@ msgstr ""
 msgid "Disc"
 msgstr ""
 
-#: scheduler/ipp.c:6283
+#: scheduler/ipp.c:6286
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
@@ -3963,7 +3963,7 @@ msgstr ""
 msgid "Empty PPD file."
 msgstr ""
 
-#: cups/http.c:4617
+#: cups/http.c:4620
 msgid "Encryption is not supported."
 msgstr ""
 
@@ -4281,7 +4281,7 @@ msgstr ""
 msgid "Executive"
 msgstr ""
 
-#: cups/http-support.c:1394
+#: cups/http-support.c:1398
 msgid "Expectation Failed"
 msgstr ""
 
@@ -4407,7 +4407,7 @@ msgstr ""
 msgid "Folio"
 msgstr ""
 
-#: cups/http-support.c:1373
+#: cups/http-support.c:1377
 msgid "Forbidden"
 msgstr ""
 
@@ -4476,9 +4476,9 @@ msgid "Glossy Photo Paper"
 msgstr ""
 
 #: scheduler/ipp.c:2986 scheduler/ipp.c:3396 scheduler/ipp.c:3934
-#: scheduler/ipp.c:6212 scheduler/ipp.c:6359 scheduler/ipp.c:7855
-#: scheduler/ipp.c:8991 scheduler/ipp.c:9215 scheduler/ipp.c:9567
-#: scheduler/ipp.c:10180
+#: scheduler/ipp.c:6215 scheduler/ipp.c:6362 scheduler/ipp.c:7858
+#: scheduler/ipp.c:8994 scheduler/ipp.c:9218 scheduler/ipp.c:9570
+#: scheduler/ipp.c:10183
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
@@ -4702,7 +4702,7 @@ msgstr ""
 msgid "Intellitech"
 msgstr ""
 
-#: cups/http-support.c:1400
+#: cups/http-support.c:1404
 msgid "Internal Server Error"
 msgstr ""
 
@@ -4726,11 +4726,11 @@ msgstr ""
 msgid "Invalid media name arguments."
 msgstr ""
 
-#: cups/dest-options.c:1031
+#: cups/dest-options.c:1096
 msgid "Invalid media size."
 msgstr ""
 
-#: scheduler/ipp.c:2719 scheduler/ipp.c:7026
+#: scheduler/ipp.c:2719 scheduler/ipp.c:7029
 msgid "Invalid ppd-name value."
 msgstr ""
 
@@ -4799,17 +4799,17 @@ msgstr ""
 msgid "JIS B9"
 msgstr ""
 
-#: scheduler/ipp.c:9287
+#: scheduler/ipp.c:9290
 #, c-format
 msgid "Job #%d cannot be restarted - no files."
 msgstr ""
 
 #: scheduler/ipp.c:3026 scheduler/ipp.c:3260 scheduler/ipp.c:3319
-#: scheduler/ipp.c:3498 scheduler/ipp.c:3944 scheduler/ipp.c:5871
-#: scheduler/ipp.c:6252 scheduler/ipp.c:6399 scheduler/ipp.c:6736
-#: scheduler/ipp.c:7696 scheduler/ipp.c:7718 scheduler/ipp.c:7896
-#: scheduler/ipp.c:8121 scheduler/ipp.c:8164 scheduler/ipp.c:9031
-#: scheduler/ipp.c:9255 scheduler/ipp.c:9607 scheduler/ipp.c:10220
+#: scheduler/ipp.c:3498 scheduler/ipp.c:3944 scheduler/ipp.c:5874
+#: scheduler/ipp.c:6255 scheduler/ipp.c:6402 scheduler/ipp.c:6739
+#: scheduler/ipp.c:7699 scheduler/ipp.c:7721 scheduler/ipp.c:7899
+#: scheduler/ipp.c:8124 scheduler/ipp.c:8167 scheduler/ipp.c:9034
+#: scheduler/ipp.c:9258 scheduler/ipp.c:9610 scheduler/ipp.c:10223
 #, c-format
 msgid "Job #%d does not exist."
 msgstr ""
@@ -4829,12 +4829,12 @@ msgstr ""
 msgid "Job #%d is already completed - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:7922 scheduler/ipp.c:8206 scheduler/ipp.c:10235
+#: scheduler/ipp.c:7925 scheduler/ipp.c:8209 scheduler/ipp.c:10238
 #, c-format
 msgid "Job #%d is finished and cannot be altered."
 msgstr ""
 
-#: scheduler/ipp.c:9269
+#: scheduler/ipp.c:9272
 #, c-format
 msgid "Job #%d is not complete."
 msgstr ""
@@ -4844,7 +4844,7 @@ msgstr ""
 msgid "Job #%d is not held for authentication."
 msgstr ""
 
-#: scheduler/ipp.c:9045
+#: scheduler/ipp.c:9048
 #, c-format
 msgid "Job #%d is not held."
 msgstr ""
@@ -4865,7 +4865,7 @@ msgstr ""
 msgid "Job Stopped"
 msgstr ""
 
-#: scheduler/ipp.c:10317
+#: scheduler/ipp.c:10320
 msgid "Job is completed and cannot be changed."
 msgstr ""
 
@@ -4873,11 +4873,11 @@ msgstr ""
 msgid "Job operation failed"
 msgstr ""
 
-#: scheduler/ipp.c:10353 scheduler/ipp.c:10370 scheduler/ipp.c:10381
+#: scheduler/ipp.c:10356 scheduler/ipp.c:10373 scheduler/ipp.c:10384
 msgid "Job state cannot be changed."
 msgstr ""
 
-#: scheduler/ipp.c:9135
+#: scheduler/ipp.c:9138
 msgid "Job subscriptions cannot be renewed."
 msgstr ""
 
@@ -4913,7 +4913,7 @@ msgstr ""
 msgid "Laminating Foil"
 msgstr ""
 
-#: scheduler/ipp.c:2085 scheduler/ipp.c:5794
+#: scheduler/ipp.c:2085 scheduler/ipp.c:5797
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr ""
@@ -4986,7 +4986,7 @@ msgstr ""
 msgid "Load paper."
 msgstr ""
 
-#: scheduler/ipp.c:5503
+#: scheduler/ipp.c:5506
 msgid "Local printer created."
 msgstr ""
 
@@ -4994,7 +4994,7 @@ msgstr ""
 msgid "Long-Edge (Portrait)"
 msgstr ""
 
-#: cups/http-support.c:1727
+#: cups/http-support.c:1731
 msgid "Looking for printer."
 msgstr ""
 
@@ -5146,7 +5146,7 @@ msgstr ""
 msgid "Missing asterisk in column 1"
 msgstr ""
 
-#: scheduler/ipp.c:6275
+#: scheduler/ipp.c:6278
 msgid "Missing document-number attribute."
 msgstr ""
 
@@ -5161,7 +5161,7 @@ msgstr ""
 msgid "Missing form variable"
 msgstr ""
 
-#: scheduler/ipp.c:9661
+#: scheduler/ipp.c:9664
 msgid "Missing last-document attribute in request."
 msgstr ""
 
@@ -5173,7 +5173,7 @@ msgstr ""
 msgid "Missing media-size in media-col."
 msgstr ""
 
-#: scheduler/ipp.c:6876
+#: scheduler/ipp.c:6879
 msgid "Missing notify-subscription-ids attribute."
 msgstr ""
 
@@ -5194,11 +5194,11 @@ msgstr ""
 msgid "Missing required attributes."
 msgstr ""
 
-#: cups/http-support.c:1490
+#: cups/http-support.c:1494
 msgid "Missing resource in URI"
 msgstr ""
 
-#: cups/http-support.c:1484
+#: cups/http-support.c:1488
 msgid "Missing scheme in URI"
 msgstr ""
 
@@ -5252,7 +5252,7 @@ msgstr ""
 msgid "Move Job"
 msgstr ""
 
-#: cups/http-support.c:1357
+#: cups/http-support.c:1361
 msgid "Moved Permanently"
 msgstr ""
 
@@ -5320,7 +5320,7 @@ msgstr ""
 msgid "No"
 msgstr ""
 
-#: cups/http-support.c:1354
+#: cups/http-support.c:1358
 msgid "No Content"
 msgstr ""
 
@@ -5369,11 +5369,11 @@ msgstr ""
 msgid "No community name"
 msgstr ""
 
-#: scheduler/ipp.c:6075
+#: scheduler/ipp.c:6078
 msgid "No default printer."
 msgstr ""
 
-#: cgi-bin/ipp-var.c:422 scheduler/ipp.c:7456
+#: cgi-bin/ipp-var.c:422 scheduler/ipp.c:7459
 msgid "No destinations added."
 msgstr ""
 
@@ -5389,7 +5389,7 @@ msgstr ""
 msgid "No error-status"
 msgstr ""
 
-#: scheduler/ipp.c:8411 scheduler/ipp.c:9675
+#: scheduler/ipp.c:8414 scheduler/ipp.c:9678
 msgid "No file in print request."
 msgstr ""
 
@@ -5418,7 +5418,7 @@ msgstr ""
 msgid "No printer-uri found for class"
 msgstr ""
 
-#: scheduler/ipp.c:6482
+#: scheduler/ipp.c:6485
 msgid "No printer-uri in request."
 msgstr ""
 
@@ -5442,11 +5442,11 @@ msgstr ""
 msgid "No stored credentials, not valid for name."
 msgstr ""
 
-#: scheduler/ipp.c:5679
+#: scheduler/ipp.c:5682
 msgid "No subscription attributes in request."
 msgstr ""
 
-#: scheduler/ipp.c:7795
+#: scheduler/ipp.c:7798
 msgid "No subscriptions found."
 msgstr ""
 
@@ -5475,11 +5475,11 @@ msgstr ""
 msgid "Normal"
 msgstr ""
 
-#: cups/http-support.c:1376
+#: cups/http-support.c:1380
 msgid "Not Found"
 msgstr ""
 
-#: cups/http-support.c:1388
+#: cups/http-support.c:1392
 msgid "Not Implemented"
 msgstr ""
 
@@ -5487,15 +5487,15 @@ msgstr ""
 msgid "Not Installed"
 msgstr ""
 
-#: cups/http-support.c:1363
+#: cups/http-support.c:1367
 msgid "Not Modified"
 msgstr ""
 
-#: cups/http-support.c:1391
+#: cups/http-support.c:1395
 msgid "Not Supported"
 msgstr ""
 
-#: scheduler/ipp.c:1535 scheduler/ipp.c:10936
+#: scheduler/ipp.c:1535 scheduler/ipp.c:10939
 msgid "Not allowed to print."
 msgstr ""
 
@@ -5507,7 +5507,7 @@ msgstr ""
 msgid "Note: this program only validates the DSC comments, not the PostScript itself."
 msgstr ""
 
-#: cups/http-support.c:1345 cups/http-support.c:1481 cups/ppd.c:313
+#: cups/http-support.c:1349 cups/http-support.c:1485 cups/ppd.c:313
 msgid "OK"
 msgstr ""
 
@@ -5561,9 +5561,9 @@ msgstr ""
 msgid "Options Installed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1480 scheduler/main.c:2048 systemv/cupsaddsmb.c:276
+#: scheduler/cupsfilter.c:1480 scheduler/main.c:2081 systemv/cupsaddsmb.c:276
 #: systemv/cupsctl.c:196 systemv/cupstestdsc.c:421 systemv/cupstestppd.c:3859
-#: test/ippfind.c:2751 test/ipptool.c:4930 ppdc/ppdc.cxx:430
+#: test/ippfind.c:2751 test/ipptool.c:5060 ppdc/ppdc.cxx:430
 #: ppdc/ppdhtml.cxx:177 ppdc/ppdi.cxx:123 ppdc/ppdmerge.cxx:361
 #: ppdc/ppdpo.cxx:247
 msgid "Options:"
@@ -5950,7 +5950,7 @@ msgstr ""
 msgid "Quarto"
 msgstr ""
 
-#: scheduler/ipp.c:1530 scheduler/ipp.c:10931
+#: scheduler/ipp.c:1530 scheduler/ipp.c:10934
 msgid "Quota limit reached."
 msgstr ""
 
@@ -5984,7 +5984,7 @@ msgstr ""
 msgid "Reprint After Error"
 msgstr ""
 
-#: cups/http-support.c:1379
+#: cups/http-support.c:1383
 msgid "Request Entity Too Large"
 msgstr ""
 
@@ -6073,7 +6073,7 @@ msgstr ""
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1403
+#: cups/http-support.c:1407
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
@@ -6105,11 +6105,11 @@ msgstr ""
 msgid "Security Labels"
 msgstr ""
 
-#: cups/http-support.c:1360
+#: cups/http-support.c:1364
 msgid "See Other"
 msgstr ""
 
-#: scheduler/ipp.c:7080 scheduler/ipp.c:7099
+#: scheduler/ipp.c:7083 scheduler/ipp.c:7102
 msgid "See remote printer."
 msgstr ""
 
@@ -6165,7 +6165,7 @@ msgstr ""
 msgid "Server credentials not set."
 msgstr ""
 
-#: cups/http-support.c:1397
+#: cups/http-support.c:1401
 msgid "Service Unavailable"
 msgstr ""
 
@@ -6346,8 +6346,8 @@ msgstr ""
 msgid "Statement"
 msgstr ""
 
-#: scheduler/ipp.c:3593 scheduler/ipp.c:6892 scheduler/ipp.c:7602
-#: scheduler/ipp.c:9123
+#: scheduler/ipp.c:3593 scheduler/ipp.c:6895 scheduler/ipp.c:7605
+#: scheduler/ipp.c:9126
 #, c-format
 msgid "Subscription #%d does not exist."
 msgstr ""
@@ -6368,7 +6368,7 @@ msgstr ""
 msgid "Super B/A3"
 msgstr ""
 
-#: cups/http-support.c:1342
+#: cups/http-support.c:1346
 msgid "Switching Protocols"
 msgstr ""
 
@@ -6405,8 +6405,8 @@ msgstr ""
 msgid "The \"%s\" attribute is required for print jobs."
 msgstr ""
 
-#: scheduler/ipp.c:6553 scheduler/ipp.c:6633 scheduler/ipp.c:6646
-#: scheduler/ipp.c:6658 scheduler/ipp.c:6673
+#: scheduler/ipp.c:6556 scheduler/ipp.c:6636 scheduler/ipp.c:6649
+#: scheduler/ipp.c:6661 scheduler/ipp.c:6676
 #, c-format
 msgid "The %s attribute cannot be provided with job-ids."
 msgstr ""
@@ -6421,12 +6421,12 @@ msgstr ""
 msgid "The '%s' operation attribute cannot be supplied in a Create-Job request."
 msgstr ""
 
-#: scheduler/ipp.c:7122
+#: scheduler/ipp.c:7125
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr ""
 
-#: scheduler/ipp.c:7111
+#: scheduler/ipp.c:7114
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr ""
@@ -6460,7 +6460,7 @@ msgstr ""
 msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
 msgstr ""
 
-#: scheduler/ipp.c:2095 scheduler/ipp.c:5804
+#: scheduler/ipp.c:2095 scheduler/ipp.c:5807
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)."
 msgstr ""
@@ -6537,13 +6537,13 @@ msgid "The printer name may only contain up to 127 printable characters and may
 msgstr ""
 
 #: scheduler/ipp.c:789 scheduler/ipp.c:1072 scheduler/ipp.c:3232
-#: scheduler/ipp.c:3413 scheduler/ipp.c:5213 scheduler/ipp.c:5638
-#: scheduler/ipp.c:5953 scheduler/ipp.c:6519 scheduler/ipp.c:7326
-#: scheduler/ipp.c:7382 scheduler/ipp.c:7708 scheduler/ipp.c:7980
-#: scheduler/ipp.c:8069 scheduler/ipp.c:8102 scheduler/ipp.c:8426
-#: scheduler/ipp.c:8833 scheduler/ipp.c:8915 scheduler/ipp.c:10089
-#: scheduler/ipp.c:10541 scheduler/ipp.c:10894 scheduler/ipp.c:10976
-#: scheduler/ipp.c:11351
+#: scheduler/ipp.c:3413 scheduler/ipp.c:5213 scheduler/ipp.c:5641
+#: scheduler/ipp.c:5956 scheduler/ipp.c:6522 scheduler/ipp.c:7329
+#: scheduler/ipp.c:7385 scheduler/ipp.c:7711 scheduler/ipp.c:7983
+#: scheduler/ipp.c:8072 scheduler/ipp.c:8105 scheduler/ipp.c:8429
+#: scheduler/ipp.c:8836 scheduler/ipp.c:8918 scheduler/ipp.c:10092
+#: scheduler/ipp.c:10544 scheduler/ipp.c:10897 scheduler/ipp.c:10979
+#: scheduler/ipp.c:11354
 msgid "The printer or class does not exist."
 msgstr ""
 
@@ -6596,12 +6596,12 @@ msgstr ""
 msgid "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to enable it."
 msgstr ""
 
-#: scheduler/ipp.c:6617
+#: scheduler/ipp.c:6620
 #, c-format
 msgid "The which-jobs value \"%s\" is not supported."
 msgstr ""
 
-#: scheduler/ipp.c:5882
+#: scheduler/ipp.c:5885
 msgid "There are too many subscriptions."
 msgstr ""
 
@@ -6757,11 +6757,11 @@ msgstr ""
 msgid "Trust on first use is disabled."
 msgstr ""
 
-#: cups/http-support.c:1382
+#: cups/http-support.c:1386
 msgid "URI Too Long"
 msgstr ""
 
-#: cups/http-support.c:1457
+#: cups/http-support.c:1461
 msgid "URI too large"
 msgstr ""
 
@@ -6919,7 +6919,7 @@ msgstr ""
 msgid "Unable to create credentials from array."
 msgstr ""
 
-#: cups/ppd-util.c:542 cups/util.c:482
+#: cups/ppd-util.c:542 cups/util.c:500
 msgid "Unable to create printer-uri"
 msgstr ""
 
@@ -6987,7 +6987,7 @@ msgstr ""
 msgid "Unable to find destination for job"
 msgstr ""
 
-#: cups/http-support.c:1951
+#: cups/http-support.c:1955
 msgid "Unable to find printer."
 msgstr ""
 
@@ -7079,7 +7079,7 @@ msgstr ""
 msgid "Unable to open device file"
 msgstr ""
 
-#: scheduler/ipp.c:6296
+#: scheduler/ipp.c:6299
 #, c-format
 msgid "Unable to open document #%d in job #%d."
 msgstr ""
@@ -7108,11 +7108,11 @@ msgstr ""
 msgid "Unable to read print data."
 msgstr ""
 
-#: scheduler/ipp.c:8585 scheduler/ipp.c:9828
+#: scheduler/ipp.c:8588 scheduler/ipp.c:9831
 msgid "Unable to rename job document file."
 msgstr ""
 
-#: cups/dest.c:3534
+#: cups/dest.c:3759
 msgid "Unable to resolve printer-uri."
 msgstr ""
 
@@ -7167,7 +7167,7 @@ msgstr ""
 msgid "Unable to write uncompressed print data: %s"
 msgstr ""
 
-#: cups/http-support.c:1370
+#: cups/http-support.c:1374
 msgid "Unauthorized"
 msgstr ""
 
@@ -7175,7 +7175,7 @@ msgstr ""
 msgid "Units"
 msgstr ""
 
-#: cups/http-support.c:1410 cups/http-support.c:1494 cups/ppd.c:341
+#: cups/http-support.c:1414 cups/http-support.c:1498 cups/ppd.c:341
 msgid "Unknown"
 msgstr ""
 
@@ -7203,7 +7203,7 @@ msgstr ""
 msgid "Unknown hash algorithm."
 msgstr ""
 
-#: cups/dest-options.c:963
+#: cups/dest-options.c:1021
 msgid "Unknown media size name."
 msgstr ""
 
@@ -7222,12 +7222,12 @@ msgstr ""
 msgid "Unknown print mode: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10763
+#: scheduler/ipp.c:10766
 #, c-format
 msgid "Unknown printer-error-policy \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10746
+#: scheduler/ipp.c:10749
 #, c-format
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
@@ -7240,7 +7240,7 @@ msgstr ""
 msgid "Unknown request version."
 msgstr ""
 
-#: cups/http-support.c:1487
+#: cups/http-support.c:1491
 msgid "Unknown scheme in URI"
 msgstr ""
 
@@ -7253,17 +7253,17 @@ msgstr ""
 msgid "Unknown version option value: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11222
+#: scheduler/ipp.c:11225
 #, c-format
 msgid "Unsupported 'compression' value \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11252
+#: scheduler/ipp.c:11255
 #, c-format
 msgid "Unsupported 'document-format' value \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11327
+#: scheduler/ipp.c:11330
 msgid "Unsupported 'job-name' value."
 msgstr ""
 
@@ -7272,17 +7272,17 @@ msgstr ""
 msgid "Unsupported character set \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:8392 scheduler/ipp.c:9640
+#: scheduler/ipp.c:8395 scheduler/ipp.c:9643
 #, c-format
 msgid "Unsupported compression \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:8528 scheduler/ipp.c:9793
+#: scheduler/ipp.c:8531 scheduler/ipp.c:9796
 #, c-format
 msgid "Unsupported document-format \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:9776
+#: scheduler/ipp.c:9779
 #, c-format
 msgid "Unsupported document-format \"%s/%s\"."
 msgstr ""
@@ -7324,7 +7324,7 @@ msgstr ""
 msgid "Unsupported value type"
 msgstr ""
 
-#: cups/http-support.c:1385
+#: cups/http-support.c:1389
 msgid "Upgrade Required"
 msgstr ""
 
@@ -7356,7 +7356,7 @@ msgstr ""
 msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
 msgstr ""
 
-#: scheduler/main.c:2047
+#: scheduler/main.c:2080
 msgid "Usage: cupsd [options]"
 msgstr ""
 
@@ -7380,7 +7380,7 @@ msgid ""
 "       ippfind --version"
 msgstr ""
 
-#: test/ipptool.c:4928
+#: test/ipptool.c:5059
 msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
 msgstr ""
 
@@ -7460,7 +7460,7 @@ msgstr ""
 msgid "Waterproof Fabric"
 msgstr ""
 
-#: cups/http-support.c:1406
+#: cups/http-support.c:1410
 msgid "Web Interface is Disabled"
 msgstr ""
 
@@ -7505,11 +7505,11 @@ msgstr ""
 msgid "completed"
 msgstr ""
 
-#: scheduler/ipp.c:6168
+#: scheduler/ipp.c:6171
 msgid "cups-deviced failed to execute."
 msgstr ""
 
-#: scheduler/ipp.c:7054 scheduler/ipp.c:7293
+#: scheduler/ipp.c:7057 scheduler/ipp.c:7296
 msgid "cups-driverd failed to execute."
 msgstr ""
 
@@ -7537,36 +7537,36 @@ msgstr ""
 msgid "cupsctl: Unknown option \"-%c\""
 msgstr ""
 
-#: scheduler/main.c:178
+#: scheduler/main.c:180
 msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
-#: scheduler/main.c:274
+#: scheduler/main.c:276
 msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
 msgstr ""
 
-#: scheduler/main.c:248
+#: scheduler/main.c:250
 msgid "cupsd: On-demand support not compiled in, running in normal mode."
 msgstr ""
 
-#: scheduler/main.c:285
+#: scheduler/main.c:287
 msgid "cupsd: Relative cups-files.conf filename not allowed."
 msgstr ""
 
-#: scheduler/main.c:209 scheduler/main.c:216
+#: scheduler/main.c:211 scheduler/main.c:218
 msgid "cupsd: Unable to get current directory."
 msgstr ""
 
-#: scheduler/main.c:341 scheduler/main.c:350
+#: scheduler/main.c:343 scheduler/main.c:352
 msgid "cupsd: Unable to get path to cups-files.conf file."
 msgstr ""
 
-#: scheduler/main.c:323
+#: scheduler/main.c:325
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:316
+#: scheduler/main.c:318
 #, c-format
 msgid "cupsd: Unknown option \"%c\" - aborting."
 msgstr ""
@@ -7598,12 +7598,12 @@ msgstr ""
 msgid "cupstestppd: The -v option is incompatible with the -q option."
 msgstr ""
 
-#: systemv/lpstat.c:1230 systemv/lpstat.c:1233 systemv/lpstat.c:1236
+#: systemv/lpstat.c:1254 systemv/lpstat.c:1257 systemv/lpstat.c:1260
 #, c-format
 msgid "device for %s/%s: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1216 systemv/lpstat.c:1219 systemv/lpstat.c:1222
+#: systemv/lpstat.c:1240 systemv/lpstat.c:1243 systemv/lpstat.c:1246
 #, c-format
 msgid "device for %s: %s"
 msgstr ""
@@ -7727,49 +7727,49 @@ msgstr ""
 msgid "ippfind: Unknown variable \"{%s}\"."
 msgstr ""
 
-#: test/ipptool.c:317 test/ipptool.c:380 test/ipptool.c:535 test/ipptool.c:558
+#: test/ipptool.c:318 test/ipptool.c:381 test/ipptool.c:536 test/ipptool.c:559
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with \"-P\" and \"-X\"."
 msgstr ""
 
-#: test/ipptool.c:614
+#: test/ipptool.c:615
 #, c-format
 msgid "ipptool: Bad URI - %s."
 msgstr ""
 
-#: test/ipptool.c:528
+#: test/ipptool.c:529
 msgid "ipptool: Invalid seconds for \"-i\"."
 msgstr ""
 
-#: test/ipptool.c:595
+#: test/ipptool.c:596
 msgid "ipptool: May only specify a single URI."
 msgstr ""
 
-#: test/ipptool.c:550
+#: test/ipptool.c:551
 msgid "ipptool: Missing count for \"-n\"."
 msgstr ""
 
-#: test/ipptool.c:414
+#: test/ipptool.c:415
 msgid "ipptool: Missing filename for \"-f\"."
 msgstr ""
 
-#: test/ipptool.c:395
+#: test/ipptool.c:396
 msgid "ipptool: Missing name=value for \"-d\"."
 msgstr ""
 
-#: test/ipptool.c:518
+#: test/ipptool.c:519
 msgid "ipptool: Missing seconds for \"-i\"."
 msgstr ""
 
-#: test/ipptool.c:640
+#: test/ipptool.c:641
 msgid "ipptool: URI required before test file."
 msgstr ""
 
-#: test/ipptool.c:576
+#: test/ipptool.c:577
 #, c-format
 msgid "ipptool: Unknown option \"-%c\"."
 msgstr ""
 
-#: scheduler/ipp.c:8058
+#: scheduler/ipp.c:8061
 msgid "job-printer-uri attribute missing."
 msgstr ""
 
@@ -7985,12 +7985,12 @@ msgstr ""
 msgid "lpoptions: Unknown printer or class."
 msgstr ""
 
-#: systemv/lpstat.c:1072
+#: systemv/lpstat.c:1096
 #, c-format
 msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: systemv/lpstat.c:1008
+#: systemv/lpstat.c:1032
 #, c-format
 msgid "members of class %s:"
 msgstr ""
@@ -7999,20 +7999,20 @@ msgstr ""
 msgid "no entries"
 msgstr ""
 
-#: systemv/lpstat.c:1076
+#: systemv/lpstat.c:1100
 msgid "no system default destination"
 msgstr ""
 
-#: scheduler/ipp.c:5853
+#: scheduler/ipp.c:5856
 msgid "notify-events not specified."
 msgstr ""
 
-#: scheduler/ipp.c:2049 scheduler/ipp.c:5758
+#: scheduler/ipp.c:2049 scheduler/ipp.c:5761
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used."
 msgstr ""
 
-#: scheduler/ipp.c:2039 scheduler/ipp.c:5748
+#: scheduler/ipp.c:2039 scheduler/ipp.c:5751
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
 msgstr ""
@@ -8494,32 +8494,32 @@ msgstr ""
 msgid "ppdmerge: Unable to backup %s to %s - %s"
 msgstr ""
 
-#: systemv/lpstat.c:1775
+#: systemv/lpstat.c:1799
 #, c-format
 msgid "printer %s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1764
+#: systemv/lpstat.c:1788
 #, c-format
 msgid "printer %s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1769
+#: systemv/lpstat.c:1793
 #, c-format
 msgid "printer %s now printing %s-%d.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1894
+#: systemv/lpstat.c:1918
 #, c-format
 msgid "printer %s/%s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1880
+#: systemv/lpstat.c:1904
 #, c-format
 msgid "printer %s/%s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1887
+#: systemv/lpstat.c:1911
 #, c-format
 msgid "printer %s/%s now printing %s-%d.  enabled since %s"
 msgstr ""
@@ -8537,11 +8537,11 @@ msgstr ""
 msgid "request-id uses indefinite length"
 msgstr ""
 
-#: systemv/lpstat.c:2022
+#: systemv/lpstat.c:2046
 msgid "scheduler is not running"
 msgstr ""
 
-#: systemv/lpstat.c:2018
+#: systemv/lpstat.c:2042
 msgid "scheduler is running"
 msgstr ""
 
@@ -8558,12 +8558,12 @@ msgstr ""
 msgid "stopped"
 msgstr ""
 
-#: systemv/lpstat.c:1050
+#: systemv/lpstat.c:1074
 #, c-format
 msgid "system default destination: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1047
+#: systemv/lpstat.c:1071
 #, c-format
 msgid "system default destination: %s/%s"
 msgstr ""
index acf6d6c3d46748f19ac23d7592a59754256a809d..8f8270966a380ade69ecb4cae5e0c7262f767e5d 100644 (file)
 "  -D                      Remove the input file when finished." = "  -D                      Remove the input file when finished.";
 "  -D name=value           Set named variable to value." = "  -D name=value           Set named variable to value.";
 "  -E                      Encrypt the connection." = "  -E                      Encrypt the connection.";
-"  -E                      Test with HTTP Upgrade to TLS." = "  -E                      Test with HTTP Upgrade to TLS.";
+"  -E                      Test with encryption using HTTP Upgrade to TLS." = "  -E                      Test with encryption using HTTP Upgrade to TLS.";
 "  -F                      Run in the foreground but detach from console." = "  -F                      Run in the foreground but detach from console.";
 "  -H samba-server         Use the named SAMBA server." = "  -H samba-server         Use the named SAMBA server.";
 "  -I                      Ignore errors." = "  -I                      Ignore errors.";
 "  -P filename.ppd         Set PPD file." = "  -P filename.ppd         Set PPD file.";
 "  -P number[-number]      Match port to number or range." = "  -P number[-number]      Match port to number or range.";
 "  -R root-directory       Set alternate root." = "  -R root-directory       Set alternate root.";
-"  -S                      Test with SSL encryption." = "  -S                      Test with SSL encryption.";
+"  -S                      Test with encryption using HTTPS." = "  -S                      Test with encryption using HTTPS.";
 "  -T seconds              Set the browse timeout in seconds." = "  -T seconds              Set the browse timeout in seconds.";
 "  -T seconds              Set the receive/send timeout in seconds." = "  -T seconds              Set the receive/send timeout in seconds.";
 "  -U username             Specify username." = "  -U username             Specify username.";
 "  {}                      URI" = "  {}                      URI";
 " FAIL" = " FAIL";
 " PASS" = " PASS";
-"\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)." = "“%s”: Bad URI value “%s” - %s (RFC 2911 section 4.1.5).";
-"\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)." = "“%s”: Bad URI value “%s” - bad length %d (RFC 2911 section 4.1.5).";
-"\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)." = "“%s”: Bad attribute name - bad length %d (RFC 2911 section 4.1.3).";
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)." = "“%s”: Bad attribute name - invalid character (RFC 2911 section 4.1.3).";
-"\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)." = "“%s”: Bad boolen value %d (RFC 2911 section 4.1.11).";
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)." = "“%s”: Bad charset value “%s” - bad characters (RFC 2911 section 4.1.7).";
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)." = "“%s”: Bad charset value “%s” - bad length %d (RFC 2911 section 4.1.7).";
-"\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime UTC hours %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime UTC sign ‘c’(RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime day %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime deciseconds %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime hours %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime minutes %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime month %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)." = "“%s”: Bad dateTime seconds %u (RFC 2911 section 4.1.14).";
-"\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)." = "“%s”: Bad enum value %d - out of range (RFC 2911 section 4.1.4).";
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)." = "“%s”: Bad keyword value “%s” - bad length %d (RFC 2911 section 4.1.3).";
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section 4.1.3)." = "“%s”: Bad keyword value “%s” - invalid character (RFC 2911 section 4.1.3).";
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section 4.1.9)." = "“%s”: Bad mimeMediaType value “%s” - bad characters (RFC 2911 section 4.1.9).";
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section 4.1.9)." = "“%s”: Bad mimeMediaType value “%s” - bad length %d (RFC 2911 section 4.1.9).";
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)." = "“%s”: Bad name value “%s” - bad UTF-8 sequence (RFC 2911 section 4.1.2).";
-"\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)." = "“%s”: Bad name value “%s” - bad length %d (RFC 2911 section 4.1.2).";
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section 4.1.8)." = "“%s”: Bad naturalLanguage value “%s” - bad characters (RFC 2911 section 4.1.8).";
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section 4.1.8)." = "“%s”: Bad naturalLanguage value “%s” - bad length %d (RFC 2911 section 4.1.8).";
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)." = "“%s”: Bad octetString value - bad length %d (RFC 2911 section 4.1.10).";
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 section 4.1.13)." = "“%s”: Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 section 4.1.13).";
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section 4.1.15)." = "“%s”: Bad resolution value %dx%d%s - bad units value (RFC 2911 section 4.1.15).";
-"\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 2911 section 4.1.15)." = "“%s”: Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 2911 section 4.1.15).";
-"\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC 2911 section 4.1.15)." = "“%s”: Bad resolution value %dx%d%s - feed resolution must be positive (RFC 2911 section 4.1.15).";
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)." = "“%s”: Bad text value “%s” - bad UTF-8 sequence (RFC 2911 section 4.1.1).";
-"\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)." = "“%s”: Bad text value “%s” - bad length %d (RFC 2911 section 4.1.1).";
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)." = "“%s”: Bad uriScheme value “%s” - bad characters (RFC 2911 section 4.1.6).";
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)." = "“%s”: Bad uriScheme value “%s” - bad length %d (RFC 2911 section 4.1.6).";
+"\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)." = "“%s”: Bad URI value “%s” - %s (RFC 8011 section 5.1.6).";
+"\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)." = "“%s”: Bad URI value “%s” - bad length %d (RFC 8011 section 5.1.6).";
+"\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)." = "“%s”: Bad attribute name - bad length %d (RFC 8011 section 5.1.4).";
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)." = "“%s”: Bad attribute name - invalid character (RFC 8011 section 5.1.4).";
+"\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)." = "“%s”: Bad boolen value %d (RFC 8011 section 5.1.21).";
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)." = "“%s”: Bad charset value “%s” - bad characters (RFC 8011 section 5.1.8).";
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)." = "“%s”: Bad charset value “%s” - bad length %d (RFC 8011 section 5.1.8).";
+"\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime UTC hours %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime UTC sign ‘c’(RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime day %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime deciseconds %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime hours %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime minutes %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime month %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)." = "“%s”: Bad dateTime seconds %u (RFC 8011 section 5.1.15).";
+"\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)." = "“%s”: Bad enum value %d - out of range (RFC 8011 section 5.1.5).";
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)." = "“%s”: Bad keyword value “%s” - bad length %d (RFC 8011 section 5.1.4).";
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section 5.1.4)." = "“%s”: Bad keyword value “%s” - invalid character (RFC 8011 section 5.1.4).";
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section 5.1.10)." = "“%s”: Bad mimeMediaType value “%s” - bad characters (RFC 8011 section 5.1.10).";
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section 5.1.10)." = "“%s”: Bad mimeMediaType value “%s” - bad length %d (RFC 8011 section 5.1.10).";
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)." = "“%s”: Bad name value “%s” - bad UTF-8 sequence (RFC 8011 section 5.1.3).";
+"\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)." = "“%s”: Bad name value “%s” - bad length %d (RFC 8011 section 5.1.3).";
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section 5.1.9)." = "“%s”: Bad naturalLanguage value “%s” - bad characters (RFC 8011 section 5.1.9).";
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section 5.1.9)." = "“%s”: Bad naturalLanguage value “%s” - bad length %d (RFC 8011 section 5.1.9).";
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)." = "“%s”: Bad octetString value - bad length %d (RFC 8011 section 5.1.20).";
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 section 5.1.14)." = "“%s”: Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 section 5.1.14).";
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section 5.1.16)." = "“%s”: Bad resolution value %dx%d%s - bad units value (RFC 8011 section 5.1.16).";
+"\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 8011 section 5.1.16)." = "“%s”: Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 8011 section 5.1.16).";
+"\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC 8011 section 5.1.16)." = "“%s”: Bad resolution value %dx%d%s - feed resolution must be positive (RFC 8011 section 5.1.16).";
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)." = "“%s”: Bad text value “%s” - bad UTF-8 sequence (RFC 8011 section 5.1.2).";
+"\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)." = "“%s”: Bad text value “%s” - bad length %d (RFC 8011 section 5.1.2).";
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)." = "“%s”: Bad uriScheme value “%s” - bad characters (RFC 8011 section 5.1.7).";
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)." = "“%s”: Bad uriScheme value “%s” - bad length %d (RFC 8011 section 5.1.7).";
 "%-7s %-7.7s %-7d %-31.31s %.0f bytes" = "%-7s %-7.7s %-7d %-31.31s %.0f bytes";
 "%d x %d mm" = "%d x %d mm";
 "%g x %g" = "%g x %g";
 "Roll 7" = "Roll 7";
 "Roll 8" = "Roll 8";
 "Roll 9" = "Roll 9";
-"Running command: %s %s -N -A %s -c '%s'" = "Running command: %s %s -N -A %s -c ‘s’\ 1\ 2d/ù\a\ 3";
+"Running command: %s %s -N -A %s -c '%s'" = "Running command: %s %s -N -A %s -c ‘s’";
 "SEQUENCE uses indefinite length" = "SEQUENCE uses indefinite length";
 "SSL/TLS Negotiation Error" = "SSL/TLS Negotiation Error";
 "Saddle Stitch" = "Saddle Stitch";
index 5682ba2e0837c9b528d082cb5b5c25d7b95c2c89..c4b40ceff00fbf5009a538c5b116a94cf85a7cff 100644 (file)
@@ -32,7 +32,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.4.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2012-09-29 11:21+0200\n"
 "Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -1057,9 +1057,9 @@ msgstr "  -D nom=valor            Estableix la variable indicada al valor."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Xifra la connexió."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
 msgstr ""
-"  -E                      Fa una prova amb l'actualització d'HTTP a TLS."
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1096,8 +1096,8 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R directori-arrel       Estableix una arrel alternativa."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Fa una prova amb xifrat SSL."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr ""
@@ -1373,166 +1373,166 @@ msgid " PASS"
 msgstr " VÀLID"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
@@ -6922,9 +6922,16 @@ msgstr "La variable-bindings fa servir una longitud indefinida"
 #~ msgid "  -E                      Enable encryption."
 #~ msgstr "  -E                      Habilita el xifrat."
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr ""
+#~ "  -E                      Fa una prova amb l'actualització d'HTTP a TLS."
+
 #~ msgid "  -J title                Set title."
 #~ msgstr "  -J títol                Estableix el títol."
 
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Fa una prova amb xifrat SSL."
+
 #~ msgid "  -T                      Set the receive/send timeout in seconds."
 #~ msgstr ""
 #~ "  -T                      Estableix el temps d'espera màxim per enviar i "
index 096ad186046960f95e873bd04193562aae55e20e..4bdaea1e56ef2cc1fb6ae009fdc1a09fbd525c37 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2012-09-14 10:26+0100\n"
 "Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n"
 "Language-Team: Czech\n"
@@ -908,7 +908,8 @@ msgstr ""
 msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
 msgstr ""
 
 msgid ""
@@ -944,7 +945,7 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr ""
 
-msgid "  -S                      Test with SSL encryption."
+msgid "  -S                      Test with encryption using HTTPS."
 msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
@@ -1195,166 +1196,166 @@ msgid " PASS"
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
index e344f03b9d0e2cf636f0c893c33a65e45c0559d1..96884d3b68a354e09eacae097bbcaa39b31dc365 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2016-09-17 18:45+0200\n"
 "Last-Translator: Joachim Schwender <joachim.schwender@web.de>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -939,8 +939,9 @@ msgstr "  -D Name=Wert            Variable »Name« den »Wert« zuordnen."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Verschlüssele die Verbindung."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
-msgstr "  -E                      Teste mit HTTP Upgrade auf TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
+msgstr ""
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -983,8 +984,8 @@ msgid "  -R root-directory       Set alternate root."
 msgstr ""
 "  -R Wurzelverz.           Legt ein alternatives Wurzelverzeichnis fest."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Teste mit SSL Verschlüsselung."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr ""
@@ -1259,166 +1260,166 @@ msgid " PASS"
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
@@ -6730,6 +6731,12 @@ msgstr "variable-bindings hat unbestimmte Länge"
 #~ msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 #~ msgstr "  --lf                    Zeilenenden mit LF (UNIX/Linux/OS X)"
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr "  -E                      Teste mit HTTP Upgrade auf TLS."
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Teste mit SSL Verschlüsselung."
+
 #~ msgid "  -a                      Browse for all services."
 #~ msgstr "  -a                      Browse für alle Dienste."
 
index 26e71b1d90af22860c75bf4dde8c80dfb11dbf14..18470f2cd1ccbc84387f25321d3a9cbf856c5493 100644 (file)
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.2\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2016-06-26 21:17+0100\n"
 "Last-Translator: Juan Pablo González Riopedre <jpgriopedre@yahoo.es>\n"
 "Language-Team: Spanish\n"
@@ -1069,8 +1069,9 @@ msgstr "  -D nombre=valor         Establece la variable nombre al valor."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Cifra la conexión."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
-msgstr "  -E                      Prueba con actualización HTTP a TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
+msgstr ""
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1112,8 +1113,8 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R directorio-raíz      Establece directorio raíz alternativo."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Prueba con cifrado SSL."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr ""
@@ -1402,214 +1403,167 @@ msgid " PASS"
 msgstr " PASA"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
-msgstr "\"%s\": Valor URI \"%s\" incorrecto - %s (RFC 2911 sección 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": Valor URI \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.5)."
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Nombre de atributo incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Nombre de atributo incorrecto - carácter inválido (RFC 2911 sección "
-"4.1.3)."
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr "\"%s\": Valor lógico \"%d\" incorrecto (RFC 2911 sección 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Valor del juego de caracteres \"%s\" incorrecto - caracteres "
-"incorrectos (RFC 2911 sección 4.1.7)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Valor del juego de caracteres \"%s\" incorrecto - longitud %d "
-"incorrecta (RFC 2911 sección 4.1.7)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Horas dateTime UTC %u incorrectas (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Minutos dateTime UTC %u incorrectos (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Signo dateTime UTC %c incorrecto (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Día dateTime %u incorrecto (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": Décimas de segundo dateTime %u incorrectas (RFC 2911 sección 4.1.14)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Horas dateTime %u incorrectas (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Minutos dateTime %u incorrectos (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Mes dateTime %u incorrecto (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Segundos dateTime %u incorrectos (RFC 2911 sección 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
-"\"%s\": Valor enumerado %d incorrecto - fuera de intervalo (RFC 2911 sección "
-"4.1.4)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Valor clave \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
-"\"%s\": Valor clave \"%s\" incorrecto - carácter inválido (RFC 2911 sección "
-"4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Valor mimeMediaType \"%s\" incorrecto - caracteres incorrectos (RFC "
-"2911 sección 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Valor mimeMediaType \"%s\" incorrecto - longitud %d incorrecta (RFC "
-"2911 sección 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Valor del nombre \"%s\" incorrecto - secuencia UTF-8 incorrecta (RFC "
-"2911 sección 4.1.2)."
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Valor del nombre \"%s\" incorrecto - longitud %d incorrecta (RFC "
-"2911 sección 4.1.2)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Valor naturalLanguage \"%s\" incorrecto - caracteres incorrectos "
-"(RFC 2911 sección 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Valor naturalLanguage \"%s\" incorrecto - longitud %d incorrecta "
-"(RFC 2911 sección 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
-"\"%s\": Valor octetString incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.10)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
-"\"%s\": Valor rangeOfInteger %d-%d incorrecto - el más bajo es mayor que el "
-"más alto (RFC 2911 section 4.1.13)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolución %dx%d%s incorrecto - valores de unidades "
-"incorrectas (RFC 2911 section 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolución %dx%d%s incorrecto - la resolución de la "
-"alimentación cruzada debe ser positiva (RFC 2911 sección 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolución %dx%d%s incorrecto - la resolución de la "
-"alimentación debe ser positiva (RFC 2911 sección 4.1.15)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Valor del texto \"%s\" incorrecto - secuencia UTF-8 incorrecta (RFC "
-"2911 sección 4.1.1)."
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Valor del texto \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.1)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Valor uriScheme \"%s\" incorrecto - caracteres incorrectos (RFC 2911 "
-"sección 4.1.6)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Valor uriScheme \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
-"sección 4.1.6)."
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
@@ -6992,6 +6946,199 @@ msgstr "sin título"
 msgid "variable-bindings uses indefinite length"
 msgstr "variable-bindings usa una longitud indefinida"
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr "  -E                      Prueba con actualización HTTP a TLS."
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Prueba con cifrado SSL."
+
+#~ msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+#~ msgstr "\"%s\": Valor URI \"%s\" incorrecto - %s (RFC 2911 sección 4.1.5)."
+
+#~ msgid ""
+#~ "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": Valor URI \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
+#~ "sección 4.1.5)."
+
+#~ msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Nombre de atributo incorrecto - longitud %d incorrecta (RFC 2911 "
+#~ "sección 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Nombre de atributo incorrecto - carácter inválido (RFC 2911 "
+#~ "sección 4.1.3)."
+
+#~ msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+#~ msgstr "\"%s\": Valor lógico \"%d\" incorrecto (RFC 2911 sección 4.1.11)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Valor del juego de caracteres \"%s\" incorrecto - caracteres "
+#~ "incorrectos (RFC 2911 sección 4.1.7)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Valor del juego de caracteres \"%s\" incorrecto - longitud %d "
+#~ "incorrecta (RFC 2911 sección 4.1.7)."
+
+#~ msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Horas dateTime UTC %u incorrectas (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Minutos dateTime UTC %u incorrectos (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Signo dateTime UTC %c incorrecto (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Día dateTime %u incorrecto (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Décimas de segundo dateTime %u incorrectas (RFC 2911 sección "
+#~ "4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Horas dateTime %u incorrectas (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Minutos dateTime %u incorrectos (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Mes dateTime %u incorrecto (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Segundos dateTime %u incorrectos (RFC 2911 sección 4.1.14)."
+
+#~ msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+#~ msgstr ""
+#~ "\"%s\": Valor enumerado %d incorrecto - fuera de intervalo (RFC 2911 "
+#~ "sección 4.1.4)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Valor clave \"%s\" incorrecto - longitud %d incorrecta (RFC 2911 "
+#~ "sección 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+#~ "4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Valor clave \"%s\" incorrecto - carácter inválido (RFC 2911 "
+#~ "sección 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Valor mimeMediaType \"%s\" incorrecto - caracteres incorrectos "
+#~ "(RFC 2911 sección 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Valor mimeMediaType \"%s\" incorrecto - longitud %d incorrecta "
+#~ "(RFC 2911 sección 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Valor del nombre \"%s\" incorrecto - secuencia UTF-8 incorrecta "
+#~ "(RFC 2911 sección 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Valor del nombre \"%s\" incorrecto - longitud %d incorrecta (RFC "
+#~ "2911 sección 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Valor naturalLanguage \"%s\" incorrecto - caracteres incorrectos "
+#~ "(RFC 2911 sección 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Valor naturalLanguage \"%s\" incorrecto - longitud %d incorrecta "
+#~ "(RFC 2911 sección 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+#~ msgstr ""
+#~ "\"%s\": Valor octetString incorrecto - longitud %d incorrecta (RFC 2911 "
+#~ "sección 4.1.10)."
+
+#~ msgid ""
+#~ "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC "
+#~ "2911 section 4.1.13)."
+#~ msgstr ""
+#~ "\"%s\": Valor rangeOfInteger %d-%d incorrecto - el más bajo es mayor que "
+#~ "el más alto (RFC 2911 section 4.1.13)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+#~ "4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolución %dx%d%s incorrecto - valores de unidades "
+#~ "incorrectas (RFC 2911 section 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+#~ "positive (RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolución %dx%d%s incorrecto - la resolución de la "
+#~ "alimentación cruzada debe ser positiva (RFC 2911 sección 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive "
+#~ "(RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolución %dx%d%s incorrecto - la resolución de la "
+#~ "alimentación debe ser positiva (RFC 2911 sección 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Valor del texto \"%s\" incorrecto - secuencia UTF-8 incorrecta "
+#~ "(RFC 2911 sección 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Valor del texto \"%s\" incorrecto - longitud %d incorrecta (RFC "
+#~ "2911 sección 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Valor uriScheme \"%s\" incorrecto - caracteres incorrectos (RFC "
+#~ "2911 sección 4.1.6)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Valor uriScheme \"%s\" incorrecto - longitud %d incorrecta (RFC "
+#~ "2911 sección 4.1.6)."
+
 #~ msgid "CD/DVD/Bluray"
 #~ msgstr "CD/DVD/Bluray"
 
index 2deff009bf6c9d9d12613ed6bdaed7d93ce9478d..b4b29d305e7248ef7c2285546921bd4a29f1d078 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2012-12-12 11:12+0100\n"
 "Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -908,7 +908,8 @@ msgstr ""
 msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
 msgstr ""
 
 msgid ""
@@ -944,7 +945,7 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr ""
 
-msgid "  -S                      Test with SSL encryption."
+msgid "  -S                      Test with encryption using HTTPS."
 msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
@@ -1195,166 +1196,166 @@ msgid " PASS"
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
 
 #, c-format
index 1963f7f3766ab54a3f13f7150f72cad0c7b48c0e..f0efba96cf6c93396bb5829a98c5807ce020dff9 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2013-07-14 12:00+0200\n"
 "Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
 "Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
@@ -1072,8 +1072,9 @@ msgstr "  -D name=value           Imposta la variabile chiamata al valore."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Crittografa la connessione."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
-msgstr "  -E                      Prova con l'aggiornamento HTTP a TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
+msgstr ""
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1112,8 +1113,8 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R root-directory       Imposta una root alternativa."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Prova con crittografia SSL."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr "  -T seconds              Imposta il timeout in secondi."
@@ -1397,216 +1398,167 @@ msgid " PASS"
 msgstr " OPERAZIONE RIUSCITA CON SUCCESSO"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": il valore dell'URI non è valido \"%s\" - %s (RFC 2911 sezione 4.1.5)."
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": il valore dell'URI non è valido \"%s\" - la lunghezza non è valida "
-"%d (RFC 2911 sezione 4.1.5)."
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": il nome dell'attributo non è valido - la lunghezza non è valida %d "
-"(RFC 2911 sezione 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": il nome dell'attributo non è valido - il carattere non è valido (RFC "
-"2911 sezione 4.1.3)."
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr "\"%s\": il valore booleano non è valido %d (RFC 2911 sezione 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": il valore del set dei caratteri non è valido \"%s\" - i caratteri "
-"non sono validi (RFC 2911 sezione 4.1.7)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": il valore del set dei caratteri non è valido \"%s\" - la lunghezza "
-"non è valida %d (RFC 2911 sezione 4.1.7)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime UTC non è valido ore %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime UTC non è valido minuti %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": dateTime UTC non è valido segno '%c' (RFC 2911 sezione 4.1.14)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime non è valido giorno %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": dateTime non è valido decimi di secondi %u (RFC 2911 sezione 4.1.14)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime non è valido ore %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime non è valido minuti %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime non è valido mese %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime non è valido secondi %u (RFC 2911 sezione 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
-"\"%s\": il valore enum non è valido %d - fuori intervallo (RFC 2911 sezione "
-"4.1.4)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": il valore della parola chiave non è valido \"%s\" - la lunghezza non "
-"è valida %d (RFC 2911 sezione 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
-"\"%s\": il valore della parola chiave non è valido \"%s\" - il carattere non "
-"è valido (RFC 2911 sezione 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": il valore di mimeMediaType non è valido \"%s\" - i caratteri non "
-"sono validi (RFC 2911 sezione 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": il valore di mimeMediaType non è valido \"%s\" - la lunghezza non è "
-"valida %d (RFC 2911 sezione 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": il valore del nome non è valido \"%s\" - la sequenza UTF-8 non è "
-"valida (RFC 2911 sezione 4.1.2)."
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": il valore del nome non è valido \"%s\" - la lunghezza non è valida "
-"%d (RFC 2911 sezione 4.1.2)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": il valore di naturalLanguage non è valido \"%s\" - i caratteri non "
-"sono validi (RFC 2911 sezione 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": il valore di naturalLanguage non è valido \"%s\" - la lunghezza non "
-"è valida %d (RFC 2911 sezione 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
-"\"%s\": il valore di octetString non è valido - la lunghezza non è valida %d "
-"(RFC 2911 sezione 4.1.10)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
-"\"%s\": il valore di rangeOfInteger non è valido %d-%d - il più piccolo è "
-"superiore al più grande (RFC 2911 sezione 4.1.13)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
-"\"%s\": il valore di resolution non è valido %dx%d%s - il valore dell'unità "
-"non è valida (RFC 2911 sezione 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
-"\"%s\": il valore della risoluzione non è valido %dx%d%s - la risoluzione "
-"del feed deve essere positiva (RFC 2911 sezione 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
-"\"%s\": il valore della risoluzione non è valido %dx%d%s - la risoluzione "
-"del feed deve essere positiva (RFC 2911 sezione 4.1.15)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": il valore del testo non è valido \"%s\" - la sequenza UTF-8 non è "
-"valida (RFC 2911 sezione 4.1.1)."
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": il valore del testo non è valido \"%s\" - la lunghezza non è valida "
-"%d (RFC 2911 sezione 4.1.1)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": il valore di uriScheme non è valido \"%s\" - i caratteri non sono "
-"validi (RFC 2911 sezione 4.1.6)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": il valore di uriScheme non è valido \"%s\" - la lunghezza non è "
-"valida %d (RFC 2911 sezione 4.1.6)."
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
@@ -6971,6 +6923,12 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
 #~ msgstr ""
 #~ "  --lf                    Termina le righe con LF (UNIX/Linux/OS X)."
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr "  -E                      Prova con l'aggiornamento HTTP a TLS."
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Prova con crittografia SSL."
+
 #~ msgid "  -a                      Browse for all services."
 #~ msgstr "  -a                      Mostra tutti i servizi."
 
@@ -6988,6 +6946,196 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
 #~ msgid "  -t type                 Browse/resolve with specified type."
 #~ msgstr "  -t type                 Mostra/risolve con il tipo specificato."
 
+#~ msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": il valore dell'URI non è valido \"%s\" - %s (RFC 2911 sezione "
+#~ "4.1.5)."
+
+#~ msgid ""
+#~ "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": il valore dell'URI non è valido \"%s\" - la lunghezza non è "
+#~ "valida %d (RFC 2911 sezione 4.1.5)."
+
+#~ msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": il nome dell'attributo non è valido - la lunghezza non è valida "
+#~ "%d (RFC 2911 sezione 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": il nome dell'attributo non è valido - il carattere non è valido "
+#~ "(RFC 2911 sezione 4.1.3)."
+
+#~ msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+#~ msgstr ""
+#~ "\"%s\": il valore booleano non è valido %d (RFC 2911 sezione 4.1.11)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": il valore del set dei caratteri non è valido \"%s\" - i caratteri "
+#~ "non sono validi (RFC 2911 sezione 4.1.7)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": il valore del set dei caratteri non è valido \"%s\" - la "
+#~ "lunghezza non è valida %d (RFC 2911 sezione 4.1.7)."
+
+#~ msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime UTC non è valido ore %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime UTC non è valido minuti %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime UTC non è valido segno '%c' (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime non è valido giorno %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime non è valido decimi di secondi %u (RFC 2911 sezione "
+#~ "4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime non è valido ore %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime non è valido minuti %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime non è valido mese %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime non è valido secondi %u (RFC 2911 sezione 4.1.14)."
+
+#~ msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+#~ msgstr ""
+#~ "\"%s\": il valore enum non è valido %d - fuori intervallo (RFC 2911 "
+#~ "sezione 4.1.4)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": il valore della parola chiave non è valido \"%s\" - la lunghezza "
+#~ "non è valida %d (RFC 2911 sezione 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+#~ "4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": il valore della parola chiave non è valido \"%s\" - il carattere "
+#~ "non è valido (RFC 2911 sezione 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": il valore di mimeMediaType non è valido \"%s\" - i caratteri non "
+#~ "sono validi (RFC 2911 sezione 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": il valore di mimeMediaType non è valido \"%s\" - la lunghezza non "
+#~ "è valida %d (RFC 2911 sezione 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": il valore del nome non è valido \"%s\" - la sequenza UTF-8 non è "
+#~ "valida (RFC 2911 sezione 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": il valore del nome non è valido \"%s\" - la lunghezza non è "
+#~ "valida %d (RFC 2911 sezione 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": il valore di naturalLanguage non è valido \"%s\" - i caratteri "
+#~ "non sono validi (RFC 2911 sezione 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": il valore di naturalLanguage non è valido \"%s\" - la lunghezza "
+#~ "non è valida %d (RFC 2911 sezione 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+#~ msgstr ""
+#~ "\"%s\": il valore di octetString non è valido - la lunghezza non è valida "
+#~ "%d (RFC 2911 sezione 4.1.10)."
+
+#~ msgid ""
+#~ "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC "
+#~ "2911 section 4.1.13)."
+#~ msgstr ""
+#~ "\"%s\": il valore di rangeOfInteger non è valido %d-%d - il più piccolo è "
+#~ "superiore al più grande (RFC 2911 sezione 4.1.13)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+#~ "4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": il valore di resolution non è valido %dx%d%s - il valore "
+#~ "dell'unità non è valida (RFC 2911 sezione 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+#~ "positive (RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": il valore della risoluzione non è valido %dx%d%s - la risoluzione "
+#~ "del feed deve essere positiva (RFC 2911 sezione 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive "
+#~ "(RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": il valore della risoluzione non è valido %dx%d%s - la risoluzione "
+#~ "del feed deve essere positiva (RFC 2911 sezione 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": il valore del testo non è valido \"%s\" - la sequenza UTF-8 non è "
+#~ "valida (RFC 2911 sezione 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": il valore del testo non è valido \"%s\" - la lunghezza non è "
+#~ "valida %d (RFC 2911 sezione 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": il valore di uriScheme non è valido \"%s\" - i caratteri non sono "
+#~ "validi (RFC 2911 sezione 4.1.6)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": il valore di uriScheme non è valido \"%s\" - la lunghezza non è "
+#~ "valida %d (RFC 2911 sezione 4.1.6)."
+
 #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte"
 
index 1df25d361635015c8911e2424700208672523476..d60b5984d5cb3c1aedef0c4cf382b83decbbd7c6 100644 (file)
@@ -28,7 +28,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2014-11-15 19:27+0900\n"
 "Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
 "Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
@@ -1061,9 +1061,9 @@ msgstr ""
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      接続を暗号化する。"
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
 msgstr ""
-"  -E                      HTTP から TLS へのアップグレードでテストする。"
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1104,8 +1104,8 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R root-directory       別のルートディレクトリーを指定する。"
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      SSL 暗号化でテストする。"
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr "  -T <秒>                 ブラウズのタイムアウトを秒で指定する。"
@@ -1374,204 +1374,167 @@ msgid " PASS"
 msgstr " 合格"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
-msgstr "\"%s\": URI の値 \"%s\" が誤っています - %s (RFC 2911 4.1.5 節)。"
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": URI の値 \"%s\" が誤っています - 長さの誤り %d (RFC 2911 4.1.5 節)。"
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
-msgstr "\"%s\": 属性名が誤っています - 長さの誤り %d (RFC 2911 4.1.3 節)。"
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
-msgstr "\"%s\": 属性名が誤っています - 不正な文字 (RFC 2911 4.1.3 節)。"
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr "\"%s\": 真偽値 %d が誤っています (RFC 2911 4.1.11 節)。"
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": charset の値 \"%s\" が誤っています - 不正な文字 (RFC 2911 4.1.7 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": charset の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 section "
-"4.1.7)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": dateTime UTC の時間指定 %u が誤っています (RFC 2911 4.1.14 節)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime UTC の分指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": dateTime UTC の符号指定 '%c' が誤っています (RFC 2911 4.1.14 節)。"
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime の日付指定 %u が誤っています (RFC 2911 4.1.14 節)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": dateTime の 0.1 秒の指定 %u が誤っています (RFC 2911 4.1.14 節)。"
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime の時間指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime の分指定が誤っています %u (RFC 2911 4.1.14 節)。"
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": dateTime の月指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": 日時の秒指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
-msgstr "\"%s\": enum の値 %d が誤っています - 範囲外の値 (RFC 2911 4.1.4 節)。"
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": keyword の値 \"%s\" が誤っています -  %d (RFC 2911 section 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
-"\"%s\": keyword の値 \"%s\" が誤っています - 不正な文字 (RFC 2911 4.1.3 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": mimeMediaType の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 "
-"4.1.9 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": mimeMediaType の値 \"%s\" が誤っています - 長さの誤り %d (RFC 2911 "
-"4.1.9 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": name の値 \"%s\" が誤っています - UTF-8 として誤った並び (RFC 2911 "
-"4.1.2 節)。"
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": name の値 \"%s\" が誤っています - 誤った長さ %d (RFC 2911 section "
-"4.1.2)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": naturalLanguage の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 "
-"4.1.8 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": naturalLanguage の値 \"%s\" が誤っています - 誤った長さ %d (RFC 2911 "
-"4.1.8 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
-"\"%s\": octetString 値が誤っています - 誤った長さ %d (RFC 2911 4.1.10 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
-"\"%s\": rangeOfInteger の値 %d-%d が誤っています  - 下限が上限よりも大きい "
-"(RFC 2911 4.1.13 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
-"\"%s\": resolution の値 %dx%d%s が誤っています - 単位値の誤り (RFC 2911 "
-"4.1.15 節)。"
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
-"\"%s\": resolution の値 %dx%d%s が誤っています - 主走査解像度が負 (RFC 2911 "
-"4.1.15 節)。"
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
-"\"%s\": resolution の値 %dx%d%s が誤っています - 副走査解像度が負 (RFC 2911 "
-"4.1.15 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": text の値 \"%s\" が誤っています - UTF-8 として誤った並び (RFC 2911 "
-"4.1.1 節)。"
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": text の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 4.1.1 節)。"
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": uriScheme の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 4.1.6 "
-"節)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": uriScheme の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 4.1.6 "
-"節)."
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
@@ -6954,6 +6917,13 @@ msgstr "variable-bindings の長さが不定"
 #~ msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 #~ msgstr "  --lf                    行末を LF とする (UNIX/Linux/OS X)。"
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr ""
+#~ "  -E                      HTTP から TLS へのアップグレードでテストする。"
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      SSL 暗号化でテストする。"
+
 #~ msgid "  -a                      Browse for all services."
 #~ msgstr "  -a                      すべてのサービスをブラウズする。"
 
@@ -6972,12 +6942,194 @@ msgstr "variable-bindings の長さが不定"
 #~ msgid "  -t type                 Browse/resolve with specified type."
 #~ msgstr "  -t タイプ               指定されたタイプでブラウズ/名前解決する。"
 
+#~ msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+#~ msgstr "\"%s\": URI の値 \"%s\" が誤っています - %s (RFC 2911 4.1.5 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": URI の値 \"%s\" が誤っています - 長さの誤り %d (RFC 2911 4.1.5 "
+#~ "節)。"
+
+#~ msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr "\"%s\": 属性名が誤っています - 長さの誤り %d (RFC 2911 4.1.3 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+#~ msgstr "\"%s\": 属性名が誤っています - 不正な文字 (RFC 2911 4.1.3 節)。"
+
+#~ msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+#~ msgstr "\"%s\": 真偽値 %d が誤っています (RFC 2911 4.1.11 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": charset の値 \"%s\" が誤っています - 不正な文字 (RFC 2911 4.1.7 "
+#~ "節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": charset の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 "
+#~ "section 4.1.7)."
+
+#~ msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime UTC の時間指定 %u が誤っています (RFC 2911 4.1.14 節)."
+
+#~ msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime UTC の分指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime UTC の符号指定 '%c' が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime の日付指定 %u が誤っています (RFC 2911 4.1.14 節)."
+
+#~ msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime の 0.1 秒の指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": dateTime の時間指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime の分指定が誤っています %u (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": dateTime の月指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": 日時の秒指定 %u が誤っています (RFC 2911 4.1.14 節)。"
+
+#~ msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+#~ msgstr ""
+#~ "\"%s\": enum の値 %d が誤っています - 範囲外の値 (RFC 2911 4.1.4 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": keyword の値 \"%s\" が誤っています -  %d (RFC 2911 section 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+#~ "4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": keyword の値 \"%s\" が誤っています - 不正な文字 (RFC 2911 4.1.3 "
+#~ "節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": mimeMediaType の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 "
+#~ "4.1.9 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": mimeMediaType の値 \"%s\" が誤っています - 長さの誤り %d (RFC "
+#~ "2911 4.1.9 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": name の値 \"%s\" が誤っています - UTF-8 として誤った並び (RFC "
+#~ "2911 4.1.2 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": name の値 \"%s\" が誤っています - 誤った長さ %d (RFC 2911 section "
+#~ "4.1.2)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": naturalLanguage の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 "
+#~ "4.1.8 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": naturalLanguage の値 \"%s\" が誤っています - 誤った長さ %d (RFC "
+#~ "2911 4.1.8 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+#~ msgstr ""
+#~ "\"%s\": octetString 値が誤っています - 誤った長さ %d (RFC 2911 4.1.10 "
+#~ "節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC "
+#~ "2911 section 4.1.13)."
+#~ msgstr ""
+#~ "\"%s\": rangeOfInteger の値 %d-%d が誤っています  - 下限が上限よりも大き"
+#~ "い (RFC 2911 4.1.13 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+#~ "4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": resolution の値 %dx%d%s が誤っています - 単位値の誤り (RFC 2911 "
+#~ "4.1.15 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+#~ "positive (RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": resolution の値 %dx%d%s が誤っています - 主走査解像度が負 (RFC "
+#~ "2911 4.1.15 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive "
+#~ "(RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": resolution の値 %dx%d%s が誤っています - 副走査解像度が負 (RFC "
+#~ "2911 4.1.15 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": text の値 \"%s\" が誤っています - UTF-8 として誤った並び (RFC "
+#~ "2911 4.1.1 節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": text の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 4.1.1 "
+#~ "節)。"
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": uriScheme の値 \"%s\" が誤っています - 誤った文字 (RFC 2911 4.1.6 "
+#~ "節)."
+
 #~ msgid ""
 #~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 4.1.6 節)."
 #~ msgstr ""
 #~ "\"%s\": uriScheme 値 \"%s\" が誤っています - 誤った長さ %d (RFC 2911 "
 #~ "4.1.6 節)."
 
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": uriScheme の値 \"%s\" が誤っています - 不正な長さ %d (RFC 2911 "
+#~ "4.1.6 節)."
+
 #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f バイト"
 
index 04e5f80c99a04ed5515f53b5d25cb7c8e5df59a1..93d6af5074c2dff44f01cda2d72bf890ae86ff2a 100644 (file)
@@ -40,7 +40,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.1.2\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2016-01-31 16:45-0200\n"
 "Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <traducao-cups-pt-br@googlegroups.com>\n"
@@ -1078,8 +1078,9 @@ msgstr "  -D nome=valor           Define a variável \"nome\" com \"valor\"."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Criptografa a conexão."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
-msgstr "  -E                      Testa com HTTP Upgrade para TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
+msgstr ""
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1121,8 +1122,8 @@ msgstr "  -P número[-número]      Corresponde a porta ao número ou faixa."
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R diretório-raiz       Define diretório-raiz alternativo."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Testa com criptografia SSL."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr ""
@@ -1406,213 +1407,167 @@ msgid " PASS"
 msgstr " PASSOU"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
-msgstr "\"%s\": Valor inválido de URI \"%s\" - %s (RFC 2911 seção 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": Valor inválido de URI \"%s\" - comprimento inválido %d (RFC 2911 "
-"seção 4.1.5)."
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Nome de atributo inválido - comprimento inválido %d (RFC 2911 seção "
-"4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Nome de atributo inválido - caractere inválido (RFC 2911 seção "
-"4.1.3)."
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr "\"%s\": Valor booleano inválido %d (RFC 2911 seção 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Valor de conjunto de caracteres inválido \"%s\" - caracteres "
-"inválido (RFC 2911 seção 4.1.7)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Valor de conjunto de caracteres inválido \"%s\" - comprimento "
-"inválido %d (RFC 2911 seção 4.1.7)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Horas de UTC dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Minutos de UTC dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Sinal de UTC dateTime inválido \"%c\" (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Dia de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
 msgstr ""
-"\"%s\": Décimos de segundos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Horas de dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Minutos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Mês de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Segundos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
-"\"%s\": Valor de enum inválido %d - fora da faixa (RFC 2911 seção 4.1.4)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Valor de keyword inválido \"%s\" - comprimento inválido %d (RFC 2911 "
-"seção 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
-"\"%s\": Valor de keyword inválido \"%s\" - caractere inválido (RFC 2911 "
-"seção 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Valor de mimeMediaType inválido \"%s\" - caracteres inválidos (RFC "
-"2911 seção 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Valor de mimeMediaType inválido \"%s\" - comprimento inválido %d "
-"(RFC 2911 seção 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Valor de name inválido \"%s\" - sequência UTF-8 inválida (RFC 2911 "
-"seção 4.1.2)."
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Valor de name inválido \"%s\" - comprimento inválido %d (RFC 2911 "
-"seção 4.1.2)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Valor de naturalLanguage inválido \"%s\" - caracteres inválidos (RFC "
-"2911 seção 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Valor de naturalLanguage inválido \"%s\" - comprimento inválido %d "
-"(RFC 2911 seção 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
-"\"%s\": Valor de octetString inválido - comprimento inválido %d (RFC 2911 "
-"seção 4.1.10)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
-"\"%s\": Valor de rangeOfInteger inválido %d-%d - inferior maior do que o "
-"superior (RFC 2911 seção 4.1.13)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolução inválido %dx%d%s - valor de unidades inválido "
-"(RFC 2911 seção 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolução inválido %dx%d%s - resolução de cross-feed deve "
-"ser positiva (RFC 2911 seção 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Valor de resolução inválido %dx%d%s - resolução de feed deve ser "
-"positiva (RFC 2911 seção 4.1.15)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Valor de texto inválido \"%s\" - sequência UTF-8 inválida (RFC 2911 "
-"seção 4.1.1)."
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Valor de texto inválido \"%s\" - comprimento inválido %d (RFC 2911 "
-"seção 4.1.1)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Valor de uriScheme inválido \"%s\" - caracteres inválidos (RFC 2911 "
-"seção 4.1.6)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Valor de uriScheme inválido \"%s\" - comprimento inválido %d (RFC "
-"2911 seção 4.1.6)."
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
@@ -6959,6 +6914,12 @@ msgstr "variable-bindings usa comprimento indefinido"
 #~ msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 #~ msgstr "  --lf                    Fim de linhas com LF (UNIX/Linux/OS X)."
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr "  -E                      Testa com HTTP Upgrade para TLS."
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Testa com criptografia SSL."
+
 #~ msgid "  -a                      Browse for all services."
 #~ msgstr "  -a                      Navega por todos os serviços."
 
@@ -6976,6 +6937,192 @@ msgstr "variable-bindings usa comprimento indefinido"
 #~ msgid "  -t type                 Browse/resolve with specified type."
 #~ msgstr "  -t tipo                 Navega/resolve com o tipo especificado."
 
+#~ msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+#~ msgstr "\"%s\": Valor inválido de URI \"%s\" - %s (RFC 2911 seção 4.1.5)."
+
+#~ msgid ""
+#~ "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": Valor inválido de URI \"%s\" - comprimento inválido %d (RFC 2911 "
+#~ "seção 4.1.5)."
+
+#~ msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Nome de atributo inválido - comprimento inválido %d (RFC 2911 "
+#~ "seção 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Nome de atributo inválido - caractere inválido (RFC 2911 seção "
+#~ "4.1.3)."
+
+#~ msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+#~ msgstr "\"%s\": Valor booleano inválido %d (RFC 2911 seção 4.1.11)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Valor de conjunto de caracteres inválido \"%s\" - caracteres "
+#~ "inválido (RFC 2911 seção 4.1.7)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Valor de conjunto de caracteres inválido \"%s\" - comprimento "
+#~ "inválido %d (RFC 2911 seção 4.1.7)."
+
+#~ msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Horas de UTC dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Minutos de UTC dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Sinal de UTC dateTime inválido \"%c\" (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Dia de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr ""
+#~ "\"%s\": Décimos de segundos de dateTime inválidos %u (RFC 2911 seção "
+#~ "4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Horas de dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Minutos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Mês de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Segundos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#~ msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+#~ msgstr ""
+#~ "\"%s\": Valor de enum inválido %d - fora da faixa (RFC 2911 seção 4.1.4)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Valor de keyword inválido \"%s\" - comprimento inválido %d (RFC "
+#~ "2911 seção 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+#~ "4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Valor de keyword inválido \"%s\" - caractere inválido (RFC 2911 "
+#~ "seção 4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Valor de mimeMediaType inválido \"%s\" - caracteres inválidos "
+#~ "(RFC 2911 seção 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Valor de mimeMediaType inválido \"%s\" - comprimento inválido %d "
+#~ "(RFC 2911 seção 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Valor de name inválido \"%s\" - sequência UTF-8 inválida (RFC "
+#~ "2911 seção 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Valor de name inválido \"%s\" - comprimento inválido %d (RFC 2911 "
+#~ "seção 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Valor de naturalLanguage inválido \"%s\" - caracteres inválidos "
+#~ "(RFC 2911 seção 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Valor de naturalLanguage inválido \"%s\" - comprimento inválido "
+#~ "%d (RFC 2911 seção 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+#~ msgstr ""
+#~ "\"%s\": Valor de octetString inválido - comprimento inválido %d (RFC 2911 "
+#~ "seção 4.1.10)."
+
+#~ msgid ""
+#~ "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC "
+#~ "2911 section 4.1.13)."
+#~ msgstr ""
+#~ "\"%s\": Valor de rangeOfInteger inválido %d-%d - inferior maior do que o "
+#~ "superior (RFC 2911 seção 4.1.13)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+#~ "4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolução inválido %dx%d%s - valor de unidades inválido "
+#~ "(RFC 2911 seção 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+#~ "positive (RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolução inválido %dx%d%s - resolução de cross-feed "
+#~ "deve ser positiva (RFC 2911 seção 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive "
+#~ "(RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Valor de resolução inválido %dx%d%s - resolução de feed deve ser "
+#~ "positiva (RFC 2911 seção 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Valor de texto inválido \"%s\" - sequência UTF-8 inválida (RFC "
+#~ "2911 seção 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Valor de texto inválido \"%s\" - comprimento inválido %d (RFC "
+#~ "2911 seção 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Valor de uriScheme inválido \"%s\" - caracteres inválidos (RFC "
+#~ "2911 seção 4.1.6)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Valor de uriScheme inválido \"%s\" - comprimento inválido %d (RFC "
+#~ "2911 seção 4.1.6)."
+
 #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 
index 66a6eafd16d208ef082f720e66a9e485c753b6d6..f8f76b79db3b963a0b1a3c3e5403f738ad317074 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-04-05 15:24-0400\n"
+"POT-Creation-Date: 2017-06-15 20:52-0400\n"
 "PO-Revision-Date: 2015-01-28 12:00-0800\n"
 "Last-Translator: Aleksandr Proklov\n"
 "Language-Team: PuppyRus Linux Team\n"
@@ -1018,8 +1018,9 @@ msgstr "  -D name=value           Определение переменной."
 msgid "  -E                      Encrypt the connection."
 msgstr "  -E                      Подключение к серверу шифруется."
 
-msgid "  -E                      Test with HTTP Upgrade to TLS."
-msgstr "  -E                      Проверять что HTTP использует TLS."
+msgid ""
+"  -E                      Test with encryption using HTTP Upgrade to TLS."
+msgstr ""
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1060,8 +1061,8 @@ msgstr ""
 msgid "  -R root-directory       Set alternate root."
 msgstr "  -R root-directory       Задать корневой каталог."
 
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Проверять шифрование SSL."
+msgid "  -S                      Test with encryption using HTTPS."
+msgstr ""
 
 msgid "  -T seconds              Set the browse timeout in seconds."
 msgstr "  -T seconds              Задать время ожидания в секундах."
@@ -1334,211 +1335,167 @@ msgid " PASS"
 msgstr " PASS"
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
-msgstr "\"%s\": Неправильное значение URI \"%s\" - %s (RFC 2911 раздел 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 8011 section 5.1.6)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 8011 section 5.1.6)."
 msgstr ""
-"\"%s\": Неправильное значение URI \"%s\" - ошибка длины %d (RFC 2911 раздел "
-"4.1.5)."
 
 #, c-format
-msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Неправильный атрибут имени - ошибка длины %d (RFC 2911 раздел 4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+"\"%s\": Bad attribute name - invalid character (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Неправильный атрибут имени - недопустимый символ (RFC 2911 раздел "
-"4.1.3)."
 
 #, c-format
-msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr "\"%s\": Неправильное двоичное значение %d (RFC 2911 раздел 4.1.11)."
+msgid "\"%s\": Bad boolen value %d (RFC 8011 section 5.1.21)."
+msgstr ""
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Неправильное символьное значение \"%s\" - недопустимые символы (RFC "
-"2911 раздел 4.1.7)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 8011 section 5.1.8)."
 msgstr ""
-"\"%s\": Неправильное символьное значение \"%s\" - ошибка длины %d (RFC 2911 "
-"раздел 4.1.7)."
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime UTC часов %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime UTC минут %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime UTC sign '%c' (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime дни %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime day %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime миллисекунды %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime часы %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime hours %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime минуты %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime minutes %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime месяц %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime month %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr "\"%s\": Ошибка в dateTime секунды %u (RFC 2911 раздел 4.1.14)."
+msgid "\"%s\": Bad dateTime seconds %u (RFC 8011 section 5.1.15)."
+msgstr ""
 
 #, c-format
-msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgid "\"%s\": Bad enum value %d - out of range (RFC 8011 section 5.1.5)."
 msgstr ""
-"\"%s\": Ошибка в значении %d - за пределами диапазона (RFC 2911 раздел "
-"4.1.4)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 8011 section 5.1.4)."
 msgstr ""
-"\"%s\": Ошибка в значении \"%s\" - неправильная длина %d (RFC 2911 раздел "
-"4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
-"4.1.3)."
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 8011 section "
+"5.1.4)."
 msgstr ""
-"\"%s\": Ошибка в значении \"%s\" - недопустимый символ (RFC 2911 раздел "
-"4.1.3)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Ошибка mimeMediaType значение \"%s\" - недопустимые символы (RFC "
-"2911  раздел 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.9)."
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.10)."
 msgstr ""
-"\"%s\": Ошибка mimeMediaType значение \"%s\" - неправильная длина %d (RFC "
-"2911 раздел 4.1.9)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Неправильное имя \"%s\" - ошибка в UTF-8 (RFC 2911 раздел 4.1.2)."
 
 #, c-format
-msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 8011 section 5.1.3)."
 msgstr ""
-"\"%s\": Неправильное имя \"%s\" - неправильная длина %d (RFC 2911 раздел "
-"4.1.2)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Ошибка naturalLanguage значение \"%s\" - недопустимые символы (RFC "
-"2911 раздел 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
-"4.1.8)."
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 8011 section "
+"5.1.9)."
 msgstr ""
-"\"%s\": Ошибка naturalLanguage значение \"%s\" - неправильная длина %d (RFC "
-"2911 раздел 4.1.8)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+"\"%s\": Bad octetString value - bad length %d (RFC 8011 section 5.1.20)."
 msgstr ""
-"\"%s\": Ошибка значения octetString - неправильная длина %d (RFC 2911 раздел "
-"4.1.10)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
-"section 4.1.13)."
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 8011 "
+"section 5.1.14)."
 msgstr ""
-"\"%s\": Ошибка rangeOfInteger значение %d-%d - первое больше чем второе (RFC "
-"2911 раздел 4.1.13)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
-"4.1.15)."
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 8011 section "
+"5.1.16)."
 msgstr ""
-"\"%s\": Неправильное значение разрешения %dx%d%s - ошибка в значении units "
-"(RFC 2911 раздел 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
-"positive (RFC 2911 section 4.1.15)."
+"positive (RFC 8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Неправильное значение разрешения %dx%d%s - значение cross feed "
-"должно быть положительным (RFC 2911 раздел 4.1.15)."
 
 #, c-format
 msgid ""
 "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
-"2911 section 4.1.15)."
+"8011 section 5.1.16)."
 msgstr ""
-"\"%s\": Неправильное значение разрешения %dx%d%s - значение feed должно быть "
-"положительным (RFC 2911 раздел 4.1.15)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Неправильное текстовое значение \"%s\" - ошибка в UTF-8 (RFC 2911 "
-"раздел 4.1.1)."
 
 #, c-format
-msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 8011 section 5.1.2)."
 msgstr ""
-"\"%s\": Неправильное текстовое значение \"%s\" - ошибка длины %d (RFC 2911 "
-"раздел 4.1.1)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Ошибка uriScheme значение \"%s\" - недопустимые символы (RFC 2911 "
-"раздел 4.1.6)."
 
 #, c-format
 msgid ""
-"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)."
 msgstr ""
-"\"%s\": Ошибка uriScheme значение \"%s\" - ошибка длины %d (RFC 2911 раздел "
-"4.1.6)."
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
@@ -6883,6 +6840,12 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "  --lf                    Строки заканчиваются на LF (UNIX/Linux/Mac OS "
 #~ "X)."
 
+#~ msgid "  -E                      Test with HTTP Upgrade to TLS."
+#~ msgstr "  -E                      Проверять что HTTP использует TLS."
+
+#~ msgid "  -S                      Test with SSL encryption."
+#~ msgstr "  -S                      Проверять шифрование SSL."
+
 #~ msgid "  -a                      Browse for all services."
 #~ msgstr "  -a                      Обзор всех сервисов."
 
@@ -6895,6 +6858,189 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "  -t type                 Browse/resolve with specified type."
 #~ msgstr "  -t type                 Просмотр/определение по указанному типу."
 
+#~ msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное значение URI \"%s\" - %s (RFC 2911 раздел 4.1.5)."
+
+#~ msgid ""
+#~ "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное значение URI \"%s\" - ошибка длины %d (RFC 2911 "
+#~ "раздел 4.1.5)."
+
+#~ msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Неправильный атрибут имени - ошибка длины %d (RFC 2911 раздел "
+#~ "4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Неправильный атрибут имени - недопустимый символ (RFC 2911 раздел "
+#~ "4.1.3)."
+
+#~ msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+#~ msgstr "\"%s\": Неправильное двоичное значение %d (RFC 2911 раздел 4.1.11)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное символьное значение \"%s\" - недопустимые символы "
+#~ "(RFC 2911 раздел 4.1.7)."
+
+#~ msgid ""
+#~ "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное символьное значение \"%s\" - ошибка длины %d (RFC "
+#~ "2911 раздел 4.1.7)."
+
+#~ msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime UTC часов %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime UTC минут %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime UTC sign '%c' (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime дни %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime миллисекунды %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime часы %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime минуты %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime месяц %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+#~ msgstr "\"%s\": Ошибка в dateTime секунды %u (RFC 2911 раздел 4.1.14)."
+
+#~ msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка в значении %d - за пределами диапазона (RFC 2911 раздел "
+#~ "4.1.4)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка в значении \"%s\" - неправильная длина %d (RFC 2911 раздел "
+#~ "4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+#~ "4.1.3)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка в значении \"%s\" - недопустимый символ (RFC 2911 раздел "
+#~ "4.1.3)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка mimeMediaType значение \"%s\" - недопустимые символы (RFC "
+#~ "2911  раздел 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.9)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка mimeMediaType значение \"%s\" - неправильная длина %d (RFC "
+#~ "2911 раздел 4.1.9)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное имя \"%s\" - ошибка в UTF-8 (RFC 2911 раздел 4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное имя \"%s\" - неправильная длина %d (RFC 2911 раздел "
+#~ "4.1.2)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка naturalLanguage значение \"%s\" - недопустимые символы "
+#~ "(RFC 2911 раздел 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 "
+#~ "section 4.1.8)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка naturalLanguage значение \"%s\" - неправильная длина %d "
+#~ "(RFC 2911 раздел 4.1.8)."
+
+#~ msgid ""
+#~ "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка значения octetString - неправильная длина %d (RFC 2911 "
+#~ "раздел 4.1.10)."
+
+#~ msgid ""
+#~ "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC "
+#~ "2911 section 4.1.13)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка rangeOfInteger значение %d-%d - первое больше чем второе "
+#~ "(RFC 2911 раздел 4.1.13)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+#~ "4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное значение разрешения %dx%d%s - ошибка в значении "
+#~ "units (RFC 2911 раздел 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+#~ "positive (RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное значение разрешения %dx%d%s - значение cross feed "
+#~ "должно быть положительным (RFC 2911 раздел 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive "
+#~ "(RFC 2911 section 4.1.15)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное значение разрешения %dx%d%s - значение feed должно "
+#~ "быть положительным (RFC 2911 раздел 4.1.15)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section "
+#~ "4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное текстовое значение \"%s\" - ошибка в UTF-8 (RFC 2911 "
+#~ "раздел 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+#~ msgstr ""
+#~ "\"%s\": Неправильное текстовое значение \"%s\" - ошибка длины %d (RFC "
+#~ "2911 раздел 4.1.1)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка uriScheme значение \"%s\" - недопустимые символы (RFC 2911 "
+#~ "раздел 4.1.6)."
+
+#~ msgid ""
+#~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section "
+#~ "4.1.6)."
+#~ msgstr ""
+#~ "\"%s\": Ошибка uriScheme значение \"%s\" - ошибка длины %d (RFC 2911 "
+#~ "раздел 4.1.6)."
+
 #~ msgid "File Folder "
 #~ msgstr "Каталог файла "
 
index d84fa94cbfb93896e0370f9e0ebd97e1ffc1d4c4..ecc957525405f5ec8a903c0538d893d3e2023f34 100644 (file)
@@ -1,7 +1,7 @@
 .\"
-.\" ipptool man page for CUPS.
+.\" ipptool man page.
 .\"
-.\" Copyright 2010-2015 by Apple Inc.
+.\" Copyright 2010-2017 by Apple Inc.
 .\"
 .\" These coded instructions, statements, and computer programs are the
 .\" property of Apple Inc. and are protected by Federal copyright
@@ -9,7 +9,7 @@
 .\" which should have been included with this file.  If this file is
 .\" file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ipptool 1 "CUPS" "26 August 2015" "Apple Inc."
+.TH ipptool 1 "CUPS" "13 June 2017" "Apple Inc."
 .SH NAME
 ipptool \- perform internet printing protocol requests
 .SH SYNOPSIS
@@ -235,9 +235,8 @@ Send email notifications to "user@example.com" when "myprinter" changes:
 .fi
 .SH SEE ALSO
 .BR ipptoolfile (5),
-CUPS Online Help (http://localhost:631/help),
 IANA IPP Registry (http://www.iana.org/assignments/ipp\-registrations),
 PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp)
-RFC 2911 (http://tools.ietf.org/html/rfc2911),
+RFC 8011 (http://tools.ietf.org/html/rfc8011),
 .SH COPYRIGHT
 Copyright \[co] 2007-2017 by Apple Inc.
index 1f649e5a2a3a666fa01d1bc8d4d46eb0ae1cc4b2..35b050419c9564734e9f2fb179001985184ac340 100644 (file)
@@ -1,7 +1,7 @@
 .\"
-.\" ipptoolfile man page for CUPS.
+.\" ipptoolfile man page.
 .\"
-.\" Copyright 2010-2014 by Apple Inc.
+.\" Copyright 2010-2017 by Apple Inc.
 .\"
 .\" These coded instructions, statements, and computer programs are the
 .\" property of Apple Inc. and are protected by Federal copyright
@@ -9,28 +9,48 @@
 .\" which should have been included with this file.  If this file is
 .\" file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ipptoolfile 5 "CUPS" "4 February 2015" "Apple Inc."
+.TH ipptoolfile 5 "CUPS" "15 June 2017" "Apple Inc."
 .SH NAME
 ipptoolfile \- ipptool file format
 .SH DESCRIPTION
 The
 .BR ipptool (1)
-program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example:
+program accepts free-form plain text files that describe one or more IPP requests.
+Comments start with the "#" character and continue to the end of the line.
+Each request is enclosed by curly braces, for example:
 .nf
 
     # This is a comment
     {
       # The name of the test
-      NAME "Print PostScript File"
+      NAME "Print PDF File"
 
       # The request to send
       OPERATION Print\-Job
+
       GROUP operation\-attributes\-tag
       ATTR charset attributes\-charset utf\-8
       ATTR language attributes\-natural\-language en
       ATTR uri printer\-uri $uri
       ATTR name requesting\-user\-name $user
-      FILE testfile.ps
+      ATTR mimeMediaType document\-format application/pdf
+
+      GROUP job\-attributes\-tag
+      ATTR collection media\-col {
+        # US Letter plain paper from the "main" tray
+        MEMBER collection media\-size {
+          MEMBER integer x\-dimension 21590
+          MEMBER integer y\-dimension 27940
+        }
+        MEMBER integer media\-top\-margin 423
+        MEMBER integer media\-bottom\-margin 423
+        MEMBER integer media\-left\-margin 423
+        MEMBER integer media\-right\-margin 423
+        MEMBER keyword media\-source "main"
+        MEMBER keyword media\-type "stationery"
+      }
+
+      FILE testfile.pdf
 
       # The response to expect
       STATUS successful\-ok
@@ -39,10 +59,11 @@ program accepts free-form plain text files that describe one or more IPP request
     }
     {
       # The name of the test
-      NAME "Get Attributes of PostScript Job"
+      NAME "Wait for Job to Complete"
 
       # The request to send
       OPERATION Get\-Job\-Attributes
+
       GROUP operation\-attributes\-tag
       ATTR charset attributes\-charset utf\-8
       ATTR language attributes\-natural\-language en
@@ -54,8 +75,12 @@ program accepts free-form plain text files that describe one or more IPP request
       STATUS successful\-ok
       EXPECT job\-id OF\-TYPE integer WITH\-VALUE $job\-id
       EXPECT job\-uri OF\-TYPE uri
-      EXPECT job\-state OF\-TYPE enum WITH\-VALUE 3,4,5,6,7,8,9
+      EXPECT job\-state OF\-TYPE enum WITH\-VALUE >5 REPEAT\-NO\-MATCH
       EXPECT job\-originating\-user\-name OF\-TYPE name WITH\-VALUE "$user"
+
+      # Show the job state until completed...
+      DISPLAY job-state
+      DISPLAY job-state-reasons
     }
 .fi
 .SS TOP-LEVEL DIRECTIVES
@@ -139,11 +164,18 @@ Specifies the default IPP version number to use for the tests that follow.
 .SS TEST DIRECTIVES
 The following directives are understood within a \fItest\fR:
 .TP 5
+\fBATTR \fIout-of-band-tag attribute-name\fR
+.TP 5
 \fBATTR \fItag attribute-name value(s)\fR
-Adds an attribute to the test request. Values are separated by the comma (",") character - escape commas using the "\" character. Common attributes and values are listed in the IANA IPP registry - see references below.
+Adds an attribute to the test request.
+Out-of-band tags (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) have no value.
+Values for other tags are separated by the comma (",") character - escape commas using the "\" character.
+Common attributes and values are listed in the IANA IPP registry - see references below.
 .TP 5
 \fBATTR collection \fIattribute-name \fB{ MEMBER \fItag member-name value(s) ... \fB}\fR [ \fI... \fB,{ \fI... \fB} \fR]
-Adds a collection attribute to the test request. Member attributes follow the same syntax as regular attributes and can themselves be nested collections. Multiple collection values can be supplied as needed, separated by commas.
+Adds a collection attribute to the test request.
+Member attributes follow the same syntax as regular attributes and can themselves be nested collections.
+Multiple collection values can be supplied as needed, separated by commas.
 .TP 5
 \fBCOMPRESSION deflate\fR
 .TP 5
@@ -152,8 +184,9 @@ Adds a collection attribute to the test request. Member attributes follow the sa
 \fBCOMPRESSION none\fR
 Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request.
 .TP 5
-\fBDELAY \fIseconds\fR
-Specifies a delay before this test will be run.
+\fBDELAY \fIseconds\fR[\fI,repeat-seconds\fR]
+Specifies a delay in seconds before this test will be run.
+If two values are specified, the second value is used as the delay between repeated tests.
 .TP 5
 \fBDISPLAY \fIattribute-name\fR
 Specifies that value of the named attribute should be output as part of the
@@ -376,7 +409,7 @@ Specifies the maximum number of times to repeat. The default value is 1000.
 \fBREPEAT\-NO\-MATCH\fR
 Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive.
 .SS OPERATION CODES
-Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 2911 and other IPP extension specifications. Here is a complete list of names supported by
+Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of names supported by
 .BR ipptool (8):
 .nf
 
@@ -449,7 +482,7 @@ Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RF
     Validate\-Job
 .fi
 .SS STATUS CODES
-Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 2911 and other IPP extension specifications. Here is a complete list of the names supported by
+Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of the names supported by
 .BR ipptool (8):
 .nf
 
@@ -512,7 +545,7 @@ Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 2
     successful\-ok\-too\-many\-events
 .fi
 .SS TAGS
-Value and group tags correspond to the names from RFC 2911 and other IPP extension specifications. Here are the group tags:
+Value and group tags correspond to the names from RFC 8011 and other IPP extension specifications. Here are the group tags:
 .nf
 
     document\-attributes\-tag
@@ -612,9 +645,8 @@ if any.
 Inserts the current user's login name.
 .SH SEE ALSO
 .BR ipptool (1),
-CUPS Online Help (http://localhost:631/help),
 IANA IPP Registry (http://www.iana.org/assignments/ipp-registrations),
 PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp),
-RFC 2911 (http://tools.ietf.org/html/rfc3911)
+RFC 8011 (http://tools.ietf.org/html/rfc8011)
 .SH COPYRIGHT
 Copyright \[co] 2007-2017 by Apple Inc.
index 55713006b68585a596f82081902f229805e54f11..b1afb964712b57669ef81b1709dab902d9f04df9 100644 (file)
@@ -26,8 +26,8 @@
 %{!?_with_dbus: %define _dbus --disable-dbus}
 
 %{!?_with_dnssd: %{!?_without_dnssd: %define _with_dnssd --with-dnssd}}
-%{?_with_dnssd: %define _dnssd --enable-dnssd}
-%{!?_with_dnssd: %define _dnssd --disable-dnssd}
+%{?_with_dnssd: %define _dnssd --enable-avahi}
+%{!?_with_dnssd: %define _dnssd --disable-avahi}
 
 %{!?_with_libusb1: %{!?_without_libusb1: %define _with_libusb1 --with-libusb1}}
 %{?_with_libusb1: %define _libusb1 --enable-libusb}
@@ -116,7 +116,7 @@ This package provides LPD client support.
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
-    ./configure %{_dbus} %{_dnssd} %{_libusb1} %{_static}
+    ./configure %{_dbus} %{_dnssd} %{_libusb1} %{_static} %{_systemd}
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -128,6 +128,15 @@ make BUILDROOT=$RPM_BUILD_ROOT install
 rm -rf $RPM_BUILD_ROOT/usr/share/cups/banners $RPM_BUILD_ROOT/usr/share/cups/data
 
 %post
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+/bin/systemctl enable org.cups.cupsd.service
+
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl start org.cups.cupsd.service
+fi
+
+%else
 /sbin/chkconfig --add cups
 /sbin/chkconfig cups on
 
@@ -136,21 +145,38 @@ if test $1 -gt 1; then
        /sbin/service cups stop
        /sbin/service cups start
 fi
+%endif
 
 %post libs
 /sbin/ldconfig
 
 %preun
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl disable org.cups.cupsd.service
+fi
+
+%else
 if test $1 = 0; then
        /sbin/service cups stop
        /sbin/chkconfig --del cups
 fi
+%endif
 
 %postun
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl start org.cups.cupsd.service
+fi
+
+%else
 if test $1 -ge 1; then
        /sbin/service cups stop
        /sbin/service cups start
 fi
+%endif
 
 %postun libs
 /sbin/ldconfig
@@ -194,13 +220,13 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/cancel
 /usr/bin/cupstestdsc
 /usr/bin/cupstestppd
-/usr/bin/ippfind
 /usr/bin/ipptool
 /usr/bin/lp*
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
 %if %{?_with_dnssd:1}%{!?_with_dnssd:0}
 # DNS-SD
+/usr/bin/ippfind
 /usr/lib/cups/backend/dnssd
 %endif
 /usr/lib/cups/backend/http
@@ -306,7 +332,10 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/man/man1/cups.1.gz
 /usr/share/man/man1/cupstestdsc.1.gz
 /usr/share/man/man1/cupstestppd.1.gz
+%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+# DNS-SD
 /usr/share/man/man1/ippfind.1.gz
+%endif
 /usr/share/man/man1/ipptool.1.gz
 /usr/share/man/man1/lp.1.gz
 /usr/share/man/man1/lpoptions.1.gz
index 8d2ea49171fcd8d6c3dc538bec0f5933a1bddf08..5d5e6f8944cc10e24c8ee487102e0e9faf93a8bb 100644 (file)
@@ -29,7 +29,7 @@
 #  include <inttypes.h>
 #endif /* HAVE_INTTYPES_H */
 #ifdef __APPLE__
-#  include <vproc.h>
+#  include <xpc/xpc.h>
 #endif /* __APPLE__ */
 
 
@@ -97,8 +97,10 @@ main(int  argc,                              /* I - Number of command-line arguments */
                hostip[256],            /* IP address */
                *hostfamily;            /* Address family */
   int          hostlookups;            /* Do hostname lookups? */
+
+
 #ifdef __APPLE__
-  vproc_transaction_t vtran = vproc_transaction_begin(NULL);
+  xpc_transaction_begin();
 #endif /* __APPLE__ */
 
 
@@ -217,7 +219,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     putchar(1);
 
 #ifdef __APPLE__
-    vproc_transaction_end(NULL, vtran);
+    xpc_transaction_end();
 #endif /* __APPLE__ */
 
     return (1);
@@ -313,7 +315,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   closelog();
 
 #ifdef __APPLE__
-  vproc_transaction_end(NULL, vtran);
+  xpc_transaction_end();
 #endif /* __APPLE__ */
 
   return (status);
index 1c81c5504d0dfd08e3adfaaee3baaa5bf1031526..dca09626a07886324d34d50bb3c99b3956dd133b 100644 (file)
@@ -4999,31 +4999,6 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
 
       p->type |= CUPS_PRINTER_REMOTE;
 
-     /*
-      * Point the printer-uri-supported attribute to the
-      * remote printer...
-      */
-
-      if (strchr(p->device_uri, '?'))
-      {
-       /*
-       * Strip trailing "?options" from URI...
-       */
-
-       char    resource[HTTP_MAX_URI], /* New URI */
-               *ptr;                   /* Pointer into URI */
-
-       strlcpy(resource, p->device_uri, sizeof(resource));
-       if ((ptr = strchr(resource, '?')) != NULL)
-         *ptr = '\0';
-
-       ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI,
-                    "printer-uri-supported", NULL, resource);
-      }
-      else
-       ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI,
-                    "printer-uri-supported", NULL, p->device_uri);
-
      /*
       * Then set the make-and-model accordingly...
       */
index 27e8010f8f9440752d3188f839f45309750b038a..584b82e8c9b65ef06e2301c4fc1b3c6f79aba853 100644 (file)
@@ -125,6 +125,7 @@ cupsdCreateProfile(int job_id,              /* I - Job ID or 0 for none */
   if (LogLevel >= CUPSD_LOG_DEBUG)
     cupsFilePuts(fp, "(debug deny)\n");
   cupsFilePuts(fp, "(import \"system.sb\")\n");
+  cupsFilePuts(fp, "(import \"com.apple.corefoundation.sb\")\n");
   cupsFilePuts(fp, "(system-network)\n");
   cupsFilePuts(fp, "(allow mach-per-user-lookup)\n");
   cupsFilePuts(fp, "(allow ipc-posix-sem)\n");
index 1a46c30694bf2e7d1a6bff4fbf67a3a13c26090d..8b43975d6a5ad1e51cbc0671ae5553302d74f4ce 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "cupsd.h"
 #ifdef __APPLE__
-#  include <vproc.h>
+#  include <xpc/xpc.h>
 #  include <IOKit/pwr_mgt/IOPMLib.h>
 #endif /* __APPLE__ */
 
@@ -129,7 +129,7 @@ cupsdSetBusyState(void)
     "Active clients, printing jobs, and dirty files"
   };
 #ifdef __APPLE__
-  static vproc_transaction_t vtran = 0;        /* Current busy transaction */
+  static int tran = 0; /* Current busy transaction */
   static IOPMAssertionID keep_awake = 0;/* Keep the system awake while printing */
 #endif /* __APPLE__ */
 
@@ -172,12 +172,15 @@ cupsdSetBusyState(void)
     busy = newbusy;
 
 #ifdef __APPLE__
-    if (busy && !vtran)
-      vtran = vproc_transaction_begin(NULL);
-    else if (!busy && vtran)
+    if (busy && !tran)
     {
-      vproc_transaction_end(NULL, vtran);
-      vtran = 0;
+      xpc_transaction_begin();
+      tran = 1;
+    }
+    else if (!busy && tran)
+    {
+      xpc_transaction_end();
+      tran = 0;
     }
 #endif /* __APPLE__ */
   }
@@ -350,7 +353,7 @@ cupsdStartSystemMonitor(void)
 
   pthread_mutex_init(&SysEventThreadMutex, NULL);
   pthread_cond_init(&SysEventThreadCond, NULL);
-  pthread_create(&SysEventThread, NULL, (void *(*)())sysEventThreadEntry, NULL);
+  pthread_create(&SysEventThread, NULL, (void *(*)(void *))sysEventThreadEntry, NULL);
 
  /*
   * Monitor for power source changes via dispatch queue...
index dbce718658be6094d252f76e18e894500dc50f14..9344c51eedc6d10c4fc2a3fa10c81986fcdb571c 100644 (file)
@@ -923,7 +923,7 @@ main(int  argc,                             /* I - Number of command-line args */
        int     junkint;                        /* Temp integer */
 
 
-        if (sscanf(attr->value, "(%[^)])%d", junkstr, &junkint) != 2)
+        if (sscanf(attr->value, "(%254[^)\n])%d", junkstr, &junkint) != 2)
        {
          if (verbose >= 0)
          {
index 901cbefcb84953d6daebaf1c658b79f605fa579f..cda457173c5a843d1f5b34155add6825197e7efe 100644 (file)
@@ -255,7 +255,18 @@ main(int  argc,                            /* I - Number of command-line arguments */
                     fputs(dest->name, stdout);
 
                   if (long_status)
-                    printf(" %s\n", cupsGetOption("device-uri", dest->num_options, dest->options));
+                  {
+                    const char *printer_uri_supported = cupsGetOption("printer-uri-supported", dest->num_options, dest->options);
+                    const char *printer_is_temporary = cupsGetOption("printer-is-temporary", dest->num_options, dest->options);
+                    const char *type = "network";
+
+                    if (printer_is_temporary && !strcmp(printer_is_temporary, "true"))
+                      type = "temporary";
+                    else if (printer_uri_supported)
+                      type = "permanent";
+
+                    printf(" %s %s %s\n", type, printer_uri_supported ? printer_uri_supported : "none", cupsGetOption("device-uri", dest->num_options, dest->options));
+                  }
                   else
                     putchar('\n');
                 }
index 5092dbe98ea0698636727fd9353d79d91e257ed9..6dbd44a009aee055fe8075b63f4ac0609598ea73 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Test the lpstat command.
 #
-# Copyright 2007-2011 by Apple Inc.
+# Copyright 2007-2017 by Apple Inc.
 # Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 # file is missing or damaged, see the license at "http://www.cups.org/".
 #
 
-echo "LPSTAT Test"
+echo "LPSTAT Basic Test"
 echo ""
 echo "    lpstat -t"
 $VALGRIND ../systemv/lpstat -t 2>&1
@@ -24,7 +24,22 @@ else
 fi
 echo ""
 
-echo "LPSTAT Test"
+echo "LPSTAT Enumeration Test"
+echo ""
+echo "    lpstat -e"
+printers="`$VALGRIND ../systemv/lpstat -e 2>&1`"
+if test $? != 0 -o "x$printers" = x; then
+       echo "    FAILED"
+       exit 1
+else
+       for printer in $printers; do
+               echo $printer
+       done
+       echo "    PASSED"
+fi
+echo ""
+
+echo "LPSTAT Get Host Test"
 echo ""
 echo "    lpstat -H"
 server="`$VALGRIND ../systemv/lpstat -H 2>&1`"
index ffb4ae92f43f82bc5e18831d6c1456f60c43c0cc..f7d8b82ba74a65ff0a197e9a3439d7241b08433b 100644 (file)
@@ -1,16 +1,14 @@
 #
-# "$Id$"
+# IPP/1.1 test suite.
 #
-#   IPP/1.1 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
-#   Copyright 2007-2015 by Apple Inc.
-#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
 # Usage:
 #
@@ -30,9 +28,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test that a request-id value of 0 is not accepted.
 #
-# Required by: RFC 2911 section 3.1.1
+# Required by: RFC 8011 section 4.1.1
 {
-       NAME "RFC 2911 section 3.1.1: Bad request-id value 0"
+       NAME "RFC 8011 section 4.1.1: Bad request-id value 0"
        REQUEST-ID 0
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
@@ -48,9 +46,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 # Test that the first two attributes must be attributes-charset and
 # attributes-natural-language.
 #
-# Required by: RFC 2911 section 3.1.4
+# Required by: RFC 8011 section 4.1.4
 {
-       NAME "RFC 2911 section 3.1.4: No Operation Attributes"
+       NAME "RFC 8011 section 4.1.4: No Operation Attributes"
        REQUEST-ID random
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
@@ -59,7 +57,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT !printer-uri-supported
 }
 {
-       NAME "RFC 2911 section 3.1.4: attributes-charset"
+       NAME "RFC 8011 section 4.1.4: attributes-charset"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -69,7 +67,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT !printer-uri-supported
 }
 {
-       NAME "RFC 2911 section 3.1.4: attributes-natural-language"
+       NAME "RFC 8011 section 4.1.4: attributes-natural-language"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR naturalLanguage attributes-natural-language en
@@ -79,7 +77,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT !printer-uri-supported
 }
 {
-       NAME "RFC 2911 section 3.1.4: attributes-natural-language + attributes-charset"
+       NAME "RFC 8011 section 4.1.4: attributes-natural-language + attributes-charset"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR naturalLanguage attributes-natural-language en
@@ -90,7 +88,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT !printer-uri-supported
 }
 {
-       NAME "RFC 2911 section 3.1.4: attributes-charset + attributes-natural-language"
+       NAME "RFC 8011 section 4.1.4: attributes-charset + attributes-natural-language"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -104,10 +102,10 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test that bad IPP versions are not supported.
 #
-# Required by: RFC 2911 section 3.1.8
+# Required by: RFC 8011 section 4.1.8
 {
        # The name of the test...
-       NAME "RFC 2911 section 3.1.8: Unsupported IPP version 0.0"
+       NAME "RFC 8011 section 4.1.8: Unsupported IPP version 0.0"
        VERSION 0.0
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
@@ -122,9 +120,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test that printer operations require the printer-uri operation attribute.
 #
-# Required by: RFC 2911 section 3.2
+# Required by: RFC 8011 section 4.2
 {
-       NAME "RFC 2911 section 3.2: No printer-uri operation attribute"
+       NAME "RFC 8011 section 4.2: No printer-uri operation attribute"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -137,9 +135,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Print-Job operation
 #
-# Required by: RFC 2911 section 3.2.1
+# Required by: RFC 8011 section 4.2.1
 {
-       NAME "RFC 2911 section 3.2.1: Print-Job Operation"
+       NAME "RFC 8011 section 4.2.1: Print-Job Operation"
        OPERATION Print-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -172,9 +170,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Validate-Job operation
 #
-# Required by: RFC 2911 section 3.2.3
+# Required by: RFC 8011 section 4.2.3
 {
-       NAME "RFC 2911 section 3.2.3: Validate-Job Operation"
+       NAME "RFC 8011 section 4.2.3: Validate-Job Operation"
        OPERATION Validate-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -193,9 +191,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Printer-Attributes operation
 #
-# Required by: RFC 2911 section 3.2.5
+# Required by: RFC 8011 section 4.2.5
 {
-       NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (default)"
+       NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (default)"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -337,9 +335,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Printer-Attributes operation with requested-attributes
 #
-# Required by: RFC 2911 section 3.2.5
+# Required by: RFC 8011 section 4.2.5
 {
-       NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (requested-attributes)"
+       NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (requested-attributes)"
        OPERATION Get-Printer-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -358,9 +356,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (default)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (default)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -415,11 +413,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
        SKIP-IF-DEFINED PRINT_JOB_COMPLETED
 
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (requested-attributes)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (requested-attributes)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -450,12 +448,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
 
        EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
        EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
@@ -475,11 +473,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
        SKIP-IF-DEFINED PRINT_JOB_COMPLETED
 
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -535,7 +533,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
        SKIP-IF-DEFINED PRINT_JOB_COMPLETED
 
@@ -543,7 +541,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        # use the authenticated username over the requesting-user-name value.
        SKIP-IF-DEFINED uriuser
 
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs different user)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs different user)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -599,11 +597,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
        SKIP-IF-DEFINED PRINT_JOB_COMPLETED
 
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=not-completed)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=not-completed)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -678,9 +676,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=completed)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=completed)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -736,11 +734,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Jobs operation
 #
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
 {
        SKIP-IF-DEFINED PRINT_JOB_COMPLETED
 
-       NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs, requested-attributes)"
+       NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs, requested-attributes)"
        OPERATION Get-Jobs
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -772,12 +770,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
 
        EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
        EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
@@ -797,9 +795,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Cancel-Job operation
 #
-# Required by: RFC 2911 section 3.3.3
+# Required by: RFC 8011 section 4.3.3
 {
-       NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (completed job)"
+       NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (completed job)"
        OPERATION Cancel-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -814,9 +812,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Print-Job operation
 #
-# Required by: RFC 2911 section 3.2.1
+# Required by: RFC 8011 section 4.2.1
 {
-       NAME "RFC 2911 section 3.2.1: Print-Job Operation"
+       NAME "RFC 8011 section 4.2.1: Print-Job Operation"
        OPERATION Print-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -849,9 +847,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Cancel-Job operation
 #
-# Required by: RFC 2911 section 3.3.3
+# Required by: RFC 8011 section 4.3.3
 {
-       NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (pending/processing job)"
+       NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (pending/processing job)"
        OPERATION Cancel-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -867,9 +865,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Get-Job-Attributes operation
 #
-# Required by: RFC 2911 section 3.3.4
+# Required by: RFC 8011 section 4.3.4
 {
-       NAME "RFC 2911 section 3.3.4: Get-Job-Attributes Operation"
+       NAME "RFC 8011 section 4.3.4: Get-Job-Attributes Operation"
        OPERATION Get-Job-Attributes
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -900,12 +898,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
        EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+       EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
 
        EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
        EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
@@ -925,12 +923,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Print-URI operation
 #
-# Defined by: RFC 2911 section 3.2.2
+# Defined by: RFC 8011 section 4.2.2
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
        SKIP-IF-NOT-DEFINED document-uri
 
-       NAME "RFC 2911 section 3.2.2: Print-URI Operation"
+       NAME "RFC 8011 section 4.2.2: Print-URI Operation"
        OPERATION Print-URI
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -961,7 +959,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Print-URI operation with bad document-uri
 #
-# Defined by: RFC 2911 section 3.2.2
+# Defined by: RFC 8011 section 4.2.2
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
        SKIP-IF-NOT-DEFINED document-uri
@@ -991,12 +989,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Create-Job and Send-Document operations
 #
-# Defined by: RFC 2911 section 3.2.4 and 3.3.1
+# Defined by: RFC 8011 section 4.2.4 and 4.3.1
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
 
-       NAME "RFC 2911 section 3.2.4: Create-Job Operation"
+       NAME "RFC 8011 section 4.2.4: Create-Job Operation"
        OPERATION Create-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -1024,7 +1022,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
        SKIP-PREVIOUS-ERROR yes
 
-       NAME "RFC 2911 section 3.3.1: Send-Document Operation"
+       NAME "RFC 8011 section 4.3.1: Send-Document Operation"
        OPERATION Send-Document
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -1045,7 +1043,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Create-Job and Send-Document operations (no last-document)
 #
-# Defined by: RFC 2911 section 3.2.4 and 3.3.1
+# Defined by: RFC 8011 section 4.2.4 and 4.3.1
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
@@ -1099,7 +1097,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
        SKIP-PREVIOUS-ERROR yes
 
-       NAME "RFC 2911 section 3.3.3: Cancel-Job Operation"
+       NAME "RFC 8011 section 4.3.3: Cancel-Job Operation"
        OPERATION Cancel-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -1114,13 +1112,13 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Create-Job and Send-URI operations
 #
-# Defined by: RFC 2911 section 3.2.4 and 3.3.2
+# Defined by: RFC 8011 section 4.2.4 and 4.3.2
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
        SKIP-IF-NOT-DEFINED document-uri
 
-       NAME "RFC 2911 section 3.2.4: Create-Job Operation"
+       NAME "RFC 8011 section 4.2.4: Create-Job Operation"
        OPERATION Create-Job
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -1149,7 +1147,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        SKIP-IF-NOT-DEFINED document-uri
        SKIP-PREVIOUS-ERROR yes
 
-       NAME "RFC 2911 section 3.3.2: Send-URI Operation"
+       NAME "RFC 8011 section 4.3.2: Send-URI Operation"
        OPERATION Send-URI
        GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
@@ -1169,7 +1167,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test Create-Job and Send-URI operations (bad URI)
 #
-# Defined by: RFC 2911 section 3.2.4 and 3.3.2
+# Defined by: RFC 8011 section 4.2.4 and 4.3.2
 {
        SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
        SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
@@ -2343,8 +2341,3 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        STATUS successful-ok
        STATUS client-error-not-possible
 }
-
-
-#
-# End of "$Id$".
-#
index 0ee0e94e3e9f24af2534154af06ffc8f8cfef2b3..28ab4be3492a01e8d0a6c1054cb31f1febedc7e9 100644 (file)
@@ -1,16 +1,14 @@
 #
-# "$Id$"
+# IPP/2.0 test suite.
 #
-#   IPP/2.0 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
-#   Copyright 2007-2012 by Apple Inc.
-#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
 # Usage:
 #
@@ -19,7 +17,7 @@
 
 # Do all of the IPP/1.1 tests as an IPP/2.0 client
 #
-# Required by: PWG 5100.12 section 4.3
+# Required by: PWG 5100.12 section 4.1
 INCLUDE "ipp-1.1.test"
 
 
@@ -108,8 +106,3 @@ DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_
        EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
        EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
 }
-
-
-#
-# End of "$Id$".
-#
index e8ddae4d11ad2d10c50170c02f1f138360808022..52655564582938e273086163bd703ff8f0d1ff45 100644 (file)
@@ -1,16 +1,14 @@
 #
-# "$Id$"
+# IPP/2.1 test suite.
 #
-#   IPP/2.1 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
 # Usage:
 #
@@ -89,8 +87,3 @@ INCLUDE "ipp-2.0.test"
        EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
        EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
 }
-
-
-#
-# End of "$Id$".
-#
index 3042ec2474ead08d0fe4cf8349152066d13af7c6..a8cbc195378da308a83d41cfe0796393377fabd1 100644 (file)
@@ -1,16 +1,14 @@
 #
-# "$Id$"
+# IPP/2.2 test suite.
 #
-#   IPP/2.2 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
 # Usage:
 #
@@ -79,8 +77,3 @@ INCLUDE "ipp-2.1.test"
        EXPECT operations-supported WITH-VALUE 0x003A # Resubmit-Job
        EXPECT operations-supported WITH-VALUE 0x003B # Close-Job
 }
-
-
-#
-# End of "$Id$".
-#
index d1e5b2ce37406a17d2e2cbb4eafdf78da242bb2f..a1c8f0025edfe5607fc3b24a6fd972c1eac3070b 100644 (file)
@@ -1,16 +1,14 @@
 #
-# "$Id$"
+# IPP Everywhere test suite.
 #
-#   IPP Everywhere test suite.
+# Copyright 2007-2013 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
-#   Copyright 2007-2013 by Apple Inc.
-#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
 # Usage:
 #
@@ -9682,8 +9680,3 @@ INCLUDE "ipp-2.0.test"
        STATUS successful-ok
        STATUS server-error-busy REPEAT-MATCH
 }
-
-
-#
-# End of "$Id$".
-#
index 0cca65a05b15c887dbf3fb70f199644028dd789d..e93763dbe83d0ea0266a55d49eecfc22ecaa6c0b 100644 (file)
@@ -5007,7 +5007,6 @@ load_attributes(const char *filename,     /* I - File to load */
                break;
 
              ippSetCollection(attrs, &attrptr, ippGetCount(attrptr), col);
-             lastcol = attrptr;
            }
            while (!strcmp(token, "{"));
            break;
@@ -7015,7 +7014,7 @@ valid_doc_attributes(
     attr = ippAddString(client->request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format", NULL, format);
   }
 
-  if (!strcmp(format, "application/octet-stream") && (ippGetOperation(client->request) == IPP_OP_PRINT_JOB || ippGetOperation(client->request) == IPP_OP_SEND_DOCUMENT))
+  if (format && !strcmp(format, "application/octet-stream") && (ippGetOperation(client->request) == IPP_OP_PRINT_JOB || ippGetOperation(client->request) == IPP_OP_SEND_DOCUMENT))
   {
    /*
     * Auto-type the file using the first 8 bytes of the file...
index 5e61a48c10def0c72dd77c1eb8c41a0284a31261..55b9b9796c0ca6acdb5fbfed334040c14bcc8972 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ipptool command for CUPS.
  *
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -152,33 +152,34 @@ static int        PasswordTries = 0;      /* Number of tries with password */
  */
 
 static void    add_stringf(cups_array_t *a, const char *s, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
+static int      compare_uris(const char *a, const char *b);
 static int     compare_vars(_cups_var_t *a, _cups_var_t *b);
-static int     do_tests(FILE *outfile, _cups_vars_t *vars, const char *testfile);
+static int     do_tests(cups_file_t *outfile, _cups_vars_t *vars, const char *testfile);
 static void    expand_variables(_cups_vars_t *vars, char *dst, const char *src, size_t dstsize) __attribute__((nonnull(1,2,3)));
 static int      expect_matches(_cups_expect_t *expect, ipp_tag_t value_tag);
-static ipp_t   *get_collection(FILE *outfile, _cups_vars_t *vars, FILE *fp, int *linenum);
+static ipp_t   *get_collection(cups_file_t *outfile, _cups_vars_t *vars, cups_file_t *fp, int *linenum);
 static char    *get_filename(const char *testfile, char *dst, const char *src, size_t dstsize);
 static const char *get_string(ipp_attribute_t *attr, int element, int flags, char *buffer, size_t bufsize);
-static char    *get_token(FILE *fp, char *buf, int buflen, int *linenum);
+static char    *get_token(cups_file_t *fp, char *buf, int buflen, int *linenum);
 static char    *get_variable(_cups_vars_t *vars, const char *name);
 static char    *iso_date(ipp_uchar_t *date);
 static const char *password_cb(const char *prompt);
 static void    pause_message(const char *message);
-static void    print_attr(FILE *outfile, int format, ipp_attribute_t *attr, ipp_tag_t *group);
-static void    print_csv(FILE *outfile, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
-static void    print_fatal_error(FILE *outfile, const char *s, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
-static void    print_line(FILE *outfile, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
-static void    print_xml_header(FILE *outfile);
-static void    print_xml_string(FILE *outfile, const char *element, const char *s);
-static void    print_xml_trailer(FILE *outfile, int success, const char *message);
-static void    set_variable(FILE *outfile, _cups_vars_t *vars, const char *name, const char *value);
+static void    print_attr(cups_file_t *outfile, int format, ipp_attribute_t *attr, ipp_tag_t *group);
+static void    print_csv(cups_file_t *outfile, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
+static void    print_fatal_error(cups_file_t *outfile, const char *s, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
+static void    print_line(cups_file_t *outfile, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
+static void    print_xml_header(cups_file_t *outfile);
+static void    print_xml_string(cups_file_t *outfile, const char *element, const char *s);
+static void    print_xml_trailer(cups_file_t *outfile, int success, const char *message);
+static void    set_variable(cups_file_t *outfile, _cups_vars_t *vars, const char *name, const char *value);
 #ifndef WIN32
 static void    sigterm_handler(int sig);
 #endif /* WIN32 */
 static int     timeout_cb(http_t *http, void *user_data);
 static void    usage(void) __attribute__((noreturn));
-static int     validate_attr(FILE *outfile, cups_array_t *errors, ipp_attribute_t *attr);
-static int      with_value(FILE *outfile, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
+static int     validate_attr(cups_file_t *outfile, cups_array_t *errors, ipp_attribute_t *attr);
+static int      with_value(cups_file_t *outfile, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
 static int      with_value_from(cups_array_t *errors, ipp_attribute_t *fromattr, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
 
 
@@ -192,8 +193,8 @@ main(int  argc,                             /* I - Number of command-line args */
 {
   int                  i;              /* Looping var */
   int                  status;         /* Status of tests... */
-  FILE                 *outfile = stdout;
-                                       /* Output file */
+  cups_file_t          *outfile = cupsFileStdout();
+                                        /* Output file */
   char                 *opt,           /* Current option */
                        name[1024],     /* Name/value buffer */
                        *value,         /* Pointer to value */
@@ -301,10 +302,10 @@ main(int  argc,                           /* I - Number of command-line args */
                usage();
               }
 
-              if (outfile != stdout)
+              if (outfile != cupsFileStdout())
                 usage();
 
-              if ((outfile = fopen(argv[i], "w")) == NULL)
+              if ((outfile = cupsFileOpen(argv[i], "w")) == NULL)
               {
                 _cupsLangPrintf(stderr, _("%s: Unable to open \"%s\": %s"), "ipptool", argv[i], strerror(errno));
                 exit(1);
@@ -696,12 +697,12 @@ main(int  argc,                           /* I - Number of command-line args */
     * Show a summary report if there were multiple tests...
     */
 
-    printf("\nSummary: %d tests, %d passed, %d failed, %d skipped\n"
-           "Score: %d%%\n", TestCount, PassCount, FailCount, SkipCount,
-           100 * (PassCount + SkipCount) / TestCount);
+    cupsFilePrintf(cupsFileStdout(), "\nSummary: %d tests, %d passed, %d failed, %d skipped\nScore: %d%%\n", TestCount, PassCount, FailCount, SkipCount, 100 * (PassCount + SkipCount) / TestCount);
   }
 
- /*
+  cupsFileClose(outfile);
+
+/*
   * Exit...
   */
 
@@ -745,6 +746,71 @@ add_stringf(cups_array_t *a,               /* I - Array */
 }
 
 
+/*
+ * 'compare_uris()' - Compare two URIs...
+ */
+
+static int                              /* O - Result of comparison */
+compare_uris(const char *a,             /* I - First URI */
+             const char *b)             /* I - Second URI */
+{
+  char  ascheme[32],                    /* Components of first URI */
+        auserpass[256],
+        ahost[256],
+        aresource[256];
+  int   aport;
+  char  bscheme[32],                    /* Components of second URI */
+        buserpass[256],
+        bhost[256],
+        bresource[256];
+  int   bport;
+  char  *ptr;                           /* Pointer into string */
+  int   result;                         /* Result of comparison */
+
+
+ /*
+  * Separate the URIs into their components...
+  */
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, a, ascheme, sizeof(ascheme), auserpass, sizeof(auserpass), ahost, sizeof(ahost), &aport, aresource, sizeof(aresource)) < HTTP_URI_STATUS_OK)
+    return (-1);
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, b, bscheme, sizeof(bscheme), buserpass, sizeof(buserpass), bhost, sizeof(bhost), &bport, bresource, sizeof(bresource)) < HTTP_URI_STATUS_OK)
+    return (-1);
+
+ /*
+  * Strip trailing dots from the host components, if present...
+  */
+
+  if ((ptr = ahost + strlen(ahost) - 1) > ahost && *ptr == '.')
+    *ptr = '\0';
+
+  if ((ptr = bhost + strlen(bhost) - 1) > bhost && *ptr == '.')
+    *ptr = '\0';
+
+ /*
+  * Compare each component...
+  */
+
+  if ((result = _cups_strcasecmp(ascheme, bscheme)) != 0)
+    return (result);
+
+  if ((result = strcmp(auserpass, buserpass)) != 0)
+    return (result);
+
+  if ((result = _cups_strcasecmp(ahost, bhost)) != 0)
+    return (result);
+
+  if (aport != bport)
+    return (aport - bport);
+
+  if (!_cups_strcasecmp(ascheme, "mailto") || !_cups_strcasecmp(ascheme, "urn"))
+    return (_cups_strcasecmp(aresource, bresource));
+  else
+    return (strcmp(aresource, bresource));
+}
+
+
 /*
  * 'compare_vars()' - Compare two variables.
  */
@@ -762,7 +828,7 @@ compare_vars(_cups_var_t *a,                /* I - First variable */
  */
 
 static int                             /* 1 = success, 0 = failure */
-do_tests(FILE         *outfile,                /* I - Output file */
+do_tests(cups_file_t  *outfile,                /* I - Output file */
          _cups_vars_t *vars,           /* I - Variables */
          const char   *testfile)       /* I - Test file to use */
 {
@@ -775,11 +841,11 @@ do_tests(FILE         *outfile,           /* I - Output file */
                ignore_errors,          /* Ignore test failures? */
                skip_previous = 0,      /* Skip on previous test failure? */
                repeat_count,           /* Repeat count */
-               repeat_interval,        /* Repeat interval */
-               repeat_prev,            /* Previous repeat interval */
                repeat_test;            /* Repeat a test? */
+  useconds_t   delay,                  /* Initial delay */
+               repeat_interval;        /* Repeat interval (delay) */
   http_t       *http = NULL;           /* HTTP connection to server */
-  FILE         *fp = NULL;             /* Test file */
+  cups_file_t  *fp = NULL;             /* Test file */
   char         resource[512],          /* Resource for request */
                token[1024],            /* Token from file */
                *tokenptr,              /* Pointer into token */
@@ -809,7 +875,8 @@ do_tests(FILE         *outfile,             /* I - Output file */
   int          num_statuses = 0;       /* Number of valid status codes */
   _cups_status_t statuses[100],                /* Valid status codes */
                *last_status;           /* Last STATUS (for predicates) */
-  int          num_expects = 0;        /* Number of expected attributes */
+  int           status_ok,              /* Did we get a matching status? */
+               num_expects = 0;  /* Number of expected attributes */
   _cups_expect_t expects[200],         /* Expected attributes */
                *expect,                /* Current expected attribute */
                *last_expect;           /* Last EXPECT (for predicates) */
@@ -825,7 +892,7 @@ do_tests(FILE         *outfile,             /* I - Output file */
   * Open the test file...
   */
 
-  if ((fp = fopen(testfile, "r")) == NULL)
+  if ((fp = cupsFileOpen(testfile, "r")) == NULL)
   {
     print_fatal_error(outfile, "Unable to open test file %s - %s", testfile,
                       strerror(errno));
@@ -860,7 +927,7 @@ do_tests(FILE         *outfile,             /* I - Output file */
   * Loop on tests...
   */
 
-  CUPS_SRAND(time(NULL));
+  CUPS_SRAND((unsigned)time(NULL));
 
   errors     = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup,
                              (cups_afree_func_t)free);
@@ -1197,8 +1264,8 @@ do_tests(FILE         *outfile,           /* I - Output file */
     {
       if (Output == _CUPS_OUTPUT_PLIST)
        print_xml_header(outfile);
-      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
-       printf("\"%s\":\n", testfile);
+      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
+       cupsFilePrintf(cupsFileStdout(), "\"%s\":\n", testfile);
 
       show_header = 0;
     }
@@ -1206,19 +1273,22 @@ do_tests(FILE         *outfile,         /* I - Output file */
     strlcpy(resource, vars->resource, sizeof(resource));
 
     request_id ++;
-    request        = ippNew();
-    op             = (ipp_op_t)0;
-    group          = IPP_TAG_ZERO;
-    ignore_errors  = IgnoreErrors;
-    last_expect    = NULL;
-    last_status    = NULL;
-    filename[0]    = '\0';
-    skip_previous  = 0;
-    skip_test      = 0;
-    test_id[0]     = '\0';
-    version        = Version;
-    transfer       = Transfer;
-    compression[0] = '\0';
+    request         = ippNew();
+    op              = (ipp_op_t)0;
+    group           = IPP_TAG_ZERO;
+    ignore_errors   = IgnoreErrors;
+    last_expect     = NULL;
+    last_status     = NULL;
+    filename[0]     = '\0';
+    skip_previous   = 0;
+    skip_test       = 0;
+    test_id[0]      = '\0';
+    version         = Version;
+    transfer        = Transfer;
+    compression[0]  = '\0';
+    delay           = 0;
+    repeat_count    = 0;
+    repeat_interval = 5000000;
 
     strlcpy(name, testfile, sizeof(name));
     if (strrchr(name, '.') != NULL)
@@ -1615,7 +1685,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          goto test_exit;
        }
 
-       if ((value = ippTagValue(token)) < 0)
+       if ((value = ippTagValue(token)) == IPP_TAG_ZERO || value >= IPP_TAG_UNSUPPORTED_VALUE)
        {
          print_fatal_error(outfile, "Bad GROUP tag \"%s\" on line %d.", token, linenum);
          pass = 0;
@@ -1633,7 +1703,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
         * Delay before operation...
        */
 
-        double delay;
+        double dval;                    /* Delay value */
 
        if (!get_token(fp, temp, sizeof(temp), &linenum))
        {
@@ -1644,20 +1714,30 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
        expand_variables(vars, token, temp, sizeof(token));
 
-       if ((delay = _cupsStrScand(token, NULL, localeconv())) <= 0.0)
+       if ((dval = _cupsStrScand(token, &tokenptr, localeconv())) <= 0.0 || (*tokenptr && *tokenptr != ','))
        {
          print_fatal_error(outfile, "Bad DELAY value \"%s\" on line %d.", token,
                            linenum);
          pass = 0;
          goto test_exit;
        }
-       else
-       {
-         if (Output == _CUPS_OUTPUT_TEST)
-           printf("    [%g second delay]\n", delay);
 
-         usleep((useconds_t)(1000000.0 * delay));
-       }
+        delay = (useconds_t)(1000000.0 * dval);
+
+        if (*tokenptr == ',')
+        {
+          if ((dval = _cupsStrScand(tokenptr + 1, &tokenptr, localeconv())) <= 0.0 || *tokenptr)
+          {
+            print_fatal_error(outfile, "Bad DELAY value \"%s\" on line %d.", token,
+                              linenum);
+            pass = 0;
+            goto test_exit;
+          }
+
+          repeat_interval = (useconds_t)(1000000.0 * dval);
+        }
+        else
+          repeat_interval = delay;
       }
       else if (!_cups_strcasecmp(token, "ATTR"))
       {
@@ -1672,7 +1752,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          goto test_exit;
        }
 
-       if ((value = ippTagValue(token)) == IPP_TAG_ZERO)
+       if ((value = ippTagValue(token)) < IPP_TAG_UNSUPPORTED_VALUE)
        {
          print_fatal_error(outfile, "Bad ATTR value tag \"%s\" on line %d.", token,
                            linenum);
@@ -1687,18 +1767,46 @@ do_tests(FILE         *outfile,         /* I - Output file */
          goto test_exit;
        }
 
-       if (!get_token(fp, temp, sizeof(temp), &linenum))
+        if (value < IPP_TAG_INTEGER)
+        {
+         /*
+          * Add out-of-band value - no value string needed...
+          */
+
+          token[0] = '\0';
+        }
+        else if (!get_token(fp, temp, sizeof(temp), &linenum))
        {
          print_fatal_error(outfile, "Missing ATTR value on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
+       else
+       {
+          expand_variables(vars, token, temp, sizeof(token));
+        }
 
-        expand_variables(vars, token, temp, sizeof(token));
         attrptr = NULL;
 
         switch (value)
        {
+          default :
+              if (value < IPP_TAG_INTEGER)
+              {
+               /*
+                * Add out-of-band value...
+                */
+
+                attrptr = ippAddOutOfBand(request, group, value, attr);
+              }
+              else
+              {
+                print_fatal_error(outfile, "Unsupported ATTR value tag %s for \"%s\" on line %d.", ippTagString(value), attr, linenum);
+                pass = 0;
+                goto test_exit;
+              }
+              break;
+
          case IPP_TAG_BOOLEAN :
              if (!_cups_strcasecmp(token, "true"))
                attrptr = ippAddBoolean(request, group, attr, 1);
@@ -1880,16 +1988,16 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
              do
              {
-               ipp_t   *col;                   /* Collection value */
-               long    savepos = ftell(fp);    /* Save position of file */
-               int     savelinenum = linenum;  /* Save line number */
+               ipp_t   *col;                           /* Collection value */
+               off_t   savepos = cupsFileTell(fp);     /* Save position of file */
+               int     savelinenum = linenum;          /* Save line number */
 
                if (!get_token(fp, token, sizeof(token), &linenum))
                  break;
 
                if (strcmp(token, ","))
                {
-                 fseek(fp, savepos, SEEK_SET);
+                 cupsFileSeek(fp, savepos);
                  linenum = savelinenum;
                  break;
                }
@@ -1915,11 +2023,6 @@ do_tests(FILE         *outfile,          /* I - Output file */
               attrptr = ippAddOctetString(request, group, attr, token, (int)strlen(token));
              break;
 
-         default :
-             print_fatal_error(outfile, "Unsupported ATTR value tag %s for \"%s\" on line %d.", ippTagString(value), attr, linenum);
-             pass = 0;
-             goto test_exit;
-
          case IPP_TAG_TEXTLANG :
          case IPP_TAG_NAMELANG :
          case IPP_TAG_TEXT :
@@ -2201,15 +2304,17 @@ do_tests(FILE         *outfile,         /* I - Output file */
          goto test_exit;
        }
 
-        if ((in_group = ippTagValue(token)) == (ipp_tag_t)-1)
+        if ((in_group = ippTagValue(token)) == IPP_TAG_ZERO || in_group >= IPP_TAG_UNSUPPORTED_VALUE)
        {
+          print_fatal_error(outfile, "Bad IN-GROUP group tag \"%s\" on line %d.", token, linenum);
+          pass = 0;
+          goto test_exit;
        }
        else if (last_expect)
          last_expect->in_group = in_group;
        else
        {
-         print_fatal_error(outfile, "IN-GROUP without a preceding EXPECT on line %d.",
-                           linenum);
+         print_fatal_error(outfile, "IN-GROUP without a preceding EXPECT on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2235,8 +2340,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          last_expect->repeat_limit = atoi(token);
        else
        {
-         print_fatal_error(outfile, "REPEAT-LIMIT without a preceding EXPECT or STATUS "
-                           "on line %d.", linenum);
+         print_fatal_error(outfile, "REPEAT-LIMIT without a preceding EXPECT or STATUS on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2249,8 +2353,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          last_expect->repeat_match = 1;
        else
        {
-         print_fatal_error(outfile, "REPEAT-MATCH without a preceding EXPECT or STATUS "
-                           "on line %d.", linenum);
+         print_fatal_error(outfile, "REPEAT-MATCH without a preceding EXPECT or STATUS on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2263,8 +2366,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          last_expect->repeat_no_match = 1;
        else
        {
-         print_fatal_error(outfile, "REPEAT-NO-MATCH without a preceding EXPECT or "
-                           "STATUS on ine %d.", linenum);
+         print_fatal_error(outfile, "REPEAT-NO-MATCH without a preceding EXPECT or STATUS on ine %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2303,8 +2405,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          last_status->if_defined = strdup(token);
        else
        {
-         print_fatal_error(outfile, "IF-DEFINED without a preceding EXPECT or STATUS "
-                           "on line %d.", linenum);
+         print_fatal_error(outfile, "IF-DEFINED without a preceding EXPECT or STATUS on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2324,8 +2425,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
          last_status->if_not_defined = strdup(token);
        else
        {
-         print_fatal_error(outfile, "IF-NOT-DEFINED without a preceding EXPECT or STATUS "
-                           "on line %d.", linenum);
+         print_fatal_error(outfile, "IF-NOT-DEFINED without a preceding EXPECT or STATUS on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2410,8 +2510,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
        }
        else
        {
-         print_fatal_error(outfile, "%s without a preceding EXPECT on line %d.", token,
-                           linenum);
+         print_fatal_error(outfile, "%s without a preceding EXPECT on line %d.", token, linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2438,8 +2537,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
        }
        else
        {
-         print_fatal_error(outfile, "%s without a preceding EXPECT on line %d.", token,
-                           linenum);
+         print_fatal_error(outfile, "%s without a preceding EXPECT on line %d.", token, linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2469,8 +2567,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
       }
       else
       {
-       print_fatal_error(outfile, "Unexpected token %s seen on line %d.", token,
-                         linenum);
+       print_fatal_error(outfile, "Unexpected token %s seen on line %d.", token, linenum);
        pass = 0;
        goto test_exit;
       }
@@ -2488,52 +2585,51 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
     if (Output == _CUPS_OUTPUT_PLIST)
     {
-      fputs("<dict>\n", outfile);
-      fputs("<key>Name</key>\n", outfile);
+      cupsFilePuts(outfile, "<dict>\n");
+      cupsFilePuts(outfile, "<key>Name</key>\n");
       print_xml_string(outfile, "string", name);
       if (file_id[0])
       {
-       fputs("<key>FileId</key>\n", outfile);
+       cupsFilePuts(outfile, "<key>FileId</key>\n");
        print_xml_string(outfile, "string", file_id);
       }
       if (test_id[0])
       {
-        fputs("<key>TestId</key>\n", outfile);
+        cupsFilePuts(outfile, "<key>TestId</key>\n");
         print_xml_string(outfile, "string", test_id);
       }
-      fputs("<key>Version</key>\n", outfile);
-      fprintf(outfile, "<string>%d.%d</string>\n", version / 10, version % 10);
-      fputs("<key>Operation</key>\n", outfile);
+      cupsFilePuts(outfile, "<key>Version</key>\n");
+      cupsFilePrintf(outfile, "<string>%d.%d</string>\n", version / 10, version % 10);
+      cupsFilePuts(outfile, "<key>Operation</key>\n");
       print_xml_string(outfile, "string", ippOpString(op));
-      fputs("<key>RequestId</key>\n", outfile);
-      fprintf(outfile, "<integer>%d</integer>\n", request_id);
-      fputs("<key>RequestAttributes</key>\n", outfile);
-      fputs("<array>\n", outfile);
+      cupsFilePuts(outfile, "<key>RequestId</key>\n");
+      cupsFilePrintf(outfile, "<integer>%d</integer>\n", request_id);
+      cupsFilePuts(outfile, "<key>RequestAttributes</key>\n");
+      cupsFilePuts(outfile, "<array>\n");
       if (request->attrs)
       {
-       fputs("<dict>\n", outfile);
+       cupsFilePuts(outfile, "<dict>\n");
        for (attrptr = request->attrs,
                 group = attrptr ? attrptr->group_tag : IPP_TAG_ZERO;
             attrptr;
             attrptr = attrptr->next)
          print_attr(outfile, Output, attrptr, &group);
-       fputs("</dict>\n", outfile);
+       cupsFilePuts(outfile, "</dict>\n");
       }
-      fputs("</array>\n", outfile);
+      cupsFilePuts(outfile, "</array>\n");
     }
 
-    if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
+    if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
     {
       if (Verbosity)
       {
-       printf("    %s:\n", ippOpString(op));
+       cupsFilePrintf(cupsFileStdout(), "    %s:\n", ippOpString(op));
 
        for (attrptr = request->attrs; attrptr; attrptr = attrptr->next)
-         print_attr(stdout, _CUPS_OUTPUT_TEST, attrptr, NULL);
+         print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
       }
 
-      printf("    %-68.68s [", name);
-      fflush(stdout);
+      cupsFilePrintf(cupsFileStdout(), "    %-68.68s [", name);
     }
 
     if ((skip_previous && !prev_pass) || skip_test)
@@ -2545,29 +2641,30 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
       if (Output == _CUPS_OUTPUT_PLIST)
       {
-       fputs("<key>Successful</key>\n", outfile);
-       fputs("<true />\n", outfile);
-       fputs("<key>Skipped</key>\n", outfile);
-       fputs("<true />\n", outfile);
-       fputs("<key>StatusCode</key>\n", outfile);
+       cupsFilePuts(outfile, "<key>Successful</key>\n");
+       cupsFilePuts(outfile, "<true />\n");
+       cupsFilePuts(outfile, "<key>Skipped</key>\n");
+       cupsFilePuts(outfile, "<true />\n");
+       cupsFilePuts(outfile, "<key>StatusCode</key>\n");
        print_xml_string(outfile, "string", "skip");
-       fputs("<key>ResponseAttributes</key>\n", outfile);
-       fputs("<dict />\n", outfile);
+       cupsFilePuts(outfile, "<key>ResponseAttributes</key>\n");
+       cupsFilePuts(outfile, "<dict />\n");
       }
 
-      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
-       puts("SKIP]");
+      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
+       cupsFilePuts(cupsFileStdout(), "SKIP]\n");
 
       goto skip_error;
     }
 
     PasswordTries   = 0;
-    repeat_count    = 0;
-    repeat_interval = 1;
-    repeat_prev     = 1;
 
     do
     {
+      if (delay > 0)
+        usleep(delay);
+
+      delay = repeat_interval;
       repeat_count ++;
 
       status = HTTP_STATUS_OK;
@@ -2945,7 +3042,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
         * values...
         */
 
-       for (i = 0; i < num_statuses; i ++)
+       for (i = 0, status_ok = 0; i < num_statuses; i ++)
        {
          if (statuses[i].if_defined &&
              !get_variable(vars, statuses[i].if_defined))
@@ -2955,32 +3052,30 @@ do_tests(FILE         *outfile,         /* I - Output file */
              get_variable(vars, statuses[i].if_not_defined))
            continue;
 
-         if (response->request.status.status_code == statuses[i].status)
+         if (ippGetStatusCode(response) == statuses[i].status)
          {
-           if (statuses[i].repeat_match &&
-               repeat_count < statuses[i].repeat_limit)
-             repeat_test = 1;
+            status_ok = 1;
+
+            if (statuses[i].repeat_match && repeat_count < statuses[i].repeat_limit)
+              repeat_test = 1;
 
             if (statuses[i].define_match)
               set_variable(outfile, vars, statuses[i].define_match, "1");
-
-            break;
          }
          else
          {
-           if (statuses[i].repeat_no_match &&
-               repeat_count < statuses[i].repeat_limit)
-             repeat_test = 1;
+           if (statuses[i].repeat_no_match && repeat_count < statuses[i].repeat_limit)
+              repeat_test = 1;
 
             if (statuses[i].define_no_match)
             {
               set_variable(outfile, vars, statuses[i].define_no_match, "1");
-              break;
+              status_ok = 1;
             }
           }
        }
 
-       if (i == num_statuses && num_statuses > 0)
+       if (!status_ok && num_statuses > 0)
        {
          for (i = 0; i < num_statuses; i ++)
          {
@@ -2992,7 +3087,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
                get_variable(vars, statuses[i].if_not_defined))
              continue;
 
-            if (!statuses[i].repeat_match)
+            if (!statuses[i].repeat_match || repeat_count >= statuses[i].repeat_limit)
              add_stringf(errors, "EXPECTED: STATUS %s (got %s)",
                          ippErrorString(statuses[i].status),
                          ippErrorString(cupsLastError()));
@@ -3045,9 +3140,8 @@ do_tests(FILE         *outfile,           /* I - Output file */
                }
              }
 
-             if (expect->repeat_no_match &&
-                 repeat_count < expect->repeat_limit)
-               repeat_test = 1;
+             if (expect->repeat_no_match && repeat_count < expect->repeat_limit)
+                repeat_test = 1;
 
              break;
            }
@@ -3059,7 +3153,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
            {
              if (expect->define_no_match)
                set_variable(outfile, vars, expect->define_no_match, "1");
-             else if (!expect->define_match && !expect->define_value && !expect->repeat_match && !expect->repeat_no_match)
+             else if (!expect->define_match && !expect->define_value && ((!expect->repeat_match && !expect->repeat_no_match) || repeat_count >= expect->repeat_limit))
              {
                add_stringf(errors, "EXPECTED: %s WITH-VALUES-FROM %s", expect->name, expect->with_value_from);
 
@@ -3076,7 +3170,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
              if (expect->define_no_match)
                set_variable(outfile, vars, expect->define_no_match, "1");
              else if (!expect->define_match && !expect->define_value &&
-                      !expect->repeat_match && !expect->repeat_no_match)
+                      !expect->repeat_match && (!expect->repeat_no_match || repeat_count >= expect->repeat_limit))
              {
                if (expect->with_flags & _CUPS_WITH_REGEX)
                  add_stringf(errors, "EXPECTED: %s %s /%s/",
@@ -3227,11 +3321,10 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
       if (repeat_test)
       {
-       if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
+       if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
         {
-          printf("%04d]\n", repeat_count);
-          fflush(stdout);
-
+          cupsFilePrintf(cupsFileStdout(), "%04d]\n", repeat_count);
+\
          if (num_displayed > 0)
          {
            for (attrptr = ippFirstAttribute(response); attrptr; attrptr = ippNextAttribute(response))
@@ -3243,7 +3336,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
                {
                  if (!strcmp(displayed[i], attrname))
                  {
-                   print_attr(stdout, _CUPS_OUTPUT_TEST, attrptr, NULL);
+                   print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
                    break;
                  }
                }
@@ -3252,13 +3345,9 @@ do_tests(FILE         *outfile,          /* I - Output file */
          }
         }
 
-        sleep((unsigned)repeat_interval);
-        repeat_interval = _cupsNextDelay(repeat_interval, &repeat_prev);
-
-       if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
+       if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
        {
-         printf("    %-68.68s [", name);
-         fflush(stdout);
+         cupsFilePrintf(cupsFileStdout(), "    %-68.68s [", name);
        }
       }
     }
@@ -3278,39 +3367,37 @@ do_tests(FILE         *outfile,         /* I - Output file */
 
     if (Output == _CUPS_OUTPUT_PLIST)
     {
-      fputs("<key>Successful</key>\n", outfile);
-      fputs(prev_pass ? "<true />\n" : "<false />\n", outfile);
-      fputs("<key>StatusCode</key>\n", outfile);
+      cupsFilePuts(outfile, "<key>Successful</key>\n");
+      cupsFilePuts(outfile, prev_pass ? "<true />\n" : "<false />\n");
+      cupsFilePuts(outfile, "<key>StatusCode</key>\n");
       print_xml_string(outfile, "string", ippErrorString(cupsLastError()));
-      fputs("<key>ResponseAttributes</key>\n", outfile);
-      fputs("<array>\n", outfile);
-      fputs("<dict>\n", outfile);
+      cupsFilePuts(outfile, "<key>ResponseAttributes</key>\n");
+      cupsFilePuts(outfile, "<array>\n");
+      cupsFilePuts(outfile, "<dict>\n");
       for (attrptr = response ? response->attrs : NULL,
                group = attrptr ? attrptr->group_tag : IPP_TAG_ZERO;
           attrptr;
           attrptr = attrptr->next)
        print_attr(outfile, Output, attrptr, &group);
-      fputs("</dict>\n", outfile);
-      fputs("</array>\n", outfile);
+      cupsFilePuts(outfile, "</dict>\n");
+      cupsFilePuts(outfile, "</array>\n");
     }
 
-    if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
+    if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
     {
-      puts(prev_pass ? "PASS]" : "FAIL]");
+      cupsFilePuts(cupsFileStdout(), prev_pass ? "PASS]\n" : "FAIL]\n");
 
       if (!prev_pass || (Verbosity && response))
       {
-       printf("        RECEIVED: %lu bytes in response\n",
-              (unsigned long)ippLength(response));
-       printf("        status-code = %s (%s)\n", ippErrorString(cupsLastError()),
-              cupsLastErrorString());
+       cupsFilePrintf(cupsFileStdout(), "        RECEIVED: %lu bytes in response\n", (unsigned long)ippLength(response));
+       cupsFilePrintf(cupsFileStdout(), "        status-code = %s (%s)\n", ippErrorString(cupsLastError()), cupsLastErrorString());
 
         if (Verbosity && response)
         {
          for (attrptr = response->attrs;
               attrptr != NULL;
               attrptr = attrptr->next)
-           print_attr(stdout, _CUPS_OUTPUT_TEST, attrptr, NULL);
+           print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
        }
       }
     }
@@ -3365,27 +3452,27 @@ do_tests(FILE         *outfile,         /* I - Output file */
     {
       if (Output == _CUPS_OUTPUT_PLIST)
       {
-       fputs("<key>Errors</key>\n", outfile);
-       fputs("<array>\n", outfile);
+       cupsFilePuts(outfile, "<key>Errors</key>\n");
+       cupsFilePuts(outfile, "<array>\n");
 
        for (error = (char *)cupsArrayFirst(errors);
             error;
             error = (char *)cupsArrayNext(errors))
          print_xml_string(outfile, "string", error);
 
-       fputs("</array>\n", outfile);
+       cupsFilePuts(outfile, "</array>\n");
       }
 
-      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout))
+      if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
       {
        for (error = (char *)cupsArrayFirst(errors);
             error;
             error = (char *)cupsArrayNext(errors))
-         printf("        %s\n", error);
+         cupsFilePrintf(cupsFileStdout(), "        %s\n", error);
       }
     }
 
-    if (num_displayed > 0 && !Verbosity && response && (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != stdout)))
+    if (num_displayed > 0 && !Verbosity && response && (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout())))
     {
       for (attrptr = response->attrs;
           attrptr != NULL;
@@ -3408,9 +3495,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
     skip_error:
 
     if (Output == _CUPS_OUTPUT_PLIST)
-      fputs("</dict>\n", outfile);
-
-    fflush(stdout);
+      cupsFilePuts(outfile, "</dict>\n");
 
     ippDelete(response);
     response = NULL;
@@ -3463,7 +3548,7 @@ do_tests(FILE         *outfile,           /* I - Output file */
   cupsArrayDelete(errors);
 
   if (fp)
-    fclose(fp);
+    cupsFileClose(fp);
 
   httpClose(http);
   ippDelete(request);
@@ -3686,9 +3771,9 @@ expect_matches(
  */
 
 static ipp_t *                         /* O  - Collection value */
-get_collection(FILE         *outfile,  /* I  - Output file */
+get_collection(cups_file_t  *outfile,  /* I  - Output file */
                _cups_vars_t *vars,     /* I  - Variables */
-               FILE         *fp,       /* I  - File to read from */
+               cups_file_t  *fp,       /* I  - File to read from */
               int          *linenum)   /* IO - Line number */
 {
   char         token[1024],            /* Token from file */
@@ -3731,7 +3816,7 @@ get_collection(FILE         *outfile,     /* I  - Output file */
        goto col_error;
       }
 
-      if ((value = ippTagValue(token)) == IPP_TAG_ZERO)
+      if ((value = ippTagValue(token)) < IPP_TAG_UNSUPPORTED_VALUE)
       {
        print_fatal_error(outfile, "Bad MEMBER value tag \"%s\" on line %d.", token,
                          *linenum);
@@ -3744,17 +3829,43 @@ get_collection(FILE         *outfile,   /* I  - Output file */
        goto col_error;
       }
 
-      if (!get_token(fp, temp, sizeof(temp), linenum))
+      if (value < IPP_TAG_INTEGER)
+      {
+       /*
+        * Out-of-band member attributes have no value...
+        */
+
+        token[0] = '\0';
+      }
+      else if (!get_token(fp, temp, sizeof(temp), linenum))
       {
        print_fatal_error(outfile, "Missing MEMBER value on line %d.", *linenum);
        goto col_error;
       }
-
-      expand_variables(vars, token, temp, sizeof(token));
+      else
+      {
+        expand_variables(vars, token, temp, sizeof(token));
+      }
 
       switch (value)
       {
-       case IPP_TAG_BOOLEAN :
+        default :
+              if (value < IPP_TAG_INTEGER)
+              {
+               /*
+                * Add out-of-band value...
+                */
+
+                ippAddOutOfBand(col, IPP_TAG_ZERO, value, attr);
+              }
+              else
+              {
+                print_fatal_error(outfile, "Unsupported MEMBER value tag %s for \"%s\" on line %d.", ippTagString(value), attr, *linenum);
+                goto col_error;
+              }
+              break;
+
+        case IPP_TAG_BOOLEAN :
            if (!_cups_strcasecmp(token, "true"))
              ippAddBoolean(col, IPP_TAG_ZERO, attr, 1);
            else
@@ -3838,11 +3949,21 @@ get_collection(FILE         *outfile,   /* I  - Output file */
              goto col_error;
            }
            break;
-       case IPP_TAG_STRING :
+
+        case IPP_TAG_STRING :
            ippAddOctetString(col, IPP_TAG_ZERO, attr, token, (int)strlen(token));
            break;
 
-       default :
+        case IPP_TAG_TEXTLANG :
+        case IPP_TAG_NAMELANG :
+        case IPP_TAG_TEXT :
+        case IPP_TAG_NAME :
+        case IPP_TAG_KEYWORD :
+        case IPP_TAG_URI :
+        case IPP_TAG_URISCHEME :
+        case IPP_TAG_CHARSET :
+        case IPP_TAG_LANGUAGE :
+        case IPP_TAG_MIMETYPE :
            if (!strchr(token, ','))
              ippAddString(col, IPP_TAG_ZERO, value, attr, NULL, token);
            else
@@ -3861,9 +3982,14 @@ get_collection(FILE         *outfile,    /* I  - Output file */
 
              for (ptr = strchr(token, ','); ptr; ptr = strchr(ptr, ','))
              {
-               *ptr++ = '\0';
-               values[num_values] = ptr;
-               num_values ++;
+                if (ptr > token && ptr[-1] == '\\')
+                  _cups_strcpy(ptr - 1, ptr);
+                else
+                {
+                  *ptr++ = '\0';
+                  values[num_values] = ptr;
+                  num_values ++;
+                }
              }
 
              ippAddStrings(col, IPP_TAG_ZERO, value, attr, num_values,
@@ -4033,10 +4159,10 @@ get_string(ipp_attribute_t *attr,       /* I - IPP attribute */
  */
 
 static char *                          /* O  - Token from file or NULL on EOF */
-get_token(FILE *fp,                    /* I  - File to read from */
-          char *buf,                   /* I  - Buffer to read into */
-         int  buflen,                  /* I  - Length of buffer */
-         int  *linenum)                /* IO - Current line number */
+get_token(cups_file_t *fp,             /* I  - File to read from */
+          char        *buf,            /* I  - Buffer to read into */
+         int         buflen,           /* I  - Length of buffer */
+         int         *linenum)         /* IO - Current line number */
 {
   int  ch,                             /* Character from file */
        quote;                          /* Quoting character */
@@ -4050,7 +4176,7 @@ get_token(FILE *fp,                       /* I  - File to read from */
     * Skip whitespace...
     */
 
-    while (isspace(ch = getc(fp)))
+    while (isspace(ch = cupsFileGetChar(fp)))
     {
       if (ch == '\n')
         (*linenum) ++;
@@ -4072,7 +4198,7 @@ get_token(FILE *fp,                       /* I  - File to read from */
       bufptr = buf;
       bufend = buf + buflen - 1;
 
-      while ((ch = getc(fp)) != EOF)
+      while ((ch = cupsFileGetChar(fp)) != EOF)
       {
         if (ch == '\\')
        {
@@ -4083,7 +4209,7 @@ get_token(FILE *fp,                       /* I  - File to read from */
          if (bufptr < bufend)
            *bufptr++ = (char)ch;
 
-         if ((ch = getc(fp)) != EOF && bufptr < bufend)
+         if ((ch = cupsFileGetChar(fp)) != EOF && bufptr < bufend)
            *bufptr++ = (char)ch;
        }
        else if (ch == quote)
@@ -4102,7 +4228,7 @@ get_token(FILE *fp,                       /* I  - File to read from */
       * Comment...
       */
 
-      while ((ch = getc(fp)) != EOF)
+      while ((ch = cupsFileGetChar(fp)) != EOF)
        if (ch == '\n')
           break;
 
@@ -4121,19 +4247,19 @@ get_token(FILE *fp,                     /* I  - File to read from */
       * Whitespace delimited text...
       */
 
-      ungetc(ch, fp);
+      cupsFileSeek(fp, cupsFileTell(fp) - 1);
 
       bufptr = buf;
       bufend = buf + buflen - 1;
 
-      while ((ch = getc(fp)) != EOF)
+      while ((ch = cupsFileGetChar(fp)) != EOF)
        if (isspace(ch) || ch == '#')
           break;
        else if (bufptr < bufend)
           *bufptr++ = (char)ch;
 
       if (ch == '#')
-        ungetc(ch, fp);
+        cupsFileSeek(fp, cupsFileTell(fp) - 1);
       else if (ch == '\n')
         (*linenum) ++;
 
@@ -4271,8 +4397,7 @@ pause_message(const char *message)        /* I - Message */
   * Display the prompt...
   */
 
-  printf("%s\n---- PRESS ANY KEY ----", message);
-  fflush(stdout);
+  cupsFilePrintf(cupsFileStdout(), "%s\n---- PRESS ANY KEY ----", message);
 
 #ifdef WIN32
  /*
@@ -4306,8 +4431,7 @@ pause_message(const char *message)        /* I - Message */
   * Erase the "press any key" prompt...
   */
 
-  fputs("\r                       \r", stdout);
-  fflush(stdout);
+  cupsFilePuts(cupsFileStdout(), "\r                       \r");
 }
 
 
@@ -4316,7 +4440,7 @@ pause_message(const char *message)        /* I - Message */
  */
 
 static void
-print_attr(FILE            *outfile,   /* I  - Output file */
+print_attr(cups_file_t     *outfile,   /* I  - Output file */
            int             format,     /* I  - Output format */
            ipp_attribute_t *attr,      /* I  - Attribute to print */
            ipp_tag_t       *group)     /* IO - Current group */
@@ -4331,8 +4455,8 @@ print_attr(FILE            *outfile,      /* I  - Output file */
     {
       if (attr->group_tag != IPP_TAG_ZERO)
       {
-       fputs("</dict>\n", outfile);
-       fputs("<dict>\n", outfile);
+       cupsFilePuts(outfile, "</dict>\n");
+       cupsFilePuts(outfile, "<dict>\n");
       }
 
       if (group)
@@ -4344,31 +4468,31 @@ print_attr(FILE            *outfile,    /* I  - Output file */
 
     print_xml_string(outfile, "key", attr->name);
     if (attr->num_values > 1)
-      fputs("<array>\n", outfile);
+      cupsFilePuts(outfile, "<array>\n");
 
     switch (attr->value_tag)
     {
       case IPP_TAG_INTEGER :
       case IPP_TAG_ENUM :
          for (i = 0; i < attr->num_values; i ++)
-           fprintf(outfile, "<integer>%d</integer>\n", attr->values[i].integer);
+           cupsFilePrintf(outfile, "<integer>%d</integer>\n", attr->values[i].integer);
          break;
 
       case IPP_TAG_BOOLEAN :
          for (i = 0; i < attr->num_values; i ++)
-           fputs(attr->values[i].boolean ? "<true />\n" : "<false />\n", outfile);
+           cupsFilePuts(outfile, attr->values[i].boolean ? "<true />\n" : "<false />\n");
          break;
 
       case IPP_TAG_RANGE :
          for (i = 0; i < attr->num_values; i ++)
-           fprintf(outfile, "<dict><key>lower</key><integer>%d</integer>"
+           cupsFilePrintf(outfile, "<dict><key>lower</key><integer>%d</integer>"
                             "<key>upper</key><integer>%d</integer></dict>\n",
                    attr->values[i].range.lower, attr->values[i].range.upper);
          break;
 
       case IPP_TAG_RESOLUTION :
          for (i = 0; i < attr->num_values; i ++)
-           fprintf(outfile, "<dict><key>xres</key><integer>%d</integer>"
+           cupsFilePrintf(outfile, "<dict><key>xres</key><integer>%d</integer>"
                             "<key>yres</key><integer>%d</integer>"
                             "<key>units</key><string>%s</string></dict>\n",
                   attr->values[i].resolution.xres,
@@ -4379,7 +4503,7 @@ print_attr(FILE            *outfile,      /* I  - Output file */
 
       case IPP_TAG_DATE :
          for (i = 0; i < attr->num_values; i ++)
-           fprintf(outfile, "<date>%s</date>\n", iso_date(attr->values[i].date));
+           cupsFilePrintf(outfile, "<date>%s</date>\n", iso_date(attr->values[i].date));
          break;
 
       case IPP_TAG_STRING :
@@ -4388,7 +4512,7 @@ print_attr(FILE            *outfile,      /* I  - Output file */
            char        buffer[IPP_MAX_LENGTH * 5 / 4 + 1];
                                        /* Output buffer */
 
-           fprintf(outfile, "<data>%s</data>\n",
+           cupsFilePrintf(outfile, "<data>%s</data>\n",
                    httpEncode64_2(buffer, sizeof(buffer),
                                   attr->values[i].unknown.data,
                                   attr->values[i].unknown.length));
@@ -4411,33 +4535,33 @@ print_attr(FILE            *outfile,    /* I  - Output file */
       case IPP_TAG_NAMELANG :
          for (i = 0; i < attr->num_values; i ++)
          {
-           fputs("<dict><key>language</key><string>", outfile);
+           cupsFilePuts(outfile, "<dict><key>language</key><string>");
            print_xml_string(outfile, NULL, attr->values[i].string.language);
-           fputs("</string><key>string</key><string>", outfile);
+           cupsFilePuts(outfile, "</string><key>string</key><string>");
            print_xml_string(outfile, NULL, attr->values[i].string.text);
-           fputs("</string></dict>\n", outfile);
+           cupsFilePuts(outfile, "</string></dict>\n");
          }
          break;
 
       case IPP_TAG_BEGIN_COLLECTION :
          for (i = 0; i < attr->num_values; i ++)
          {
-           fputs("<dict>\n", outfile);
+           cupsFilePuts(outfile, "<dict>\n");
            for (colattr = attr->values[i].collection->attrs;
                 colattr;
                 colattr = colattr->next)
              print_attr(outfile, format, colattr, NULL);
-           fputs("</dict>\n", outfile);
+           cupsFilePuts(outfile, "</dict>\n");
          }
          break;
 
       default :
-         fprintf(outfile, "<string>&lt;&lt;%s&gt;&gt;</string>\n", ippTagString(attr->value_tag));
+         cupsFilePrintf(outfile, "<string>&lt;&lt;%s&gt;&gt;</string>\n", ippTagString(attr->value_tag));
          break;
     }
 
     if (attr->num_values > 1)
-      fputs("</array>\n", outfile);
+      cupsFilePuts(outfile, "</array>\n");
   }
   else
   {
@@ -4447,15 +4571,15 @@ print_attr(FILE            *outfile,    /* I  - Output file */
     {
       if (!attr->name)
       {
-        fputs("        -- separator --\n", outfile);
+        cupsFilePuts(outfile, "        -- separator --\n");
         return;
       }
 
-      fprintf(outfile, "        %s (%s%s) = ", attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagString(attr->value_tag));
+      cupsFilePrintf(outfile, "        %s (%s%s) = ", attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagString(attr->value_tag));
     }
 
     ippAttributeString(attr, buffer, sizeof(buffer));
-    fprintf(outfile, "%s\n", buffer);
+    cupsFilePrintf(outfile, "%s\n", buffer);
   }
 }
 
@@ -4466,7 +4590,7 @@ print_attr(FILE            *outfile,      /* I  - Output file */
 
 static void
 print_csv(
-    FILE            *outfile,          /* I - Output file */
+    cups_file_t     *outfile,          /* I - Output file */
     ipp_attribute_t *attr,             /* I - First attribute for line */
     int             num_displayed,     /* I - Number of attributes to display */
     char            **displayed,       /* I - Attributes to display */
@@ -4501,7 +4625,7 @@ print_csv(
     for (i = 0; i < num_displayed; i ++)
     {
       if (i)
-        fputc(',', outfile);
+        cupsFilePutChar(outfile, ',');
 
       buffer[0] = '\0';
 
@@ -4519,30 +4643,30 @@ print_csv(
       if (strchr(buffer, ',') != NULL || strchr(buffer, '\"') != NULL ||
          strchr(buffer, '\\') != NULL)
       {
-        putc('\"', outfile);
+        cupsFilePutChar(cupsFileStdout(), '\"');
         for (bufptr = buffer; *bufptr; bufptr ++)
         {
           if (*bufptr == '\\' || *bufptr == '\"')
-            putc('\\', outfile);
-          putc(*bufptr, outfile);
+            cupsFilePutChar(cupsFileStdout(), '\\');
+          cupsFilePutChar(cupsFileStdout(), *bufptr);
         }
-        putc('\"', outfile);
+        cupsFilePutChar(cupsFileStdout(), '\"');
       }
       else
-        fputs(buffer, outfile);
+        cupsFilePuts(outfile, buffer);
     }
-    putc('\n', outfile);
+    cupsFilePutChar(cupsFileStdout(), '\n');
   }
   else
   {
     for (i = 0; i < num_displayed; i ++)
     {
       if (i)
-        putc(',', outfile);
+        cupsFilePutChar(cupsFileStdout(), ',');
 
-      fputs(displayed[i], outfile);
+      cupsFilePuts(outfile, displayed[i]);
     }
-    putc('\n', outfile);
+    cupsFilePutChar(cupsFileStdout(), '\n');
   }
 
   free(buffer);
@@ -4554,8 +4678,8 @@ print_csv(
  */
 
 static void
-print_fatal_error(FILE       *outfile, /* I - Output file */
-                 const char *s,        /* I - Printf-style format string */
+print_fatal_error(cups_file_t *outfile,        /* I - Output file */
+                 const char  *s,       /* I - Printf-style format string */
                   ...)                 /* I - Additional arguments as needed */
 {
   char         buffer[10240];          /* Format buffer */
@@ -4590,7 +4714,7 @@ print_fatal_error(FILE       *outfile,    /* I - Output file */
 
 static void
 print_line(
-    FILE            *outfile,          /* I - Output file */
+    cups_file_t     *outfile,          /* I - Output file */
     ipp_attribute_t *attr,             /* I - First attribute for line */
     int             num_displayed,     /* I - Number of attributes to display */
     char            **displayed,       /* I - Attributes to display */
@@ -4624,7 +4748,7 @@ print_line(
     for (i = 0; i < num_displayed; i ++)
     {
       if (i)
-        putc(' ', outfile);
+        cupsFilePutChar(cupsFileStdout(), ' ');
 
       buffer[0] = '\0';
 
@@ -4639,31 +4763,31 @@ print_line(
         }
       }
 
-      fprintf(outfile, "%*s", (int)-widths[i], buffer);
+      cupsFilePrintf(outfile, "%*s", (int)-widths[i], buffer);
     }
-    putc('\n', outfile);
+    cupsFilePutChar(cupsFileStdout(), '\n');
   }
   else
   {
     for (i = 0; i < num_displayed; i ++)
     {
       if (i)
-        putc(' ', outfile);
+        cupsFilePutChar(cupsFileStdout(), ' ');
 
-      fprintf(outfile, "%*s", (int)-widths[i], displayed[i]);
+      cupsFilePrintf(outfile, "%*s", (int)-widths[i], displayed[i]);
     }
-    putc('\n', outfile);
+    cupsFilePutChar(cupsFileStdout(), '\n');
 
     for (i = 0; i < num_displayed; i ++)
     {
       if (i)
-       putc(' ', outfile);
+       cupsFilePutChar(cupsFileStdout(), ' ');
 
       memset(buffer, '-', widths[i]);
       buffer[widths[i]] = '\0';
-      fputs(buffer, outfile);
+      cupsFilePuts(outfile, buffer);
     }
-    putc('\n', outfile);
+    cupsFilePutChar(cupsFileStdout(), '\n');
   }
 
   free(buffer);
@@ -4675,23 +4799,23 @@ print_line(
  */
 
 static void
-print_xml_header(FILE *outfile)                /* I - Output file */
+print_xml_header(cups_file_t *outfile)         /* I - Output file */
 {
   if (!XMLHeader)
   {
-    fputs("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", outfile);
-    fputs("<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" "
-         "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n", outfile);
-    fputs("<plist version=\"1.0\">\n", outfile);
-    fputs("<dict>\n", outfile);
-    fputs("<key>ipptoolVersion</key>\n", outfile);
-    fputs("<string>" CUPS_SVERSION "</string>\n", outfile);
-    fputs("<key>Transfer</key>\n", outfile);
-    fprintf(outfile, "<string>%s</string>\n",
+    cupsFilePuts(outfile, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+    cupsFilePuts(outfile, "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" "
+         "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n");
+    cupsFilePuts(outfile, "<plist version=\"1.0\">\n");
+    cupsFilePuts(outfile, "<dict>\n");
+    cupsFilePuts(outfile, "<key>ipptoolVersion</key>\n");
+    cupsFilePuts(outfile, "<string>" CUPS_SVERSION "</string>\n");
+    cupsFilePuts(outfile, "<key>Transfer</key>\n");
+    cupsFilePrintf(outfile, "<string>%s</string>\n",
            Transfer == _CUPS_TRANSFER_AUTO ? "auto" :
                Transfer == _CUPS_TRANSFER_CHUNKED ? "chunked" : "length");
-    fputs("<key>Tests</key>\n", outfile);
-    fputs("<array>\n", outfile);
+    cupsFilePuts(outfile, "<key>Tests</key>\n");
+    cupsFilePuts(outfile, "<array>\n");
 
     XMLHeader = 1;
   }
@@ -4703,21 +4827,21 @@ print_xml_header(FILE *outfile)         /* I - Output file */
  */
 
 static void
-print_xml_string(FILE       *outfile,  /* I - Output file */
-                 const char *element,  /* I - Element name or NULL */
-                const char *s)         /* I - String to print */
+print_xml_string(cups_file_t *outfile, /* I - Output file */
+                 const char  *element, /* I - Element name or NULL */
+                const char  *s)        /* I - String to print */
 {
   if (element)
-    fprintf(outfile, "<%s>", element);
+    cupsFilePrintf(outfile, "<%s>", element);
 
   while (*s)
   {
     if (*s == '&')
-      fputs("&amp;", outfile);
+      cupsFilePuts(outfile, "&amp;");
     else if (*s == '<')
-      fputs("&lt;", outfile);
+      cupsFilePuts(outfile, "&lt;");
     else if (*s == '>')
-      fputs("&gt;", outfile);
+      cupsFilePuts(outfile, "&gt;");
     else if ((*s & 0xe0) == 0xc0)
     {
      /*
@@ -4726,13 +4850,13 @@ print_xml_string(FILE       *outfile,   /* I - Output file */
 
       if ((s[1] & 0xc0) != 0x80)
       {
-        putc('?', outfile);
+        cupsFilePutChar(cupsFileStdout(), '?');
         s ++;
       }
       else
       {
-        putc(*s++, outfile);
-        putc(*s, outfile);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s);
       }
     }
     else if ((*s & 0xf0) == 0xe0)
@@ -4743,14 +4867,14 @@ print_xml_string(FILE       *outfile,   /* I - Output file */
 
       if ((s[1] & 0xc0) != 0x80 || (s[2] & 0xc0) != 0x80)
       {
-        putc('?', outfile);
+        cupsFilePutChar(cupsFileStdout(), '?');
         s += 2;
       }
       else
       {
-        putc(*s++, outfile);
-        putc(*s++, outfile);
-        putc(*s, outfile);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s);
       }
     }
     else if ((*s & 0xf8) == 0xf0)
@@ -4762,15 +4886,15 @@ print_xml_string(FILE       *outfile,   /* I - Output file */
       if ((s[1] & 0xc0) != 0x80 || (s[2] & 0xc0) != 0x80 ||
           (s[3] & 0xc0) != 0x80)
       {
-        putc('?', outfile);
+        cupsFilePutChar(cupsFileStdout(), '?');
         s += 3;
       }
       else
       {
-        putc(*s++, outfile);
-        putc(*s++, outfile);
-        putc(*s++, outfile);
-        putc(*s, outfile);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s++);
+        cupsFilePutChar(cupsFileStdout(), *s);
       }
     }
     else if ((*s & 0x80) || (*s < ' ' && !isspace(*s & 255)))
@@ -4779,16 +4903,16 @@ print_xml_string(FILE       *outfile,   /* I - Output file */
       * Invalid control character...
       */
 
-      putc('?', outfile);
+      cupsFilePutChar(cupsFileStdout(), '?');
     }
     else
-      putc(*s, outfile);
+      cupsFilePutChar(cupsFileStdout(), *s);
 
     s ++;
   }
 
   if (element)
-    fprintf(outfile, "</%s>\n", element);
+    cupsFilePrintf(outfile, "</%s>\n", element);
 }
 
 
@@ -4797,22 +4921,22 @@ print_xml_string(FILE       *outfile,   /* I - Output file */
  */
 
 static void
-print_xml_trailer(FILE       *outfile, /* I - Output file */
-                  int        success,  /* I - 1 on success, 0 on failure */
-                  const char *message) /* I - Error message or NULL */
+print_xml_trailer(cups_file_t *outfile,        /* I - Output file */
+                  int         success, /* I - 1 on success, 0 on failure */
+                  const char  *message)        /* I - Error message or NULL */
 {
   if (XMLHeader)
   {
-    fputs("</array>\n", outfile);
-    fputs("<key>Successful</key>\n", outfile);
-    fputs(success ? "<true />\n" : "<false />\n", outfile);
+    cupsFilePuts(outfile, "</array>\n");
+    cupsFilePuts(outfile, "<key>Successful</key>\n");
+    cupsFilePuts(outfile, success ? "<true />\n" : "<false />\n");
     if (message)
     {
-      fputs("<key>ErrorMessage</key>\n", outfile);
+      cupsFilePuts(outfile, "<key>ErrorMessage</key>\n");
       print_xml_string(outfile, "string", message);
     }
-    fputs("</dict>\n", outfile);
-    fputs("</plist>\n", outfile);
+    cupsFilePuts(outfile, "</dict>\n");
+    cupsFilePuts(outfile, "</plist>\n");
 
     XMLHeader = 0;
   }
@@ -4824,7 +4948,7 @@ print_xml_trailer(FILE       *outfile,    /* I - Output file */
  */
 
 static void
-set_variable(FILE         *outfile,    /* I - Output file */
+set_variable(cups_file_t  *outfile,    /* I - Output file */
              _cups_vars_t *vars,       /* I - Variables */
              const char   *name,       /* I - Variable name */
              const char   *value)      /* I - Value string */
@@ -4925,8 +5049,7 @@ timeout_cb(http_t *http,          /* I - Connection to server */
 static void
 usage(void)
 {
-  _cupsLangPuts(stderr, _("Usage: ipptool [options] URI filename [ ... "
-                         "filenameN ]"));
+  _cupsLangPuts(stderr, _("Usage: ipptool [options] URI filename [ ... filenameN ]"));
   _cupsLangPuts(stderr, _("Options:"));
   _cupsLangPuts(stderr, _("  --help                  Show help."));
   _cupsLangPuts(stderr, _("  --stop-after-include-error\n"
@@ -4936,30 +5059,20 @@ usage(void)
   _cupsLangPuts(stderr, _("  -6                      Connect using IPv6."));
   _cupsLangPuts(stderr, _("  -C                      Send requests using "
                           "chunking (default)."));
-  _cupsLangPuts(stdout, _("  -E                      Test with HTTP Upgrade to "
-                          "TLS."));
+  _cupsLangPuts(stderr, _("  -E                      Test with encryption using HTTP Upgrade to TLS."));
   _cupsLangPuts(stderr, _("  -I                      Ignore errors."));
-  _cupsLangPuts(stderr, _("  -L                      Send requests using "
-                          "content-length."));
+  _cupsLangPuts(stderr, _("  -L                      Send requests using content-length."));
   _cupsLangPuts(stderr, _("  -P filename.plist       Produce XML plist to a file and test report to standard output."));
-  _cupsLangPuts(stderr, _("  -S                      Test with SSL "
-                         "encryption."));
-  _cupsLangPuts(stderr, _("  -T seconds              Set the receive/send "
-                          "timeout in seconds."));
-  _cupsLangPuts(stderr, _("  -V version              Set default IPP "
-                          "version."));
-  _cupsLangPuts(stderr, _("  -X                      Produce XML plist instead "
-                          "of plain text."));
+  _cupsLangPuts(stderr, _("  -S                      Test with encryption using HTTPS."));
+  _cupsLangPuts(stderr, _("  -T seconds              Set the receive/send timeout in seconds."));
+  _cupsLangPuts(stderr, _("  -V version              Set default IPP version."));
+  _cupsLangPuts(stderr, _("  -X                      Produce XML plist instead of plain text."));
   _cupsLangPuts(stderr, _("  -c                      Produce CSV output."));
-  _cupsLangPuts(stderr, _("  -d name=value           Set named variable to "
-                          "value."));
-  _cupsLangPuts(stderr, _("  -f filename             Set default request "
-                          "filename."));
-  _cupsLangPuts(stderr, _("  -i seconds              Repeat the last file with "
-                          "the given time interval."));
+  _cupsLangPuts(stderr, _("  -d name=value           Set named variable to value."));
+  _cupsLangPuts(stderr, _("  -f filename             Set default request filename."));
+  _cupsLangPuts(stderr, _("  -i seconds              Repeat the last file with the given time interval."));
   _cupsLangPuts(stderr, _("  -l                      Produce plain text output."));
-  _cupsLangPuts(stderr, _("  -n count                Repeat the last file the "
-                          "given number of times."));
+  _cupsLangPuts(stderr, _("  -n count                Repeat the last file the given number of times."));
   _cupsLangPuts(stderr, _("  -q                      Run silently."));
   _cupsLangPuts(stderr, _("  -t                      Produce a test report."));
   _cupsLangPuts(stderr, _("  -v                      Be verbose."));
@@ -4973,7 +5086,7 @@ usage(void)
  */
 
 static int                             /* O - 1 if valid, 0 otherwise */
-validate_attr(FILE            *outfile,        /* I - Output file */
+validate_attr(cups_file_t     *outfile,        /* I - Output file */
               cups_array_t    *errors, /* I - Errors array */
               ipp_attribute_t *attr)   /* I - Attribute to validate */
 {
@@ -5634,7 +5747,7 @@ validate_attr(FILE            *outfile,   /* I - Output file */
  */
 
 static int                             /* O - 1 on match, 0 on non-match */
-with_value(FILE            *outfile,   /* I - Output file */
+with_value(cups_file_t     *outfile,   /* I - Output file */
            cups_array_t    *errors,    /* I - Errors array */
            char            *value,     /* I - Value string */
            int             flags,      /* I - Flags for match */
@@ -5947,34 +6060,13 @@ with_value(FILE            *outfile,    /* I - Output file */
        }
        else if (ippGetValueTag(attr) == IPP_TAG_URI)
        {
-          if (!strncmp(value, "ipp://", 6) || !strncmp(value, "http://", 7) || !strncmp(value, "ipps://", 7) || !strncmp(value, "https://", 8))
-          {
-           char        scheme[256],    /* URI scheme */
-                       userpass[256],  /* username:password, if any */
-                       hostname[256],  /* hostname */
-                       *hostptr,       /* Pointer into hostname */
-                       resource[1024]; /* Resource path */
-           int         port;           /* Port number */
-
-            if (httpSeparateURI(HTTP_URI_CODING_ALL, value, scheme, sizeof(scheme), userpass, sizeof(userpass), hostname, sizeof(hostname), &port, resource, sizeof(resource)) >= HTTP_URI_STATUS_OK && (hostptr = hostname + strlen(hostname) - 1) > hostname && *hostptr == '.')
-            {
-             /*
-              * Strip trailing "." in hostname of URI...
-              */
-
-              *hostptr = '\0';
-              httpAssembleURI(HTTP_URI_CODING_ALL, temp, sizeof(temp), scheme, userpass, hostname, port, resource);
-              value = temp;
-            }
-          }
-
         /*
          * Value is a literal URI string, see if the value(s) match...
          */
 
          for (i = 0; i < attr->num_values; i ++)
          {
-           if (!strcmp(value, get_string(attr, i, flags, temp, sizeof(temp))))
+           if (!compare_uris(value, get_string(attr, i, flags, temp, sizeof(temp))))
            {
              if (!matchbuf[0])
                strlcpy(matchbuf,
diff --git a/test/print-job-manual.test b/test/print-job-manual.test
new file mode 100644 (file)
index 0000000..1578228
--- /dev/null
@@ -0,0 +1,37 @@
+# Print a test page using print-job
+{
+       # The name of the test...
+       NAME "Print file using Print-Job"
+
+       # The operation to use
+       OPERATION Print-Job
+
+       # Attributes, starting in the operation group...
+       GROUP operation-attributes-tag
+       ATTR charset attributes-charset utf-8
+       ATTR language attributes-natural-language en
+       ATTR uri printer-uri $uri
+       ATTR name requesting-user-name $user
+       ATTR mimeMediaType document-format $filetype
+
+       GROUP job-attributes-tag
+       ATTR integer copies 1
+        ATTR collection media-col {
+                MEMBER keyword media-source manual
+                MEMBER collection media-size {
+                        MEMBER integer x-dimension 21590
+                        MEMBER integer y-dimension 27940
+                }
+        }
+        ATTR keyword print-scaling none
+
+       FILE $filename
+
+       # What statuses are OK?
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
+
+       # What attributes do we expect?
+       EXPECT job-id
+       EXPECT job-uri
+}
index 7b49d16557fb6493d402ace4b3332dd12407de40..792f10d70666ebfc9ec731a563d79eb1cc3b41bd 100755 (executable)
@@ -3,7 +3,7 @@
 # Perform the complete set of IPP compliance tests specified in the
 # CUPS Software Test Plan.
 #
-# Copyright 2007-2016 by Apple Inc.
+# Copyright 2007-2017 by Apple Inc.
 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -739,12 +739,7 @@ done
 
 date=`date "+%Y-%m-%d"`
 
-if test -d $root/.svn; then
-       rev=`svn info . | grep Revision: | awk '{print $2}'`
-       strfile=$BASE/cups-str-2.2-r$rev-$user.html
-else
-       strfile=$BASE/cups-str-2.2-$date-$user.html
-fi
+strfile=$BASE/cups-str-$date-$user.html
 
 rm -f $strfile
 cat str-header.html >$strfile
@@ -756,11 +751,11 @@ cat str-header.html >$strfile
 echo ""
 echo "Running IPP compliance tests..."
 
-echo "<H1><A NAME='IPP'>1 - IPP Compliance Tests</A></H1>" >>$strfile
-echo "<P>This section provides the results to the IPP compliance tests" >>$strfile
-echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
-echo `date "+%Y-%m-%d"` by $user on `hostname`. >>$strfile
-echo "<PRE>" >>$strfile
+echo "    <h1><a name='IPP'>1 - IPP Compliance Tests</a></h1>" >>$strfile
+echo "    <p>This section provides the results to the IPP compliance tests" >>$strfile
+echo "    outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
+echo "    $date by $user on `hostname`." >>$strfile
+echo "    <pre>" >>$strfile
 
 fail=0
 for file in 4*.test ipp-2.1.test; do
@@ -785,7 +780,7 @@ for file in 4*.test ipp-2.1.test; do
        fi
 done
 
-echo "</PRE>" >>$strfile
+echo "    </pre>" >>$strfile
 
 #
 # Run the command tests...
@@ -794,11 +789,11 @@ echo "</PRE>" >>$strfile
 echo ""
 echo "Running command tests..."
 
-echo "<H1><A NAME='COMMAND'>2 - Command Tests</A></H1>" >>$strfile
-echo "<P>This section provides the results to the command tests" >>$strfile
-echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
-echo $date by $user on `hostname`. >>$strfile
-echo "<PRE>" >>$strfile
+echo "    <h1><a name='COMMAND'>2 - Command Tests</a></h1>" >>$strfile
+echo "    <p>This section provides the results to the command tests" >>$strfile
+echo "    outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
+echo "    $date by $user on `hostname`." >>$strfile
+echo "    <pre>" >>$strfile
 
 for file in 5*.sh; do
        echo $ac_n "Performing $file: $ac_c"
@@ -819,6 +814,7 @@ done
 #
 # Log all allocations made by the scheduler...
 #
+
 if test `uname` = Darwin -a "x$VALGRIND" = x; then
        malloc_history $cupsd -callTree -showContent >$BASE/log/malloc_log 2>&1
 fi
@@ -852,7 +848,7 @@ else
        echo PASS
 fi
 
-echo "</PRE>" >>$strfile
+echo "    </pre>" >>$strfile
 
 #
 # Stop the server...
@@ -868,15 +864,15 @@ cupsdstatus=$?
 
 echo "Test Summary"
 echo ""
-echo "<H1><A NAME='SUMMARY'>3 - Test Summary</A></H1>" >>$strfile
+echo "    <h1><a name='SUMMARY'>3 - Test Summary</a></h1>" >>$strfile
 
 if test $cupsdstatus != 0; then
        echo "FAIL: cupsd failed with exit status $cupsdstatus."
-       echo "<p>FAIL: cupsd failed with exit status $cupsdstatus.</p>" >>$strfile
+       echo "    <p>FAIL: cupsd failed with exit status $cupsdstatus.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: cupsd exited with no errors."
-       echo "<p>PASS: cupsd exited with no errors.</p>" >>$strfile
+       echo "    <p>PASS: cupsd exited with no errors.</p>" >>$strfile
 fi
 
 # Job control files
@@ -884,11 +880,11 @@ count=`ls -1 $BASE/spool | wc -l`
 count=`expr $count - 1`
 if test $count != 0; then
        echo "FAIL: $count job control files were not purged."
-       echo "<P>FAIL: $count job control files were not purged.</P>" >>$strfile
+       echo "    <p>FAIL: $count job control files were not purged.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: All job control files purged."
-       echo "<P>PASS: All job control files purged.</P>" >>$strfile
+       echo "    <p>PASS: All job control files purged.</p>" >>$strfile
 fi
 
 # Pages printed on Test1 (within 1 page for timing-dependent cancel issues)
@@ -897,11 +893,11 @@ expected=`expr $pjobs \* 2 + 34`
 expected2=`expr $expected + 2`
 if test $count -lt $expected -a $count -gt $expected2; then
        echo "FAIL: Printer 'Test1' produced $count page(s), expected $expected."
-       echo "<P>FAIL: Printer 'Test1' produced $count page(s), expected $expected.</P>" >>$strfile
+       echo "    <p>FAIL: Printer 'Test1' produced $count page(s), expected $expected.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: Printer 'Test1' correctly produced $count page(s)."
-       echo "<P>PASS: Printer 'Test1' correctly produced $count page(s).</P>" >>$strfile
+       echo "    <p>PASS: Printer 'Test1' correctly produced $count page(s).</p>" >>$strfile
 fi
 
 # Paged printed on Test2
@@ -909,11 +905,11 @@ count=`$GREP '^Test2 ' $BASE/log/page_log | awk 'BEGIN{count=0}{count=count+$7}E
 expected=`expr $pjobs \* 2 + 3`
 if test $count != $expected; then
        echo "FAIL: Printer 'Test2' produced $count page(s), expected $expected."
-       echo "<P>FAIL: Printer 'Test2' produced $count page(s), expected $expected.</P>" >>$strfile
+       echo "    <p>FAIL: Printer 'Test2' produced $count page(s), expected $expected.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: Printer 'Test2' correctly produced $count page(s)."
-       echo "<P>PASS: Printer 'Test2' correctly produced $count page(s).</P>" >>$strfile
+       echo "    <p>PASS: Printer 'Test2' correctly produced $count page(s).</p>" >>$strfile
 fi
 
 # Paged printed on Test3
@@ -921,11 +917,11 @@ count=`$GREP '^Test3 ' $BASE/log/page_log | grep -v total | awk 'BEGIN{count=0}{
 expected=2
 if test $count != $expected; then
        echo "FAIL: Printer 'Test3' produced $count page(s), expected $expected."
-       echo "<P>FAIL: Printer 'Test3' produced $count page(s), expected $expected.</P>" >>$strfile
+       echo "    <p>FAIL: Printer 'Test3' produced $count page(s), expected $expected.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: Printer 'Test3' correctly produced $count page(s)."
-       echo "<P>PASS: Printer 'Test3' correctly produced $count page(s).</P>" >>$strfile
+       echo "    <p>PASS: Printer 'Test3' correctly produced $count page(s).</p>" >>$strfile
 fi
 
 # Requests logged
@@ -933,24 +929,24 @@ count=`wc -l $BASE/log/access_log | awk '{print $1}'`
 expected=`expr 37 + 18 + 30 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
 if test $count != $expected; then
        echo "FAIL: $count requests logged, expected $expected."
-       echo "<P>FAIL: $count requests logged, expected $expected.</P>" >>$strfile
+       echo "    <p>FAIL: $count requests logged, expected $expected.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count requests logged."
-       echo "<P>PASS: $count requests logged.</P>" >>$strfile
+       echo "    <p>PASS: $count requests logged.</p>" >>$strfile
 fi
 
 # Did CUPS-Get-Default get logged?
 if $GREP -q CUPS-Get-Default $BASE/log/access_log; then
        echo "FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'"
-       echo "<P>FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP CUPS-Get-Default $BASE/log/access_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: CUPS-Get-Default not logged."
-       echo "<P>PASS: CUPS-Get-Default not logged.</P>" >>$strfile
+       echo "    <p>PASS: CUPS-Get-Default not logged.</p>" >>$strfile
 fi
 
 # Emergency log messages
@@ -958,14 +954,14 @@ count=`$GREP '^X ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count != 0; then
        echo "FAIL: $count emergency messages, expected 0."
        $GREP '^X ' $BASE/log/error_log
-       echo "<P>FAIL: $count emergency messages, expected 0.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count emergency messages, expected 0.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^X ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count emergency messages."
-       echo "<P>PASS: $count emergency messages.</P>" >>$strfile
+       echo "    <p>PASS: $count emergency messages.</p>" >>$strfile
 fi
 
 # Alert log messages
@@ -973,14 +969,14 @@ count=`$GREP '^A ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count != 0; then
        echo "FAIL: $count alert messages, expected 0."
        $GREP '^A ' $BASE/log/error_log
-       echo "<P>FAIL: $count alert messages, expected 0.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count alert messages, expected 0.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^A ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count alert messages."
-       echo "<P>PASS: $count alert messages.</P>" >>$strfile
+       echo "    <p>PASS: $count alert messages.</p>" >>$strfile
 fi
 
 # Critical log messages
@@ -988,14 +984,14 @@ count=`$GREP '^C ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count != 0; then
        echo "FAIL: $count critical messages, expected 0."
        $GREP '^C ' $BASE/log/error_log
-       echo "<P>FAIL: $count critical messages, expected 0.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count critical messages, expected 0.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^C ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count critical messages."
-       echo "<P>PASS: $count critical messages.</P>" >>$strfile
+       echo "    <p>PASS: $count critical messages.</p>" >>$strfile
 fi
 
 # Error log messages
@@ -1003,14 +999,14 @@ count=`$GREP '^E ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count != 33; then
        echo "FAIL: $count error messages, expected 33."
        $GREP '^E ' $BASE/log/error_log
-       echo "<P>FAIL: $count error messages, expected 33.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count error messages, expected 33.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^E ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count error messages."
-       echo "<P>PASS: $count error messages.</P>" >>$strfile
+       echo "    <p>PASS: $count error messages.</p>" >>$strfile
 fi
 
 # Warning log messages
@@ -1018,14 +1014,14 @@ count=`$GREP '^W ' $BASE/log/error_log | $GREP -v CreateProfile | wc -l | awk '{
 if test $count != 8; then
        echo "FAIL: $count warning messages, expected 8."
        $GREP '^W ' $BASE/log/error_log
-       echo "<P>FAIL: $count warning messages, expected 8.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count warning messages, expected 8.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^W ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count warning messages."
-       echo "<P>PASS: $count warning messages.</P>" >>$strfile
+       echo "    <p>PASS: $count warning messages.</p>" >>$strfile
 fi
 
 # Notice log messages
@@ -1033,69 +1029,74 @@ count=`$GREP '^N ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count != 0; then
        echo "FAIL: $count notice messages, expected 0."
        $GREP '^N ' $BASE/log/error_log
-       echo "<P>FAIL: $count notice messages, expected 0.</P>" >>$strfile
-       echo "<PRE>" >>$strfile
+       echo "    <p>FAIL: $count notice messages, expected 0.</p>" >>$strfile
+       echo "    <pre>" >>$strfile
        $GREP '^N ' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-       echo "</PRE>" >>$strfile
+       echo "    </pre>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count notice messages."
-       echo "<P>PASS: $count notice messages.</P>" >>$strfile
+       echo "    <p>PASS: $count notice messages.</p>" >>$strfile
 fi
 
 # Info log messages
 count=`$GREP '^I ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count = 0; then
        echo "FAIL: $count info messages, expected more than 0."
-       echo "<P>FAIL: $count info messages, expected more than 0.</P>" >>$strfile
+       echo "    <p>FAIL: $count info messages, expected more than 0.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count info messages."
-       echo "<P>PASS: $count info messages.</P>" >>$strfile
+       echo "    <p>PASS: $count info messages.</p>" >>$strfile
 fi
 
 # Debug log messages
 count=`$GREP '^D ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count = 0; then
        echo "FAIL: $count debug messages, expected more than 0."
-       echo "<P>FAIL: $count debug messages, expected more than 0.</P>" >>$strfile
+       echo "    <p>FAIL: $count debug messages, expected more than 0.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count debug messages."
-       echo "<P>PASS: $count debug messages.</P>" >>$strfile
+       echo "    <p>PASS: $count debug messages.</p>" >>$strfile
 fi
 
 # Debug2 log messages
 count=`$GREP '^d ' $BASE/log/error_log | wc -l | awk '{print $1}'`
 if test $count = 0; then
        echo "FAIL: $count debug2 messages, expected more than 0."
-       echo "<P>FAIL: $count debug2 messages, expected more than 0.</P>" >>$strfile
+       echo "    <p>FAIL: $count debug2 messages, expected more than 0.</p>" >>$strfile
        fail=`expr $fail + 1`
 else
        echo "PASS: $count debug2 messages."
-       echo "<P>PASS: $count debug2 messages.</P>" >>$strfile
+       echo "    <p>PASS: $count debug2 messages.</p>" >>$strfile
 fi
 
 #
 # Log files...
 #
 
-echo "<H1><A NAME='LOGS'>4 - Log Files</A></H1>" >>$strfile
-
-echo "<H2><A NAME='access_log'>access_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' $BASE/log/access_log >>$strfile
-echo "</PRE>" >>$strfile
-
-echo "<H2><A NAME='error_log'>error_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-$GREP -v '^d' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
-echo "</PRE>" >>$strfile
-
-echo "<H2><A NAME='page_log'>page_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' $BASE/log/page_log >>$strfile
-echo "</PRE>" >>$strfile
+echo "    <h1><a name='LOGS'>4 - Log Files</a></h1>" >>$strfile
+
+for file in $BASE/log/*_log; do
+        baselog=`basename $file`
+
+        echo "    <h2><a name=\"$baselog\">$baselog</a></h2>" >>$strfile
+        case $baselog in
+                error_log)
+                        echo "    <blockquote>Note: debug2 messages have been filtered out of the HTML report.</blockquote>" >>$strfile
+                        echo "    <pre>" >>$strfile
+                        $GREP -v '^d' $BASE/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
+                        echo "    </pre>" >>$strfile
+                        ;;
+
+                *)
+                        echo "    <pre>" >>$strfile
+                        sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' $file >>$strfile
+                        echo "    </pre>" >>$strfile
+                        ;;
+        esac
+done
 
 #
 # Format the reports and tell the user where to find them...
@@ -1104,29 +1105,23 @@ echo "</PRE>" >>$strfile
 cat str-trailer.html >>$strfile
 
 echo ""
+for file in $BASE/log/*_log; do
+        baselog=`basename $file`
+        cp $file $baselog-$date-$user
+        echo "Copied log file \"$baselog-$date-$user\" to test directory."
+done
+cp $strfile .
+echo "Copied report file \"cups-str-$date-$user.html\" to test directory."
 
-if test $fail != 0; then
-       echo "$fail tests failed."
-
-       if test -d $root/.svn; then
-               cp $BASE/log/error_log error_log-r$rev-$user
-       else
-               cp $BASE/log/error_log error_log-$date-$user
-       fi
-
-       cp $strfile .
-else
-       echo "All tests were successful."
-fi
+# Clean out old failure log files after 1 week...
+find . -name \*_log-\*-$user -a -mtime +1w -print -exec rm -f '{}' \; | awk '{print "Removed old log file \"" substr($1,3) "\" from test directory."}'
+find . -name cups-str-\*-$user.html -a -mtime +1w -print -exec rm -f '{}' \; | awk '{print "Removed old report file \"" $1 "\" from test directory."}'
 
-echo "Log files can be found in $BASE/log."
-echo "A HTML report was created in $strfile."
 echo ""
 
 if test $fail != 0; then
-       echo "Copies of the error_log and `basename $strfile` files are in"
-       echo "`pwd`."
-       echo ""
-
+       echo "$fail tests failed."
        exit 1
+else
+       echo "All tests were successful."
 fi
index ff53eaf832c60db11e6aae49dc873c66cb92eabc..35f622ab4a4580b5963926dfeb05908bf9d38729 100644 (file)
@@ -1,35 +1,43 @@
-<HTML>
-<HEAD>
-       <META NAME="Description" CONTENT="CUPS Test Report">
-       <META NAME="COPYRIGHT" CONTENT="Copyright 2007-2016, All Rights Reserved">
-       <META NAME="DOCNUMBER" CONTENT="CUPS-STR-2.2">
-       <META NAME="Author" CONTENT="Apple Inc.">
-       <TITLE>CUPS 2.2 Software Test Report</TITLE>
-       <STYLE TYPE="text/css"><!--
-       PRE {
-         font-size: 80%;
-         margin-left: 2em;
-       }
-       --></STYLE>
-</HEAD>
-<BODY>
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta name="Description" content="CUPS Test Report">
+    <meta name="Copyright" content="Copyright &copy; 2007-2017, All Rights Reserved">
+    <meta name="Author" content="Apple Inc.">
+    <title>CUPS Software Test Report</title>
+    <style type="text/css"><!--
+blockquote {
+  background: #eee;
+  border: 1px solid #ccc;
+  padding: 5px;
+}
+pre {
+  background: #eee;
+  border-left: 2px solid #ccc;
+  font-size: 80%;
+  margin-left: 2em;
+  padding: 5px;
+  white-space: pre-wrap;
+}
+--></style>
+   </head>
+  <body>
+    <h1>CUPS Software Test Report</h1>
 
-<H1>CUPS 2.2 Software Test Report</H1>
+    <p>This software test report provides detailed test results that are used to evaluate the stability and standards compliance of the CUPS software.</p>
 
-<P>This software test report provides detailed test results that
-are used to evaluate the stability and compliance of CUPS Version 2.2.
+    <h2>Document Overview</h2>
 
-<H2>Document Overview</H2>
+    <p>This software test plan is organized into the following sections:</p>
 
-<P>This software test plan is organized into the following sections:
-
-<UL>
-       <LI><A HREF="#IPP">1 - IPP Compliance Tests</A></LI>
-       <LI><A HREF="#COMMAND">2 - Command Tests</A></LI>
-       <LI><A HREF="#SUMMARY">3 - Test Summary</A></LI>
-       <LI><A HREF="#LOGS">4 - Log Files</A><UL>
-               <LI><A HREF="#access_log">access_log</A></LI>
-               <LI><A HREF="#error_log">error_log</A></LI>
-               <LI><A HREF="#page_log">page_log</A></LI>
-       </UL></LI>
-</UL>
+    <ul>
+      <li><a href="#IPP">1 - IPP Compliance Tests</a></li>
+      <li><a href="#COMMAND">2 - Command Tests</a></li>
+      <li><a href="#SUMMARY">3 - Test Summary</a></li>
+      <li><a href="#LOGS">4 - Log Files</a><ul>
+        <li><a href="#access_log">access_log</a></li>
+        <li><a href="#debug_log">debug_log</a></li>
+        <li><a href="#error_log">error_log</a></li>
+        <li><a href="#page_log">page_log</a></li>
+      </ul></li>
+    </ul>
index e04310fdd2d58c69a390aef96e25821cf20ae5ee..b605728ee26a9b0a7be60e81d23f660a87893ebb 100644 (file)
@@ -1,2 +1,2 @@
-</BODY>
-</HTML>
+  </body>
+</html>
index 6629a73c343f40b9617a8263af4a28c35afb1aaa..2edef834354d12427fe6b23f541af9bbdd7e8d62 100644 (file)
                                72220EDE133305BB00FCA411 /* http-addr.c */,
                                72220EDF133305BB00FCA411 /* http-addrlist.c */,
                                72220EE1133305BB00FCA411 /* http-support.c */,
-                               72220EE5133305BB00FCA411 /* ipp-support.c */,
                                72220EE6133305BB00FCA411 /* ipp.c */,
+                               72220EE5133305BB00FCA411 /* ipp-support.c */,
                                72220EE8133305BB00FCA411 /* langprintf.c */,
                                72220EEA133305BB00FCA411 /* language.c */,
                                72220EEF133305BB00FCA411 /* md5.c */,