templates/header.tmpl
templates/*/header.tmpl
test/cups-str-*.html
-test/error_log-*
+test/*_log-*
test/ippfind
test/ippfind-static
test/ippserver
-CHANGES - 2.2.4 - 2017-06-05
+CHANGES - 2.2.4 - 2017-06-19
============================
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)
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
#
# 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
# 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...
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@
/*
* 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
*
* 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 */
# Kyocera Ecosys P6026cdn (Issue #4900)
0x0482 0x063f no-reattach
+
+# Lexmark E260dn (Issue #4994)
+0x043d 0x0123 no-reattach
section = n->section;
}
- if (!topic || strcmp(n->section, topic))
+ if (!topic || !n->section || strcmp(n->section, topic))
continue;
/*
(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
-
########################################################################
#
dnl Checks for signal functions.
case "$host_os_name" in
- linux | gnu)
+ linux* | gnu*)
# Do not use sigset on Linux or GNU HURD
;;
*)
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
# 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"
;;
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"
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"
EXPORT_LDFLAGS="-Wl,-R$libdir"
fi
;;
- linux | gnu)
+ linux* | gnu*)
# Linux, and HURD...
if test $exec_prefix != /usr; then
DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
if test "x$rcstart" = x; then
case "$host_os_name" in
- linux | gnu | gnu/k*bsd*)
+ linux* | gnu*)
# Linux
rcstart="81"
;;
if test "x$rcstop" = x; then
case "$host_os_name" in
- linux | gnu | gnu/k*bsd*)
+ linux* | gnu*)
# Linux
rcstop="36"
;;
CUPS_LOG_FILE_PERM
CUPS_CUPSD_FILE_PERM
CUPS_CONFIG_FILE_PERM
+CUPS_EXE_FILE_PERM
CUPS_BUNDLEDIR
LANGUAGES
XINETD
with_xinetd
with_languages
with_bundledir
+with_exe_file_perm
with_config_file_perm
with_cupsd_file_perm
with_log_file_perm
--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
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
case "$host_os_name" in
- linux | gnu)
+ linux* | gnu*)
# Do not use sigset on Linux or GNU HURD
;;
*)
# 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"
;;
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"
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"
EXPORT_LDFLAGS="-Wl,-R$libdir"
fi
;;
- linux | gnu)
+ linux* | gnu*)
# Linux, and HURD...
if test $exec_prefix != /usr; then
DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
if test "x$rcstart" = x; then
case "$host_os_name" in
- linux | gnu | gnu/k*bsd*)
+ linux* | gnu*)
# Linux
rcstart="81"
;;
if test "x$rcstop" = x; then
case "$host_os_name" in
- linux | gnu | gnu/k*bsd*)
+ linux* | gnu*)
# Linux
rcstop="36"
;;
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=""
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"
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
$(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 \
/*
* 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
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 */
}
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
* 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 */
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 */
* Range check input...
*/
- if (!http || !dest || !dinfo || !option || !value)
+ if (!http || !dest || !dinfo || !option)
return (0);
/*
if (!attr)
return (0);
- /*
+ if (!value)
+ return (1);
+
+/*
* Compare values...
*/
/*
* 'cupsFreeDestInfo()' - Free destination information obtained using
* @link cupsCopyDestInfo@.
+ *
+ * @since CUPS 1.6/macOS 10.8@
*/
void
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);
/*
- * '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 */
#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 */
# 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 */
# 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...
*/
*/
#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+ memset(&data, 0, sizeof(data));
+
data.type = type;
data.mask = mask;
data.cb = cb;
*/
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)
* Get Bonjour-shared printers...
*/
+ gettimeofday(&curtime, NULL);
+
# ifdef HAVE_DNSSD
if (DNSServiceCreateConnection(&data.main_ref) != kDNSServiceErr_NoError)
return (0);
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);
/*
* '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.
*/
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...
"printer-info",
"printer-is-accepting-jobs",
"printer-is-shared",
+ "printer-is-temporary",
"printer-location",
"printer-make-and-model",
"printer-mandatory-job-attributes",
};
- 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__
/*
!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") ||
* '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.
* '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 */
* '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.
_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...
return (NULL);
}
- DEBUG_printf(("1cupsGetNamedDest: Got dest=%p", dest));
+ DEBUG_printf(("1cupsGetNamedDest: Got dest=%p", (void *)dest));
if (instance)
dest->instance = _cupsStrAlloc(instance);
*
* 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
*
* 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@
*/
#endif /* HAVE_DNSSD */
+#if defined(HAVE_AVAHI) || defined(HAVE_DNSSD)
/*
* 'cups_elapsed()' - Return the elapsed time in milliseconds.
*/
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 */
/*
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))
{
* '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
* '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@
* 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
* 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
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));
#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);
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);
}
{
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);
}
}
{
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);
}
}
* 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
* '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@
*/
/*
* '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@
* 'httpGetHostByName()' - Lookup a hostname or IPv4 address, and return
* address records for the specified name.
*
- * @deprecated@
+ * @deprecated@ @exclude all@
*/
struct hostent * /* O - Host entry */
/*
* '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@
*/
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 */
{
*/
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 */
*/
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 */
{
* '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 */
* '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 */
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 */
/*
- * 'httpFlush()' - Flush data from a HTTP connection.
+ * 'httpFlush()' - Flush data read from a HTTP connection.
*/
void
/*
- * 'httpFlushWrite()' - Flush data in write buffer.
+ * 'httpFlushWrite()' - Flush data written to a HTTP connection.
*
* @since CUPS 1.2/macOS 10.5@
*/
/*
* '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@
*/
/*
* '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@
*/
* @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);
* '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 */
* @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 */
* @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 */
*
* 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.
*
* '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@
*/
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)
/*
* 'httpTrace()' - Send an TRACE request to the server.
+ *
+ * @exclude all@
*/
int /* O - Status of call (0 = success) */
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 */
/*
* 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
/*
* '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@
*/
/*
* '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@
*/
/*
- * '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.
* 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@
*/
/*
- * '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 */
memset(&unixdate, 0, sizeof(unixdate));
/*
- * RFC-1903 date/time format is:
+ * RFC-2579 date/time format is:
*
* Byte(s) Description
* ------- -----------
* '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@
*/
* '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@
*/
/*
- * '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) */
{
* '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@
*/
* '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@
*/
* '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@
*/
* '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@
*/
* '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@
*/
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...
/*
* '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@
*/
/*
* '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@
* 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@
*/
* 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@
*/
/*
- * '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.
* 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@
*/
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 */
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 ||
* 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@
*/
* 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@
*/
* 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@
*/
* 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@
*/
* 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@
*/
* 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
* 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
/*
- * '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
* ------- -----------
*
* 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@
*/
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
{
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);
}
}
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 ==
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 ==
{
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 ==
{
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);
{
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);
}
{
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);
{
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);
}
{
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);
{
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);
}
{
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);
{
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]);
{
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));
}
{
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);
}
{
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);
{
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);
}
{
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);
{
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);
{
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);
{
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);
{
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);
* '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@
*/
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 */
# 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 */
# 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 */
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 */
# 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 */
# 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 */
/**** 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 ****/
/*
} _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 */
/*
* 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
* 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 */
* 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@ */
_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;
/*
- * '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
*
* 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@
*/
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;
<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
<p class="description">Create the Windows PPD file for a printer.</p>
<p class="code">
-char *cupsAdminCreateWindowsPPD (<br>
-    http_t *http,<br>
-    const char *dest,<br>
-    char *buffer,<br>
-    int bufsize<br>
-);</p>
+char *cupsAdminCreateWindowsPPD(http_t *http, const char *dest, char *buffer, int bufsize);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
- <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>dest</dt>
- <dd class="description">Printer or class</dd>
-<dt>buffer</dt>
- <dd class="description">Filename buffer</dd>
-<dt>bufsize</dt>
- <dd class="description">Size of filename buffer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>dest</th>
+ <td class="description">Printer or class</td></tr>
+<tr><th>buffer</th>
+ <td class="description">Filename buffer</td></tr>
+<tr><th>bufsize</th>
+ <td class="description">Size of filename buffer</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">PPD file or NULL</p>
<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
<p class="description">Export a printer to Samba.</p>
<p class="code">
-int cupsAdminExportSamba (<br>
-    const char *dest,<br>
-    const char *ppd,<br>
-    const char *samba_server,<br>
-    const char *samba_user,<br>
-    const char *samba_password,<br>
-    FILE *logfile<br>
-);</p>
+int cupsAdminExportSamba(const char *dest, const char *ppd, const char *samba_server, const char *samba_user, const char *samba_password, FILE *logfile);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>dest</dt>
- <dd class="description">Destination to export</dd>
-<dt>ppd</dt>
- <dd class="description">PPD file</dd>
-<dt>samba_server</dt>
- <dd class="description">Samba server</dd>
-<dt>samba_user</dt>
- <dd class="description">Samba username</dd>
-<dt>samba_password</dt>
- <dd class="description">Samba password</dd>
-<dt>logfile</dt>
- <dd class="description">Log file, if any</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>dest</th>
+ <td class="description">Destination to export</td></tr>
+<tr><th>ppd</th>
+ <td class="description">PPD file</td></tr>
+<tr><th>samba_server</th>
+ <td class="description">Samba server</td></tr>
+<tr><th>samba_user</th>
+ <td class="description">Samba username</td></tr>
+<tr><th>samba_password</th>
+ <td class="description">Samba password</td></tr>
+<tr><th>logfile</th>
+ <td class="description">Log file, if any</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">1 on success, 0 on failure</p>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
<p class="description">Get settings from the server.</p>
<p class="code">
-int cupsAdminGetServerSettings (<br>
-    http_t *http,<br>
-    int *num_settings,<br>
-    cups_option_t **settings<br>
-);</p>
+int cupsAdminGetServerSettings(http_t *http, int *num_settings, cups_option_t **settings);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
- <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
- <dd class="description">Number of settings</dd>
-<dt>settings</dt>
- <dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+ <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+ <td class="description">Settings</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">1 on success, 0 on failure</p>
<h4 class="discussion">Discussion</h4>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
<p class="description">Set settings on the server.</p>
<p class="code">
-int cupsAdminSetServerSettings (<br>
-    http_t *http,<br>
-    int num_settings,<br>
-    cups_option_t *settings<br>
-);</p>
+int cupsAdminSetServerSettings(http_t *http, int num_settings, cups_option_t *settings);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
- <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>num_settings</dt>
- <dd class="description">Number of settings</dd>
-<dt>settings</dt>
- <dd class="description">Settings</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>num_settings</th>
+ <td class="description">Number of settings</td></tr>
+<tr><th>settings</th>
+ <td class="description">Settings</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">1 on success, 0 on failure</p>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </span><a id="cupsGetDevices">cupsGetDevices</a></h3>
<p class="description">Get available printer devices.</p>
<p class="code">
-ipp_status_t cupsGetDevices (<br>
-    http_t *http,<br>
-    int timeout,<br>
-    const char *include_schemes,<br>
-    const char *exclude_schemes,<br>
-    <a href="#cups_device_cb_t">cups_device_cb_t</a> callback,<br>
-    void *user_data<br>
-);</p>
+ipp_status_t cupsGetDevices(http_t *http, int timeout, const char *include_schemes, const char *exclude_schemes, <a href="#cups_device_cb_t">cups_device_cb_t</a> callback, void *user_data);</p>
<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>http</dt>
- <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
-<dt>timeout</dt>
- <dd class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></dd>
-<dt>include_schemes</dt>
- <dd class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></dd>
-<dt>exclude_schemes</dt>
- <dd class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></dd>
-<dt>callback</dt>
- <dd class="description">Callback function</dd>
-<dt>user_data</dt>
- <dd class="description">User data pointer</dd>
-</dl>
+<table class="list"><tbody>
+<tr><th>http</th>
+ <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr>
+<tr><th>timeout</th>
+ <td class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></td></tr>
+<tr><th>include_schemes</th>
+ <td class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></td></tr>
+<tr><th>exclude_schemes</th>
+ <td class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></td></tr>
+<tr><th>callback</th>
+ <td class="description">Callback function</td></tr>
+<tr><th>user_data</th>
+ <td class="description">User data pointer</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Request status - <code>IPP_OK</code> on success.</p>
<h4 class="discussion">Discussion</h4>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cupsBackChannelRead">cupsBackChannelRead</a></h3>
<p class="description">Read data from the backchannel.</p>
<p class="code">
-ssize_t cupsBackChannelRead (<br>
-    char *buffer,<br>
-    size_t bytes,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
<p class="description">Write data to the backchannel.</p>
<p class="code">
-ssize_t cupsBackChannelWrite (<br>
-    const char *buffer,<br>
-    size_t bytes,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </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>
-    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>
first.
</p>
-<h3 class="function"><a id="cupsBackendReport">cupsBackendReport</a></h3>
- <p class="description">PPD attribute</p>
+<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </span><a id="cupsBackendReport">cupsBackendReport</a></h3>
+ <p class="description">Write a device line from a backend.</p>
<p class="code">
-void cupsBackendReport (<br>
-    const char *device_scheme,<br>
-    const char *device_uri,<br>
-    const char *device_make_and_model,<br>
-    const char *device_info,<br>
-    const char *device_id,<br>
-    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.
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </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>
-    <a href="#cups_sc_command_t">cups_sc_command_t</a> command,<br>
-    char *data,<br>
-    int *datalen,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsSideChannelRead">cupsSideChannelRead</a></h3>
<p class="description">Read a side-channel message.</p>
<p class="code">
-int cupsSideChannelRead (<br>
-    <a href="#cups_sc_command_t">cups_sc_command_t</a> *command,<br>
-    <a href="#cups_sc_status_t">cups_sc_status_t</a> *status,<br>
-    char *data,<br>
-    int *datalen,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </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>
-    const char *oid,<br>
-    char *data,<br>
-    int *datalen,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </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>
-    const char *oid,<br>
-    double timeout,<br>
-    <a href="#cups_sc_walk_func_t">cups_sc_walk_func_t</a> cb,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
<p class="description">Write a side-channel message.</p>
<p class="code">
-int cupsSideChannelWrite (<br>
-    <a href="#cups_sc_command_t">cups_sc_command_t</a> command,<br>
-    <a href="#cups_sc_status_t">cups_sc_status_t</a> status,<br>
-    const char *data,<br>
-    int datalen,<br>
-    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>
<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"> CUPS 1.5/macOS 10.7 </span></dt>
- <dd class="description">Return whether the backend is "connected" 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"> CUPS 1.4/macOS 10.6 </span></dt>
- <dd class="description">Query an SNMP OID </dd>
- <dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info"> CUPS 1.4/macOS 10.6 </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"> CUPS 1.5/macOS 10.7 </span></th> <td class="description">Return whether the backend is "connected" 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"> CUPS 1.4/macOS 10.6 </span></th> <td class="description">Query an SNMP OID </td></tr>
+ <tr><th>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info"> CUPS 1.4/macOS 10.6 </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 "connected" to printer</dd>
- <dt>CUPS_SC_NOT_CONNECTED </dt>
- <dd class="description">Backend is not "connected" to printer</dd>
-</dl>
+ <table class="list"><tbody>
+ <tr><th>CUPS_SC_CONNECTED </th> <td class="description">Backend is "connected" to printer</td></tr>
+ <tr><th>CUPS_SC_NOT_CONNECTED </th> <td class="description">Backend is not "connected" 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>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *option,<br>
-    const char *choice,<br>
-    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>
<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>
-    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>
<h3 class="function"><span class="info"> CUPS 1.1.21/macOS 10.4 </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>
-    http_t *http,<br>
-    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>
<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>
-    http_t *http,<br>
-    const char *name,<br>
-    time_t *modtime,<br>
-    char *buffer,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </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>
-    http_t *http,<br>
-    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 ("ppd-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">Name of PPD file ("ppd-name")</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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    int num_options,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </span><a id="cupsResolveConflicts">cupsResolveConflicts</a></h3>
<p class="description">Resolve conflicts in a marked PPD.</p>
<p class="code">
-int cupsResolveConflicts (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *option,<br>
-    const char *choice,<br>
-    int *num_options,<br>
-    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>
<p class="description">Collect all marked options that reside in the specified
section.</p>
<p class="code">
-int ppdCollect (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    <a href="#ppd_section_t">ppd_section_t</a> section,<br>
-    <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>
<p class="description">Collect all marked options that reside in the
specified section and minimum order.</p>
<p class="code">
-int ppdCollect2 (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    <a href="#ppd_section_t">ppd_section_t</a> section,<br>
-    float min_order,<br>
-    <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>
<p class="description">Check to see if there are any conflicts among the
marked option choices.</p>
<p class="code">
-int ppdConflicts (<br>
-    <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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    FILE *fp,<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    FILE *fp,<br>
-    <a href="#ppd_section_t">ppd_section_t</a> section,<br>
-    int limit,<br>
-    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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    int fd,<br>
-    <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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    FILE *fp,<br>
-    int job_id,<br>
-    const char *user,<br>
-    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"> CUPS 1.2/macOS 10.5 </span><a id="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
<p class="description">Emit JCLEnd code to a file.</p>
<p class="code">
-int ppdEmitJCLEnd (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    <a href="#ppd_section_t">ppd_section_t</a> section,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.1.19/macOS 10.3 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *name,<br>
-    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>
-    <a href="#ppd_option_t">ppd_option_t</a> *o,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#ppd_coption_t">ppd_coption_t</a> *opt,<br>
-    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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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"> CUPS 1.1.19/macOS 10.3 </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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *name,<br>
-    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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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>
<p class="description">Test whether an option choice conflicts with
an installable option.</p>
<p class="code">
-int ppdInstallableConflict (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *option,<br>
-    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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *option,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *keyword,<br>
-    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>
<p class="description">Get the localized version of a cupsIPPReason
attribute.</p>
<p class="code">
-const char *ppdLocalizeIPPReason (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *reason,<br>
-    const char *scheme,<br>
-    char *buffer,<br>
-    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>
<p class="description">Get the localized version of a marker-names
attribute value.</p>
<p class="code">
-const char *ppdLocalizeMarkerName (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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>
</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>
-    <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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    const char *option,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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"> CUPS 1.4/macOS 10.6 </span><a id="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
<p class="description">Return the custom page size limits.</p>
<p class="code">
-int ppdPageSizeLimits (<br>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    <a href="#ppd_size_t">ppd_size_t</a> *minimum,<br>
-    <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>
<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>
-    <a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
-    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>
    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>
    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>
    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"> CUPS 1.2/macOS 10.5 </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>
    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"> CUPS 1.2/macOS 10.5 </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>
    <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>
    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>
    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"> DEPRECATED </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"> DEPRECATED </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"> CUPS 1.1.19/macOS 10.3 </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"> DEPRECATED </span></dt>
- <dd class="description">sRGB color profiles </dd>
-<dt>protocols <span class="info"> CUPS 1.1.19/macOS 10.3 </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"> DEPRECATED </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"> DEPRECATED </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"> CUPS 1.1.19/macOS 10.3 </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"> DEPRECATED </span></th>
+ <td class="description">sRGB color profiles </td></tr>
+<tr><th>protocols <span class="info"> CUPS 1.1.19/macOS 10.3 </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>
    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"> CUPS 1.1.18/macOS 10.3 </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"> CUPS 1.1.18/macOS 10.3 </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>
    <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 ("PageSize", 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 ("PageSize", 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>
    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 "-"</dd>
-<dt>resolution[PPD_MAX_NAME] </dt>
- <dd class="description">Resolution or "-"</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 "-"</td></tr>
+<tr><th>resolution[PPD_MAX_NAME] </th>
+ <td class="description">Resolution or "-"</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>
    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"> CUPS 1.2/macOS 10.5 </span><a id="ppd_cplimit_u">ppd_cplimit_u</a></h3>
<p class="description">Custom Parameter Limit </p>
    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"> CUPS 1.2/macOS 10.5 </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>
    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"> CUPS 1.1.19/macOS 10.3 </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"> CUPS 1.1.19/macOS 10.3 </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>
</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>
-    <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"> CUPS 2.2/macOS 10.12 </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>
-    <a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
-    pwg_media_t *media,<br>
-    const char *type,<br>
-    int xdpi,<br>
-    int ydpi,<br>
-    const char *sides,<br>
-    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 "sides" 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 "sides" 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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
-    ppd_file_t *ppd,<br>
-    int num_options,<br>
-    cups_option_t *options,<br>
-    <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>
<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>
-    int fd,<br>
-    <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>
<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>
-    <a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb,<br>
-    void *ctx,<br>
-    <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>
<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>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    <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>
<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>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    <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>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    unsigned char *p,<br>
-    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>
<p class="description">Write a raster page header from a version 1 page
header structure.</p>
<p class="code">
-unsigned cupsRasterWriteHeader (<br>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    <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>
<p class="description">Write a raster page header from a version 2
page header structure.</p>
<p class="code">
-unsigned cupsRasterWriteHeader2 (<br>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    <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>
<h3 class="function"><a id="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
<p class="description">Write raster pixels.</p>
<p class="code">
-unsigned cupsRasterWritePixels (<br>
-    <a href="#cups_raster_t">cups_raster_t</a> *r,<br>
-    unsigned char *p,<br>
-    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>
    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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">Floating point ImagingBoundingBox
(scaling factor not applied, left,
-bottom, right, top) </dd>
-<dt>cupsInteger[16] <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">User-defined integer values </dd>
-<dt>cupsMarkerType[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Ink/toner type </dd>
-<dt>cupsMediaType </dt>
- <dd class="description">Media type code</dd>
-<dt>cupsNumColors <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Number of color compoents </dd>
-<dt>cupsPageSizeName[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">PageSize name </dd>
-<dt>cupsPageSize[2] <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Floating point PageSize (scaling *
-factor not applied) </dd>
-<dt>cupsReal[16] <span class="info"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">User-defined floating-point values </dd>
-<dt>cupsRenderingIntent[64] <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">User-defined integer values </td></tr>
+<tr><th>cupsMarkerType[64] <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">Number of color compoents </td></tr>
+<tr><th>cupsPageSizeName[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">PageSize name </td></tr>
+<tr><th>cupsPageSize[2] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">Floating point PageSize (scaling *
+factor not applied) </td></tr>
+<tr><th>cupsReal[16] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
+ <td class="description">User-defined floating-point values </td></tr>
+<tr><th>cupsRenderingIntent[64] <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> DEPRECATED </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>
    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"> CUPS 1.4.5 </span></dt>
- <dd class="description">Red, green, blue (Adobe RGB) </dd>
- <dt>CUPS_CSPACE_CIELab <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">CIE Lab </dd>
- <dt>CUPS_CSPACE_CIEXYZ <span class="info"> CUPS 1.1.19/macOS 10.3 </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"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 1 color </dd>
- <dt>CUPS_CSPACE_DEVICE2 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 2 colors </dd>
- <dt>CUPS_CSPACE_DEVICE3 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 3 colors </dd>
- <dt>CUPS_CSPACE_DEVICE4 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 4 colors </dd>
- <dt>CUPS_CSPACE_DEVICE5 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 5 colors </dd>
- <dt>CUPS_CSPACE_DEVICE6 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 6 colors </dd>
- <dt>CUPS_CSPACE_DEVICE7 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 7 colors </dd>
- <dt>CUPS_CSPACE_DEVICE8 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 8 colors </dd>
- <dt>CUPS_CSPACE_DEVICE9 <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 9 colors </dd>
- <dt>CUPS_CSPACE_DEVICEA <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 10 colors </dd>
- <dt>CUPS_CSPACE_DEVICEB <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 11 colors </dd>
- <dt>CUPS_CSPACE_DEVICEC <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 12 colors </dd>
- <dt>CUPS_CSPACE_DEVICED <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 13 colors </dd>
- <dt>CUPS_CSPACE_DEVICEE <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 14 colors </dd>
- <dt>CUPS_CSPACE_DEVICEF <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">DeviceN, 15 colors </dd>
- <dt>CUPS_CSPACE_GMCK <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Gold, magenta, yellow, black </dd>
- <dt>CUPS_CSPACE_GMCS <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Gold, magenta, yellow, silver </dd>
- <dt>CUPS_CSPACE_GOLD <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Gold foil </dd>
- <dt>CUPS_CSPACE_ICC1 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 1 color </dd>
- <dt>CUPS_CSPACE_ICC2 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 2 colors </dd>
- <dt>CUPS_CSPACE_ICC3 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 3 colors </dd>
- <dt>CUPS_CSPACE_ICC4 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 4 colors </dd>
- <dt>CUPS_CSPACE_ICC5 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 5 colors </dd>
- <dt>CUPS_CSPACE_ICC6 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 6 colors </dd>
- <dt>CUPS_CSPACE_ICC7 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 7 colors </dd>
- <dt>CUPS_CSPACE_ICC8 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 8 colors </dd>
- <dt>CUPS_CSPACE_ICC9 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 9 colors </dd>
- <dt>CUPS_CSPACE_ICCA <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 10 colors </dd>
- <dt>CUPS_CSPACE_ICCB <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 11 colors </dd>
- <dt>CUPS_CSPACE_ICCC <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 12 colors </dd>
- <dt>CUPS_CSPACE_ICCD <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 13 colors </dd>
- <dt>CUPS_CSPACE_ICCE <span class="info"> CUPS 1.1.19/macOS 10.3 </span></dt>
- <dd class="description">ICC-based, 14 colors </dd>
- <dt>CUPS_CSPACE_ICCF <span class="info"> CUPS 1.1.19/macOS 10.3 </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"> DEPRECATED </span></dt>
- <dd class="description">Black, cyan, magenta, yellow </dd>
- <dt>CUPS_CSPACE_KCMYcm <span class="info"> DEPRECATED </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"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </dd>
- <dt>CUPS_CSPACE_SILVER <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Silver foil </dd>
- <dt>CUPS_CSPACE_SRGB <span class="info"> CUPS 1.4.5 </span></dt>
- <dd class="description">Red, green, blue (sRGB) </dd>
- <dt>CUPS_CSPACE_SW <span class="info"> CUPS 1.4.5 </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"> DEPRECATED </span></dt>
- <dd class="description">White ink (as black) </dd>
- <dt>CUPS_CSPACE_YMC <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Yellow, magenta, cyan </dd>
- <dt>CUPS_CSPACE_YMCK <span class="info"> DEPRECATED </span></dt>
- <dd class="description">Yellow, magenta, cyan, black </dd>
-</dl>
+ <table class="list"><tbody>
+ <tr><th>CUPS_CSPACE_ADOBERGB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">Red, green, blue (Adobe RGB) </td></tr>
+ <tr><th>CUPS_CSPACE_CIELab <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">CIE Lab </td></tr>
+ <tr><th>CUPS_CSPACE_CIEXYZ <span class="info"> CUPS 1.1.19/macOS 10.3 </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"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 1 color </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE2 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 2 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE3 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 3 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE4 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 4 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE5 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 5 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE6 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 6 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE7 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 7 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE8 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 8 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICE9 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 9 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICEA <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 10 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICEB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 11 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICEC <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 12 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICED <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 13 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICEE <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 14 colors </td></tr>
+ <tr><th>CUPS_CSPACE_DEVICEF <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 15 colors </td></tr>
+ <tr><th>CUPS_CSPACE_GMCK <span class="info"> DEPRECATED </span></th> <td class="description">Gold, magenta, yellow, black </td></tr>
+ <tr><th>CUPS_CSPACE_GMCS <span class="info"> DEPRECATED </span></th> <td class="description">Gold, magenta, yellow, silver </td></tr>
+ <tr><th>CUPS_CSPACE_GOLD <span class="info"> DEPRECATED </span></th> <td class="description">Gold foil </td></tr>
+ <tr><th>CUPS_CSPACE_ICC1 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 1 color </td></tr>
+ <tr><th>CUPS_CSPACE_ICC2 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 2 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC3 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 3 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC4 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 4 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC5 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 5 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC6 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 6 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC7 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 7 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC8 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 8 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICC9 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 9 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCA <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 10 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCB <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 11 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCC <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 12 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCD <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 13 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCE <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 14 colors </td></tr>
+ <tr><th>CUPS_CSPACE_ICCF <span class="info"> CUPS 1.1.19/macOS 10.3 </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"> DEPRECATED </span></th> <td class="description">Black, cyan, magenta, yellow </td></tr>
+ <tr><th>CUPS_CSPACE_KCMYcm <span class="info"> DEPRECATED </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"> CUPS 1.2/macOS 10.5 </span></th> <td class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </td></tr>
+ <tr><th>CUPS_CSPACE_SILVER <span class="info"> DEPRECATED </span></th> <td class="description">Silver foil </td></tr>
+ <tr><th>CUPS_CSPACE_SRGB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">Red, green, blue (sRGB) </td></tr>
+ <tr><th>CUPS_CSPACE_SW <span class="info"> CUPS 1.4.5 </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"> DEPRECATED </span></th> <td class="description">White ink (as black) </td></tr>
+ <tr><th>CUPS_CSPACE_YMC <span class="info"> DEPRECATED </span></th> <td class="description">Yellow, magenta, cyan </td></tr>
+ <tr><th>CUPS_CSPACE_YMCK <span class="info"> DEPRECATED </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"> CUPS 1.3/macOS 10.5 </span></dt>
- <dd class="description">Open stream for compressed writing </dd>
- <dt>CUPS_RASTER_WRITE_PWG <span class="info"> CUPS 1.5/macOS 10.7 </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"> CUPS 1.3/macOS 10.5 </span></th> <td class="description">Open stream for compressed writing </td></tr>
+ <tr><th>CUPS_RASTER_WRITE_PWG <span class="info"> CUPS 1.5/macOS 10.7 </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>
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;
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 {
}
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
-    const char *name,<br>
-    const char *instance,<br>
-    int num_dests,<br>
-    <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>
<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"> CUPS 2.2.4 </span><a id="cupsAddIntegerOption">cupsAddIntegerOption</a></h3>
+<h3 class="function"><span class="info"> CUPS 2.2.4/macOS 10.13 </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>
-    const char *name,<br>
-    int value,<br>
-    int num_options,<br>
-    <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>
<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>
-    const char *name,<br>
-    const char *value,<br>
-    int num_options,<br>
-    <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
"num_options" 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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    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"> CUPS 1.6/macOS 10.8 </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 "job_id" 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>
<p class="description">Check that the option and value are supported
by the destination.</p>
<p class="code">
-int cupsCheckDestSupported (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    const char *option,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-    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>
</p>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    unsigned flags,<br>
-    int msec,<br>
-    int *cancel,<br>
-    char *resource,<br>
-    size_t resourcesize,<br>
-    <a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
-    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 "cancel" 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 "cancel" 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 "cancel" 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 "cancel" 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"> CUPS 1.6/macOS 10.8 </span><a id="cupsCopyDest">cupsCopyDest</a></h3>
<p class="description">Copy a destination.</p>
<p class="code">
-int cupsCopyDest (<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    int num_dests,<br>
-    <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>
<p class="description">Get conflicts and resolutions for a new
option/value pair.</p>
<p class="code">
-int cupsCopyDestConflicts (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    int num_options,<br>
-    <a href="#cups_option_t">cups_option_t</a> *options,<br>
-    const char *new_option,<br>
-    const char *new_value,<br>
-    int *num_conflicts,<br>
-    <a href="#cups_option_t">cups_option_t</a> **conflicts,<br>
-    int *num_resolved,<br>
-    <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>
<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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-    int *job_id,<br>
-    const char *title,<br>
-    int num_options,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.1.20/macOS 10.4 </span><a id="cupsDoAuthentication">cupsDoAuthentication</a></h3>
<p class="description">Authenticate a request.</p>
<p class="code">
-int cupsDoAuthentication (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    const char *method,<br>
-    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 ("GET", "POST", "PUT")</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 ("GET", "POST", "PUT")</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>
</p>
<h3 class="function"><a id="cupsEncodeOptions">cupsEncodeOptions</a></h3>
- <p class="description"></p>
-<p class="code">
-void cupsEncodeOptions (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    int num_options,<br>
-    <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 & order...</p>
-<p class="code">
-void cupsEncodeOptions2 (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    int num_options,<br>
-    <a href="#cups_option_t">cups_option_t</a> *options,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="cupsEnumDests">cupsEnumDests</a></h3>
<p class="description">Enumerate available destinations with a callback function.</p>
<p class="code">
-int cupsEnumDests (<br>
-    unsigned flags,<br>
-    int msec,<br>
-    int *cancel,<br>
-    <a href="#cups_ptype_t">cups_ptype_t</a> type,<br>
-    <a href="#cups_ptype_t">cups_ptype_t</a> mask,<br>
-    <a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
-    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 "cancel" 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 "cancel" 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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="cupsFinishDestDocument">cupsFinishDestDocument</a></h3>
<p class="description">Finish the current document.</p>
<p class="code">
-ipp_status_t cupsFinishDestDocument (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <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>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    int num_dests,<br>
-    <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>
-    int num_jobs,<br>
-    <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>
-    int num_options,<br>
-    <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>
-    const char *name,<br>
-    const char *instance,<br>
-    int num_dests,<br>
-    <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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    int n,<br>
-    unsigned flags,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="cupsGetDestMediaByName">cupsGetDestMediaByName</a></h3>
<p class="description">Get media names, dimensions, and margins.</p>
<p class="code">
-int cupsGetDestMediaByName (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    const char *media,<br>
-    unsigned flags,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="cupsGetDestMediaBySize">cupsGetDestMediaBySize</a></h3>
<p class="description">Get media names, dimensions, and margins.</p>
<p class="code">
-int cupsGetDestMediaBySize (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    int width,<br>
-    int length,<br>
-    unsigned flags,<br>
-    <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>
<p class="description">Get the number of sizes supported by a
destination.</p>
<p class="code">
-int cupsGetDestMediaCount (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </span><a id="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
<p class="description">Get the default size for a destination.</p>
<p class="code">
-int cupsGetDestMediaDefault (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    unsigned flags,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 2.0/macOS 10.10 </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>
-    const char *name,<br>
-    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>
"uri" is the "ipp" or "ipps" URI for the printer.
</p>
-<h3 class="function"><span class="info"> 2.2.4 </span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
+<h3 class="function"><span class="info"> CUPS 1.1.21/macOS 10.4 </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
+"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.<br>
+<br>
+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.<br>
+<br>
+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.<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"> CUPS 2.2.4/macOS 10.13 </span><a id="cupsGetIntegerOption">cupsGetIntegerOption</a></h3>
<p class="description">Get an integer option value.</p>
<p class="code">
-int cupsGetIntegerOption (<br>
-    const char *name,<br>
-    int num_options,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.1.21/macOS 10.4 </span><a id="cupsGetJobs2">cupsGetJobs2</a></h3>
<p class="description">Get the jobs from the specified server.</p>
<p class="code">
-int cupsGetJobs2 (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_job_t">cups_job_t</a> **jobs,<br>
-    const char *name,<br>
-    int myjobs,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.4/macOS 10.6 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    const char *name,<br>
-    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 "http" is <code>CUPS_HTTP_DEFAULT</code>, the connection to the default print
server will be used.<br>
<h3 class="function"><a id="cupsGetOption">cupsGetOption</a></h3>
<p class="description">Get an option value.</p>
<p class="code">
-const char *cupsGetOption (<br>
-    const char *name,<br>
-    int num_options,<br>
-    <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"> CUPS 1.4/macOS 10.6 </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>
-    const char *prompt,<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    const char *method,<br>
-    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 ("GET", "POST", "PUT")</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 ("GET", "POST", "PUT")</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>
<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>
-    <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>
-    <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>
-    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"> CUPS 2.0/macOS 10.10 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    unsigned flags,<br>
-    <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>
<p class="description">Get the localized string for a destination
option.</p>
<p class="code">
-const char *cupsLocalizeDestOption (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    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>
<p class="description">Get the localized string for a destination
option+value pair.</p>
<p class="code">
-const char *cupsLocalizeDestValue (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
-    const char *option,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    const char *path,<br>
-    const char *common_name,<br>
-    int num_alt_names,<br>
-    const char **alt_names,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#cups_lang_t">cups_lang_t</a> *lang,<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#cups_lang_t">cups_lang_t</a> *lang,<br>
-    <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>
-    const char *arg,<br>
-    int num_options,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsRemoveDest">cupsRemoveDest</a></h3>
<p class="description">Remove a destination from the destination list.</p>
<p class="code">
-int cupsRemoveDest (<br>
-    const char *name,<br>
-    const char *instance,<br>
-    int num_dests,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cupsRemoveOption">cupsRemoveOption</a></h3>
<p class="description">Remove an option from an option array.</p>
<p class="code">
-int cupsRemoveOption (<br>
-    const char *name,<br>
-    int num_options,<br>
-    <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>
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"> CUPS 1.5/macOS 10.7 </span><a id="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+ <p class="description">Set the client certificate callback.</p>
<p class="code">
-void cupsSetClientCertCB (<br>
-    <a href="#cups_client_cert_cb_t">cups_client_cert_cb_t</a> cb,<br>
-    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
<p class="description">Set the default credentials to be used for SSL/TLS
connections.</p>
<p class="code">
-int cupsSetCredentials (<br>
-    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>
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>
-    const char *name,<br>
-    const char *instance,<br>
-    int num_dests,<br>
-    <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"> CUPS 1.3/macOS 10.5 </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 "is_default" flag for the matching
-destination...</p>
-<p class="code">
-void cupsSetDests (<br>
-    int num_dests,<br>
-    <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"> CUPS 1.1.21/macOS 10.4 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    int num_dests,<br>
-    <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>
</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>
-    <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
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>
-    <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"> CUPS 1.4/macOS 10.6 </span><a id="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
+ <p class="description">Set the advanced password callback for CUPS.</p>
<p class="code">
-void cupsSetPasswordCB2 (<br>
-    <a href="#cups_password_cb2_t">cups_password_cb2_t</a> cb,<br>
-    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
</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>
-    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 "server" 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
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"> CUPS 1.5/macOS 10.7 </span><a id="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+ <p class="description">Set the server certificate callback.</p>
<p class="code">
-void cupsSetServerCertCB (<br>
-    <a href="#cups_server_cert_cb_t">cups_server_cert_cb_t</a> cb,<br>
-    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
<h3 class="function"><span class="info"> CUPS 2.0/macOS 10.10 </span><a id="cupsSetServerCredentials">cupsSetServerCredentials</a></h3>
<p class="description">Set the default server credentials.</p>
<p class="code">
-int cupsSetServerCredentials (<br>
-    const char *path,<br>
-    const char *common_name,<br>
-    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>
</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>
-    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"> CUPS 1.7/macOS 10.9 </span><a id="cupsSetUserAgent">cupsSetUserAgent</a></h3>
+ <p class="description">Set the default HTTP User-Agent string.</p>
<p class="code">
-void cupsSetUserAgent (<br>
-    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.
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="cupsStartDestDocument">cupsStartDestDocument</a></h3>
<p class="description">Start a new document.</p>
<p class="code">
-http_status_t cupsStartDestDocument (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
-    <a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
-    int job_id,<br>
-    const char *docname,<br>
-    const char *format,<br>
-    int num_options,<br>
-    <a href="#cups_option_t">cups_option_t</a> *options,<br>
-    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>
<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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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>
-    int fd,<br>
-    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"> CUPS 1.5/macOS 10.7 </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>
-    cups_array_t *credentials,<br>
-    const void *data,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrAny">httpAddrAny</a></h3>
<p class="description">Check for the "any" address.</p>
<p class="code">
-int httpAddrAny (<br>
-    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 "any", 0 otherwise</p>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_addrlist_t">http_addrlist_t</a> *addrlist,<br>
-    int *sock,<br>
-    int msec,<br>
-    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 "cancel" 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 "cancel" 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"> CUPS 1.7/macOS 10.9 </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>
-    <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"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrEqual">httpAddrEqual</a></h3>
<p class="description">Compare two addresses.</p>
<p class="code">
-int httpAddrEqual (<br>
-    const <a href="#http_addr_t">http_addr_t</a> *addr1,<br>
-    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>
-    <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"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrFreeList">httpAddrFreeList</a></h3>
+ <p class="description">Free an address list.</p>
<p class="code">
-void httpAddrFreeList (<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    const char *hostname,<br>
-    int family,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-    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"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrLocalhost">httpAddrLocalhost</a></h3>
<p class="description">Check for the local loopback address.</p>
<p class="code">
-int httpAddrLocalhost (<br>
-    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"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrLookup">httpAddrLookup</a></h3>
<p class="description">Lookup the hostname associated with the address.</p>
<p class="code">
-char *httpAddrLookup (<br>
-    const <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-    char *name,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <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"> CUPS 1.2/macOS 10.5 </span><a id="httpAddrString">httpAddrString</a></h3>
<p class="description">Convert an address to a numeric string.</p>
<p class="code">
-char *httpAddrString (<br>
-    const <a href="#http_addr_t">http_addr_t</a> *addr,<br>
-    char *s,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#http_uri_coding_t">http_uri_coding_t</a> encoding,<br>
-    char *uri,<br>
-    int urilen,<br>
-    const char *scheme,<br>
-    const char *username,<br>
-    const char *host,<br>
-    int port,<br>
-    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>
<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>
-    <a href="#http_uri_coding_t">http_uri_coding_t</a> encoding,<br>
-    char *uri,<br>
-    int urilen,<br>
-    const char *scheme,<br>
-    const char *username,<br>
-    const char *host,<br>
-    int port,<br>
-    const char *resourcef,<br>
-    ...<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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    const char *server,<br>
-    int port,<br>
-    const char *name,<br>
-    int number,<br>
-    char *buffer,<br>
-    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>
</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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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>
-    <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"> CUPS 1.1.19/macOS 10.3 </span><a id="httpClearCookie">httpClearCookie</a></h3>
+ <p class="description">Clear the cookie value(s).</p>
<p class="code">
-void httpClearCookie (<br>
-    <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>
-    <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>
-    <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"> CUPS 2.0/OS 10.10 </span><a id="httpCompareCredentials">httpCompareCredentials</a></h3>
<p class="description">Compare two sets of X.509 credentials.</p>
<p class="code">
-int httpCompareCredentials (<br>
-    cups_array_t *cred1,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    const char *host,<br>
-    int port,<br>
-    <a href="#http_addrlist_t">http_addrlist_t</a> *addrlist,<br>
-    int family,<br>
-    <a href="#http_encryption_t">http_encryption_t</a> encryption,<br>
-    int blocking,<br>
-    int msec,<br>
-    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 "cancel" 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 "cancel" variable</td></tr>
+</tbody></table>
<h4 class="returnvalue">Return Value</h4>
<p class="description">New HTTP connection</p>
<h3 class="function"><span class="info"> CUPS 1.5/macOS 10.7 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 2.0/macOS 10.10 </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>
-    cups_array_t *credentials,<br>
-    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"> CUPS 2.0/macOS 10.10 </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>
-    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"> CUPS 2.0/macOS 10.10 </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>
-    cups_array_t *credentials,<br>
-    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"> CUPS 2.0/macOS 10.10 </span><a id="httpCredentialsString">httpCredentialsString</a></h3>
<p class="description">Return a string representing the credentials.</p>
<p class="code">
-size_t httpCredentialsString (<br>
-    cups_array_t *credentials,<br>
-    char *buffer,<br>
-    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"> CUPS 1.1.21/macOS 10.4 </span><a id="httpDecode64_2">httpDecode64_2</a></h3>
<p class="description">Base64-decode a string.</p>
<p class="code">
-char *httpDecode64_2 (<br>
-    char *out,<br>
-    int *outlen,<br>
-    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 "outlen" to the maximum size of the decoded
+string before calling <code>httpDecode64_2</code>. On return "outlen" 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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.1.21/macOS 10.4 </span><a id="httpEncode64_2">httpEncode64_2</a></h3>
<p class="description">Base64-encode a string.</p>
<p class="code">
-char *httpEncode64_2 (<br>
-    char *out,<br>
-    int outlen,<br>
-    const char *in,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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>
-    <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>
-    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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 1.3/macOS 10.5 </span><a id="httpGetAuthString">httpGetAuthString</a></h3>
<p class="description">Get the current authorization string.</p>
<p class="code">
-char *httpGetAuthString (<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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"> CUPS 1.7/macOS 10.9 </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>
-    <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
<h3 class="function"><span class="info"> CUPS 1.1.19/macOS 10.3 </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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    time_t t,<br>
-    char *s,<br>
-    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>
-    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"> CUPS 2.0/OS 10.10 </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>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </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>
-    <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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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"> DEPRECATED </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>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    char *s,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 2.0/OS 10.10 </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>
-    <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>
<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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    <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"> CUPS 1.2/macOS 10.5 </span><a id="httpGetSubField2">httpGetSubField2</a></h3>
<p class="description">Get a sub-field value.</p>
<p class="code">
-char *httpGetSubField2 (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#http_field_t">http_field_t</a> field,<br>
-    const char *name,<br>
-    char *value,<br>
-    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>
-    <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>
-    char *line,<br>
-    int length,<br>
-    <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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 2.0/OS 10.10 </span><a id="httpIsChunked">httpIsChunked</a></h3>
<p class="description">Report whether a message body is chunked.</p>
<p class="code">
-int httpIsChunked (<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a id="httpIsEncrypted">httpIsEncrypted</a></h3>
<p class="description">Report whether a connection is encrypted.</p>
<p class="code">
-int httpIsEncrypted (<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    const char *path,<br>
-    cups_array_t **credentials,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    char *buffer,<br>
-    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.
<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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.2/macOS 10.5 </span><a id="httpRead2">httpRead2</a></h3>
<p class="description">Read data from a HTTP connection.</p>
<p class="code">
-ssize_t httpRead2 (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    char *buffer,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    char *uri,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    int msec,<br>
-    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 "cancel" 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 "cancel" 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"> CUPS 2.0/OS 10.10 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    char *buffer,<br>
-    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"> CUPS 2.0/OS 10.10 </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>
-    const char *path,<br>
-    cups_array_t *credentials,<br>
-    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>
-    const char *uri,<br>
-    char *scheme,<br>
-    char *username,<br>
-    char *host,<br>
-    int *port,<br>
-    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>
-    const char *uri,<br>
-    char *scheme,<br>
-    int schemelen,<br>
-    char *username,<br>
-    int usernamelen,<br>
-    char *host,<br>
-    int hostlen,<br>
-    int *port,<br>
-    char *resource,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#http_uri_coding_t">http_uri_coding_t</a> decoding,<br>
-    const char *uri,<br>
-    char *scheme,<br>
-    int schemelen,<br>
-    char *username,<br>
-    int usernamelen,<br>
-    char *host,<br>
-    int hostlen,<br>
-    int *port,<br>
-    char *resource,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    const char *scheme,<br>
-    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"> CUPS 1.3/macOS 10.5 </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"> CUPS 1.1.19/macOS 10.3 </span><a id="httpSetCookie">httpSetCookie</a></h3>
+ <p class="description">Set the cookie value(s).</p>
<p class="code">
-void httpSetCookie (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.5/macOS 10.7 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#http_field_t">http_field_t</a> field,<br>
-    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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.2/macOS 10.5 </span><a id="httpSetExpect">httpSetExpect</a></h3>
+ <p class="description">Set the Expect: header in a request.</p>
<p class="code">
-void httpSetExpect (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    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 "expect"
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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <a href="#http_field_t">http_field_t</a> field,<br>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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"> CUPS 2.0/OS 10.10 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    double timeout,<br>
-    <a href="#http_timeout_cb_t">http_timeout_cb_t</a> cb,<br>
-    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"> CUPS 1.5/macOS 10.7 </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"> CUPS 2.0/OS 10.10 </span><a id="httpShutdown">httpShutdown</a></h3>
+ <p class="description">Shutdown one side of an HTTP connection.</p>
<p class="code">
-void httpShutdown (<br>
-    <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"> CUPS 2.0/OS 10.10 </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>
-    <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>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 2.0/OS 10.10 </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>
-    <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>
-    <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"> CUPS 1.1.19/macOS 10.3 </span><a id="httpWait">httpWait</a></h3>
<p class="description">Wait for data available on a connection.</p>
<p class="code">
-int httpWait (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    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"> CUPS 1.2/macOS 10.5 </span><a id="httpWrite2">httpWrite2</a></h3>
<p class="description">Write data to a HTTP connection.</p>
<p class="code">
-ssize_t httpWrite2 (<br>
-    <a href="#http_t">http_t</a> *http,<br>
-    const char *buffer,<br>
-    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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#http_t">http_t</a> *http,<br>
-    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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    int num_values,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.1.19/macOS 10.3 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    <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>
<h3 class="function"><span class="info"> CUPS 1.1.19/macOS 10.3 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    int num_values,<br>
-    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>
</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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    int num_values,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    const void *data,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    int lower,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    int num_values,<br>
-    const int *lower,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    <a href="#ipp_res_t">ipp_res_t</a> units,<br>
-    int xres,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    const char *name,<br>
-    int num_values,<br>
-    <a href="#ipp_res_t">ipp_res_t</a> units,<br>
-    const int *xres,<br>
-    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>
<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>
-    <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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    const char *language,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    const char *language,<br>
-    const char *format,<br>
-    ...<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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    const char *language,<br>
-    const char *format,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    ipp_tag_t group,<br>
-    ipp_tag_t value_tag,<br>
-    const char *name,<br>
-    int num_values,<br>
-    const char *language,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    char *buffer,<br>
-    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>
<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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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>
<p class="description">Determine whether an attribute contains the
specified string value.</p>
<p class="code">
-int ippContainsString (<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *dst,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *srcattr,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *dst,<br>
-    <a href="#ipp_t">ipp_t</a> *src,<br>
-    int quickcopy,<br>
-    <a href="#ipp_copycb_t">ipp_copycb_t</a> cb,<br>
-    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>
<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>
-    <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>
</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>
-    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>
-    <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 = "leap second")
-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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <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"> CUPS 1.1.19/macOS 10.3 </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"> CUPS 1.6/macOS 10.8 </span><a id="ippDeleteValues">ippDeleteValues</a></h3>
<p class="description">Delete values in an attribute.</p>
<p class="code">
-int ippDeleteValues (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    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>
<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>
-    const char *attrname,<br>
-    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>
-    const char *attrname,<br>
-    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>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    const char *name,<br>
-    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>
<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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    const char *name,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </span><a id="ippGetBoolean">ippGetBoolean</a></h3>
<p class="description">Get a boolean value for an attribute.</p>
<p class="code">
-int ippGetBoolean (<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    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"> CUPS 1.6/macOS 10.8 </span><a id="ippGetName">ippGetName</a></h3>
<p class="description">Get the attribute name.</p>
<p class="code">
-const char *ippGetName (<br>
-    <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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    int element,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </span><a id="ippGetRange">ippGetRange</a></h3>
<p class="description">Get a rangeOfInteger value from an attribute.</p>
<p class="code">
-int ippGetRange (<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    int element,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </span><a id="ippGetResolution">ippGetResolution</a></h3>
<p class="description">Get a resolution value for an attribute.</p>
<p class="code">
-int ippGetResolution (<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    int element,<br>
-    int *yres,<br>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <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>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
-    int element,<br>
-    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"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    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 "attributes-charset" and
+"attributes-natural-language" attributes added. The
+"attributes-natural-language" value is derived from the current locale.
</p>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <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,
-"utf-8" and a value derived from the current locale are substituted,
+ <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,
+'utf-8' and a value derived from the current locale are substituted,
respectively.
</p>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    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"> CUPS 1.2/macOS 10.5 </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>
-    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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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"> CUPS 1.1.19/macOS 10.3 </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>
-    int fd,<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    void *src,<br>
-    <a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
-    int blocking,<br>
-    <a href="#ipp_t">ipp_t</a> *parent,<br>
-    <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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetBoolean">ippSetBoolean</a></h3>
<p class="description">Set a boolean value in an attribute.</p>
<p class="code">
-int ippSetBoolean (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetCollection">ippSetCollection</a></h3>
<p class="description">Set a collection value in an attribute.</p>
<p class="code">
-int ippSetCollection (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    <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>
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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetDate">ippSetDate</a></h3>
- <p class="description">Set a date value in an attribute.</p>
-<p class="code">
-int ippSetDate (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetGroupTag">ippSetGroupTag</a></h3>
<p class="description">Set the group tag of an attribute.</p>
<p class="code">
-int ippSetGroupTag (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetName">ippSetName</a></h3>
<p class="description">Set the name of an attribute.</p>
<p class="code">
-int ippSetName (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    const void *data,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    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>
</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>
-    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"> CUPS 1.6/macOS 10.8 </span><a id="ippSetRange">ippSetRange</a></h3>
<p class="description">Set a rangeOfInteger value in an attribute.</p>
<p class="code">
-int ippSetRange (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    int lowervalue,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="ippSetResolution">ippSetResolution</a></h3>
<p class="description">Set a resolution value in an attribute.</p>
<p class="code">
-int ippSetResolution (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    <a href="#ipp_res_t">ipp_res_t</a> unitsvalue,<br>
-    int xresvalue,<br>
-    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>
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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <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"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="ippSetString">ippSetString</a></h3>
<p class="description">Set a string value in an attribute.</p>
<p class="code">
-int ippSetString (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    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>
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"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    const char *format,<br>
-    ...<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>
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
<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    int element,<br>
-    const char *format,<br>
-    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>
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
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a id="ippSetValueTag">ippSetValueTag</a></h3>
<p class="description">Set the value tag of an attribute.</p>
<p class="code">
-int ippSetValueTag (<br>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </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>
-    <a href="#ipp_t">ipp_t</a> *ipp,<br>
-    int major,<br>
-    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>
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </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>
-    <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"> CUPS 1.4/macOS 10.6 </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>
-    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"> CUPS 1.4/macOS 10.6 </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>
-    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>
-    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"> CUPS 1.7/macOS 10.9 </span><a id="ippValidateAttribute">ippValidateAttribute</a></h3>
<p class="description">Validate the contents of an attribute.</p>
<p class="code">
-int ippValidateAttribute (<br>
-    <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"> CUPS 1.7/macOS 10.9 </span><a id="ippValidateAttributes">ippValidateAttributes</a></h3>
<p class="description">Validate all attributes in an IPP message.</p>
<p class="code">
-int ippValidateAttributes (<br>
-    <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>
-    <a href="#http_t">http_t</a> *http,<br>
-    <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"> CUPS 1.1.19/macOS 10.3 </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>
-    int fd,<br>
-    <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"> CUPS 1.2/macOS 10.5 </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>
-    void *dst,<br>
-    <a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
-    int blocking,<br>
-    <a href="#ipp_t">ipp_t</a> *parent,<br>
-    <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>
<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>
<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"> CUPS 1.6/macOS 10.8 </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"> CUPS 1.2/macOS 10.5 </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>
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>
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>
<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>
    <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>
    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>
-    <a href="#cups_encoding_t">cups_encoding_t</a> encoding;<br>
-    char language[16];<br>
-    struct <a href="#cups_lang_s">cups_lang_s</a> *next;<br>
-    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>
    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"> CUPS 1.6/macOS 10.8 </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>
    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"> CUPS 1.2/macOS 10.5 </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&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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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&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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </span></dt>
- <dd class="description">Unknown request method, waiting for blank line </dd>
- <dt>HTTP_STATE_UNKNOWN_VERSION <span class="info"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.7/macOS 10.9 </span></th> <td class="description">Unknown request method, waiting for blank line </td></tr>
+ <tr><th>HTTP_STATE_UNKNOWN_VERSION <span class="info"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.4 </span></dt>
- <dd class="description">User canceled authorization </dd>
- <dt>HTTP_STATUS_CUPS_PKI_ERROR <span class="info"> CUPS 1.5/macOS 10.7 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 1.4 </span></th> <td class="description">User canceled authorization </td></tr>
+ <tr><th>HTTP_STATUS_CUPS_PKI_ERROR <span class="info"> CUPS 1.5/macOS 10.7 </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"> CUPS 1.7/macOS 10.9 </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"> CUPS 2.0/OS 10.10 </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"> CUPS 1.2 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Create-Job-Subscriptions: Create one of more job subscriptions </dd>
- <dt>IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">CUPS-Authenticate-Job: Authenticate a job </dd>
- <dt>IPP_OP_CUPS_CREATE_LOCAL_PRINTER <span class="info"> CUPS 2.2 </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"> DEPRECATED </span></dt>
- <dd class="description">CUPS-Get-Devices: Get a list of supported devices </dd>
- <dt>IPP_OP_CUPS_GET_DOCUMENT <span class="info"> CUPS 1.4/macOS 10.6 </span></dt>
- <dd class="description">CUPS-Get-Document: Get a document file </dd>
- <dt>IPP_OP_CUPS_GET_PPD <span class="info"> DEPRECATED </span></dt>
- <dd class="description">CUPS-Get-PPD: Get a PPD file </dd>
- <dt>IPP_OP_CUPS_GET_PPDS <span class="info"> DEPRECATED </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Get-Subscriptions: Get list of subscriptions </dd>
- <dt>IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></dt>
- <dd class="description">Renew-Subscription: Renew a printer subscription </dd>
- <dt>IPP_OP_RESTART_JOB <span class="info"> DEPRECATED </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th> <td class="description">CUPS-Authenticate-Job: Authenticate a job </td></tr>
+ <tr><th>IPP_OP_CUPS_CREATE_LOCAL_PRINTER <span class="info"> CUPS 2.2 </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"> DEPRECATED </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"> CUPS 1.4/macOS 10.6 </span></th> <td class="description">CUPS-Get-Document: Get a document file </td></tr>
+ <tr><th>IPP_OP_CUPS_GET_PPD <span class="info"> DEPRECATED </span></th> <td class="description">CUPS-Get-PPD: Get a PPD file </td></tr>
+ <tr><th>IPP_OP_CUPS_GET_PPDS <span class="info"> DEPRECATED </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"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th> <td class="description">Get-Subscriptions: Get list of subscriptions </td></tr>
+ <tr><th>IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info"> CUPS 1.2/macOS 10.5 </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"> CUPS 1.2/macOS 10.5 </span></th> <td class="description">Renew-Subscription: Renew a printer subscription </td></tr>
+ <tr><th>IPP_OP_RESTART_JOB <span class="info"> DEPRECATED </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"> DEPRECATED </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"> DEPRECATED </span></dt>
- <dd class="description">cups-error-account-info-needed </dd>
- <dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info"> DEPRECATED </span></dt>
- <dd class="description">cups-error-account-limit-reached </dd>
- <dt>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info"> CUPS 1.5/macOS 10.7 </span></dt>
- <dd class="description">cups-authentication-canceled - Authentication canceled by user </dd>
- <dt>IPP_STATUS_ERROR_CUPS_PKI <span class="info"> CUPS 1.5/macOS 10.7 </span></dt>
- <dd class="description">cups-pki-error - Error negotiating a secure connection </dd>
- <dt>IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED <span class="info"> CUPS 1.5/macOS 10.7 </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"> DEPRECATED </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"> DEPRECATED </span></th> <td class="description">cups-error-account-info-needed </td></tr>
+ <tr><th>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info"> DEPRECATED </span></th> <td class="description">cups-error-account-limit-reached </td></tr>
+ <tr><th>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info"> CUPS 1.5/macOS 10.7 </span></th> <td class="description">cups-authentication-canceled - Authentication canceled by user </td></tr>
+ <tr><th>IPP_STATUS_ERROR_CUPS_PKI <span class="info"> CUPS 1.5/macOS 10.7 </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"> CUPS 1.5/macOS 10.7 </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>
</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 © 2007-2017 by Apple Inc.
<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
}
{
# 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
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>
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.
</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 © 2007-2017 by Apple Inc.
] ] [
<b>-d</b>
] [
+<b>-e</b>
+] [
<b>-o</b>
[
<i>destination(s)</i>
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>
<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>
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"
"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 ""
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 ""
msgid "\tprinting is enabled"
msgstr ""
-#: systemv/lpstat.c:1472
+#: systemv/lpstat.c:1496
#, c-format
msgid "\tqueued for %s"
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 ""
msgid " --false Always false."
msgstr ""
-#: test/ipptool.c:4931
+#: test/ipptool.c:5061
msgid " --help Show help."
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."
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 ""
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 ""
msgid " -H samba-server Use the named SAMBA server."
msgstr ""
-#: test/ipptool.c:4941
+#: test/ipptool.c:5070
msgid " -I Ignore errors."
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 ""
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 ""
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 ""
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 ""
msgid " -a Export all printers."
msgstr ""
-#: test/ipptool.c:4953
+#: test/ipptool.c:5077
msgid " -c Produce CSV output."
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
msgid " -t Test PPDs instead of generating them."
msgstr ""
-#: scheduler/main.c:2057
+#: scheduler/main.c:2090
msgid " -t Test the configuration file."
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 ""
#: 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
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 ""
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 ""
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 ""
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 ""
#: 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 ""
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 ""
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 ""
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 ""
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 ""
#: 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 ""
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 ""
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 ""
msgid "Accept Jobs"
msgstr ""
-#: cups/http-support.c:1351
+#: cups/http-support.c:1355
msgid "Accepted"
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 ""
msgid "Bad PPD file."
msgstr ""
-#: cups/http-support.c:1366
+#: cups/http-support.c:1370
msgid "Bad Request"
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 ""
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 ""
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 ""
msgid "Bad filename buffer"
msgstr ""
-#: cups/http-support.c:1469
+#: cups/http-support.c:1473
msgid "Bad hostname/address in URI"
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 ""
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 ""
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 ""
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 ""
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 ""
msgid "Bad subscription ID"
msgstr ""
-#: cups/http-support.c:1472
+#: cups/http-support.c:1476
msgid "Bad username in URI"
msgstr ""
msgid "Bad value string"
msgstr ""
-#: cups/http-support.c:1478
+#: cups/http-support.c:1482
msgid "Bad/empty URI"
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 ""
msgid "Connecting to printer."
msgstr ""
-#: cups/http-support.c:1339
+#: cups/http-support.c:1343
msgid "Continue"
msgstr ""
msgid "Cover"
msgstr ""
-#: cups/http-support.c:1348
+#: cups/http-support.c:1352
msgid "Created"
msgstr ""
msgid "Disc"
msgstr ""
-#: scheduler/ipp.c:6283
+#: scheduler/ipp.c:6286
#, c-format
msgid "Document #%d does not exist in job #%d."
msgstr ""
msgid "Empty PPD file."
msgstr ""
-#: cups/http.c:4617
+#: cups/http.c:4620
msgid "Encryption is not supported."
msgstr ""
msgid "Executive"
msgstr ""
-#: cups/http-support.c:1394
+#: cups/http-support.c:1398
msgid "Expectation Failed"
msgstr ""
msgid "Folio"
msgstr ""
-#: cups/http-support.c:1373
+#: cups/http-support.c:1377
msgid "Forbidden"
msgstr ""
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 ""
msgid "Intellitech"
msgstr ""
-#: cups/http-support.c:1400
+#: cups/http-support.c:1404
msgid "Internal Server Error"
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 ""
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 ""
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 ""
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 ""
msgid "Job Stopped"
msgstr ""
-#: scheduler/ipp.c:10317
+#: scheduler/ipp.c:10320
msgid "Job is completed and cannot be changed."
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 ""
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 ""
msgid "Load paper."
msgstr ""
-#: scheduler/ipp.c:5503
+#: scheduler/ipp.c:5506
msgid "Local printer created."
msgstr ""
msgid "Long-Edge (Portrait)"
msgstr ""
-#: cups/http-support.c:1727
+#: cups/http-support.c:1731
msgid "Looking for printer."
msgstr ""
msgid "Missing asterisk in column 1"
msgstr ""
-#: scheduler/ipp.c:6275
+#: scheduler/ipp.c:6278
msgid "Missing document-number attribute."
msgstr ""
msgid "Missing form variable"
msgstr ""
-#: scheduler/ipp.c:9661
+#: scheduler/ipp.c:9664
msgid "Missing last-document attribute in request."
msgstr ""
msgid "Missing media-size in media-col."
msgstr ""
-#: scheduler/ipp.c:6876
+#: scheduler/ipp.c:6879
msgid "Missing notify-subscription-ids attribute."
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 ""
msgid "Move Job"
msgstr ""
-#: cups/http-support.c:1357
+#: cups/http-support.c:1361
msgid "Moved Permanently"
msgstr ""
msgid "No"
msgstr ""
-#: cups/http-support.c:1354
+#: cups/http-support.c:1358
msgid "No Content"
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 ""
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 ""
msgid "No printer-uri found for class"
msgstr ""
-#: scheduler/ipp.c:6482
+#: scheduler/ipp.c:6485
msgid "No printer-uri in request."
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 ""
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 ""
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 ""
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 ""
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:"
msgid "Quarto"
msgstr ""
-#: scheduler/ipp.c:1530 scheduler/ipp.c:10931
+#: scheduler/ipp.c:1530 scheduler/ipp.c:10934
msgid "Quota limit reached."
msgstr ""
msgid "Reprint After Error"
msgstr ""
-#: cups/http-support.c:1379
+#: cups/http-support.c:1383
msgid "Request Entity Too Large"
msgstr ""
msgid "SEQUENCE uses indefinite length"
msgstr ""
-#: cups/http-support.c:1403
+#: cups/http-support.c:1407
msgid "SSL/TLS Negotiation Error"
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 ""
msgid "Server credentials not set."
msgstr ""
-#: cups/http-support.c:1397
+#: cups/http-support.c:1401
msgid "Service Unavailable"
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 ""
msgid "Super B/A3"
msgstr ""
-#: cups/http-support.c:1342
+#: cups/http-support.c:1346
msgid "Switching Protocols"
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
msgid "Unable to find destination for job"
msgstr ""
-#: cups/http-support.c:1951
+#: cups/http-support.c:1955
msgid "Unable to find printer."
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 ""
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 ""
msgid "Unable to write uncompressed print data: %s"
msgstr ""
-#: cups/http-support.c:1370
+#: cups/http-support.c:1374
msgid "Unauthorized"
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 ""
msgid "Unknown hash algorithm."
msgstr ""
-#: cups/dest-options.c:963
+#: cups/dest-options.c:1021
msgid "Unknown media size name."
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 ""
msgid "Unknown request version."
msgstr ""
-#: cups/http-support.c:1487
+#: cups/http-support.c:1491
msgid "Unknown scheme in URI"
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 ""
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 ""
msgid "Unsupported value type"
msgstr ""
-#: cups/http-support.c:1385
+#: cups/http-support.c:1389
msgid "Upgrade Required"
msgstr ""
msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
msgstr ""
-#: scheduler/main.c:2047
+#: scheduler/main.c:2080
msgid "Usage: cupsd [options]"
msgstr ""
" ippfind --version"
msgstr ""
-#: test/ipptool.c:4928
+#: test/ipptool.c:5059
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr ""
msgid "Waterproof Fabric"
msgstr ""
-#: cups/http-support.c:1406
+#: cups/http-support.c:1410
msgid "Web Interface is Disabled"
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
" -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";
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"
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."
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 ""
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
#~ 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 "
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"
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 ""
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."
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
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"
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."
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 ""
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
#~ 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."
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"
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."
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 ""
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"
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"
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"
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 ""
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."
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
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"
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."
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."
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"
#~ 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."
#~ 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"
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"
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."
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 <秒> ブラウズのタイムアウトを秒で指定する。"
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"
#~ 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 すべてのサービスをブラウズする。"
#~ 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 バイト"
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"
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."
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 ""
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"
#~ 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."
#~ 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"
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"
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."
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 Задать время ожидания в секундах."
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"
#~ " --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 Обзор всех сервисов."
#~ 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 "Каталог файла "
.\"
-.\" 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
.\" 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
.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.
.\"
-.\" 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
.\" 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
}
{
# 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
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
.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
\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
\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
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
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
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.
%{!?_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}
%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
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
/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
/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
/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
# include <inttypes.h>
#endif /* HAVE_INTTYPES_H */
#ifdef __APPLE__
-# include <vproc.h>
+# include <xpc/xpc.h>
#endif /* __APPLE__ */
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__ */
putchar(1);
#ifdef __APPLE__
- vproc_transaction_end(NULL, vtran);
+ xpc_transaction_end();
#endif /* __APPLE__ */
return (1);
closelog();
#ifdef __APPLE__
- vproc_transaction_end(NULL, vtran);
+ xpc_transaction_end();
#endif /* __APPLE__ */
return (status);
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...
*/
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");
#include "cupsd.h"
#ifdef __APPLE__
-# include <vproc.h>
+# include <xpc/xpc.h>
# include <IOKit/pwr_mgt/IOPMLib.h>
#endif /* __APPLE__ */
"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__ */
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__ */
}
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...
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)
{
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');
}
#
# 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
# 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
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`"
#
-# "$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:
#
# 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
# 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
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
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
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
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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
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
# 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
# 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
# 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
# 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
# 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
# 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
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
# 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
# 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
# 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
# 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
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
# 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
# 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
# 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
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
# 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
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
# 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
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
# 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
STATUS successful-ok
STATUS client-error-not-possible
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$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:
#
# 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"
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$".
-#
#
-# "$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:
#
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$".
-#
#
-# "$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:
#
EXPECT operations-supported WITH-VALUE 0x003A # Resubmit-Job
EXPECT operations-supported WITH-VALUE 0x003B # Close-Job
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$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:
#
STATUS successful-ok
STATUS server-error-busy REPEAT-MATCH
}
-
-
-#
-# End of "$Id$".
-#
break;
ippSetCollection(attrs, &attrptr, ippGetCount(attrptr), col);
- lastcol = attrptr;
}
while (!strcmp(token, "{"));
break;
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...
/*
* 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
*/
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);
{
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 */
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);
* 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...
*/
}
+/*
+ * '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.
*/
*/
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 */
{
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 */
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) */
* 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));
* 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);
{
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;
}
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)
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;
* Delay before operation...
*/
- double delay;
+ double dval; /* Delay value */
if (!get_token(fp, temp, sizeof(temp), &linenum))
{
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"))
{
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);
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);
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;
}
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 :
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
}
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;
}
}
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;
}
}
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;
}
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)
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;
* 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))
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 ++)
{
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()));
}
}
- 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;
}
{
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);
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/",
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))
{
if (!strcmp(displayed[i], attrname))
{
- print_attr(stdout, _CUPS_OUTPUT_TEST, attrptr, NULL);
+ print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
break;
}
}
}
}
- 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);
}
}
}
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);
}
}
}
{
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;
skip_error:
if (Output == _CUPS_OUTPUT_PLIST)
- fputs("</dict>\n", outfile);
-
- fflush(stdout);
+ cupsFilePuts(outfile, "</dict>\n");
ippDelete(response);
response = NULL;
cupsArrayDelete(errors);
if (fp)
- fclose(fp);
+ cupsFileClose(fp);
httpClose(http);
ippDelete(request);
*/
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 */
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);
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
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
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,
*/
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 */
* Skip whitespace...
*/
- while (isspace(ch = getc(fp)))
+ while (isspace(ch = cupsFileGetChar(fp)))
{
if (ch == '\n')
(*linenum) ++;
bufptr = buf;
bufend = buf + buflen - 1;
- while ((ch = getc(fp)) != EOF)
+ while ((ch = cupsFileGetChar(fp)) != EOF)
{
if (ch == '\\')
{
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)
* Comment...
*/
- while ((ch = getc(fp)) != EOF)
+ while ((ch = cupsFileGetChar(fp)) != EOF)
if (ch == '\n')
break;
* 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) ++;
* Display the prompt...
*/
- printf("%s\n---- PRESS ANY KEY ----", message);
- fflush(stdout);
+ cupsFilePrintf(cupsFileStdout(), "%s\n---- PRESS ANY KEY ----", message);
#ifdef WIN32
/*
* Erase the "press any key" prompt...
*/
- fputs("\r \r", stdout);
- fflush(stdout);
+ cupsFilePuts(cupsFileStdout(), "\r \r");
}
*/
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 */
{
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)
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,
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 :
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));
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><<%s>></string>\n", ippTagString(attr->value_tag));
+ cupsFilePrintf(outfile, "<string><<%s>></string>\n", ippTagString(attr->value_tag));
break;
}
if (attr->num_values > 1)
- fputs("</array>\n", outfile);
+ cupsFilePuts(outfile, "</array>\n");
}
else
{
{
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);
}
}
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 */
for (i = 0; i < num_displayed; i ++)
{
if (i)
- fputc(',', outfile);
+ cupsFilePutChar(outfile, ',');
buffer[0] = '\0';
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);
*/
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 */
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 */
for (i = 0; i < num_displayed; i ++)
{
if (i)
- putc(' ', outfile);
+ cupsFilePutChar(cupsFileStdout(), ' ');
buffer[0] = '\0';
}
}
- 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);
*/
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;
}
*/
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("&", outfile);
+ cupsFilePuts(outfile, "&");
else if (*s == '<')
- fputs("<", outfile);
+ cupsFilePuts(outfile, "<");
else if (*s == '>')
- fputs(">", outfile);
+ cupsFilePuts(outfile, ">");
else if ((*s & 0xe0) == 0xc0)
{
/*
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)
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)
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)))
* 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);
}
*/
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;
}
*/
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 */
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"
_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."));
*/
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 */
{
*/
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 */
}
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,
--- /dev/null
+# 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
+}
# 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
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
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
fi
done
-echo "</PRE>" >>$strfile
+echo " </pre>" >>$strfile
#
# Run the command tests...
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"
#
# 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
echo PASS
fi
-echo "</PRE>" >>$strfile
+echo " </pre>" >>$strfile
#
# Stop the server...
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
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)
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
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
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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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
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/&/&/g' -e '1,$s/</</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/&/&/g' -e '1,$s/</</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/&/&/g' -e '1,$s/</</g' >>$strfile
-echo "</PRE>" >>$strfile
-
-echo "<H2><A NAME='page_log'>page_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-sed -e '1,$s/&/&/g' -e '1,$s/</</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/&/&/g' -e '1,$s/</</g' >>$strfile
+ echo " </pre>" >>$strfile
+ ;;
+
+ *)
+ echo " <pre>" >>$strfile
+ sed -e '1,$s/&/&/g' -e '1,$s/</</g' $file >>$strfile
+ echo " </pre>" >>$strfile
+ ;;
+ esac
+done
#
# Format the reports and tell the user where to find them...
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
-<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 © 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>
-</BODY>
-</HTML>
+ </body>
+</html>
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 */,