|
|
da678a1 |
--- cups-1.2.10/backend/ipp.c.str2109 2007-04-03 11:05:13.000000000 +0100
|
|
|
da678a1 |
+++ cups-1.2.10/backend/ipp.c 2007-04-03 11:05:33.000000000 +0100
|
|
|
da678a1 |
@@ -210,6 +210,7 @@
|
|
|
da678a1 |
"document-format-supported",
|
|
|
da678a1 |
"printer-is-accepting-jobs",
|
|
|
da678a1 |
"printer-state",
|
|
|
da678a1 |
+ "printer-state-message",
|
|
|
da678a1 |
"printer-state-reasons",
|
|
|
da678a1 |
};
|
|
|
da678a1 |
static const char * const jattrs[] =
|
|
|
da678a1 |
@@ -1285,6 +1286,11 @@
|
|
|
da678a1 |
{
|
|
|
da678a1 |
ipp_t *request, /* IPP request */
|
|
|
da678a1 |
*response; /* IPP response */
|
|
|
da678a1 |
+ static const char * const attrs[] = /* Attributes we want */
|
|
|
da678a1 |
+ {
|
|
|
da678a1 |
+ "printer-state-message",
|
|
|
da678a1 |
+ "printer-state-reasons"
|
|
|
da678a1 |
+ };
|
|
|
da678a1 |
|
|
|
da678a1 |
|
|
|
da678a1 |
/*
|
|
|
da678a1 |
@@ -1301,8 +1307,9 @@
|
|
|
da678a1 |
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
|
|
|
da678a1 |
"requesting-user-name", NULL, user);
|
|
|
da678a1 |
|
|
|
da678a1 |
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
|
|
|
da678a1 |
- "requested-attributes", NULL, "printer-state-reasons");
|
|
|
da678a1 |
+ ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
|
|
|
da678a1 |
+ "requested-attributes",
|
|
|
da678a1 |
+ (int)(sizeof(attrs) / sizeof(attrs[0])), NULL, attrs);
|
|
|
da678a1 |
|
|
|
da678a1 |
/*
|
|
|
da678a1 |
* Do the request...
|
|
|
da678a1 |
@@ -1430,7 +1437,8 @@
|
|
|
da678a1 |
{
|
|
|
da678a1 |
int i; /* Looping var */
|
|
|
da678a1 |
int count; /* Count of reasons shown... */
|
|
|
da678a1 |
- ipp_attribute_t *reasons; /* printer-state-reasons */
|
|
|
da678a1 |
+ ipp_attribute_t *psm, /* pritner-state-message */
|
|
|
da678a1 |
+ *reasons; /* printer-state-reasons */
|
|
|
da678a1 |
const char *reason; /* Current reason */
|
|
|
da678a1 |
const char *message; /* Message to show */
|
|
|
da678a1 |
char unknown[1024]; /* Unknown message string */
|
|
|
da678a1 |
@@ -1438,6 +1446,10 @@
|
|
|
da678a1 |
char state[1024]; /* State string */
|
|
|
da678a1 |
|
|
|
da678a1 |
|
|
|
da678a1 |
+ if ((psm = ippFindAttribute(ipp, "printer-state-message",
|
|
|
da678a1 |
+ IPP_TAG_TEXT)) != NULL)
|
|
|
da678a1 |
+ fprintf(stderr, "INFO: %s\n", psm->values[0].string.text);
|
|
|
da678a1 |
+
|
|
|
da678a1 |
if ((reasons = ippFindAttribute(ipp, "printer-state-reasons",
|
|
|
da678a1 |
IPP_TAG_KEYWORD)) == NULL)
|
|
|
da678a1 |
return (0);
|