]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.4svn-r7255.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 24 Jan 2008 00:18:39 +0000 (00:18 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 24 Jan 2008 00:18:39 +0000 (00:18 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@608 a1ca3aef-8c08-0410-bb20-df032aa958be

15 files changed:
CHANGES-1.3.txt
CHANGES.txt
backend/ipp.c
backend/pap.c
config-scripts/cups-compiler.m4
doc/help/spec-ipp.html
doc/index.html.in
scheduler/dirsvc.c
scheduler/ipp.c
scheduler/job.c
scheduler/main.c
scheduler/printers.c
scheduler/subscriptions.c
scheduler/subscriptions.h
templates/trailer.tmpl

index 3bb16f52d03b33fc9f15de14353d9e52d6cd0823..dd43d52cdf3d2a9b6f035de261a3b92df562926b 100644 (file)
@@ -4,6 +4,12 @@ CHANGES-1.3.txt
 CHANGES IN CUPS V1.3.6
 
        - Documentation updates (STR #2646, STR #2647, STR #2649)
+       - The scheduler incorrectly sent printer-stopped events for
+         status updates from the print filters (STR #2680)
+       - The IPP backend could crash when handling printer errors
+         (STR #2667)
+       - Multi-file jobs did not print to remote CUPS servers
+         (STR #2673)
        - The scheduler did not provide the Apple language ID to
          job filters.
        - Kerberos authentication did not work with the web
index c5582f5fc699acd2a665fc6763d5549a29fb4f44..c6f9a4b248adb370afe380e6e7ddbdd90161a8bd 100644 (file)
@@ -1,8 +1,10 @@
-CHANGES.txt - 2008-01-08
+CHANGES.txt - 2008-01-23
 ------------------------
 
 CHANGES IN CUPS V1.4b1
 
+       - The scheduler now provides the printer-dns-sd-name
+         attribute for printers shared via DNS-SD/Bonjour.
        - The pdftops filter now executes the Xpdf or poppler
          pdftops utility to convert PDF files (STR #1471)
        - Bonjour printer registrations now advertise as local or
index 84bf27fc6e0973b8aa0aff7b1517a263ab4583c7..68806382e83ee22c8cdc4003279757c2d9ce95c3 100644 (file)
@@ -521,8 +521,8 @@ main(int  argc,                             /* I - Number of command-line args */
                      _("INFO: Unable to contact printer, queuing on next "
                        "printer in class...\n"));
 
-        if (argc == 6 || strcmp(filename, argv[6]))
-         unlink(filename);
+        if (tmpfilename[0])
+         unlink(tmpfilename);
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -579,8 +579,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
   if (job_cancelled)
   {
-    if (argc == 6 || strcmp(filename, argv[6]))
-      unlink(filename);
+    if (tmpfilename[0])
+      unlink(tmpfilename);
 
     return (CUPS_BACKEND_FAILED);
   }
@@ -765,8 +765,8 @@ main(int  argc,                             /* I - Number of command-line args */
       ippDelete(supported);
       httpClose(http);
 
-      if (argc == 6 || strcmp(filename, argv[6]))
-       unlink(filename);
+      if (tmpfilename[0])
+       unlink(tmpfilename);
 
      /*
       * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -882,10 +882,18 @@ main(int  argc,                           /* I - Number of command-line args */
        * so convert the document to PostScript...
        */
 
-       if (run_pictwps_filter(argv, filename))
+       if (run_pictwps_filter(argv, files[0]))
+       {
+         if (pstmpname[0])
+           unlink(pstmpname);
+
+         if (tmpfilename[0])
+           unlink(tmpfilename);
+
          return (CUPS_BACKEND_FAILED);
+        }
 
-        filename = pstmpname;
+        files[0] = pstmpname;
 
        /*
        * Change the MIME type to application/postscript and change the
@@ -1681,7 +1689,6 @@ run_pictwps_filter(char       **argv,     /* I - Command-line arguments */
 
     _cupsLangPrintf(stderr, _("ERROR: Unable to fork pictwpstops: %s\n"),
                    strerror(errno));
-    unlink(filename);
     if (ppdfile)
       unlink(ppdfile);
     return (-1);
@@ -1696,7 +1703,6 @@ run_pictwps_filter(char       **argv,     /* I - Command-line arguments */
     _cupsLangPrintf(stderr, _("ERROR: Unable to wait for pictwpstops: %s\n"),
                    strerror(errno));
     close(fd);
-    unlink(filename);
     if (ppdfile)
       unlink(ppdfile);
     return (-1);
@@ -1716,7 +1722,6 @@ run_pictwps_filter(char       **argv,     /* I - Command-line arguments */
       _cupsLangPrintf(stderr, _("ERROR: pictwpstops exited on signal %d!\n"),
                      status);
 
-    unlink(filename);
     return (status);
   }
 
index 4cad781ec549321ba8d38350e22584c10b7ea213..461c91fee42cc4256fc2fa6e9a9bae0ffaf36ffd 100644 (file)
@@ -1,7 +1,7 @@
 /*
 * "$Id: pap.c 7010 2007-10-10 21:08:51Z mike $"
 *
-* © Copyright 2004 Apple Computer, Inc. All rights reserved.
+* © Copyright 2004-2008 Apple Computer, Inc. All rights reserved.
 * 
 * IMPORTANT:  This Apple software is supplied to you by Apple Computer,
 * Inc. ("Apple") in consideration of your agreement to the following
 *  signalHandler()      - handle SIGINT to close the session before quiting.
 */
 
+/*
+ * This backend uses deprecated APIs for AppleTalk; we know this, so
+ * silence any warnings about it...
+ */
+
+#ifdef MAC_OS_X_VERSION_MIN_REQUIRED
+#  undef MAC_OS_X_VERSION_MIN_REQUIRED
+#endif /* MAX_OS_X_VERSION_MIN_REQUIRED */
+#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_0
+
 #include <config.h>
 
 #include <stdio.h>
 #include <sys/time.h>
 #include <sys/errno.h>
 
+#include <cups/cups.h>
+#include <cups/backend.h>
+#include <cups/sidechannel.h>
+#include <cups/i18n.h>
+
 #include <netat/appletalk.h>
 #include <netat/atp.h>
 #include <netat/ddp.h>
 #include <netat/nbp.h>
 #include <netat/pap.h>
 
-#include <cups/cups.h>
-#include <cups/backend.h>
-#include <cups/sidechannel.h>
-#include <cups/i18n.h>
-
 #include <libkern/OSByteOrder.h>
 
 #ifdef HAVE_APPLETALK_AT_PROTO_H
index 0414f200ee274859072bbac0094d323001d06406..3a9f6908be90c90452409eabb0b3f6b3b4a38615 100644 (file)
@@ -125,7 +125,9 @@ if test -n "$GCC"; then
                # Add useful warning options for tracking down problems...
                OPTIM="-Wall -Wno-format-y2k $OPTIM"
                # Additional warning options for development testing...
-               OPTIM="-Wshadow -Wunused $OPTIM"
+               if test -d .svn; then
+                       OPTIM="-Wshadow -Wunused $OPTIM"
+               fi
        fi
 
        case "$uname" in
index 29271625a990f90ac386c5be75c73e7ca3f8c45a..704e967bab2e40631bffb762e9929f7551657aed 100644 (file)
@@ -2468,6 +2468,12 @@ to this printer. The default port monitor is "none".
 
 <p>The port-monitor-supported attribute specifies the available port monitors.
 
+<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4</span></h4>
+
+<p>The printer-dns-sd-name attribute specifies the registered DNS-SD service
+name for the printer. If the printer is not being shared using this protocol,
+printer-dns-sd-name will have the noValue value.</p>
+
 <h4><a name="printer-type">printer-type (type2 enum)</a></h4>
 
 <p>The printer-type attribute specifies printer type and
index 560f7668bad6ddd5eccc82dd7855e795f7d3500a..401df41c05a4639fa6287e2e8c7aff240efa6eca 100644 (file)
@@ -75,10 +75,9 @@ assistance:</P>
 
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">The Common UNIX Printing System, CUPS, and
-the CUPS logo are the trademark property of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2008 by
-Apple Inc., all rights reserved.</TD></TR>
+<TR><TD CLASS="trailer">The Common UNIX Printing System, CUPS, and the CUPS
+logo are trademarks of <A HREF="http://www.apple.com">Apple Inc.</A> CUPS is
+copyright 2007-2008 Apple Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>
index 13ce3bfd8a24f8dd6bcdc43f291c4d192445f6a7..eafb6fd4abfb7fa4096bd514556d3facebaac9b0 100644 (file)
@@ -2448,10 +2448,12 @@ dnssdRegisterCallback(
     const char         *domain,        /* I - Domain. ".local" for now */
     void               *context)       /* I - User-defined context */
 {
-  (void)context;
+  cupsd_printer_t *p = (cupsd_printer_t *)context;
+                                       /* Current printer */
+
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, 
-                 "dnssdRegisterCallback(%s, %s)", name, regtype);
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s",
+                  name, regtype, p->name);
 
   if (errorCode)
   {
@@ -2459,6 +2461,14 @@ dnssdRegisterCallback(
                    "DNSServiceRegister failed with error %d", (int)errorCode);
     return;
   }
+  else if (strcasecmp(name, p->reg_name))
+  {
+    cupsdLogMessage(CUPSD_LOG_INFO, "Using service name \"%s\" for \"%s\"",
+                    name, p->name);
+
+    cupsdSetString(&p->reg_name, name);
+    LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED;
+  }
 }
 
 
@@ -2607,8 +2617,8 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
 
 
     cupsdLogMessage(CUPSD_LOG_DEBUG, 
-               "dnssdRegisterPrinter(%s) type, domain is \"%s\", \"%s\"",
-               p->name, regtype, domain ? domain : "(null)");
+                   "dnssdRegisterPrinter(%s) type, domain is \"%s\", \"%s\"",
+                   p->name, regtype, domain ? domain : "(null)");
 
     se = DNSServiceRegister(&p->dnssd_ipp_ref, 0, 0, name, regtype, 
                            domain, NULL, htons(port), txt_len, txt_record,
index 62eaa8a1065aebd80d96fd0a07be54f245d211ce..df8f7e93320339f52a899062d266637ab678bccf 100644 (file)
@@ -4682,6 +4682,18 @@ copy_printer_attrs(
     ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
                ippTimeToDate(curtime));
 
+#ifdef HAVE_DNSSD
+  if (!ra || cupsArrayFind(ra, "printer-dns-sd-name"))
+  {
+    if (printer->reg_name)
+      ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
+                   "printer-dns-sd-name", NULL, printer->reg_name);
+    else
+      ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
+                   "printer-dns-sd-name", 0);
+  }
+#endif /* HAVE_DNSSD */
+
   if (!ra || cupsArrayFind(ra, "printer-error-policy"))
     ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
                 "printer-error-policy", NULL, printer->error_policy);
@@ -9322,7 +9334,8 @@ set_job_attrs(cupsd_client_t  *con,       /* I - Client connection */
       else if (con->response->request.status.status_code == IPP_OK)
       {
         cupsdSetJobPriority(job, attr->values[0].integer);
-        event |= CUPSD_EVENT_JOB_CONFIG_CHANGED;
+        event |= CUPSD_EVENT_JOB_CONFIG_CHANGED |
+                CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED;
       }
     }
     else if (!strcmp(attr->name, "job-state"))
@@ -9469,6 +9482,10 @@ set_job_attrs(cupsd_client_t  *con,      /* I - Client connection */
   * Send events as needed...
   */
 
+  if (event & CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED)
+    cupsdAddEvent(CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED, job->printer, job,
+                  "Job priority changed by user.");
+
   if (event & CUPSD_EVENT_JOB_STATE)
     cupsdAddEvent(CUPSD_EVENT_JOB_STATE, job->printer, job,
                   job->state_value == IPP_JOB_HELD ?
index c4e5b20df9f1bc913a021a2a132b33f811f75dc2..19f48a50cd8a2137637c458e400cd6f70a2d3531 100644 (file)
@@ -2527,7 +2527,7 @@ start_job(cupsd_job_t     *job,           /* I - Job ID */
                       "[Job %d] Unable to convert file %d to printable format!",
                      job->current_file, job->id);
       cupsdLogMessage(CUPSD_LOG_INFO,
-                      "Hint: Do you have ESP Ghostscript installed?");
+                      "Hint: Do you have Ghostscript installed?");
 
       if (LogLevel < CUPSD_LOG_DEBUG)
         cupsdLogMessage(CUPSD_LOG_INFO,
@@ -3357,7 +3357,7 @@ start_job(cupsd_job_t     *job,           /* I - Job ID */
 
   if (strncmp(printer->device_uri, "file:", 5) != 0)
   {
-    if (job->current_file == 1)
+    if (job->current_file == 1 || printer->remote)
     {
       sscanf(printer->device_uri, "%254[^:]", method);
       snprintf(command, sizeof(command), "%s/backend/%s", ServerBin, method);
@@ -3634,7 +3634,7 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
       {
        cupsdSetPrinterReasons(job->printer, message);
        cupsdAddPrinterHistory(job->printer);
-       event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+       event |= CUPSD_EVENT_PRINTER_STATE;
       }
 
       update_job_attrs(job);
@@ -3663,14 +3663,14 @@ update_job(cupsd_job_t *job)            /* I - Job to check */
       if ((attr = cupsGetOption("printer-alert", num_attrs, attrs)) != NULL)
       {
         cupsdSetString(&job->printer->alert, attr);
-       event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+       event |= CUPSD_EVENT_PRINTER_STATE;
       }
 
       if ((attr = cupsGetOption("printer-alert-description", num_attrs,
                                 attrs)) != NULL)
       {
         cupsdSetString(&job->printer->alert_description, attr);
-       event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+       event |= CUPSD_EVENT_PRINTER_STATE;
       }
 
       cupsFreeOptions(num_attrs, attrs);
@@ -3687,7 +3687,7 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
 
       cupsdSetString(&job->printer->recoverable, ptr);
       cupsdAddPrinterHistory(job->printer);
-      event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+      event |= CUPSD_EVENT_PRINTER_STATE;
     }
     else if (!strncmp(message, "recovered:", 10))
     {
@@ -3700,7 +3700,7 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
 
       cupsdSetString(&job->printer->recoverable, ptr);
       cupsdAddPrinterHistory(job->printer);
-      event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+      event |= CUPSD_EVENT_PRINTER_STATE;
     }
 #endif /* __APPLE__ */
     else if (loglevel <= job->status_level)
@@ -3715,7 +3715,7 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
       strlcpy(job->printer->state_message, message,
               sizeof(job->printer->state_message));
       cupsdAddPrinterHistory(job->printer);
-      event |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+      event |= CUPSD_EVENT_PRINTER_STATE;
 
       update_job_attrs(job);
     }
@@ -3724,8 +3724,8 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
       break;
   }
 
-  if ((event & CUPSD_EVENT_PRINTER_STATE_CHANGED))
-    cupsdAddEvent(CUPSD_EVENT_PRINTER_STATE_CHANGED, job->printer, NULL,
+  if (event & CUPSD_EVENT_PRINTER_STATE)
+    cupsdAddEvent(CUPSD_EVENT_PRINTER_STATE, job->printer, NULL,
                  (job->printer->type & CUPS_PRINTER_CLASS) ?
                      "Class \"%s\" state changed." :
                      "Printer \"%s\" state changed.",
index 8d33ffb52955e6abb418a63a2cad172ee400e84c..10303b909faa4ff288a22c294dd4c55095a82265 100644 (file)
@@ -1077,7 +1077,7 @@ main(int  argc,                           /* I - Number of command-line args */
       * Reset the accumulated events...
       */
 
-      LastEvent     = CUPSD_EVENT_NONE;
+      LastEvent = CUPSD_EVENT_NONE;
     }
   }
 
index c55126f518fccfbe2bd8e25394c94ac5ce45a769..6eab48a846d9e00553a401230c6feb49d2f1ce72 100644 (file)
@@ -2643,7 +2643,7 @@ cupsdSetPrinterState(
   if (old_state != s)
   {
     cupsdAddEvent(s == IPP_PRINTER_STOPPED ? CUPSD_EVENT_PRINTER_STOPPED :
-                      CUPSD_EVENT_PRINTER_STATE_CHANGED, p, NULL,
+                      CUPSD_EVENT_PRINTER_STATE, p, NULL,
                  "%s \"%s\" state changed.",
                  (p->type & CUPS_PRINTER_CLASS) ? "Class" : "Printer",
                  p->name);
index 96a6d13c556ca4d3abb203d860bcf261b37934a5..5bbb38c28dff20711026a14155ba3f690c25c121 100644 (file)
@@ -323,7 +323,7 @@ cupsdAddSubscription(
                   "cupsdAddSubscription(mask=%x, dest=%p(%s), job=%p(%d), "
                  "uri=\"%s\")",
                   mask, dest, dest ? dest->name : "", job, job ? job->id : 0,
-                 uri);
+                 uri ? uri : "(null)");
 
   if (!Subscriptions)
     Subscriptions = cupsArrayNew((cups_array_func_t)cupsd_compare_subscriptions,
@@ -504,9 +504,14 @@ cupsdEventName(
     case CUPSD_EVENT_PRINTER_MODIFIED :
         return ("printer-modified");
 
+    case CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED :
+        return ("printer-queue-order-changed");
+
+    case CUPSD_EVENT_PRINTER_STATE :
     case CUPSD_EVENT_PRINTER_STATE_CHANGED :
         return ("printer-state-changed");
 
+    case CUPSD_EVENT_PRINTER_CONFIG :
     case CUPSD_EVENT_PRINTER_CONFIG_CHANGED :
         return ("printer-config-changed");
 
@@ -529,8 +534,6 @@ cupsdEventName(
         return ("job-progress");
 
     case CUPSD_EVENT_JOB_STATE :
-        return ("job-state");
-
     case CUPSD_EVENT_JOB_STATE_CHANGED :
         return ("job-state-changed");
 
@@ -577,14 +580,14 @@ cupsdEventValue(const char *name) /* I - Name of event */
     return (CUPSD_EVENT_PRINTER_DELETED);
   else if (!strcmp(name, "printer-modified"))
     return (CUPSD_EVENT_PRINTER_MODIFIED);
+  else if (!strcmp(name, "printer-queue-order-changed"))
+    return (CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED);
   else if (!strcmp(name, "printer-state-changed"))
     return (CUPSD_EVENT_PRINTER_STATE_CHANGED);
   else if (!strcmp(name, "printer-config-changed"))
     return (CUPSD_EVENT_PRINTER_CONFIG_CHANGED);
   else if (!strcmp(name, "printer-changed"))
     return (CUPSD_EVENT_PRINTER_CHANGED);
-  else if (!strcmp(name, "job-state"))
-    return (CUPSD_EVENT_JOB_STATE);
   else if (!strcmp(name, "job-created"))
     return (CUPSD_EVENT_JOB_CREATED);
   else if (!strcmp(name, "job-completed"))
index 3f74b1b400306f1e1c2166a230edf2dd8fed9b17..7f112fa0cb1ff087be557a714e67a8f88222d47e 100644 (file)
 typedef enum
 {
   /* Individual printer events... */
-  CUPSD_EVENT_PRINTER_RESTARTED = 0x0001,
+  CUPSD_EVENT_PRINTER_STATE = 0x0001,  /* Sent after generic printer state change */
+  CUPSD_EVENT_PRINTER_RESTARTED = 0x0002,
                                        /* Sent after printer restarted */
-  CUPSD_EVENT_PRINTER_SHUTDOWN = 0x0002,/* Sent after printer shutdown */
-  CUPSD_EVENT_PRINTER_STOPPED = 0x0004,        /* Sent after printer stopped */
-  CUPSD_EVENT_PRINTER_FINISHINGS_CHANGED = 0x0008,
+  CUPSD_EVENT_PRINTER_SHUTDOWN = 0x0004,/* Sent after printer shutdown */
+  CUPSD_EVENT_PRINTER_STOPPED = 0x0008,        /* Sent after printer stopped */
+
+  CUPSD_EVENT_PRINTER_CONFIG = 0x0010, /* Send after add/modify changes attrs */
+  CUPSD_EVENT_PRINTER_FINISHINGS_CHANGED = 0x0020,
                                        /* Sent after finishings-supported changed */
-  CUPSD_EVENT_PRINTER_MEDIA_CHANGED = 0x0010,
+  CUPSD_EVENT_PRINTER_MEDIA_CHANGED = 0x0040,
                                        /* Sent after media-supported changed */
-  CUPSD_EVENT_PRINTER_ADDED = 0x0020,  /* Sent after printer added */
-  CUPSD_EVENT_PRINTER_DELETED = 0x0040,        /* Sent after printer deleted */
-  CUPSD_EVENT_PRINTER_MODIFIED = 0x0080,/* Sent after printer modified */
+  CUPSD_EVENT_PRINTER_ADDED = 0x0080,  /* Sent after printer added */
+  CUPSD_EVENT_PRINTER_DELETED = 0x0100,        /* Sent after printer deleted */
+  CUPSD_EVENT_PRINTER_MODIFIED = 0x0200,/* Sent after printer modified */
+  CUPSD_EVENT_PRINTER_QUEUE_ORDER_CHANGED = 0x0400,
+                                       /* Sent when the order of jobs is changed */
 
   /* Convenience printer event groupings... */
-  CUPSD_EVENT_PRINTER_STATE_CHANGED = 0x0007,
-                                       /* RESTARTED + SHUTDOWN + STOPPED */
-  CUPSD_EVENT_PRINTER_CONFIG_CHANGED = 0x0018,
-                                       /* FINISHINGS_CHANGED + MEDIA_CHANGED */
-  CUPSD_EVENT_PRINTER_CHANGED = 0x00ff,        /* All of the above */
+  CUPSD_EVENT_PRINTER_STATE_CHANGED = 0x000f,
+                                       /* STATE + RESTARTED + SHUTDOWN + STOPPED */
+  CUPSD_EVENT_PRINTER_CONFIG_CHANGED = 0x0070,
+                                       /* CONFIG + FINISHINGS_CHANGED + MEDIA_CHANGED */
+  CUPSD_EVENT_PRINTER_CHANGED = 0x07ff,        /* All of the above */
 
   /* Individual job events... */
-  CUPSD_EVENT_JOB_STATE = 0x0100,      /* Any state change */
-  CUPSD_EVENT_JOB_CREATED = 0x0200,    /* Send after job is created */
-  CUPSD_EVENT_JOB_COMPLETED = 0x0400,  /* Sent after job is completed */
-  CUPSD_EVENT_JOB_STOPPED = 0x0800,    /* Sent after job is stopped */
-  CUPSD_EVENT_JOB_CONFIG_CHANGED = 0x1000,
+  CUPSD_EVENT_JOB_STATE = 0x0800,      /* Any state change */
+  CUPSD_EVENT_JOB_CREATED = 0x1000,    /* Send after job is created */
+  CUPSD_EVENT_JOB_COMPLETED = 0x2000,  /* Sent after job is completed */
+  CUPSD_EVENT_JOB_STOPPED = 0x4000,    /* Sent after job is stopped */
+  CUPSD_EVENT_JOB_CONFIG_CHANGED = 0x8000,
                                        /* Sent after set-job-attributes */
-  CUPSD_EVENT_JOB_PROGRESS = 0x2000,   /* Sent for each page */
+  CUPSD_EVENT_JOB_PROGRESS = 0x10000,  /* Sent for each page */
 
   /* Convenience job event grouping... */
-  CUPSD_EVENT_JOB_STATE_CHANGED = 0x0f00,
-                                       /* Any state change + CREATED + COMPLETED + STOPPED */
+  CUPSD_EVENT_JOB_STATE_CHANGED = 0x7800,
+                                       /* STATE + CREATED + COMPLETED + STOPPED */
 
   /* Server events... */
-  CUPSD_EVENT_SERVER_RESTARTED = 0x4000,/* Sent after server restarts */
-  CUPSD_EVENT_SERVER_STARTED = 0x8000, /* Sent when server first starts */
-  CUPSD_EVENT_SERVER_STOPPED = 0x10000,        /* Sent when server is stopped */
-  CUPSD_EVENT_SERVER_AUDIT = 0x20000,  /* Security-related stuff */
+  CUPSD_EVENT_SERVER_RESTARTED = 0x20000,/* Sent after server restarts */
+  CUPSD_EVENT_SERVER_STARTED = 0x40000,        /* Sent when server first starts */
+  CUPSD_EVENT_SERVER_STOPPED = 0x80000,        /* Sent when server is stopped */
+  CUPSD_EVENT_SERVER_AUDIT = 0x100000, /* Security-related stuff */
 
   /* Everything and nothing... */
   CUPSD_EVENT_NONE = 0,                        /* Nothing */
-  CUPSD_EVENT_ALL = 0x1ffff            /* Everything */
+  CUPSD_EVENT_ALL = 0x1fffff           /* Everything */
 } cupsd_eventmask_t;
 
 
index 088e3238fb5102f6efda12d5cf618180ebd123da..6ae8558664f2f191ced87cf14470826771acd07c 100644 (file)
@@ -1,9 +1,8 @@
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">The Common UNIX Printing System, CUPS, and
-the CUPS logo are the trademark property of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2008 by
-Apple Inc., all rights reserved.</TD></TR>
+<TR><TD CLASS="trailer">The Common UNIX Printing System, CUPS, and the CUPS
+logo are trademarks of <A HREF="http://www.apple.com">Apple Inc.</A> CUPS is
+copyright 2007-2008 Apple Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>