"document-format-default",
"document-format-details-default",
"document-format-details-supported",
+ "document-format-preferred", /* AirPrint extension */
"document-format-supported",
"document-format-varying-attributes",
"document-format-version-default",
"marker-types", /* CUPS extension */
"member-names", /* CUPS extension */
"member-uris", /* CUPS extension */
+ "mopria-certified", /* Mopria extension */
"multiple-destination-uris-supported",/* IPP FaxOut */
"multiple-document-jobs-supported",
"multiple-operation-time-out",
"printer-up-time",
"printer-uri-supported",
"printer-uuid",
+ "printer-wifi-ssid", /* AirPrint extension */
+ "printer-wifi-state", /* AirPrint extension */
"printer-xri-supported",
"pwg-raster-document-resolution-supported",
"pwg-raster-document-sheet-back",
/*
* PPD cache implementation for CUPS.
*
+ * Copyright © 2021 by OpenPrinting.
* Copyright © 2010-2019 by Apple Inc.
*
* Licensed under Apache License v2.0. See the file "LICENSE" for more
/*
* Private PPD definitions for CUPS.
*
+ * Copyright © 2021 by OpenPrinting.
* Copyright © 2007-2019 by Apple Inc.
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
*
* Constants...
*/
-# define _PPD_CACHE_VERSION 9 /* Version number in cache file */
+# define _PPD_CACHE_VERSION 10 /* Version number in cache file */
/*
<dd style="margin-left: 5.0em">Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size.
Specific size names are typically "Letter" or "A4".
The default is "Auto".
+Note: The default paper size must use a size name from the PPD file and not a PWG self-describing media size name.
<dt><a name="DefaultPolicy"></a><b>DefaultPolicy </b><i>policy-name</i>
<dd style="margin-left: 5.0em">Specifies the default access policy to use.
The default access policy is "default".
If a numeric value is specified, the job history is preserved for the indicated number of seconds after printing.
If "Yes", the job history is preserved until the MaxJobs limit is reached.
The default is "Yes".
+<dt><a name="ReadyPaperSizes"></a><b>ReadyPaperSizes </b><i>sizename[,...]</i>
+<dd style="margin-left: 5.0em">Specifies a list of potential paper sizes that are reported as "ready" (loaded).
+The actual list will only contain sizes that each printer supports.
+The default is "Letter,Legal,Tabloid,4x6,Env10" for North America and "A3,A4,A5,A6,EnvDL" elsewhere.
+Note: Paper sizes must use the size names from the PPD file and not PWG self-describing media size names.
<dt><a name="ReloadTimeout"></a><b>ReloadTimeout </b><i>seconds</i>
<dd style="margin-left: 5.0em">Specifies the amount of time to wait for job completion before restarting the scheduler.
The default is "30".
.\" Licensed under Apache License v2.0. See the file "LICENSE" for more
.\" information.
.\"
-.TH cupsd.conf 5 "CUPS" "2021-03-07" "OpenPrinting"
+.TH cupsd.conf 5 "CUPS" "2021-03-11" "OpenPrinting"
.SH NAME
cupsd.conf \- server configuration file for cups
.SH DESCRIPTION
Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size.
Specific size names are typically "Letter" or "A4".
The default is "Auto".
+Note: The default paper size must use a size name from the PPD file and not a PWG self-describing media size name.
.\"#DefaultPolicy
.TP 5
\fBDefaultPolicy \fIpolicy-name\fR
Specifies a list of potential paper sizes that are reported as "ready" (loaded).
The actual list will only contain sizes that each printer supports.
The default is "Letter,Legal,Tabloid,4x6,Env10" for North America and "A3,A4,A5,A6,EnvDL" elsewhere.
+Note: Paper sizes must use the size names from the PPD file and not PWG self-describing media size names.
.\"#ReloadTimeout
.TP 5
\fBReloadTimeout \fIseconds\fR
ipp_attribute_t *media_col_ready, /* media-col-ready attribute */
*media_ready; /* media-ready attribute */
int num_urf; /* Number of urf-supported values */
- const char *urf[16]; /* urf-supported values */
- char urf_rs[32]; /* RS (resolution) value */
+ const char *urf[16], /* urf-supported values */
+ *urf_prefix; /* Prefix string for value */
+ char *urf_ptr, /* Pointer into value */
+ urf_fn[64], /* FN (finishings) value */
+ urf_pq[32], /* PQ (print-quality) value */
+ urf_rs[32]; /* RS (resolution) value */
static const char * const pwg_raster_document_types[] =
{
"black_1",
num_urf = 0;
urf[num_urf ++] = "V1.4";
- urf[num_urf ++] = "PQ3-4-5";
+ urf[num_urf ++] = "CP1";
urf[num_urf ++] = "W8";
+ for (i = 0, urf_ptr = urf_pq, urf_prefix = "PQ"; i < num_qualities; i ++)
+ {
+ snprintf(urf_ptr, sizeof(urf_pq) - (size_t)(urf_ptr - urf_pq), "%s%d", prefix, qualities[i]);
+ urf_prefix = "-";
+ urf_ptr += strlen(urf_ptr);
+ }
+ urf[num_urf ++] = urf_pq;
+
/*
* Add media options from the PPD file...
*/
{
_pwg_finishings_t *fin; /* Current finishing value */
- for (fin = (_pwg_finishings_t *)cupsArrayFirst(p->pc->finishings); fin; fin = (_pwg_finishings_t *)cupsArrayNext(p->pc->finishings))
+ for (fin = (_pwg_finishings_t *)cupsArrayFirst(p->pc->finishings), urf_ptr = urf_fn, urf_prefix = "FN"; fin; fin = (_pwg_finishings_t *)cupsArrayNext(p->pc->finishings))
{
if (num_finishings < (int)(sizeof(finishings) / sizeof(finishings[0])))
finishings[num_finishings++] = (int)fin->value;
+ snprintf(urf_ptr, sizeof(urf_fn) - (size_t)(urf_ptr - urf_fn), "%s%d", urf_prefix, fin->value);
+ urf_prefix = "-";
+ urf_ptr += strlen(urf_ptr);
+
switch (fin->value)
{
case IPP_FINISHINGS_BIND :
break;
}
}
+
+ if (urf_ptr > urf_fn)
+ urf[num_urf ++] = urf_fn;
}
+ else
+ urf[num_urf ++] = "FN3";
/* urf-supported */
ippAddStrings(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "urf-supported", num_urf, NULL, urf);